• <转>DIALOG条件 CHAIN 语句


    要在条件 CHAIN 中调用模块 ,有两个选 项:

       ON CHAIN-INPUT

    类似于 ON INPUT。 如果链中的 任一字段包 含初始值( 空值或零) 以外的值, 则调用 ABAP/4 模块。

       ON CHAIN-REQUEST

    该条件功能 类似于 ON REQUEST, 但是如果链 中的任一字 段的值发生 更改,则调 用 ABAP/4模 块。

    例如:

        CHAIN. 
          FIELD: A, B, C.
          FIELD: D, E, F.
          MODULE X ON CHAIN-INPUT.
          MODULE Y.
        ENDCHAIN.

    在此,如果 字段 A、B、C、 D、E 和 F 中任何一个 具有不同于 初始值的值 ,则调用模 块 X。而始终 调用模块 Y。 如果 Y 发现错误, 则在错误对 话期间,重 新打开这六 个字段并等 待输入。

    要将条件限 制到特定字 段,请将 MODULE 语句连接到 相关FIELD 语句。

        CHAIN. 
          FIELD: A, B, C  MODULE X ON INPUT.
        ENDCHAIN.

    在该示例子 中,只有当 列表(C) 中的最后字 段包含非初 始值的值时 ,才调用模 块X。但是 ,如果 X 发现错误, 则在错误对话框中重新 打这开三个 字段(A, B,C)并 等待输入。

    有时想要的 调用只取决 于几个字段 ,而不是其 它字段。为 明确起见, 将正在使用 的链断开并 为独立字段 组合创建独 立链是最简 单的。在每 种情况下, 都使用 ON CHAIN-INPUT 或 ON CHAIN-REQUEST。 例如:

        CHAIN. 
          FIELD: A, B, C  MODULE X ON CHAIN-REQUEST.
        ENDCHAIN.
        CHAIN. 
          FIELD: A, B, D, E  MODULE Y ON CHAIN-REQUEST.
        ENDCHAIN.

    避免自动字 段检查

    在进行自动 字段检查之 前,有时希 望系统执行 某种处理逻 辑。例如, 如果用户想 从屏幕退出 ,则无须在 需要输入的 字段中输入 数据。

    流逻辑关键 字 AT EXIT-COMMAND 在流逻辑中 是 MODULE 语句的特殊 附加部分。 AT EXIT-COMMAND 允许在系统 执行自动字 段检查之前 调用模块:

    **** Screen flow logic: ****

    PROCESS AFTER INPUT.
        MODULE EXIT AT EXIT-COMMAND.

    要使用 AT EXIT-COMMAND, 则必须将功 能类型 E 赋给菜单制 作器或屏幕 制作器中的 相关功能。 在屏幕制作 器中,调用 用于所需按 钮的属性, 并将属性“ FctType” 设置为“E” 。在菜单制 作器中,选 择“转向 -> 功能列表” ,然后在“ 类型”列中 为每个应作 为退出命令 的功能代码 输入 E。

    一旦已经将 功能定义为 类型 E, 则在执行任 何字段检查 之前,可以 用 AT EXIT-COMMAND 选项告诉系 统处理所有 与该功能相 关的 ABAP/4 模块。只有 当用户激活 定义为类型 E 的功能时, 才触发 AT EXIT-COMMAND 事件。

    ΔΔΔ如果用了SET SCREEN 0100(不是0)时,会继续执行当前屏幕PAI,在FIELD 必填的字段<field>时,还是会提示。

    **** ABAP/4 module: ****

    MODULE EXIT INPUT.
        CASE OK_CODE.
          WHEN 'NEW'.
                CLEAR: SPFLI, OK_CODE.
                LEAVE SCREEN.
          WHEN 'CANC'.
                CLEAR OK_CODE.
                SET SCREEN 0. LEAVE SCREEN.
        ENDCASE.
    ENDMODULE.

    正常情况下 ,MODULE...AT EXIT-COMMAND 语句倾向于 处理退出命 令 BACK、 EXIT 和 CANCEL。 为处理这些 命令而编码 的 ABAP/4模块应包含 从屏幕或事 务退出的语 句(例如, LEAVE TO SCREEN 0)。

    如果未在 AT EXIT-COMMAND 模块中终止 屏幕或事务 ,则系统象 平常一样继 续流逻辑处 理:首先执 行自动字段 检查,然后 按顺序处理 PAI 语句。

  • 相关阅读:
    dns
    sqlserver中int 类型的字段,值为null的时候引发一个问题
    后台读取数据库中值,返回的值出乎意料,并引发了StackOverflowException
    软件设计原则的一些学习总结
    Python基础(5):模块
    SQL 知识纲要
    Linux编程学习笔记Devices
    Python基础(3):函数
    Python基础(2):控制结构
    Python基础(4):类
  • 原文地址:https://www.cnblogs.com/CtrlS/p/10231721.html
Copyright © 2020-2023  润新知