一、代码如下:
二、其中我们的文本替换内容如下
三、需要注意的是波浪线的用法,以及区域的添加方法。运行程序,显示如下
四、不勾选时,查询出来是去掉国际的
五、勾选之后,查询的是全部的
六、显示如下
七、完整代码如下
*&---------------------------------------------------------------------* *& 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.