Then Click on Create BADI Implementation
Expand Z_MD_EXPORT_TREE and double-click Implementing Class to modify the created implementation class:
METHOD IF_EX_MD_EXPORT_TREE~EXPORT_TREE.
* This example implementation creates a small ALV table based on
* the content of the order report tree. This table is printed using the
* type including fields to be printed
TYPES: BEGIN OF table_type,
node TYPE lvc_nkey,
parent_node TYPE lvc_nkey,
matnr TYPE matnr,
berid TYPE berid,
werks TYPE werks_d,
bbdat TYPE dat00,
delb0 TYPE delb0,
delnr TYPE del12,
delps TYPE delps,
rcdat TYPE dat00,
rceb0 TYPE delb0,
rcenr TYPE del12,
rceps TYPE delps,
err01 TYPE aussl,
msgxx TYPE msgxx,
maktx TYPE makt-maktx,
END OF table_type.
* table type including fields to be printed
TYPES: t_table_type TYPE STANDARD TABLE OF table_type.
* local references to objects
DATA: lr_table TYPE REF TO cl_salv_table,
lr_columns TYPE REF TO cl_salv_columns,
lr_print_obj TYPE REF TO cl_salv_print.
* local internal tables
DATA: lt_fieldcat TYPE lvc_t_fcat,
lt_tree_lines TYPE md_t_tree_struc,
lt_tree_small TYPE t_table_type.
* local structures
DATA: ls_tree_lines TYPE mdtreestruc,
ls_tree_small TYPE table_type.
* transfer imported tables into local tables
lt_fieldcat[] = it_fieldcat[].
lt_tree_lines[] = it_tree_lines[].
* don't print all columns of the tree; create smaller table
select SINGLE maktx from makt INTO ls_tree_lines WHERE matnr = ls_tree_lines-matnr and spras = 'E'.
LOOP AT lt_tree_lines INTO ls_tree_lines.
MOVE-CORRESPONDING ls_tree_lines TO ls_tree_small.
APPEND ls_tree_small TO lt_tree_small.
ENDLOOP.
DATA :
GD_REPID LIKE SY-REPID,
G_SAVE TYPE C VALUE 'X',
G_VARIANT TYPE DISVARIANT,
GX_VARIANT TYPE DISVARIANT,
G_EXIT TYPE C.
data : wa_layout type slis_layout_alv.
DATA : FIELD_CAT TYPE SLIS_FIELDCAT_ALV.
DATA : IT TYPE SLIS_T_FIELDCAT_ALV.
DATA : ls_tree_small2 TYPE TABLE OF table_type .
LOOP AT lt_tree_small ASSIGNING FIELD-SYMBOL(<fs>).
APPEND <fs> TO ls_tree_small2 .
ENDLOOP.
FIELD_CAT-FIELDNAME = 'NODE'.
FIELD_CAT-TABNAME = 'ls_tree_small2'.
FIELD_CAT-SELTEXT_L = 'Sorting'.
APPEND FIELD_CAT TO IT.
CLEAR FIELD_CAT.
FIELD_CAT-FIELDNAME = 'PARENT_NODE'.
FIELD_CAT-TABNAME = 'ls_tree_small2'.
FIELD_CAT-SELTEXT_L = 'reference'.
APPEND FIELD_CAT TO IT.
CLEAR FIELD_CAT.
FIELD_CAT-FIELDNAME = 'MATNR'.
FIELD_CAT-TABNAME = 'ls_tree_small2'.
FIELD_CAT-SELTEXT_L = 'Material'.
APPEND FIELD_CAT TO IT.
CLEAR FIELD_CAT.
FIELD_CAT-FIELDNAME = 'MAKTX'.
FIELD_CAT-TABNAME = 'ls_tree_small2'.
FIELD_CAT-SELTEXT_L = 'DESC.'.
APPEND FIELD_CAT TO IT.
CLEAR FIELD_CAT.
FIELD_CAT-FIELDNAME = 'BERID'.
FIELD_CAT-TABNAME = 'ls_tree_small2'.
FIELD_CAT-SELTEXT_L = 'Planing Plant'.
APPEND FIELD_CAT TO IT.
CLEAR FIELD_CAT.
FIELD_CAT-FIELDNAME = 'WERKS'.
FIELD_CAT-TABNAME = 'ls_tree_small2'.
FIELD_CAT-SELTEXT_L = 'Production Plant'.
APPEND FIELD_CAT TO IT.
CLEAR FIELD_CAT.
FIELD_CAT-FIELDNAME = 'DELB0'.
FIELD_CAT-TABNAME = 'ls_tree_small2'.
FIELD_CAT-SELTEXT_L = 'REQ Type'.
APPEND FIELD_CAT TO IT.
CLEAR FIELD_CAT.
FIELD_CAT-FIELDNAME = 'DELNR'.
FIELD_CAT-TABNAME = 'ls_tree_small2'.
FIELD_CAT-SELTEXT_L = 'Sales order/REQ'.
APPEND FIELD_CAT TO IT.
CLEAR FIELD_CAT.
FIELD_CAT-FIELDNAME = 'DELPS'.
FIELD_CAT-TABNAME = 'ls_tree_small2'.
FIELD_CAT-SELTEXT_L = 'Sales order item'.
APPEND FIELD_CAT TO IT.
CLEAR FIELD_CAT.
FIELD_CAT-FIELDNAME = 'RCEB0'.
FIELD_CAT-TABNAME = 'ls_tree_small2'.
FIELD_CAT-SELTEXT_L = 'Item Type'.
APPEND FIELD_CAT TO IT.
CLEAR FIELD_CAT.
FIELD_CAT-FIELDNAME = 'RCENR'.
FIELD_CAT-TABNAME = 'ls_tree_small2'.
FIELD_CAT-SELTEXT_L = 'Order Number'.
APPEND FIELD_CAT TO IT.
CLEAR FIELD_CAT.
GD_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
is_layout = wa_layout
I_CALLBACK_PROGRAM = GD_REPID
* I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE' "see FORM
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = IT[]
I_SAVE = 'A'
IS_VARIANT = G_VARIANT
*IT_SORT = IT_SORT
TABLES
T_OUTTAB = ls_tree_small2
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ENDIF.
ENDMETHOD.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
7 | |
5 | |
3 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 |