本例实现的功能是:运行程序之后,点击按钮之后,可以弹出一个screen,然后输入变量,运行,可以再次弹出结果。就像ME23N,里面的输入PO的功能。
开发步骤:
1、首先创建一个屏幕,填写OK code,以及编辑屏幕layout(只有通过这个才可以编写Element list):
(其中layout里面的输入输出变量要先在主程序中定义,ok_code也是一样,本例定义的是一个内表)
这里头的变量需要先定义好。
2、在屏幕的Logic flow里面添加相应的PBO和PAI,实现功能:
(几个关键点:GUI Stauts屏幕按钮,USER_COMMEND,退出屏幕,字段检查功能)
㈠整体的PBO和PAI的模型:
其中可以单独对有些字段进行检查,用MODULE的方式:
MODULE check_docnum INPUT.
IF s_stat IS INITIAL AND gs_edidc-docnum IS INITIAL.
MESSAGE text-002 TYPE 'E'.
ENDIF.
ENDMODULE.
㈡ 定义GUI Status:(在主程序的object界面里面通过create创建)
创建完GUI Status,一般在PBO里面实现:
MODULE PBO_1001 OUTPUT.
SET PF-STATUS 'PF_1001'.
ENDMODULE.
㈢ 创建USER_COMMEND 操作(PAI里的module):
MODULE USER_COMMAND_1001 INPUT.
DATA:l_ok_code TYPE sy-ucomm.
l_ok_code = OK_CODE.
CLEAR ok_code. 这项是必须要的,清除OK_CODE的值
CASE l_ok_code.
WHEN 'RUN'.
WHEN OTHERS.
LEAVE TO SCREEN 0. 返回屏幕也是必须的,不然会一直停留在本屏幕
ENDCASE.