效果
MODULE init_alv OUTPUT.
PERFORM init_alv.
PERFORM init_alv2.
PERFORM init_alv3.
ENDMODULE.
FORM init_alv .
" ------------------display avv1-------------------------
IF gs_alv IS INITIAL .
"-------------------build fieldcat ----------------
DEFINE %%add_fieldcat .
CLEAR gs_fieldcat .
gv_pos = gv_pos + 1 .
gs_fieldcat-col_pos = gv_pos .
gs_fieldcat-fieldname = &1 .
gs_fieldcat-scrtext_m = &2 .
gs_fieldcat-outputlen = &3.
CASE &1 .
WHEN 'GYS' .
gs_fieldcat-edit = 'X' . "单列可修改
ENDCASE .
APPEND gs_fieldcat TO gt_fieldcat .
END-OF-DEFINITION .
%%add_fieldcat:
* 'ZYMD' '日期' '10',
* 'ZXUHH' '序号' '10' ,
* 'ZGGDM' '规格代码' '10' ,
* 'ZGGMC' '规格名称' '20',
* 'ZPACK' '包装方式' '10',
* 'ZNUM ' '数量' '10' .
* 'ZYMD' '日期' '10',
* 'ZXUHH' '系统订单编号' '10',
'ZCOL1' '下单日期' '10',
'ZCOL2' '下单日期' '10',
'ZCOL3' '客户参考日期/发货日期' '10',
'ZCOL4' '单据类型' '10',
'ZCOL5' '销售部门' '10',
'ZCOL6' '客户参考/平台单号' '10',
'ZCOL7' '名称/旺旺号' '10',
'ZSPBH' '商品编号' '10',
'ZGGDM' '规格代码' '10',
'ZGGMC' '规格名称' '10',
'ZPACK' '包装方式' '10',
'ZNUM' '数量' '10',
'ZCOL13' '行项目文本' '10',
'ZCOL14' '库存地点' '10',
'ZCOL15' '物流方式' '10',
'ZCOL16' '物流单号' '10',
'ZCOL17' '您的参考/客户联系人' '10',
'ZCOL18' '单位' '10',
'ZCOL19' '抬头文本' '10',
'ZCOL20' '单价' '10',
'ZCOL21' '总金额' '10',
'ZCOL22' '货币' '10',
'ZCOL23' '付款条件' '10',
'ZCOL24' '物料编码' '10',
'ZCOL25' '规格型号' '10',
'ZCOL26' '物料描述' '10',
'ZCOL27' '请求交货日期' '10',
'ZCOL28' '行项目类别' '10',
'ZCOL29' '销售组织' '10',
'ZCOL30' '分销渠道' '10',
'ZCOL31' '产品组' '10',
'ZCOL32' '销售组' '10',
'ZCOL33' '客户编号' '10',
'ZCOL34' '送达方' '10',
'ZCOL35' '工厂' '10',
'ZCOL36' '订单原因' '10' .
" -----------------buildalv--------------------
CREATE OBJECT gs_parent
EXPORTING
container_name = 'GC_CON1'.
" 将ALV植入容器
CREATE OBJECT gs_alv
EXPORTING
i_parent = gs_parent.
CALL METHOD gs_alv->set_table_for_first_display
EXPORTING
* i_buffer_active =
* i_bypassing_buffer =
* i_consistency_check =
* i_structure_name =
* is_variant =
* i_save =
* i_default = 'X'
is_layout = gs_layout
* is_print =
* it_special_groups =
it_toolbar_excluding = gt_exclude
* it_hyperlink =
* it_alv_graphics =
* it_except_qinfo =
* ir_salv_adapter =
CHANGING
it_outtab = gt_outa
it_fieldcatalog = gt_fieldcat
* t_sort =
* it_filter =
* EXCEPTIONS
* invalid_parameter_combination = 1
* program_error = 2
* too_many_lines = 3
* others = 4
.
IF sy-subrc <> 0 .
* Implement suitable error handling here
ENDIF.
ELSE .
PERFORM frm_fresh_alv .
ENDIF .
ENDFORM.
*&---------------------------------------------------------------------*
*& Form INIT_ALV2
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM init_alv2 .
"-------------------------display alv2 ------------------------
IF gs_alv2 IS INITIAL .
"-------------------build fieldcat ----------------
DEFINE %%add_fieldcat .
CLEAR gs_fieldcat .
gv_pos = gv_pos + 1 .
gs_fieldcat-col_pos = gv_pos .
gs_fieldcat-fieldname = &1 .
gs_fieldcat-scrtext_m = &2 .
gs_fieldcat-outputlen = &3.
CASE &1 .
WHEN 'GYS' .
gs_fieldcat-edit = 'X' . "单列可修改
ENDCASE .
APPEND gs_fieldcat TO gt_fieldcat2 .
END-OF-DEFINITION .
%%add_fieldcat:
* 'ZYMD' '日期' '10',
'ZXUHH' '序号' '10' ,
'ZSPBH' '商品编号' '20',
'ZGGMC' '规格名称' '20',
'ZPACK' '包装方式' '10',
'ZASSIGN_NUM ' '数量' '10' .
" -----------------buildalv--------------------
CREATE OBJECT gs_parent2
EXPORTING
container_name = 'GC_CON2'.
" 将ALV植入容器
CREATE OBJECT gs_alv2
EXPORTING
i_parent = gs_parent2.
CALL METHOD gs_alv2->set_table_for_first_display
EXPORTING
* i_buffer_active =
* i_bypassing_buffer =
* i_consistency_check =
* i_structure_name =
* is_variant =
* i_save =
* i_default = 'X'
is_layout = gs_layout2
* is_print =
* it_special_groups =
it_toolbar_excluding = gt_exclude
* it_hyperlink =
* it_alv_graphics =
* it_except_qinfo =
* ir_salv_adapter =
CHANGING
it_outtab = gt_outb
it_fieldcatalog = gt_fieldcat2
* t_sort =
* it_filter =
* EXCEPTIONS
* invalid_parameter_combination = 1
* program_error = 2
* too_many_lines = 3
* others = 4
.
IF sy-subrc <> 0 .
* Implement suitable error handling here
ENDIF.
ELSE .
PERFORM frm_fresh_alv2 .
ENDIF .
ENDFORM.
*&---------------------------------------------------------------------*
*& Form INIT_ALV3
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM init_alv3 .
"-------------------------display alv2 ------------------------
IF gs_alv3 IS INITIAL .
"-------------------build fieldcat ----------------
DEFINE %%add_fieldcat .
CLEAR gs_fieldcat .
gv_pos = gv_pos + 1 .
gs_fieldcat-col_pos = gv_pos .
gs_fieldcat-fieldname = &1 .
gs_fieldcat-scrtext_m = &2 .
gs_fieldcat-outputlen = &3.
CASE &1 .
WHEN 'GYS' .
gs_fieldcat-edit = 'X' . "单列可修改
ENDCASE .
APPEND gs_fieldcat TO gt_fieldcat3 .
END-OF-DEFINITION .
%%add_fieldcat:
'ZSPBH' '商品编号' '10' ,
'ZGGMC' '规格名称' '20' ,
'ZPACK' '包装方式' '10',
'MATNR ' '物料编码' '10' ,
'ZGGXH' '规格型号' '10' ,
'ZGGDM' '规格代码' '10' ,
'CPPMC' '产品名称' '10'.
" -----------------buildalv--------------------
CREATE OBJECT gs_parent3
EXPORTING
container_name = 'GC_CON3'.
" 将ALV植入容器
CREATE OBJECT gs_alv3
EXPORTING
i_parent = gs_parent3.
CALL METHOD gs_alv3->set_table_for_first_display
EXPORTING
* i_buffer_active =
* i_bypassing_buffer =
* i_consistency_check =
* i_structure_name =
* is_variant =
* i_save =
* i_default = 'X'
is_layout = gs_layout3
* is_print =
* it_special_groups =
it_toolbar_excluding = gt_exclude
* it_hyperlink =
* it_alv_graphics =
* it_except_qinfo =
* ir_salv_adapter =
CHANGING
it_outtab = gt_outd
it_fieldcatalog = gt_fieldcat3
* t_sort =
* it_filter =
* EXCEPTIONS
* invalid_parameter_combination = 1
* program_error = 2
* too_many_lines = 3
* others = 4
.
IF sy-subrc <> 0 .
* Implement suitable error handling here
ENDIF.
ELSE .
PERFORM frm_fresh_alv3 .
ENDIF .
ENDFORM.
OOALV 相关