From dd7cb43c637992ca892164226c1a5b7186dfbb7f Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Thu, 14 Dec 2023 08:55:06 +0100 Subject: [PATCH] TABL refactoring, serializing XML (#6694) --- src/objects/zcl_abapgit_object_tabl.clas.abap | 230 +++++++----------- ...l_abapgit_object_tabl.clas.locals_imp.abap | 52 ++++ src/objects/zif_abapgit_object_tabl.intf.abap | 45 ++++ src/objects/zif_abapgit_object_tabl.intf.xml | 15 ++ 4 files changed, 194 insertions(+), 148 deletions(-) create mode 100644 src/objects/zcl_abapgit_object_tabl.clas.locals_imp.abap create mode 100644 src/objects/zif_abapgit_object_tabl.intf.abap create mode 100644 src/objects/zif_abapgit_object_tabl.intf.xml diff --git a/src/objects/zcl_abapgit_object_tabl.clas.abap b/src/objects/zcl_abapgit_object_tabl.clas.abap index b5f33aa78..85cc774d5 100644 --- a/src/objects/zcl_abapgit_object_tabl.clas.abap +++ b/src/objects/zcl_abapgit_object_tabl.clas.abap @@ -8,36 +8,25 @@ CLASS zcl_abapgit_object_tabl DEFINITION INTERFACES zif_abapgit_object . PROTECTED SECTION. - TYPES: BEGIN OF ty_segment_definition, - segmentheader TYPE edisegmhd, - segmentdefinition TYPE edisegmdef, - segmentstructures TYPE STANDARD TABLE OF edisegstru WITH DEFAULT KEY, - END OF ty_segment_definition. - TYPES: ty_segment_definitions TYPE STANDARD TABLE OF ty_segment_definition WITH DEFAULT KEY. - - TYPES: BEGIN OF ty_tabl_extras, - tddat TYPE tddat, - END OF ty_tabl_extras. "! get additional data like table authorization group "! @parameter iv_tabname | name of the table METHODS read_extras IMPORTING iv_tabname TYPE ddobjname - RETURNING VALUE(rs_tabl_extras) TYPE ty_tabl_extras. + RETURNING VALUE(rs_tabl_extras) TYPE zif_abapgit_object_tabl=>ty_tabl_extras. "! Update additional data "! @parameter iv_tabname | name of the table "! @parameter is_tabl_extras | additional table data METHODS update_extras IMPORTING iv_tabname TYPE ddobjname - is_tabl_extras TYPE ty_tabl_extras. + is_tabl_extras TYPE zif_abapgit_object_tabl=>ty_tabl_extras. "! Delete additional data "! @parameter iv_tabname | name of the table METHODS delete_extras IMPORTING iv_tabname TYPE ddobjname. "! Serialize IDoc Segment type/definition if exits - "! @parameter io_xml | XML writer "! @raising zcx_abapgit_exception | Exceptions - METHODS serialize_idoc_segment IMPORTING io_xml TYPE REF TO zif_abapgit_xml_output + METHODS serialize_idoc_segment CHANGING cs_internal TYPE zif_abapgit_object_tabl=>ty_internal RAISING zcx_abapgit_exception. "! Deserialize IDoc Segment type/definition if exits @@ -56,23 +45,7 @@ CLASS zcl_abapgit_object_tabl DEFINITION METHODS delete_idoc_segment RETURNING VALUE(rv_deleted) TYPE abap_bool RAISING zcx_abapgit_exception. PRIVATE SECTION. - - TYPES: - ty_dd03p_tt TYPE STANDARD TABLE OF dd03p . - TYPES: - BEGIN OF ty_dd02_text, - ddlanguage TYPE dd02t-ddlanguage, - ddtext TYPE dd02t-ddtext, - END OF ty_dd02_text . - TYPES: - ty_dd02_texts TYPE STANDARD TABLE OF ty_dd02_text . - CONSTANTS c_longtext_id_tabl TYPE dokil-id VALUE 'TB' ##NO_TEXT. - CONSTANTS: - BEGIN OF c_s_dataname, - segment_definition TYPE string VALUE 'SEGMENT_DEFINITION', - tabl_extras TYPE string VALUE 'TABL_EXTRAS', - END OF c_s_dataname . METHODS deserialize_indexes IMPORTING @@ -81,7 +54,7 @@ CLASS zcl_abapgit_object_tabl DEFINITION zcx_abapgit_exception . METHODS clear_dd03p_fields CHANGING - !ct_dd03p TYPE ty_dd03p_tt . + !ct_dd03p TYPE zif_abapgit_object_tabl=>ty_dd03p_tt . "! Check if structure is an IDoc segment "! @parameter rv_is_idoc_segment | It's an IDoc segment or not METHODS is_idoc_segment @@ -94,8 +67,8 @@ CLASS zcl_abapgit_object_tabl DEFINITION CHANGING !cs_dd03p TYPE dd03p . METHODS serialize_texts - IMPORTING - !ii_xml TYPE REF TO zif_abapgit_xml_output + CHANGING + !cs_internal TYPE zif_abapgit_object_tabl=>ty_internal RAISING zcx_abapgit_exception . METHODS deserialize_texts @@ -113,7 +86,7 @@ ENDCLASS. -CLASS zcl_abapgit_object_tabl IMPLEMENTATION. +CLASS ZCL_ABAPGIT_OBJECT_TABL IMPLEMENTATION. METHOD clear_dd03p_fields. @@ -242,19 +215,19 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. METHOD deserialize_idoc_segment. DATA lv_result LIKE sy-subrc. - DATA lt_segment_definitions TYPE ty_segment_definitions. + DATA lt_segment_definitions TYPE zif_abapgit_object_tabl=>ty_segment_definitions. DATA lv_package TYPE devclass. DATA lv_uname TYPE sy-uname. DATA lv_transport TYPE trkorr. DATA ls_edisdef TYPE edisdef. - DATA ls_segment_definition TYPE ty_segment_definition. - FIELD-SYMBOLS TYPE ty_segment_definition. + DATA ls_segment_definition TYPE zif_abapgit_object_tabl=>ty_segment_definition. + FIELD-SYMBOLS TYPE zif_abapgit_object_tabl=>ty_segment_definition. rv_deserialized = abap_false. TRY. - io_xml->read( EXPORTING iv_name = c_s_dataname-segment_definition + io_xml->read( EXPORTING iv_name = zif_abapgit_object_tabl=>c_s_dataname-segment_definition CHANGING cg_data = lt_segment_definitions ). CATCH zcx_abapgit_exception. @@ -456,7 +429,7 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. DATA: lv_name TYPE ddobjname, ls_dd02v_tmp TYPE dd02v, lt_i18n_langs TYPE TABLE OF langu, - lt_dd02_texts TYPE ty_dd02_texts. + lt_dd02_texts TYPE zif_abapgit_object_tabl=>ty_dd02_texts. FIELD-SYMBOLS: LIKE LINE OF lt_i18n_langs, LIKE LINE OF lt_dd02_texts. @@ -540,8 +513,8 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. DATA lv_result LIKE sy-subrc. DATA lv_devclass TYPE devclass. DATA lt_segmentdefinitions TYPE STANDARD TABLE OF edisegmdef. - DATA ls_segment_definition TYPE ty_segment_definition. - DATA lt_segment_definitions TYPE ty_segment_definitions. + DATA ls_segment_definition TYPE zif_abapgit_object_tabl=>ty_segment_definition. + FIELD-SYMBOLS: TYPE edisegmdef. IF is_idoc_segment( ) = abap_false. @@ -589,12 +562,9 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. zcl_abapgit_object_idoc=>clear_idoc_segement_fields( CHANGING cg_structure = ls_segment_definition-segmentheader ). - APPEND ls_segment_definition TO lt_segment_definitions. + APPEND ls_segment_definition TO cs_internal-segment_definitions. ENDLOOP. - io_xml->add( iv_name = c_s_dataname-segment_definition - ig_data = lt_segment_definitions ). - ENDMETHOD. @@ -603,12 +573,10 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. DATA: lv_name TYPE ddobjname, lv_index TYPE i, ls_dd02v TYPE dd02v, - lt_dd02_texts TYPE ty_dd02_texts, - lt_i18n_langs TYPE TABLE OF langu, lt_language_filter TYPE zif_abapgit_environment=>ty_system_language_filter. - FIELD-SYMBOLS: LIKE LINE OF lt_i18n_langs, - LIKE LINE OF lt_dd02_texts. + FIELD-SYMBOLS: LIKE LINE OF cs_internal-i18n_langs, + LIKE LINE OF cs_internal-dd02_texts. IF mo_i18n_params->ms_params-main_language_only = abap_true. RETURN. @@ -619,14 +587,14 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. " Collect additional languages, skip main lang - it was serialized already lt_language_filter = mo_i18n_params->build_language_filter( ). - SELECT DISTINCT ddlanguage AS langu INTO TABLE lt_i18n_langs + SELECT DISTINCT ddlanguage AS langu INTO TABLE cs_internal-i18n_langs FROM dd02v WHERE tabname = lv_name AND ddlanguage IN lt_language_filter AND ddlanguage <> mv_language ORDER BY langu. "#EC CI_SUBRC - LOOP AT lt_i18n_langs ASSIGNING . + LOOP AT cs_internal-i18n_langs ASSIGNING . lv_index = sy-tabix. CALL FUNCTION 'DDIF_TABL_GET' EXPORTING @@ -638,25 +606,16 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. illegal_input = 1 OTHERS = 2. IF sy-subrc <> 0 OR ls_dd02v-ddlanguage IS INITIAL. - DELETE lt_i18n_langs INDEX lv_index. " Don't save this lang + DELETE cs_internal-i18n_langs INDEX lv_index. " Don't save this lang CONTINUE. ENDIF. - APPEND INITIAL LINE TO lt_dd02_texts ASSIGNING . + APPEND INITIAL LINE TO cs_internal-dd02_texts ASSIGNING . MOVE-CORRESPONDING ls_dd02v TO . - ENDLOOP. - SORT lt_i18n_langs ASCENDING. - SORT lt_dd02_texts BY ddlanguage ASCENDING. - - IF lines( lt_i18n_langs ) > 0. - ii_xml->add( iv_name = 'I18N_LANGS' - ig_data = lt_i18n_langs ). - - ii_xml->add( iv_name = 'DD02_TEXTS' - ig_data = lt_dd02_texts ). - ENDIF. + SORT cs_internal-i18n_langs ASCENDING. + SORT cs_internal-dd02_texts BY ddlanguage ASCENDING. ENDMETHOD. @@ -789,7 +748,7 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. lt_dd08v TYPE TABLE OF dd08v, lt_dd35v TYPE TABLE OF dd35v, lt_dd36m TYPE dd36mttyp, - ls_extras TYPE ty_tabl_extras. + ls_extras TYPE zif_abapgit_object_tabl=>ty_tabl_extras. FIELD-SYMBOLS: TYPE dd03p, TYPE dd05m, @@ -899,7 +858,7 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. deserialize_longtexts( ii_xml = io_xml iv_longtext_id = c_longtext_id_tabl ). - io_xml->read( EXPORTING iv_name = c_s_dataname-tabl_extras + io_xml->read( EXPORTING iv_name = zif_abapgit_object_tabl=>c_s_dataname-tabl_extras CHANGING cg_data = ls_extras ). update_extras( iv_tabname = lv_name is_tabl_extras = ls_extras ). @@ -999,25 +958,16 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. METHOD zif_abapgit_object~serialize. - DATA: lv_name TYPE ddobjname, - lv_state TYPE ddgotstate, - ls_dd02v TYPE dd02v, - ls_dd09l TYPE dd09l, - lt_dd03p TYPE ty_dd03p_tt, - lt_dd05m TYPE TABLE OF dd05m, - lt_dd08v TYPE TABLE OF dd08v, - lt_dd12v TYPE dd12vtab, - lt_dd17v TYPE dd17vtab, - lt_dd35v TYPE TABLE OF dd35v, - lv_index LIKE sy-index, - lt_dd36m TYPE dd36mttyp, - ls_extras TYPE ty_tabl_extras. + DATA: lv_name TYPE ddobjname, + lv_state TYPE ddgotstate, + ls_internal TYPE zif_abapgit_object_tabl=>ty_internal, + lv_index LIKE sy-index. - FIELD-SYMBOLS: LIKE LINE OF lt_dd12v, - LIKE LINE OF lt_dd05m, - LIKE LINE OF lt_dd08v, - LIKE LINE OF lt_dd35v, - LIKE LINE OF lt_dd36m, + FIELD-SYMBOLS: LIKE LINE OF ls_internal-dd12v, + LIKE LINE OF ls_internal-dd05m, + LIKE LINE OF ls_internal-dd08v, + LIKE LINE OF ls_internal-dd35v, + LIKE LINE OF ls_internal-dd36m, TYPE any. lv_name = ms_item-obj_name. @@ -1028,16 +978,16 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. langu = mv_language IMPORTING gotstate = lv_state - dd02v_wa = ls_dd02v - dd09l_wa = ls_dd09l + dd02v_wa = ls_internal-dd02v + dd09l_wa = ls_internal-dd09l TABLES - dd03p_tab = lt_dd03p - dd05m_tab = lt_dd05m - dd08v_tab = lt_dd08v - dd12v_tab = lt_dd12v - dd17v_tab = lt_dd17v - dd35v_tab = lt_dd35v - dd36m_tab = lt_dd36m + dd03p_tab = ls_internal-dd03p + dd05m_tab = ls_internal-dd05m + dd08v_tab = ls_internal-dd08v + dd12v_tab = ls_internal-dd12v + dd17v_tab = ls_internal-dd17v + dd35v_tab = ls_internal-dd35v + dd36m_tab = ls_internal-dd36m EXCEPTIONS illegal_input = 1 OTHERS = 2. @@ -1050,106 +1000,90 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION. RETURN. ENDIF. - CLEAR: ls_dd02v-as4user, - ls_dd02v-as4date, - ls_dd02v-as4time. + CLEAR: ls_internal-dd02v-as4user, + ls_internal-dd02v-as4date, + ls_internal-dd02v-as4time. * reset numeric field, so XML does not crash - IF ls_dd02v-prozpuff = ''. - CLEAR ls_dd02v-prozpuff. + IF ls_internal-dd02v-prozpuff = ''. + CLEAR ls_internal-dd02v-prozpuff. ENDIF. - IF ls_dd02v-datmin = ''. - CLEAR ls_dd02v-datmin. + IF ls_internal-dd02v-datmin = ''. + CLEAR ls_internal-dd02v-datmin. ENDIF. - IF ls_dd02v-datmax = ''. - CLEAR ls_dd02v-datmax. + IF ls_internal-dd02v-datmax = ''. + CLEAR ls_internal-dd02v-datmax. ENDIF. - IF ls_dd02v-datavg = ''. - CLEAR ls_dd02v-datavg. + IF ls_internal-dd02v-datavg = ''. + CLEAR ls_internal-dd02v-datavg. ENDIF. - CLEAR: ls_dd09l-as4user, - ls_dd09l-as4date, - ls_dd09l-as4time. + CLEAR: ls_internal-dd09l-as4user, + ls_internal-dd09l-as4date, + ls_internal-dd09l-as4time. - ASSIGN COMPONENT 'ROWORCOLST' OF STRUCTURE ls_dd09l TO . + ASSIGN COMPONENT 'ROWORCOLST' OF STRUCTURE ls_internal-dd09l TO . IF sy-subrc = 0 AND = 'C'. CLEAR . "To avoid diff errors. This field doesn't exists in all releases ENDIF. - LOOP AT lt_dd12v ASSIGNING . + LOOP AT ls_internal-dd12v ASSIGNING . CLEAR: -as4user, -as4date, -as4time, -dbindex. ENDLOOP. - clear_dd03p_fields( CHANGING ct_dd03p = lt_dd03p ). + clear_dd03p_fields( CHANGING ct_dd03p = ls_internal-dd03p ). * remove foreign keys inherited from .INCLUDEs - DELETE lt_dd08v WHERE noinherit = 'N'. - LOOP AT lt_dd05m ASSIGNING . + DELETE ls_internal-dd08v WHERE noinherit = 'N'. + LOOP AT ls_internal-dd05m ASSIGNING . CLEAR -tabname. CLEAR -leng. lv_index = sy-tabix. - READ TABLE lt_dd08v WITH KEY fieldname = -fieldname TRANSPORTING NO FIELDS. + READ TABLE ls_internal-dd08v WITH KEY fieldname = -fieldname TRANSPORTING NO FIELDS. IF sy-subrc <> 0. - DELETE lt_dd05m INDEX lv_index. + DELETE ls_internal-dd05m INDEX lv_index. ENDIF. ENDLOOP. - LOOP AT lt_dd08v ASSIGNING . + LOOP AT ls_internal-dd08v ASSIGNING . CLEAR: -tabname, -ddlanguage. ENDLOOP. - LOOP AT lt_dd35v ASSIGNING . + LOOP AT ls_internal-dd35v ASSIGNING . CLEAR -tabname. ENDLOOP. * remove inherited search helps - DELETE lt_dd35v WHERE shlpinher = abap_true. - LOOP AT lt_dd36m ASSIGNING . + DELETE ls_internal-dd35v WHERE shlpinher = abap_true. + LOOP AT ls_internal-dd36m ASSIGNING . CLEAR -tabname. lv_index = sy-tabix. - READ TABLE lt_dd35v WITH KEY fieldname = -fieldname TRANSPORTING NO FIELDS. + READ TABLE ls_internal-dd35v WITH KEY fieldname = -fieldname TRANSPORTING NO FIELDS. IF sy-subrc <> 0. - DELETE lt_dd36m INDEX lv_index. + DELETE ls_internal-dd36m INDEX lv_index. ENDIF. ENDLOOP. - io_xml->add( iv_name = 'DD02V' - ig_data = ls_dd02v ). - IF NOT ls_dd09l IS INITIAL. - io_xml->add( iv_name = 'DD09L' - ig_data = ls_dd09l ). - ENDIF. - io_xml->add( iv_name = 'DD03P_TABLE' - ig_data = lt_dd03p ). - io_xml->add( iv_name = 'DD05M_TABLE' - ig_data = lt_dd05m ). - io_xml->add( iv_name = 'DD08V_TABLE' - ig_data = lt_dd08v ). - io_xml->add( iv_name = 'DD12V' - ig_data = lt_dd12v ). - io_xml->add( iv_name = 'DD17V' - ig_data = lt_dd17v ). - io_xml->add( iv_name = 'DD35V_TALE' - ig_data = lt_dd35v ). - io_xml->add( iv_name = 'DD36M' - ig_data = lt_dd36m ). - IF mo_i18n_params->is_lxe_applicable( ) = abap_false. - serialize_texts( io_xml ). + serialize_texts( CHANGING cs_internal = ls_internal ). ENDIF. - serialize_longtexts( ii_xml = io_xml - iv_longtext_id = c_longtext_id_tabl ). + ls_internal-longtexts = zcl_abapgit_factory=>get_longtexts( )->serialize( + iv_object_name = ms_item-obj_name + iv_longtext_id = c_longtext_id_tabl + io_i18n_params = mo_i18n_params + ii_xml = io_xml ). - serialize_idoc_segment( io_xml ). + serialize_idoc_segment( CHANGING cs_internal = ls_internal ). - ls_extras = read_extras( lv_name ). - io_xml->add( iv_name = c_s_dataname-tabl_extras - ig_data = ls_extras ). + ls_internal-extras = read_extras( lv_name ). + + lcl_tabl_xml=>add( + io_xml = io_xml + is_internal = ls_internal ). ENDMETHOD. ENDCLASS. diff --git a/src/objects/zcl_abapgit_object_tabl.clas.locals_imp.abap b/src/objects/zcl_abapgit_object_tabl.clas.locals_imp.abap new file mode 100644 index 000000000..b91a5d658 --- /dev/null +++ b/src/objects/zcl_abapgit_object_tabl.clas.locals_imp.abap @@ -0,0 +1,52 @@ +CLASS lcl_tabl_xml DEFINITION FINAL. + PUBLIC SECTION. + CLASS-METHODS add + IMPORTING + io_xml TYPE REF TO zif_abapgit_xml_output + is_internal TYPE zif_abapgit_object_tabl=>ty_internal + RAISING + zcx_abapgit_exception. +ENDCLASS. + +CLASS lcl_tabl_xml IMPLEMENTATION. + METHOD add. + io_xml->add( iv_name = 'DD02V' + ig_data = is_internal-dd02v ). + IF NOT is_internal-dd09l IS INITIAL. + io_xml->add( iv_name = 'DD09L' + ig_data = is_internal-dd09l ). + ENDIF. + io_xml->add( iv_name = 'DD03P_TABLE' + ig_data = is_internal-dd03p ). + io_xml->add( iv_name = 'DD05M_TABLE' + ig_data = is_internal-dd05m ). + io_xml->add( iv_name = 'DD08V_TABLE' + ig_data = is_internal-dd08v ). + io_xml->add( iv_name = 'DD12V' + ig_data = is_internal-dd12v ). + io_xml->add( iv_name = 'DD17V' + ig_data = is_internal-dd17v ). + io_xml->add( iv_name = 'DD35V_TALE' + ig_data = is_internal-dd35v ). + io_xml->add( iv_name = 'DD36M' + ig_data = is_internal-dd36m ). + + IF lines( is_internal-i18n_langs ) > 0. + io_xml->add( iv_name = 'I18N_LANGS' + ig_data = is_internal-i18n_langs ). + + io_xml->add( iv_name = 'DD02_TEXTS' + ig_data = is_internal-dd02_texts ). + ENDIF. + + io_xml->add( iv_name = 'LONGTEXTS' + ig_data = is_internal-longtexts ). + + io_xml->add( iv_name = zif_abapgit_object_tabl=>c_s_dataname-segment_definition + ig_data = is_internal-segment_definitions ). + + io_xml->add( iv_name = zif_abapgit_object_tabl=>c_s_dataname-tabl_extras + ig_data = is_internal-extras ). + + ENDMETHOD. +ENDCLASS. diff --git a/src/objects/zif_abapgit_object_tabl.intf.abap b/src/objects/zif_abapgit_object_tabl.intf.abap new file mode 100644 index 000000000..0a5212191 --- /dev/null +++ b/src/objects/zif_abapgit_object_tabl.intf.abap @@ -0,0 +1,45 @@ +INTERFACE zif_abapgit_object_tabl PUBLIC. + CONSTANTS: BEGIN OF c_s_dataname, + segment_definition TYPE string VALUE 'SEGMENT_DEFINITION', + tabl_extras TYPE string VALUE 'TABL_EXTRAS', + END OF c_s_dataname. + + TYPES: BEGIN OF ty_dd02_text, + ddlanguage TYPE dd02t-ddlanguage, + ddtext TYPE dd02t-ddtext, + END OF ty_dd02_text. + + TYPES ty_dd02_texts TYPE STANDARD TABLE OF ty_dd02_text WITH DEFAULT KEY. + + TYPES ty_dd03p_tt TYPE STANDARD TABLE OF dd03p WITH DEFAULT KEY. + + TYPES: BEGIN OF ty_segment_definition, + segmentheader TYPE edisegmhd, + segmentdefinition TYPE edisegmdef, + segmentstructures TYPE STANDARD TABLE OF edisegstru WITH DEFAULT KEY, + END OF ty_segment_definition. + + TYPES: ty_segment_definitions TYPE STANDARD TABLE OF ty_segment_definition WITH DEFAULT KEY. + + TYPES: BEGIN OF ty_tabl_extras, + tddat TYPE tddat, + END OF ty_tabl_extras. + + TYPES: BEGIN OF ty_internal, + dd02v TYPE dd02v, + dd09l TYPE dd09l, + dd03p TYPE ty_dd03p_tt, + dd05m TYPE STANDARD TABLE OF dd05m WITH DEFAULT KEY, + dd08v TYPE STANDARD TABLE OF dd08v WITH DEFAULT KEY, + dd12v TYPE dd12vtab, + dd17v TYPE dd17vtab, + dd35v TYPE STANDARD TABLE OF dd35v WITH DEFAULT KEY, + dd36m TYPE dd36mttyp, + dd02_texts TYPE ty_dd02_texts, + i18n_langs TYPE STANDARD TABLE OF langu WITH DEFAULT KEY, + longtexts TYPE zif_abapgit_longtexts=>ty_longtexts, + segment_definitions TYPE ty_segment_definitions, + extras TYPE ty_tabl_extras, + END OF ty_internal. + +ENDINTERFACE. diff --git a/src/objects/zif_abapgit_object_tabl.intf.xml b/src/objects/zif_abapgit_object_tabl.intf.xml new file mode 100644 index 000000000..323fbc6fb --- /dev/null +++ b/src/objects/zif_abapgit_object_tabl.intf.xml @@ -0,0 +1,15 @@ + + + + + + ZIF_ABAPGIT_OBJECT_TABL + E + abapGit - TABL + 2 + 1 + X + + + +