博客
关于我
ABAP-事件流(全)
阅读量:350 次
发布时间:2019-03-04

本文共 909 字,大约阅读时间需要 3 分钟。

ABAP程序的事件流是程序执行的关键流程,以下是常见的12个事件及其用途:

  • LOAD-OF-PROGRAM

    当程序开始执行时,系统会自动调用此事件。通常用于初始化数据,例如设置默认值或进行初始配置。此事件无需手动声明,可在SUBMIT、CALL TRANSACTION等操作中自动触发。

  • INITIALIZATION

    仅适用于报表程序,用于在选择屏幕显示之前执行代码。

    • 可以用来赋值选择屏幕中的字段,特别是在使用逻辑数据库时,初始值的设置必须在此事件中完成,否则无法修改。
    • 常用于为输入字段设置默认值或初始条件。
  • AT SELECTION-SCREEN

    选择屏幕显示前触发此事件。

    • 此事件类似于FORM,声明的变量属于局部变量。
    • 可以通过SY-UCOMM系统变量判断用户操作,如是否选择了某个选项或按钮。
    • 支持多种事件响应,如ON psel(参数变化)、ON END OF sel(选择事件)、ON VALUE-REQUEST(辅助选择)等。
    • 是处理屏幕事件(如单选框、复选框、帮助信息显示等)的主要方法。
  • START-OF-SELECTION

    报表程序进入第二屏幕前执行,通常用于获取数据或准备初始数据。

    • 在报表输出前,系统会自动调用此事件。
  • GET

    获取逻辑数据库中的数据值。前提是必须先声明逻辑数据库。

    • 用于从数据库中获取所需的数据,常用于报表生成或数据处理。
  • END-OF-SELECTION

    第二屏幕显示完毕后触发,用于结束报表处理流程。

  • MODULE

    当调用自定义屏幕时,用于响应屏幕事件的方法。

    • 主要用于处理自定义屏幕中的用户操作,如按钮点击、表格选择等。
  • ENDMODULE

    结束MODULE事件处理,通常用于结束自定义屏幕的响应流程。

  • CHECK

    用于检查逻辑数据库中的数据是否存在或验证数据有效性。

    • 只针对逻辑数据库适用,常用于数据验证或异常处理。
  • REJECT

    退出逻辑数据库处理,通常用于数据不合法时退出程序。

    • 只针对逻辑数据库适用,常用于数据输入验证失败时终止程序。
  • STOP

    结束当前处理块,通常用于提前退出程序或暂停流程。

  • RETURN

    返回当前处理块,通常用于函数模块或块中的返回操作。

  • 转载地址:http://raoe.baihongyu.com/

    你可能感兴趣的文章
    PYTHON调用大模型实现图片生成
    查看>>
    python yaml.dump 缩进错误
    查看>>
    Python yield generator
    查看>>
    Python yield 使用浅析
    查看>>
    Python yield解析:深入理解生成器的魔力
    查看>>
    Python You are using pip version 10.0.1, however version 19.3.1 is available.
    查看>>
    python zipfile模块学习笔记(一)
    查看>>
    Python zip函数 详解(全)
    查看>>
    Python \r\n与\n的转换
    查看>>
    python __new__中单例的作用
    查看>>
    python | aiofiles,一个超酷的 Python 库!
    查看>>
    python | akshare,一个超强的 开源Python 金融数据接口库!
    查看>>
    python | alabaster,一个强大的 关于alabaster 主题 Python 库!
    查看>>
    python | algorithms,一个超赞的 集合常用算法的Python 库!
    查看>>
    python调用jpype 报错:OSError JVM is already started和JVM cannot be restarted
    查看>>
    python | authlib,一个强大的 Python 库!
    查看>>
    python | awswrangler,一个高效的 Python 库!
    查看>>
    python | bashplotlib,一个有趣的Python库!
    查看>>
    python | bentoml,一个超级厉害的 模型部署 Python 库!
    查看>>
    python调用jar包的模块_python调用jar包
    查看>>