diff --git a/src/objects/zcl_abapgit_object_view.clas.abap b/src/objects/zcl_abapgit_object_view.clas.abap index 53de321bd..f47b62c71 100644 --- a/src/objects/zcl_abapgit_object_view.clas.abap +++ b/src/objects/zcl_abapgit_object_view.clas.abap @@ -109,6 +109,7 @@ CLASS ZCL_ABAPGIT_OBJECT_VIEW IMPLEMENTATION. lt_dd28j TYPE TABLE OF dd28j, lt_dd28v TYPE TABLE OF dd28v. + FIELD-SYMBOLS: LIKE LINE OF lt_dd27p. io_xml->read( EXPORTING iv_name = 'DD25V' CHANGING cg_data = ls_dd25v ). @@ -123,11 +124,23 @@ CLASS ZCL_ABAPGIT_OBJECT_VIEW IMPLEMENTATION. io_xml->read( EXPORTING iv_name = 'DD28V_TABLE' CHANGING cg_data = lt_dd28v ). + lv_name = ms_item-obj_name. " type conversion + + LOOP AT lt_dd27p ASSIGNING . + -objpos = sy-tabix. + -viewname = lv_name. +* rollname seems to be mandatory in the API, but is typically not defined in the VIEW + SELECT SINGLE rollname FROM dd03l INTO -rollname + WHERE tabname = -tabname + AND fieldname = -fieldname. + IF -rollnamevi IS INITIAL. + -rollnamevi = -rollname. + ENDIF. + ENDLOOP. + corr_insert( iv_package = iv_package ig_object_class = 'DICT' ). - lv_name = ms_item-obj_name. " type conversion - CALL FUNCTION 'DDIF_VIEW_PUT' EXPORTING name = lv_name @@ -295,6 +308,13 @@ CLASS ZCL_ABAPGIT_OBJECT_VIEW IMPLEMENTATION. -scrlen2, -scrlen3, -memoryid. + IF -rollchange = abap_false. + CLEAR -rollnamevi. + ENDIF. + CLEAR -ddlanguage. + CLEAR -rollname. + CLEAR -viewname. + CLEAR -objpos. ENDLOOP. io_xml->add( iv_name = 'DD25V'