• 四十一、在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.
  • 相关阅读:
    join_tab计算代价
    outer join test
    突然觉得mysql优化器蛮简单
    将数据库字段从float修改为decimal
    小米初体验
    简述安装android开发环境
    Rust语言:安全地并发
    awk里的各种坑
    ubuntu下使用C语言开发一个cgi程序
    Ubuntu下安装和配置Apache2
  • 原文地址:https://www.cnblogs.com/tianpan2019/p/11210847.html
Copyright © 2020-2023  润新知