TABL: remove fields from .INCLUDEs

This commit is contained in:
larshp 2016-10-09 08:42:07 +00:00
parent da37d4cafa
commit 17cf0a7b29

View File

@ -129,9 +129,11 @@ CLASS lcl_object_tabl IMPLEMENTATION.
lt_dd12v TYPE dd12vtab,
lt_dd17v TYPE dd17vtab,
lt_dd35v TYPE TABLE OF dd35v,
lv_index LIKE sy-index,
lt_dd36m TYPE dd36mttyp.
FIELD-SYMBOLS: <ls_dd12v> LIKE LINE OF lt_dd12v,
<ls_dd05m> LIKE LINE OF lt_dd05m,
<ls_dd03p> LIKE LINE OF lt_dd03p.
@ -176,7 +178,10 @@ CLASS lcl_object_tabl IMPLEMENTATION.
<ls_dd12v>-as4time.
ENDLOOP.
* remove nested structures
DELETE lt_dd03p WHERE depth <> '00'.
* remove fields from .INCLUDEs
DELETE lt_dd03p WHERE adminfield <> '0'.
LOOP AT lt_dd03p ASSIGNING <ls_dd03p> WHERE NOT rollname IS INITIAL.
CLEAR: <ls_dd03p>-ddlanguage,
@ -221,6 +226,16 @@ CLASS lcl_object_tabl IMPLEMENTATION.
ENDIF.
ENDLOOP.
* remove foreign keys inherited from .INCLUDEs
DELETE lt_dd08v WHERE noinherit = 'N'.
LOOP AT lt_dd05m ASSIGNING <ls_dd05m>.
lv_index = sy-tabix.
READ TABLE lt_dd08v WITH KEY fieldname = <ls_dd05m>-fieldname TRANSPORTING NO FIELDS.
IF sy-subrc <> 0.
DELETE lt_dd05m INDEX lv_index.
ENDIF.
ENDLOOP.
io_xml->add( iv_name = 'DD02V'
ig_data = ls_dd02v ).
io_xml->add( iv_name = 'DD09L'