[SAP ABAP开发技术总结]DIALOG屏幕流逻辑

声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!
原文出自:

12.7.     屏幕流逻辑

PROCESS BEFORE OUTPUT.
PROCESS AFTER INPUT.
PROCESS ON HELP-REQUEST.
PROCESS ON VALUE-REQUEST.

12.7.1.           FIELD

FIELD <f>.

使用FIELD语句后,屏幕字段<f>需要在该语句处理完后才传递到ABAP程序相应的字段中,在后没有带module选项时,仅仅只是控制屏幕字段传输到ABAP程序中的时间点,如需对屏幕字段进行检验,通过以下语句来实现检验:

FIELD<field_name> MODULE<module_name>.

仅只有未出现在FIELD语句中的屏幕字段才会在PAI事件块处理传输到ABAP程序中去。所以当某个屏幕字段出现在FIELD语句中,并且在该 FIELD语句未执行完之前,不要在PAI dialog modules中使用该屏幕字段(该屏幕字段相关的FIELD语句执行完成之后才可以在后续的PAI dialog modules调用中使用),否则,ABAP程序同名字段中的值使用的是前一次对话屏幕中所设置的值。

12.7.2.           MODULE

FIELD dynp_field MODULE mod [ {ON INPUT}
| {ON REQUEST}
| {ON *-INPUT}
| {ON {CHAIN-INPUT|CHAIN-REQUEST}}
| {AT CURSOR-SELECTION}.

ON INPUT:只要该字段不为初始值就会触发module

•       ON REQUEST:该字段发生变化后触发module

FIELD <f> MODULE <mod> ON INPUT|REQUEST|*-INPUT.相当于选择屏幕的 AT SELECTION-SCREEN ON field

CHAIN.
  FIELD: <f1>, <f2>,<fi...>.
  MODULE <mod1> ON CHAIN-INPUT|CHAIN-REQUEST.
  FIELD: <g1>, <g2>,<gi...>.
  MODULE <mod2> ON CHAIN-INPUT|CHAIN-REQUEST.
  ...
ENDCHAIN.

只要<fi>中某个字段满足条件(<mod1>后面的CHAIN-INPUT与CHAIN-REQUEST条件),<mod1>就会被调用,而只要<fi>或<gi>中的某个字段满足条件,则<mod2>就会被调用。如果在module中检测不通过(如MESSAGE… E类消息时),则CHAIN…ENDCHAIN之外的所有其他屏幕字段将会被锁定且置灰,这与选择屏幕的AT SELECTION-SCREEN ON BLOCK校验是一样的

CHAIN.
  FIELD: <f1>, <f2>,<fi...>.
  FIELD <f> MODULE <mod1> ON INPUT|REQUEST|*-INPUT|CHAIN-INPUT|CHAIN-REQUEST.
  MODULE <mod2> ON CHAIN-INPUT|CHAIN-REQUEST.
ENDCHAIN.

<mod1>被调用的条件是所对应字段<f>满足ON后面指定的条件即可执行。<mod2>被调用的条件是只要<fi>或<f>中的某个字段满足条件即可执行。

12.7.3.           ON INPUT与ON CHAIN-INPUT区别

CHAIN.
  FIELD: f1,f2.
  FIELD: f3 MODULE mod1 ON INPUT. 只有f3为非初始值时才调用mod1
ENDCHAIN.

CHAIN.
  FIELD:f1,f2.
  FIELD:f3 MODULE mod1 ON CHAIN-INPUT. f1,f2,f3中任一字段包含非初始值时都调用mod1
ENDCHAIN

如果不在 CHAIN中时,不能像下面这样写:

FIELD a. "FIELD与MODULE只能写在同一语句当中
  MODULE check_a ON INPUT.
只有在CHAIN中时,MODULE语句才可以单独出现(不与FIELD在同一语句中),且只能是CHAIN-INPUT:
  MODULE mod1 ON CHAIN-INPUT.

时间: 2024-12-30 06:21:29

[SAP ABAP开发技术总结]DIALOG屏幕流逻辑的相关文章

[SAP ABAP开发技术总结]列表屏幕

目录导航 声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 13.             列表屏幕... 111 13.1.         标准LIST. 112 13.2.         自定义LIST. 112 13.3.         LIST事件... 113 13.4.         Detail Lists 创建... 113 13.5.         标准的 List Status. 113 13.6. 

[SAP ABAP开发技术总结]选择屏幕——SELECT-OPTIONS

目录导航 声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 12.4.         SELECT-OPTIONS. 89 12.4.1.     输入ABAP程序默认值时,需要加上“=”. 89 12.4.2.     选择条件内表多条件组合规则... 89 12.4.3.     使用SELECT-OPTIONS替代PARAMETERS. 90 12.4.     SELECT-OPTIONS SELECT-OPTIONS

[SAP ABAP开发技术总结]选择屏幕——按钮、单选复选框

目录导航 声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 12.6.         按钮.单选复选框.下拉框的FunCode. 91 12.6.1.     选择屏幕中的按钮... 92 12.6.2.     选择屏幕中的单选/复选按钮:点击时显示.隐藏其他屏幕元素... 92 12.6.     按钮.单选复选框.下拉框的FunCode 如果复选框与单选按钮没有设置Function Code,则它们就会像普通的输入框一样,

ABAP开发顾问必备:SAP ABAP开发技术总结

声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4260224.html 该文档是根据我过去多年学习文档与工作文档总结而成,项目开发过程中我都会参考此文档,主要ABAP很多细节上的东西不可能你记得很牢固,或者你记得一时,但过不了几天做别的项目就会

[SAP ABAP开发技术总结]ABAP程序之间数据共享与传递

目录导航 声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 19.             数据共享与传递... 222 19.1.         程序调用.会话.SAP/ABAP内存 关系... 222 19.2.         ABAP Memory数据共享... 224 19.2.1.     EXPORT. 224 19.2.2.     IMPORT. 226 19.2.3.     DELETE. 227 19.3

[SAP ABAP开发技术总结]屏幕DIALOG——PARAMETERS

目录导航 声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 12.3.     PARAMETERS PARAMETERS {para[(len)]}|{para [LENGTH len]}type_options [{ TYPE type [DECIMALS dec] }| { LIKE dobj }| { LIKE (name) }]screen_options[{ {[OBLIGATORY|NO-DISPLAY] [VISI

[SAP ABAP开发技术总结]各种选择屏幕元素演示

声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 12.5.     各种屏幕元素演示 TABLES: mara,marc.DATA: g_pg(24). SELECTION-SCREEN BEGIN OF BLOCK bk1 WITH FRAME TITLE text-001.  PARAMETERS: p_bukrs LIKE t001-bukrs OBLIGATORY."Company code  SELECT-OPTION

[SAP ABAP开发技术总结]动态修改选择屏幕

声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 12.16.             动态修改屏幕 选择屏幕.对话屏幕都有对应的SCREEN内表,下面是几个重要属性: NAME:Name of the screen field.如果参数是select-options类型参数,则参数名以LOW与HIGH后缀来区分. GROUP1:选择屏幕元素通过 MODIF ID 选项设置GROUP1(对话屏幕通过属性设置),将屏幕元素分为一组,

[SAP ABAP开发技术总结]消息处理Messages

目录导航 声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 14.             Messages. 115 14.1.         00消息ID中的通用消息... 115 14.2.         消息常量... 116 14.3.         静态指定... 116 14.4.         动态指定... 116 14.5.         消息拼接MESSAGE …INTO.. 116 14.6.