目录
一,创建一个单一的输入域:PARAMETERS
二,必输:OBLIGATORY
三,初始值:DEFAULT
四,按钮:复选框 checkbox
五,单选框 RADIOBUTTON GROUP
六,多值的选择画面对象 SELECT-OPTIONS
七,定义一个大框子:SELECTION-SCREEN
八,多值的选择画面对象 NO INTERVALS no-EXTENSION
九,多个选项排成一行。SELECTION-SCREEN
十,设置初始化值 INITIALIZATION
十一,PBO (process before output)屏幕事件:AT SELECTION-SCREEN OUTPUT.
十二,PAI(Process after input)事件:AT SELECTION-SCREEN.
十三,主事件,START-OF-SELECTION.
十四,终了事件 END-OF-SELECTION.
一,创建一个单一的输入域:PARAMETERS
PARAMETERS只能创建一个单一的输入域且最多只能输入一行,
其对象的命名长度不能超过8位。显示长度参照数据对象变化。
PARAMETERS定义后不会产生内表,可作为变量在程序中运用,
基本语法如下:PARAMETERS PNAME(不能超过8位)
*定义一个PARAMETERS
PARAMETERS: P_BUKRS TYPE BUKRS,
P_MATNR TYPE MATNR,
P_BELNR TYPE BELNR_D,
P_GJAHR TYPE GJAHR,
P_DATD TYPE SY-DATLO.
运行结果:
二,必输:OBLIGATORY
PARAMETERS: P_BUKRS TYPE BUKRS OBLIGATORY, "必输
P_MATNR TYPE MATNR,
P_BELNR TYPE BELNR_D,
P_GJAHR TYPE GJAHR,
P_DATD TYPE SY-DATLO.
第一个BUKRS 变成了必输项
三,初始值:DEFAULT
PARAMETERS: P_BUKRS TYPE BUKRS OBLIGATORY, "必输
P_MATNR TYPE MATNR DEFAULT '99', "初始值99
P_BELNR TYPE BELNR_D,
P_GJAHR TYPE GJAHR,
P_DATD TYPE SY-DATLO.
运行后结果:
四,按钮:复选框 checkbox
各个框之间是独立的
checkbox 会有什么用? 当前数据只能跑一次,比如登陆,发送。(テスト実行)
PARAMETERS CX_BOX1 TYPE CHAR1 AS CHECKBOX.
WRITE: / CX_BOX1,
/ 'checkbox:', CX_BOX1,.
输出结果:
按钮来说 选中 没选中的值,分别是 X 和 空
checkbox 会有什么用?可以做テスト実行 ,只能跑一次,比如登录,发送。
五,单选框 RADIOBUTTON GROUP
四个选项,两个两个一组,二选一的情况:
PARAMETERS : RB_BUTT1 TYPE CHAR1 RADIOBUTTON GROUP GP1,
RB_BUTT2 TYPE CHAR1 RADIOBUTTON GROUP GP1.
PARAMETERS : RB_BUTT3 TYPE CHAR1 RADIOBUTTON GROUP GP2,
RB_BUTT4 TYPE CHAR1 RADIOBUTTON GROUP GP2.
WRITE: / RB_BUTT1,
/ 'checkbox:', RB_BUTT1.
输出结果:
六,多值的选择画面对象 SELECT-OPTIONS
DATA GV_BUKRS TYPE BUKRS.
SELECT-OPTIONS S_BUKRS FOR GV_BUKRS.
WRITE: / GV_BUKRS,
/ 'checkbox:', GV_BUKRS.
输出结果:
七,定义一个大框子:SELECTION-SCREEN
SELECTION-SCREEN BEGIN OF BLOCK BK1 WITH FRAME TITLE TEXT-B01.
SELECTION-SCREEN END OF BLOCK BK1.
在B01双击,进入テキスト编辑页面,编辑名称后一定激活!
输出结果:
八,多值的选择画面对象 NO INTERVALS no-EXTENSION
DATA GV_BUKRS TYPE BUKRS.
SELECT-OPTIONS S_BUKRS FOR GV_BUKRS.
SELECT-OPTIONS S_BUKRS1 FOR GV_BUKRS NO INTERVALS.
SELECT-OPTIONS S_BUKRS2 FOR GV_BUKRS no-EXTENSION.
WRITE: / GV_BUKRS,
/ 'checkbox:', GV_BUKRS.
NO INTERVALS 隐藏第二个框
no-EXTENSION 隐藏第二个复选框
输出结果:
九,多个选项排成一行。SELECTION-SCREEN
SELECTION-SCREEN BEGIN OF BLOCK BK1 WITH FRAME TITLE TEXT-B01.
SELECTION-SCREEN BEGIN OF LINE. "开始一行
SELECTION-SCREEN COMMENT 1(10) text-r01 for FIELD RB_BUTT1."按钮在后
PARAMETERS RB_BUTT1 TYPE CHAR1 RADIOBUTTON GROUP GP1.
SELECTION-SCREEN COMMENT 16(10) text-r02 for FIELD RB_BUTT2."按钮在后
PARAMETERS RB_BUTT2 TYPE CHAR1 RADIOBUTTON GROUP GP1.
PARAMETERS RB_BUTT3 TYPE CHAR1 RADIOBUTTON GROUP GP1.
SELECTION-SCREEN COMMENT 32(10) text-r03 for FIELD RB_BUTT3."按钮在前
PARAMETERS RB_BUTT4 TYPE CHAR1 RADIOBUTTON GROUP GP1.
SELECTION-SCREEN COMMENT 45(10) text-r04 for FIELD RB_BUTT4."按钮在前
SELECTION-SCREEN END OF line. "结束一行
输出结果:注意,代码顺序不同,选项框的位置也不同。
十,设置初始化值 INITIALIZATION
第一时间,初始化事件
INITIALIZATION.
p_matnr = 111.
执行结果:p_matnr 的初始值为 111.
十一,PBO (process before output)屏幕事件:AT SELECTION-SCREEN OUTPUT.
修改屏幕属性用
AT SELECTION-SCREEN OUTPUT.
十二,PAI(Process after input)事件:AT SELECTION-SCREEN.
未输入信息时,报错。屏幕出来,然后跟屏幕互动,或者往下走的一瞬间执行的事件。
做屏幕上输入值的check
AT SELECTION-SCREEN.
十三,主事件,START-OF-SELECTION.
出了选择画面 屏幕,就到主处理。所以没有声明事件的时候,都属于主处理。
十四,终了事件 END-OF-SELECTION.
很少用到,主事件怕我以后用,出力log,出力最后的结果画面。
其他,常用小手段:
SAP ABAP 常用的便利小手段:大写+自动对齐-CSDN博客
创作不易,请点赞关注支持一下,多谢,多谢!!!