四十一、在SAP中添加多条件选择框

一、代码如下:

二、其中我们的文本替换内容如下

三、需要注意的是波浪线的用法,以及区域的添加方法。运行程序,显示如下

四、不勾选时,查询出来是去掉国际的

五、勾选之后,查询的是全部的

六、显示如下

七、完整代码如下

*&---------------------------------------------------------------------*
*& Report Z_TIANPAN_20190717_HELLO
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT Z_TIANPAN_20190717_HELLO LINE-SIZE 76.

*定义数据类型
DATA it_spfli TYPE TABLE OF spfli.
DATA wa_spfli TYPE spfli.
*定义选择屏幕,connid表示航班连接编号
DATA connid TYPE spfli-connid.

SELECTION-SCREEN BEGIN OF BLOCK basic_select WITH FRAME TITLE text-005 .
SELECT-OPTIONS so_car FOR connid.
SELECTION-SCREEN END OF BLOCK basic_select.

SELECTION-SCREEN BEGIN OF BLOCK other_select WITH FRAME TITLE text-006.
  PARAMETERS pa_int TYPE c AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK other_select.

*如果选中了,表示国内国际都显示
IF pa_int = 'X'.
*读取数据库中的内容
  SELECT * FROM spfli INTO TABLE it_spfli WHERE connid IN so_car.
ELSE.
  SELECT * FROM spfli INTO TABLE it_spfli WHERE connid IN so_car AND spfli~countryfr = spfli~countryto.
ENDIF.

*输出
WRITE: '青青子衿,悠悠我心'.

*输出一条线
ULINE.
*输出一条横线 Format表示格式化颜色,COL_HEADING颜色可以在F1中对比
FORMAT COLOR COL_HEADING .
*输出数据库内容,sy-vline表示把内容当成字段来输出,左边线占用1个字符,从2开始
WRITE: / sy-vline,AT 2(10) text-001,
         sy-vline,AT 14(10) text-002,
         sy-vline,AT 26(20) text-003,
         sy-vline,AT 48(20) text-004,
         sy-vline,AT 70(5) '国际',
         AT 76 sy-vline.

*输出一条线
ULINE.
FORMAT RESET.

LOOP AT it_spfli INTO wa_spfli.
  IF wa_spfli-countryfr = wa_spfli-countryto.
    WRITE: / sy-vline,AT 2(10) wa_spfli-carrid ,
             sy-vline,AT 14(10) wa_spfli-connid ,
             sy-vline,AT 26(20) wa_spfli-countryfr,
             sy-vline,AT 48(20) wa_spfli-countryto,
             sy-vline,AT 70(5) ICON_CHECKED AS ICON,
             AT 76 sy-vline.
  ELSE.
    WRITE: / sy-vline,AT 2(10) wa_spfli-carrid ,
             sy-vline,AT 14(10) wa_spfli-connid ,
             sy-vline,AT 26(20) wa_spfli-countryfr,
             sy-vline,AT 48(20) wa_spfli-countryto,
             sy-vline,AT 70(5) ICON_INCOMPLETE AS ICON,
             AT 76 sy-vline.
  ENDIF.
ENDLOOP.
*输出一条线
ULINE.
原文地址:https://www.cnblogs.com/tianpan2019/p/11210847.html