ABAP modify screen:修改屏幕,实现隐藏、禁止输入字段
Loop?at?screen會loop處理屏幕上的每一個組件,并對其做相應的處理。
SELECTION-SCREEN:?BEGIN?OF?BLOCK?B1?WITH?FRAME.
PARAMETERS?S_DATE?TYPE?DATUM???DEFAULT?SY-DATUM?MODIF?ID?OO.
SELECTION-SCREEN:?END?OF?BLOCK?B1.
SELECTION-SCREEN:?BEGIN?OF?BLOCK?B2?WITH?FRAME.
SELECT-OPTIONS:?S_DATE2?FOR?SY-DATUM??MODIF?ID?PP.
SELECTION-SCREEN:?END?OF?BLOCK?B2.
SELECTION-SCREEN:?BEGIN?OF?BLOCK?B3?WITH?FRAME.
PARAMETERS?:?R1?RADIOBUTTON?GROUP?D1?DEFAULT?'X'?USER-COMMAND?SINGLECLICK,???
?????????????R2?RADIOBUTTON?GROUP?D1?.
SELECTION-SCREEN:?END?OF?BLOCK?B3.
?
選擇r1?的時候只顯示B1;r2時候只顯示B2
AT?SELECTION-SCREEN?OUTPUT.
??IF?R1?=?'X'.
????LOOP?AT?SCREEN.
??????IF?SCREEN-GROUP1?=?'PP'.
????????SCREEN-ACTIVE?=?'0'.
??????ENDIF.
??????MODIFY?SCREEN.
????ENDLOOP.
??ELSEIF?R2?=?'X'.
????LOOP?AT?SCREEN.
??????IF?SCREEN-GROUP1?=?'OO'.
????????SCREEN-ACTIVE?=?'0'.
??????ENDIF.
??????MODIFY?SCREEN.
????ENDLOOP.
??ENDIF.
- Modiy屏幕的時候,如果屏幕有必輸字段則不能修改,只有把必輸項輸入值后才能修改屏幕,需要有所取舍;
- 注意:
PARAMETERS?:?R1?RADIOBUTTON?GROUP?D1?DEFAULT?'X'?USER-COMMAND?SINGLECLICK,??紅色這一段話必須有,否則不能動態修改屏幕;選擇一次單選框就會觸發一次atselection-screen?output,實現動態修改屏幕.
- SCREEN結構解釋:
在SAP屏幕中,一個字段就像.NET中的一個控件,這個?字段對應一個SCREEN結構,就像控件的多個屬性。
SE11可以查看SCREEN結構中的字段,只是沒有備注。
名稱??????????????????長度???????說明
NAME???????????????30??????????屏幕字段的名稱
GROUP1????????????3????????????屬于字段組1的字段
GROUP2????????????3????????????屬于字段組2的字段
GROUP3????????????3????????????屬于字段組3的字段
GROUP4????????????3????????????屬于字段組4的字段
ACTIVE?????????????1????????????可見并準備輸入的字段
REQUIRED??????????1????????????字段輸入是強制的,即該值為X是表示該字段必須輸入
INPUT???????????????1????????????字段準備輸入
OUTPUT????????????1????????????字段僅用于顯示
INTENSIFIED??????1???????????高亮顯示字段
INVISIBLE??????????1???????????禁用字段
LENGTH?????????????1???????????減少字段輸出長度
DISPLAY_3D???????1???????????以三維框架顯示字段
VALUE_HELP???????1???????????顯示有值幫助的字段??
上述長度為1的字段,=1表示有效,=0則相反。??
總結
以上是生活随笔為你收集整理的ABAP modify screen:修改屏幕,实现隐藏、禁止输入字段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 固定资产相关流程
- 下一篇: 超级实用的列表提示错误一览显示框