第二天、ABAP菜鸟进阶

加油努力一定会有收获。

1、定义报表建单选择控件

笔记:注意CORRESPONDING FIELDS OF 语句的使用

SELECT *
  FROM scarr
  INTO CORRESPONDING FIELDS OF TABLE it_scarr.

定义选择控件

REPORT  ZTEST_WJ_006.

TYPES:BEGIN OF ty_person,
      name(10) TYPE c,
      sfz(18) TYPE n,
      mobile(11) TYPE n,
      END OF ty_person.
DATA it_person TYPE TABLE OF ty_person.
*利用类型定义工作区
DATA it_spfli TYPE STANDARD TABLE OF spfli.
DATA wa_spfli TYPE spfli.
DATA connid TYPE spfli-connid.
DATA carrid TYPE spfli-carrid.
SELECTION-SCREEN BEGIN OF BLOCK basic WITH FRAME TITLE text-001.
*PARAMETERS pa_carr TYPE spfli-carrid OBLIGATORY.
SELECT-OPTIONS:so_carr FOR carrid.
SELECTION-SCREEN END OF BLOCK basic.
*设置选择范围
SELECTION-SCREEN BEGIN OF BLOCK advance WITH FRAME TITLE text-002.
SELECT-OPTIONS:so_conn FOR connid.
PARAMETERS:pa_int AS CHECKBOX.
PARAMETERS: pa_lim_1 RADIOBUTTON GROUP lim,
            pa_lim_2 RADIOBUTTON GROUP lim,
            pa_lim_3 RADIOBUTTON GROUP lim.
SELECTION-SCREEN END OF BLOCK advance.
IF pa_int = 'X'.
SELECT * FROM spfli
  INTO CORRESPONDING FIELDS OF TABLE it_spfli
  WHERE carrid IN so_carr
  AND connid IN so_conn.
ELSE.
  SELECT * FROM spfli
  INTO CORRESPONDING FIELDS OF TABLE it_spfli
  WHERE carrid IN so_carr
  AND connid IN so_conn
  AND spfli~countryfr = spfli~countryto.
ENDIF.
ULINE.
FORMAT COLOR COL_HEADING.
WRITE :/,sy-vline,'Carrid',
       sy-vline,'Connid',
       sy-vline,'Country From',
       sy-vline,'Country To',
       sy-vline,'International',
       sy-vline.
ULINE.
FORMAT RESET.
LOOP AT it_spfli INTO wa_spfli.
  WRITE :/ sy-vline,
         sy-vline, AT 2(7) wa_spfli-carrid COLOR COL_KEY,
         sy-vline, AT 11(7) wa_spfli-CONNID COLOR COL_KEY,
         sy-vline, AT  21(12) wa_spfli-COUNTRYFR COLOR COL_KEY,
         sy-vline, AT 35(11) wa_spfli-COUNTRYTO COLOR COL_KEY,
         sy-vline, AT 48(14) wa_spfli-CITYTO COLOR COL_KEY,
         sy-vline.
ENDLOOP.

上述知识点如下:

①、定义单选控件,使用关键字PARAMETERS,多个选项使用“:”。OBLIGATORY关键字为必输。
PARAMETERS: pa_carr1 TYPE spfli-carrid OBLIGATORY,
            pa_carr2 TYPE spfli-carrid OBLIGATORY.

效果展示:
单选筛选控件效果

②、定义范围选择控件,这里跟定义单输入框不同,要先预定义参数。这里就跟我们平时前端报表选择输入的条件类似了
DATA connid TYPE spfli-connid.
SELECT-OPTIONS:so_conn FOR connid.

在这里插入图片描述

③、定义单选选项,即单选框
PARAMETERS:pa_int AS CHECKBOX.

在这里插入图片描述

④、定义互斥单选框。多个选项但是同时只能选择一个。使用GROUP关键字进行管控。
PARAMETERS: pa_lim_1 RADIOBUTTON GROUP lim,
            pa_lim_2 RADIOBUTTON GROUP lim,
            pa_lim_3 RADIOBUTTON GROUP lim.

在这里插入图片描述

⑤、定义选项块
SELECTION-SCREEN BEGIN OF BLOCK basic WITH FRAME TITLE text-001.
PARAMETERS pa_carr TYPE spfli-carrid OBLIGATORY.
PARAMETERS: pa_carr1 TYPE spfli-carrid OBLIGATORY,
           pa_carr2 TYPE spfli-carrid OBLIGATORY.
SELECT-OPTIONS:so_carr FOR carrid.
SELECTION-SCREEN END OF BLOCK basic.

在这里插入图片描述

⑥、对于页面上的汉字描述,通过文本元素进行设置,路径如下:

在这里插入图片描述
选项块标签如下:
在这里插入图片描述
字段标签如下:
在这里插入图片描述

2、输入框定义后条件筛选如何生效。

如下所示,定义好的变量或者范围变量在前端选择后相当于一个变量,被用作字段直接使用,在SQL中可以用作限制条件,需要注意的是,如果是定义的范围,需要使用关键字IN.

IF pa_int = 'X'.
SELECT * FROM spfli
  INTO CORRESPONDING FIELDS OF TABLE it_spfli
  WHERE carrid IN so_carr
  AND connid IN so_conn.
ELSE.
  SELECT * FROM spfli
  INTO CORRESPONDING FIELDS OF TABLE it_spfli
  WHERE carrid IN so_carr
  AND connid IN so_conn
  AND spfli~countryfr = spfli~countryto.
ENDIF.

以上是第二天的笔记分享,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值