diff --git a/src/zabapgit.prog.xml b/src/zabapgit.prog.xml
index b47a5359e..1f91d506d 100644
--- a/src/zabapgit.prog.xml
+++ b/src/zabapgit.prog.xml
@@ -12,7 +12,6 @@
D$S
X
-
-
R
diff --git a/src/zabapgit_object_dtel.prog.abap b/src/zabapgit_object_dtel.prog.abap
index 834c9cd1b..9a56112b4 100644
--- a/src/zabapgit_object_dtel.prog.abap
+++ b/src/zabapgit_object_dtel.prog.abap
@@ -120,6 +120,8 @@ CLASS lcl_object_dtel IMPLEMENTATION.
ENDMETHOD. "delete
METHOD lif_object~serialize.
+* fm DDIF_DTEL_GET bypasses buffer, so SELECTs are
+* done directly from here
DATA: lv_name TYPE ddobjname,
ls_dd04v TYPE dd04v,
@@ -128,18 +130,29 @@ CLASS lcl_object_dtel IMPLEMENTATION.
lv_name = ms_item-obj_name.
- CALL FUNCTION 'DDIF_DTEL_GET'
- EXPORTING
- name = lv_name
- langu = mv_language
- IMPORTING
- dd04v_wa = ls_dd04v
- tpara_wa = ls_tpara
- EXCEPTIONS
- illegal_input = 1
- OTHERS = 2.
+ SELECT SINGLE * FROM dd04l
+ INTO CORRESPONDING FIELDS OF ls_dd04v
+ WHERE rollname = lv_name
+ AND as4local = 'A'
+ AND as4vers = '0000'.
IF sy-subrc <> 0 OR ls_dd04v IS INITIAL.
- lcx_exception=>raise( 'Error from DDIF_DTEL_GET' ).
+ lcx_exception=>raise( 'Not found in DD04L' ).
+ ENDIF.
+
+ SELECT SINGLE * FROM dd04t
+ INTO CORRESPONDING FIELDS OF ls_dd04v
+ WHERE rollname = lv_name
+ AND ddlanguage = mv_language
+ AND as4local = 'A'
+ AND as4vers = '0000'.
+
+ IF NOT ls_dd04v-memoryid IS INITIAL.
+ SELECT SINGLE tpara~paramid tparat~partext
+ FROM tpara LEFT JOIN tparat
+ ON tparat~paramid = tpara~paramid AND
+ tparat~sprache = mv_language
+ INTO ls_tpara
+ WHERE tpara~paramid = ls_dd04v-memoryid.
ENDIF.
CLEAR: ls_dd04v-as4user,
diff --git a/src/zabapgit_object_fugr.prog.abap b/src/zabapgit_object_fugr.prog.abap
index 001d9ae7e..c56adff31 100644
--- a/src/zabapgit_object_fugr.prog.abap
+++ b/src/zabapgit_object_fugr.prog.abap
@@ -415,7 +415,14 @@ CLASS lcl_object_fugr IMPLEMENTATION.
METHOD includes.
- DATA: lv_program TYPE program,
+ TYPES: BEGIN OF ty_reposrc,
+ progname TYPE reposrc-progname,
+ cnam TYPE reposrc-cnam,
+ END OF ty_reposrc.
+
+ DATA: lt_reposrc TYPE STANDARD TABLE OF ty_reposrc WITH DEFAULT KEY,
+ ls_reposrc LIKE LINE OF lt_reposrc,
+ lv_program TYPE program,
lv_cnam TYPE reposrc-cnam,
lv_tabix LIKE sy-tabix,
lt_functab TYPE ty_rs38l_incl_tt.
@@ -450,26 +457,25 @@ CLASS lcl_object_fugr IMPLEMENTATION.
APPEND INITIAL LINE TO rt_includes ASSIGNING .
= |L{ ms_item-obj_name }T00|.
+ IF lines( rt_includes ) > 0.
+ SELECT progname cnam FROM reposrc
+ INTO TABLE lt_reposrc
+ FOR ALL ENTRIES IN rt_includes
+ WHERE progname = rt_includes-table_line
+ AND r3state = 'A'.
+ SORT lt_reposrc BY progname ASCENDING.
+ ENDIF.
+
LOOP AT rt_includes ASSIGNING .
lv_tabix = sy-tabix.
-* skip SAP standard includes
- SELECT SINGLE cnam FROM reposrc INTO lv_cnam
- WHERE progname =
- AND r3state = 'A'
- AND cnam = 'SAP'.
- IF sy-subrc = 0.
+* skip SAP standard includes and also make sure the include exists
+ READ TABLE lt_reposrc INTO ls_reposrc
+ WITH KEY progname = BINARY SEARCH.
+ IF sy-subrc <> 0 OR ls_reposrc-cnam = 'SAP'.
DELETE rt_includes INDEX lv_tabix.
- CONTINUE.
ENDIF.
-* also make sure the include exists
- SELECT SINGLE cnam FROM reposrc INTO lv_cnam
- WHERE progname =
- AND r3state = 'A'.
- IF sy-subrc <> 0.
- DELETE rt_includes INDEX lv_tabix.
- ENDIF.
ENDLOOP.
APPEND lv_program TO rt_includes.
diff --git a/src/zabapgit_object_oo_functions.prog.abap b/src/zabapgit_object_oo_functions.prog.abap
index d9de940a1..f0ac47638 100644
--- a/src/zabapgit_object_oo_functions.prog.abap
+++ b/src/zabapgit_object_oo_functions.prog.abap
@@ -547,9 +547,11 @@ CLASS lcl_object_oriented_base IMPLEMENTATION.
rt_source = lo_oo_serializer->serialize_abap_clif_source( is_class_key ).
ENDCASE.
ENDMETHOD.
+
METHOD lif_object_oriented_object_fnc~get_skip_test_classes.
rv_skip = mv_skip_test_classes.
ENDMETHOD.
+
METHOD lif_object_oriented_object_fnc~get_class_properties.
ASSERT 0 = 1. "Subclass responsibility
ENDMETHOD.
diff --git a/src/zabapgit_xml.prog.abap b/src/zabapgit_xml.prog.abap
index edcd55efc..3579df410 100644
--- a/src/zabapgit_xml.prog.abap
+++ b/src/zabapgit_xml.prog.abap
@@ -215,6 +215,10 @@ CLASS lcl_xml_output IMPLEMENTATION.
ASSERT NOT iv_name IS INITIAL.
+ IF ig_data IS INITIAL.
+ RETURN.
+ ENDIF.
+
APPEND INITIAL LINE TO lt_stab ASSIGNING .
-name = iv_name.
GET REFERENCE OF ig_data INTO -value.