代码语言: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 完成之后开始执行,一般将数据的输出逻辑放到该事件下(查询后)标志着取数逻辑结束,输出逻辑开始