ABAP基础之选择屏幕
PARAMETERS
1 | 语法: PARAMETERS {para[(len)]}|{para [LENGTH len]} [type_options] [screen_options] [value_options]. |
其他参数:1
1. ... TYPE type [DECIMALS dec]
Example:PARAMETERS p_t1 type p decimals 2.
TYPE可用类型:c, d, i, n, p, string, t, and x
f无法使用,要定义小数位用p类型+ DECIMALS定义。
2. ... LIKE dobj | LIKE (name)
Example:DATA comp TYPE c LENGTH 60.
PARAMETERS p_carrid LIKE spfli-carrid.
PARAMETERS p_dyn1 LIKE comp.
PARAMETERS p_dyn2 LIKE (comp).
INITIALIZATION.
comp = 'SPFLI-CARRID'.
3. ... OBLIGATORY 必输
4. ... NO-DISPLAY 隐藏
5. ... VISIBLE LENGTH vlen 可见长度
6. ... AS CHECKBOX [USER-COMMAND fcode] 复选框
Example: PARAMETERS: TAX AS CHECKBOX DEFAULT 'X',
NTD AS CHECKBOX.
7. ... RADIOBUTTON GROUP group [USER-COMMAND fcode] 单选按钮组
Example: PARAMETERS: BOY RADIOBUTTON GROUP SEX DEFAULT 'X',
GIRL RADIOBUTTON GROUP SEX.
8. ... AS LISTBOX VISIBLE LENGTH vlen [USER-COMMAND fcode] 列表框
Example:PARAMETERS p_carrid TYPE spfli-carrid
AS LISTBOX VISIBLE LENGTH 20
DEFAULT 'LH'.
9. ... DEFAULT val 设置默认值
Example:PARAMETERS: COMPANY(20) DEFAULT 'FIT',
BIRTH TYPE D DEFAULT '20110201'.
10. ... LOWER CASE 将输入值转成小写
11. ... MATCHCODE OBJECT search_help 加搜索帮助
Example: PARAMETERS p_carrid TYPE s_carr_id
MATCHCODE OBJECT demo_f4_de.
12. ... MEMORY ID pid 从SAP内存中读取值,DEFAULT优先于MEMORY ID
Example:PARAMETERS p_prog TYPE sy-repid MEMORY ID rid.
13. ... VALUE CHECK 从数据字典中检查输入值
Example:PARAMETERS p_carrid TYPE spfli-carrid VALUE CHECK
SELECTION-OPTIONS(多项选择)
1 | 语法:SELECT-OPTIONS [selection name] FOR [field name] [DEFAULT [value] [TO [value]]] |
[selection_tab]内表的四个字段:1
1. SIGN:
I: 表筛选条件符合的资料
E: 表筛选条件不符合的资料
2. OPTION: 比较的条件符号
EQ(等于),NE(不等于),GT(大于),LE(小于),CP(包含),NP(不包含)
3. LOW: 最小值
4. HIGH: 最大值
其他参数:1
1. ... OBLIGATORY 必输
Example:SELECT-OPTIONS s_carrid FOR spfli-carrid OBLIGATORY.
2. ... NO-DISPLAY 隐藏
3. ... NO-EXTENSION 没有范围选择按钮
Example:SELECT-OPTIONS s_carrid FOR spfli-carrid NO-EXTENSION.
4. ... NO INTERVALS 没有间隔选择
Example:SELECT-OPTIONS s_carrid FOR spfli-carrid NO INTERVALS.
5. ... DEFAULT val1 [TO val2] [OPTION opt] [SIGN sgn] 设置默认值
Example: SELECT-OPTIONS s_carrid FOR spfli-carrid DEFAULT 'AC' to 'AF'.
SELECTION-SCREEN
同一列中输入数个数据项1
语法:
SELECTION-SCREEN BEGIN OF LINE.
......
SELECTION-SCREEN END OF LINE.
Example:
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 20.
PARAMETERS NAME(10).
SELECTION-SCREEN POSITION 40.
PARAMETERS BIRTH TYPE D.
SELECTION-SCREEN END OF LINE.//在20格输入NAME内容, 40格输入 BIRTH的内容
绘出BLOCK PANEL
1 | 语法: SELECTION-SCREEN BEGIN OF BLOCK <block> [WITH FRAME [TITLE <title>]. ...... SELECTION-SCREEN END OF BLOCK <block>. Example: SELECTION-SCREEN BEGIN OF BLOCK RADIO WITH FRAME TITLE title. PARAMETER R1 RADIOBUTTON GROUP GR1. PARAMETER R2 RADIOBUTTON GROUP GR1. PARAMETER R3 RADIOBUTTON GROUP GR1. SELECTION-SCREEN END OF BLOCK RADIO. INITIALIZATION. TITLE = 'Selection'. 1. 产生空白列 语法: SELECTION-SCREEN SKIP [<n>] Example: SELECTION-SCREEN SKIP 2.//产生两列空白列 2. 画底线 语法: SELECTION-SCREEN ULINE / <pos>(length) Example: SELECTION-SCREEN ULINE /10(30).//自第10格开始产生长度30的底线 3. 印出备注说明 语法: SELECTION-SCREEN COMMENT / <pos>(length) <name> Example: SELECTION-SCREEN COMMENT /10(30) REMARK. INITIALIZATION. REMARK = 'Pls enter your name'. |
初始化选择屏幕
1 | INITIALIZATION. ...... |
输入检查
1 | AT SELECTION-SCREEN. ...... |