IMPORT参数设置包括如下:
1.Parameter Name:参数名称,接口调用时对其赋值,作为一个数据对象在程序中使用。
2.Type Spe:类型选项,与数据定义时的LIKE、TYPE作用一致。
3.Reference Type:参数参考类型,可为数据字典对象。
4.Default Value:缺省值,若输入字符串时需要加下引号。
5.Optional:可选的,该选项定义是否可以修改参数值,若未选中,相当于定义该参数为一个常量;若选中,该参数可以在程序中重新赋值。
6.Pass Value:定义该参数是否为必须项,若未选中,调用该FUNCTION时此参数为必须输入荐。
7.Short Text:该参数的短文本描述。
8.Long Text:单击对应按钮可以设置参数详细描述
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_interface_check = '' "接口一致性检查
i_callback_program = sy-repid "当前程序名
is_layout = layout "输出样式
it_fieldcat = fieldcat[] "字段定义描述表
i_callback_pf_status_set = 'PF_STATUS_SET' "触发事件调用子程序
i_callback_user_command = 'USER_COMMAND' "鼠标事件操作子程序
it_events = i_events[] "出口程序触发事件
i_callback_html_top_of_page = 'ALV_TOP_OF_PAGE' "ALV输出表头设置
i_grid_settings = wl_lvc_s_glay "打印表头设置
it_sort = sortable[] "排序设置
TABLES
t_outtab = ig_out
EXCEPTIONS
program_error = 1
others = 2.
常用属性:(赋值''中内容必须为大写)
1. Fieldcat
data: fieldcat type slis_t_fieldcat_alv with header line.
it_fieldcat = fieldcat[]
属性 (用来定义表单中的各个列的相关信息)
Fieldcat-col_pos = n. 输出列
Fieldcat-tabname = 'FIELDNAME'. 对应的内表字段名
Fieldcat-seltext_s/m/l = '列名'. 输出列文本 (_s:短文本 _l:长文本)
Fieldcat-emphasize = 'CX10'. 带有颜色的高亮列 (其中X=(1-7) 颜色同format)
Fieldcat-hotspot = 'X'. 作为热点显示 可触发鼠标触发事件
Fieldcat-currency = 'CURRKEY'. 表 TCURX 中的货币名称
Fieldcat-quantity(3) 计量单位
Fieldcat-qfieldname 参考计量单位的字段名称
Fieldcat-round = n. 四舍五入至小数位数下 n 位
Fieldcat-exponent = n. 浮点数的幂指数为n
Fieldcat-key = 'X'. 关键字段
Fieldcat-icon = 'X'. 作为图标输出
Fieldcat-symbol = 'X'. 输出作为符号
Fieldcat-checkbox = 'X'. 作为复选框输出
Fieldcat-just = SPACE, 'R', 'L', 'C'. 对齐方式
Fieldcat-lzero = 'X'. 输出前导零
Fieldcat-no_sign = 'X'. 输出抑制符号
Fieldcat-no_zero = 'X'. 为输出隐藏零
Fieldcat-edit_mask = SPACE, mask.. 输出为mask的模式
Fieldcat-fix_column = 'X'. 固定列
Fieldcat-do_sum = 'X'. 总计列值总和
Fieldcat-no_out = 'X'. 列不输出
Fieldcat-tech = 'X'. 该字段为技术字段
Fieldcat-outputlen = n 列的字符宽度为n
Fieldcat-decimals_out = n 能控制小数点的位数为n
Fieldcat-datatype = C,I,N… 定义数据类型
2. Layout
data: layout type slis_layout_alv .
is_layout = layout
属性 (用于定义ALV表单的相关格式、属性)
info_fieldname = 'LINE_COLOR'. 设置特殊行颜色
(将LINE_COLOR增加到内表字段,写'CX10'到特殊行的LINE_COLOR, X为颜色值)
colwidth_optimize = 'X'. 优化列宽设置
no_colhead = 'X'. 不显示列名
no_vline = 'X'. 不显示列间竖线
zebra
f2code = '&ETA'. 设置触发弹出详细信息窗口的功能码,这里是双击
no_vline 这个用来设置列间隔线
detail_initial_lines
detail_popup 是否弹出详细信息窗口
detail_titlebar 设置弹出窗口的标题栏
totals_text
totals_only
group_change_edit
header_text
上面的有点复杂,举个例子:
这就是hotspot,只需要设置一下就可以了:
CLEAR LC_FCAT.
LC_FCAT-FIELDNAME = CNS_VBELN. "VBELN
LC_FCAT-SELTEXT_L = TEXT-H01. "发票号
LC_FCAT-HOTSPOT = CNS_X. “默认'X'
LC_FCAT-DATATYPE = CNS_CHAR.
APPEND LC_FCAT TO IT_FCAT.
调用函数:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'ZFICOXX'
IS_LAYOUT = G_LAYOUT
IT_FIELDCAT = G_ALV_FIELDCAT[]
I_SAVE = G_SAVE
IS_VARIANT = GS_VERIANT
I_CALLBACK_PF_STATUS_SET = CNS_PF_STATUS ”这就是TOOLBAR,可以SE41复制一个标准的然后去修改SET PF-STATUS 'ZORB001'.
I_CALLBACK_USER_COMMAND = CNS_COMMAND “此form设置了点击凭证号就跳到FB03的界面,参考下面的form
TABLES
T_OUTTAB = IT_DATA_TAB3.
FORM USER_COMMAND USING L_UCOMM LIKE SY-UCOMM
L_SELFIELD TYPE SLIS_SELFIELD.
DATA LV_GJAHR TYPE BSEG-GJAHR.
LV_GJAHR = SY-DATUM+0(4).
CASE L_UCOMM.
WHEN '&IC1'.
CASE L_SELFIELD-FIELDNAME.
WHEN 'BELNR'.
SET PARAMETER ID 'BLN' FIELD L_SELFIELD-VALUE.
SET PARAMETER ID 'BUK' FIELD P_BUKRS.
SET PARAMETER ID 'GJR' FIELD LV_GJAHR.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDCASE.
ENDCASE.
ENDFORM.