ABAP 可执行程序的流

ABAP可执行程序的流,翻译自 ABAP Keyword Documentation 的  Flow of an Executable Program 。

SUBMIT 语句会在一个独立的内部会话中装载被调用的程序,然后在ABAP运行环境中启动一系列进程, 这些进程按以下顺序引发被调用的程序中的事件和操作:

1.程序构造事件 LOAD-OF-PROGRAM

2.用 PARAMETERS 和 SELECT-OPTIONS 后DEFAULT 定义的开始值被转给了相关的数据对象。其他的数据对象的开始值在 LOAD-OF-PROGRAM之前被设置。

3.报表事件 INITIALIZATION

4.如果有至少一个输入字段或者按钮,SELSCREEN OPTIONS 中定义的选择屏幕 SELECTION-SCREEN 会被调用。如果没有指定显示选择屏幕,则调用标准选择屏幕。这样完整的选择屏幕就执行了。在这之后程序流是继续还是终止,取决于选择屏幕上最后一个用户动作。在处理选择屏幕的第一个事件之前,AT SELECTION-SCREEN OUTPUT ,在选择屏幕中定义的值被传递。

5.报表事件 START-OF-SELECTION

6.如果调用的程序和数据库相连,会有不同的 GET 事件。

7.报表事件 END-OF-SELECTION  

8.调用基本列表:

   如果基本列表为空,则程序退出

   如果是假脱机列表,则发送到 SAP 假脱机系统并程序退出

   如果在list_options中定义了 EXPORTING LIST TO MEMORY ,则基本列表存储在ABAP MEMORY中,程序退出

   否则基本列表是一个屏幕列表并显示在屏幕上。在展示屏幕上的用户动作会触发列表事件。当用户退出列表显示时,程序退出。

9.如果在第四步没有选择屏幕展示,进程体现在后台或者根本没有进程,那么程序流结束

   如果第四步有选择屏幕,运行环境会在基本列表结束后再次调用被调用的程序。在新的调用中,运行环境提供 参数,选择条件,以及在初始化事件和at select-screen output 之间的选择屏幕界面的动态选择和以前的输入值(其他的设置,比如分页是否活动或者是否通过)。此次程序调用直到用户选择的选择屏幕界面的 Back Exit Cancel 退出。

可以用 LEAVE PROGRAM 在任何一步退出程序调用,用 LEAVE LIST-PROCESSING 可以离开列表处理。

注:

如果被调用的程序与逻辑数据库相关联,系统就会调用上面列出的步骤的数据库程序的相关子例程。  


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值