加油努力一定会有收获。
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.
以上是第二天的笔记分享,谢谢。