SAP ABAP 常用的参数

目录

一,创建一个单一的输入域: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博客

创作不易,请点赞关注支持一下,多谢,多谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~晴朗~

搬砖不易,如对您有帮助烦请施舍

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值