DIALOG-PROCESS AFTER INPUT中的CHAIN

PROCESS AFTER INPUT.
    MODULE EXIT_COMMAND AT EXIT-COMMAND.
    CHAIN. " --屏幕字段遍历处理
          FIELD FIELD1 MODULE MOD1.                "--FIELD1值不为空时都会执行MOD1
          FIELD FIELD2 MODULE MOD2 ON REQUEST.     "--FIELD2值在屏幕中被修改才会执行MOD2
          FIELD FIELD3 MODULE MOD3.                "--FIELD3值不为空时都会执行MOD3
          FIELD: FIELD4, FIELD5 MOD45 ON REQUEST.  "--FIELD4、FIELD4值在屏幕中都被修改才会执行MOD45
          FIELD: FIELD6, FIELD7.
          MODULE MOD67 ON CHAIN-REQUEST.           "--FIELD6或FIELD7值被修改才会执行MOD67
    ENDCHAIN.
    MODULE USER_COMMAND.
---
屏幕中FIELD2 = xxx,FIELD3 = xxx, 屏幕动作 只修改FILED1的值, 回车或点击其他用户命令(非E)
-->
若MOD1中: FIELD2 = zzz, FIELD3 = zzz,
执行FIELD FIELD1后FIELD2 = zzz,FIELD3 = zzz,
执行FIELD FIELD2后 不会进入MOD2,但此时FIELD2 = xxx,FIELD = zzz,
(FILED2被修改为PROCESS AFTER OUTPUT后的值,也就是PROCESS AFTER INPUT用户命令动作前的值)
若MOD3中: FIELD2 = yyy,
执行FIELD FIELD3后 最终FIELD2 = yyy, FIELD3 = xxx
(FILED3被修改为PROCESS AFTER OUTPUT后的值,也就是PROCESS AFTER INPUT用户命令动作前的值)
---

要在条件CHAIN 中调用模块,有两个选 项:
ON CHAIN-INPUT
类似于 ON INPUT。 如果链中的 任一字段包 含初始值( 空值或零) 以外的值, 则调用 ABAP/4 模块。
ON CHAIN-REQUEST
该条件功能 类似于 ON REQUEST, 但是如果链 中的任一字 段的值发生 更改,则调 用 ABAP/4模 块。

posted @ 2020-07-01 18:52  不要摘树叶  阅读(346)  评论(0编辑  收藏  举报