当前位置:首页 > REUSE - ALV - GRID - DISPLAY - LVC超详细讲解
ALV总结
作者:张志昂—2008.07.08
7> 、
需要在定义变量的时候声明一下表控制和动作的接受者(OK_CODE)如下:
* 表控制IS_MATNR CONTROLS vs_detail TYPE TABLEVIEW USING SCREEN 0100 . \利用同名传递原理,来接受细节屏幕上的元素“ok_code”的值 DATA: ok_code TYPE sy-ucomm . 8> “MODULE status_0100.”的代码如下: MODULE status_0100 OUTPUT. SET PF-STATUS '0100' . DESCRIBE TABLE i_detail LINES vs_detail-current_line . ENDMODULE. \ 在“0100”的工具栏里,只设置MODULE user_command_0100 INPUT. CASE ok_code. WHEN 'BACK' . SET SCREEN 0 . \返回主屏幕 ENDCASE. ENDMODULE. \ 完成调用细节屏幕;
注意:在显示细节屏幕的字段的类型上,当内表中有数据为货币类型的时候,要在“格式”里指明该字段是货币类型的数据,如下图:
即可满足需求; “MODULE user_command_0100.”的代码如下:
13 / 28
ALV总结
作者:张志昂—2008.07.08
3.5. 调用其他事务
FORM f_call_tran USING p_rs_selfield TYPE slis_selfield . SET PARAMETER ID 'LIB' FIELD p_rs_selfield-value . CALL TRANSACTION 'SE37' .\ ENDFORM. \ “LIB”是指参数ID,查找方法:用一个事务码进入事务界面,在输入框内按F1,在弹出来的界面中点击
,新界面中的
就是参数ID;
“SE37”是指我们要调用的事务代码,“AND SKIP FIRST SCREEN”表示跳过第一屏屏幕;
3.6. 打开并选择文件:
的打开文件图标时,就会触发子FORM(F_USER_COMMAND)里的打开文件的子FORM(F_OPEN_FOLDER);
1> 、现则内表中定义好存放文件路径的字段(这里是FILE_PATH),当用户点击界面上设置好
2> 子FORM(F_OPEN_FOLDER)的代码如下:
FORM f_open_folder USING p_rs_selfield TYPE slis_selfield . DATA: l_file_path LIKE rlgrap-filename . CALL FUNCTION 'WS_FILENAME_GET' EXPORTING mode = 'O' title = '选择文件' IMPORTING filename = l_file_path EXCEPTIONS inv_winsys = 1 no_batch = 2 selection_cancel = 3 selection_error = 4 OTHERS = 5. IF sy-subrc = 0. wa_tab-file_path = l_file_path . \将得到的文件的路径赋给当前行的路径 MODIFY i_tab INDEX wa_tab-numer FROM wa_tab TRANSPORTING file_path . CLEAR l_file_path . ELSE . MESSAGE s000 WITH '没有选择文件' . ENDIF.
14 / 28
ALV总结
作者:张志昂—2008.07.08
ENDFORM. \ 4. 关于设置字段和列名的子FORM(F_FIELDS)的参数设置:
4.1.
单列优化宽度
当在子FORM(F_BUILD_LAYOUT)里没有指明全局优化列宽的时候,在需要指定优化的字段的属性里指定下列属性就可以单列优化了,
wa_fieldcat-col_opt = 'X' . 4.2. 单列求和或者取消求和,添加属性
wa_fieldcat-do_sum = 'X' . \求和 wa_fieldcat-no_sum = 'X' . \取消求和 如果此时在子FORM(F_BUILD_LAYOUT)里添加下列属性,则求和后的行就会在第一行出现:
i_layout-totals_bef = 'X' . 4.3. 对其方式
wa_fieldcat-just = 'L' . \左对齐 wa_fieldcat-just = 'C' . \居中对齐 wa_fieldcat-just = 'R' . \右对齐 当然,在不指明对其方式的前提下,ABAP的各种数据类型优默认的对其方式,其中字符串是默认为左对齐,而货币、数量默认为右对齐;
4.4. 作为图标输出
\包含图标等在内的一些信息 INCLUDE . 1> 、首先在开始包含进一个包括,如下:
2> 、然后在内表中定义一个代表图标的字段(这里如ICON_FOLDER),在整理数据的时候,需要
将代表图标的代码赋给给字段,如下
\图标 wa_banfn-icon_folder = icon_object_folder . 3> 、接着在子FORM(F_FIELDS)里给需要图标显示的列添加下列属性:
v_pos = v_pos + 1 .
15 / 28
ALV总结
作者:张志昂—2008.07.08
wa_fieldcat-col_pos = v_pos . wa_fieldcat-fieldname = 'ICON_FOLDER' . wa_fieldcat-scrtext_l = 'ICON' . wa_fieldcat-icon = 'X' . \图标 wa_fieldcat-hotspot = 'X' . APPEND wa_fieldcat TO i_fieldcat . CLEAR wa_fieldcat . 这样图标就可以在ALV界面中显示了,其中添加“热点”的目的是为了当用户点击该图标的时候,可以触发一系列的操作,如文件的选择等等;
注意:图标的名称用事务码“ICON”进入后左边第二列就是图标代码,根据需要进行选择;
4.5. 固定列和关键列
两者都可以使具有该属性的列固定不滚动,但是前者不改变该列的颜色,而后者会将该列的颜色弄成一色,不容易确认,但它具有其他的功能,代码如下:
wa_fieldcat-fix_column = 'X' . \固定列 wa_fieldcat-key = 'X' . \关键列 4.6. 列的字符宽度
= 10 . \输出宽度 可以明显地指明该列的输出宽度,属性代码如下:
wa_fieldcat-outputlen 代码如下:
列抬头的工具提示,在列的属性添加下列参数,当用户将鼠标放到列名上时,可以显示“提示”2字,
wa_fieldcat-tooltip = '提示' . 5. 单元格的F1、F4帮助:
5.1.
F1帮助:
wa_fieldcat-rollname = 'PS_PSPID' . \指定数据元素 就可以在ALV的显示界面将鼠标放到该字段的位置后按F1会弹出该字段的说明;
2> 、指定数据元素之后,可以不指明字段的描述(如SCRTEXT_L、SCRTEXT_M、SCRTEXT_S),函
数会自动将字段的描述显示,但是没有自己指定的灵活
1> 、在子FORM(F_FIELDS)里列的属性添加“数据元素”这一属性,代码如下:
5.2. F4帮助:
1> 、在子FORM(F_FIELDS)里列的属性添加下列属性,代码如下:
16 / 28
共分享92篇相关文档