1.工具条和菜单设计
REPORT YHELLOA.
DATA:FORINPUT(20) TYPE C VALUE '初始值',
FORCODE(20) TYPE C.
*功能码返回值
DATA:OK_CODE TYPE SY-UCOMM,
SAVE_OK TYPE SY-UCOMM.
*直接调用窗口
CALL SCREEN 100.
*输出返回变量
WRITE:FORINPUT,/ FORCODE.
MODULE STATUS_0100 OUTPUT.
*定义状态条、包括菜单、工具条按钮、系统按钮等
SET PF-STATUS 'TESTSTA1'.
*将变量值输出至屏幕字段
FORCODE = SAVE_OK.
ENDMODULE.
MODULE CANCEL INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE USER_COMMAND_0100 INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
*分析功能码,如果是工具条上的第二个按钮,泽退出当前屏幕
CASE SAVE_OK.
WHEN 'BIN2'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
2.数据字典关联字段
使用YTDSCHOOL学校表,在屏幕上定义相关该表字段,并根据输入的主关键字检索其他字段的信息,并显示到输入输出字段.
REPORT YHELLOB.
*功能码返回值
DATA:OK_CODE TYPE C,
SAVE_OK TYPE C.
*使用学校表
TABLES YTDSCHOOL.
*直接调用窗口
CALL SCREEN 100.
MODULE CANCEL INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE STATUS_O100 OUTPUT.
SET PF-STATUS 'STATUS1'.
ENDMODULE.
MODULE STATUS_0100 OUTPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
CASE SAVE_OK.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
*将SELECT数据赋给SCHOOL记录,SCHOOL记录关联屏幕字段
SELECT SINGLE *
INTO CORRESPONDING FIELDS OF YTDSCHOOL
FROM YTDSCHOOL
WHERE YSH_ID = YTDSCHOOL-YSH_ID.
IF SY-SUBRC NE 0.
CLEAR YTDSCHOOL.
ENDIF.
ENDMODULE.
3.逻辑流
发布消息。
*功能码返回值
DATA: OK_CODE TYPE SY-UCOMM,
SAVE_OK TYPE SY-UCOMM.
*定义输入字段变量
DATA: FLD1(20) TYPE C,
FLD2(20) TYPE C,
FLD3(20) TYPE C,
FLD4(20) TYPE C,
ACTION(50) TYPE C.
*直接调用窗口
CALL SCREEN 100.
MODULE CANCEL INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'TESTST