SAP ABAP INCLUDE PERFORM 和事件

2023-10-13 19:31:57 浏览数 (1)

代码语言:javascript复制
" 约定俗成的语法规范
" REPORT 程序中使用INCLUDE 包含代码块,INCLUDE 本身不具备含义,相当于将INCLUDE中的代码放到INCLUDE语句的代码位置
" 一般将类型和变量声明放在TOP中
" 一般把逻辑执行放在FORM中 将PERFORM放到此处 
" 最后有序的将事件的逻辑放到后面 

代码语言:javascript复制
INCLUDE ZREPOTOP .
INCLUDE ZREPOSCR .
INCLUDE ZREPOCLS .
INCLUDE ZREPOPAI .
INCLUDE ZREPOPBO .
INCLUDE ZREPOFORM .
代码语言:javascript复制
PERFORM DO_SOME .   " 调用方法
代码语言:javascript复制
FORM DO_SOME .   " 声明方法 FORM位置可以不分先后顺序
 ...                 " 方法逻辑
ENDFORM . 
FORM之后,无法再直接编写执行语句
代码语言:javascript复制
" 结构SCREEN 程序运行后会有自动生成一个内表,包含屏幕所有元素和属性 屏幕有默认的属性(可以只在满足需要的情况变更,其他情况都是默认状态)
SCREEN的字段含义
NAME : 元素名称
GROUP1 : 元素所在的组(最多四个)
...
REQUIRED : 是否必输     
INPUT : 是否可以输入
OUTPUT : 是否可以显示
INVISIBLE : 是否不可见    1  不可见  0 可见
ACTIVE : 是否可用

LOOP AT SCREEN .

  MODIFY SCREEN .  " 一定记得修改屏幕
ENDLOOP .
代码语言:javascript复制
" 输入事务代码
INITIALIZAION .   " 进入程序时初始化执行一次,一般对变量进行赋值或者清空

AT SELECTION-SCREEN OUTPUT .   " 处理选择屏幕界面的显示属性

AT SELECTION-SCREEN . " 事件是处理选择界面的输入(PAI-PROCESS AFTER INPUT)

AT SELECTION-SCREEN OUTPUT . " 事件是在 AT SELECTION-SCREEN 完成之后开始执行,处理选择界面的显示
"(PBO-PROCESS BEFORE OUTPUT) " 界面输入命令(UCOMM)的时候PBO事件都会触发 

START-OF-SELECTION .  " 事件是在查询界面点击执行之后开始执行,一般将取数逻辑放到该事件下(查询数据)  
" 在第一个FORM -ENDFORM 之前且没有声明其他周期的情况下,所有代码默认在START-OF-SELECTION周期下

TOP-OF-PAGE .  " 在程序中执行第一个WRITE语句之前执行,分页后的第一行重复一次

END-OF-SELECTION .  " 事件是在 START-OF-SELECTION 完成之后开始执行,一般将数据的输出逻辑放到该事件下(查询后)标志着取数逻辑结束,输出逻辑开始

0 人点赞