abap MODIF ID有什么作用?
发布网友
发布时间:2022-05-08 05:47
我来回答
共3个回答
热心网友
时间:2024-01-19 04:16
MODIF ID是添加一个屏幕修改标识,在屏幕显示前,如果要对屏幕上某些字段进行隐藏、只读等属性的修改,则将Screen的group1属性值等于MODIF ID后面标识对应的属性值进行设置即可。
例如:下面的代码中,如果勾选复选框SHOW_ALL,则P4~P6的输入框会显示出来;否则P4~P6的输入框是隐藏的。
PARAMETERS show_all AS CHECKBOX USER-COMMAND flag.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: p1 TYPE c LENGTH 10,
p2 TYPE c LENGTH 10,
p3 TYPE c LENGTH 10.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
PARAMETERS: p4 TYPE c LENGTH 10 MODIF ID bl2,
p5 TYPE c LENGTH 10 MODIF ID bl2,
p6 TYPE c LENGTH 10 MODIF ID bl2.
SELECTION-SCREEN END OF BLOCK b2.
DATA screen_wa TYPE screen.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN INTO screen_wa.
IF show_all <> 'X' AND
screen_wa-group1 = 'BL2'.
screen_wa-active = '0'.
ENDIF.
MODIFY SCREEN FROM screen_wa.
ENDLOOP.
热心网友
时间:2024-01-19 04:16
你可以理解为把一组parameters分成一组,或者统一加一个标识,用来实现隐藏/显示等功能,下面有个例子,你用SE38复制上去一用就知道了。
语法:... MODIF ID modid
REPORT ZTESTMODIFID.
PARAMETERS show_all AS CHECKBOX USER-COMMAND flag.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: p1 TYPE c LENGTH 10,
p2 TYPE c LENGTH 10,
p3 TYPE c LENGTH 10.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
PARAMETERS: p4 TYPE c LENGTH 10 MODIF ID bl2,
p5 TYPE c LENGTH 10 MODIF ID bl2,
p6 TYPE c LENGTH 10 MODIF ID bl2.
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN OUTPUT. "当show_all值改变时会触发此事件
LOOP AT SCREEN.
IF show_all <> 'X' AND
screen-group1 = 'BL2'.
screen-active = '0'. "设置组内设置屏幕的显示和隐藏
ENDIF.
MODIFY SCREEN. "把弃置应用到当前屏幕
ENDLOOP.追问screen-group1 = 'BL2'.这句话是什么意思?
追答就是判断屏幕的组 名称为 GL2的, 这个GL2就是咱们自己定义的MODIF ID
热心网友
时间:2024-01-19 04:17
此标识为SAP 内存管理中的一种,为SAP memory. 具体使用自己查看相关资料,效果同(set parameter id、 get parameter id 语法)。其效果,当你填写过一次后,重新进入这个程序,上次填写的内容依然存在,并且当前登录账号,不同session 共享此值. 重新登录账号,或者相同账号同时登录,此值不会共享.