Merge branch 'main' into diff

This commit is contained in:
Christian Günter 2025-01-16 07:04:44 +01:00 committed by GitHub
commit 6588d02eb4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 29 additions and 65 deletions

4
deps/tcdrs.tabl.xml vendored
View File

@ -14,9 +14,9 @@
<FIELDNAME>TABNAME</FIELDNAME> <FIELDNAME>TABNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD> <ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE> <INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN> <INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE> <DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG> <LENG>000030</LENG>
<MASK> CHAR</MASK> <MASK> CHAR</MASK>
</DD03P> </DD03P>
</DD03P_TABLE> </DD03P_TABLE>

View File

@ -84,7 +84,7 @@ ENDCLASS.
CLASS ZCL_ABAPGIT_OBJECT_TABL IMPLEMENTATION. CLASS zcl_abapgit_object_tabl IMPLEMENTATION.
METHOD clear_dd03p_fields. METHOD clear_dd03p_fields.
@ -838,6 +838,14 @@ CLASS ZCL_ABAPGIT_OBJECT_TABL IMPLEMENTATION.
ENDIF. ENDIF.
rv_bool = boolc( sy-subrc = 0 ). rv_bool = boolc( sy-subrc = 0 ).
" Skip TABL generated by CHDO
IF rv_bool = abap_true.
SELECT SINGLE tabname FROM tcdrs INTO lv_tabname WHERE tabname = lv_tabname.
IF sy-subrc = 0.
rv_bool = abap_false.
ENDIF.
ENDIF.
ENDMETHOD. ENDMETHOD.

View File

@ -1277,6 +1277,14 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
pool_not_exists = 1. pool_not_exists = 1.
rv_bool = boolc( sy-subrc <> 1 ). rv_bool = boolc( sy-subrc <> 1 ).
" Skip FUGR generated by CHDO
IF rv_bool = abap_true.
SELECT SINGLE fgrp FROM tcdrp INTO lv_pool WHERE fgrp = lv_pool.
IF sy-subrc = 0.
rv_bool = abap_false.
ENDIF.
ENDIF.
ENDMETHOD. ENDMETHOD.

View File

@ -279,6 +279,15 @@ CLASS zcl_abapgit_object_prog IMPLEMENTATION.
WHERE progname = ms_item-obj_name. WHERE progname = ms_item-obj_name.
rv_bool = boolc( sy-subrc = 0 ). rv_bool = boolc( sy-subrc = 0 ).
" Skip PROG generated by CHDO
IF rv_bool = abap_true.
FIND REGEX '^F.*CD[C|F|T|V]' IN ms_item-obj_name.
IF sy-subrc <> 0.
FIND REGEX '^/.*/F.*CD[C|F|T|V]' IN ms_item-obj_name.
ENDIF.
rv_bool = boolc( sy-subrc <> 0 ).
ENDIF.
ENDMETHOD. ENDMETHOD.

View File

@ -19,12 +19,8 @@ CLASS zcl_abapgit_repo_filter DEFINITION
ct_files TYPE zif_abapgit_git_definitions=>ty_files_tt ct_files TYPE zif_abapgit_git_definitions=>ty_files_tt
RAISING RAISING
zcx_abapgit_exception. zcx_abapgit_exception.
PROTECTED SECTION. PROTECTED SECTION.
METHODS filter_generated_tadir
CHANGING
!ct_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt .
PRIVATE SECTION. PRIVATE SECTION.
ENDCLASS. ENDCLASS.
@ -41,8 +37,6 @@ CLASS zcl_abapgit_repo_filter IMPLEMENTATION.
FIELD-SYMBOLS: <ls_tadir> LIKE LINE OF ct_tadir. FIELD-SYMBOLS: <ls_tadir> LIKE LINE OF ct_tadir.
filter_generated_tadir( CHANGING ct_tadir = ct_tadir ).
IF lines( it_filter ) = 0. IF lines( it_filter ) = 0.
RETURN. RETURN.
ENDIF. ENDIF.
@ -96,13 +90,6 @@ CLASS zcl_abapgit_repo_filter IMPLEMENTATION.
INSERT ls_tadir INTO TABLE lt_tadir. INSERT ls_tadir INTO TABLE lt_tadir.
filter_generated_tadir( CHANGING ct_tadir = lt_tadir ).
IF lt_tadir IS INITIAL.
DELETE ct_files.
CONTINUE.
ENDIF.
READ TABLE lt_filter TRANSPORTING NO FIELDS READ TABLE lt_filter TRANSPORTING NO FIELDS
WITH KEY object = ls_tadir-object WITH KEY object = ls_tadir-object
obj_name = ls_tadir-obj_name obj_name = ls_tadir-obj_name
@ -115,52 +102,4 @@ CLASS zcl_abapgit_repo_filter IMPLEMENTATION.
ENDLOOP. ENDLOOP.
ENDMETHOD. ENDMETHOD.
METHOD filter_generated_tadir.
DATA: ls_tadir TYPE zif_abapgit_definitions=>ty_tadir,
ls_tadir_gen TYPE zif_abapgit_definitions=>ty_tadir,
lv_cd_object TYPE cdobjectcl,
lt_cd_names TYPE STANDARD TABLE OF cdnames,
ls_cd_names TYPE cdnames,
lt_tcdrs TYPE STANDARD TABLE OF tcdrs,
ls_tcdrs TYPE tcdrs.
LOOP AT ct_tadir INTO ls_tadir WHERE pgmid = 'R3TR' AND object = 'CHDO'.
CLEAR: lv_cd_object, lt_cd_names, ls_tadir_gen, lt_tcdrs, ls_tcdrs.
lv_cd_object = ls_tadir-obj_name.
CALL FUNCTION 'CDNAMES_GET'
EXPORTING
iv_object = lv_cd_object
TABLES
it_names = lt_cd_names
it_tcdrs = lt_tcdrs
EXCEPTIONS
object_space = 1
object_not_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
CONTINUE.
ENDIF.
LOOP AT lt_cd_names INTO ls_cd_names.
DELETE ct_tadir WHERE pgmid = 'R3TR'
AND ( ( object = 'PROG'
AND ( obj_name = ls_cd_names-repnamec
OR obj_name = ls_cd_names-repnamet
OR obj_name = ls_cd_names-repnamefix
OR obj_name = ls_cd_names-repnamevar ) )
OR object = 'FUGR' AND obj_name = ls_cd_names-fgrp ).
ENDLOOP.
LOOP AT lt_tcdrs INTO ls_tcdrs.
DELETE ct_tadir WHERE pgmid = 'R3TR' AND object = 'TABL' AND obj_name = ls_tcdrs-tabname.
ENDLOOP.
ENDLOOP.
ENDMETHOD.
ENDCLASS. ENDCLASS.