Merge branch 'main' into mbtools/alav-ddic

This commit is contained in:
Christian Guenter 2025-04-25 14:35:38 +02:00
commit 0574ab4c02
67 changed files with 1597 additions and 915 deletions

105
deps/e070.tabl.xml vendored Normal file
View File

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD02V>
<TABNAME>E070</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>TRANSP</TABCLASS>
<DDTEXT>E070</DDTEXT>
<CONTFLAG>A</CONTFLAG>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD09L>
<TABNAME>ZE070</TABNAME>
<AS4LOCAL>A</AS4LOCAL>
<TABKAT>0</TABKAT>
<TABART>APPL0</TABART>
<BUFALLOW>N</BUFALLOW>
</DD09L>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TRKORR</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ROLLNAME>TRKORR</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<NOTNULL>X</NOTNULL>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>TRFUNCTION</FIELDNAME>
<ROLLNAME>TRFUNCTION</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<VALEXI>X</VALEXI>
<SHLPORIGIN>F</SHLPORIGIN>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>TRSTATUS</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>TARSYSTEM</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000020</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000010</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>KORRDEV</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>AS4USER</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000024</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000012</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>AS4DATE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>D</INTTYPE>
<INTLEN>000016</INTLEN>
<DATATYPE>DATS</DATATYPE>
<LENG>000008</LENG>
<MASK> DATS</MASK>
<SHLPORIGIN>T</SHLPORIGIN>
</DD03P>
<DD03P>
<FIELDNAME>AS4TIME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>T</INTTYPE>
<INTLEN>000012</INTLEN>
<DATATYPE>TIMS</DATATYPE>
<LENG>000006</LENG>
<MASK> TIMS</MASK>
<SHLPORIGIN>T</SHLPORIGIN>
</DD03P>
<DD03P>
<FIELDNAME>STRKORR</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000040</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000020</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

116
deps/e071.tabl.xml vendored Normal file
View File

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD02V>
<TABNAME>E071</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>TRANSP</TABCLASS>
<DDTEXT>E071</DDTEXT>
<CONTFLAG>A</CONTFLAG>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD09L>
<TABNAME>ZE071</TABNAME>
<AS4LOCAL>A</AS4LOCAL>
<TABKAT>0</TABKAT>
<TABART>APPL0</TABART>
<BUFALLOW>N</BUFALLOW>
</DD09L>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TRKORR</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ROLLNAME>TRKORR</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<NOTNULL>X</NOTNULL>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>AS4POS</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000012</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>NUMC</DATATYPE>
<LENG>000006</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>PGMID</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>OBJECT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>OBJ_NAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000240</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000120</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>OBJFUNC</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LOCKFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>GENNUM</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000006</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000003</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LANG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>LANG</DATATYPE>
<LENG>000001</LENG>
<MASK> LANG</MASK>
<LANGUFLAG>X</LANGUFLAG>
</DD03P>
<DD03P>
<FIELDNAME>ACTIVITY</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000040</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000020</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

158
deps/e071k.tabl.xml vendored Normal file
View File

@ -0,0 +1,158 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD02V>
<TABNAME>E071K</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>TRANSP</TABCLASS>
<DDTEXT>E071K</DDTEXT>
<CONTFLAG>A</CONTFLAG>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD09L>
<TABNAME>ZE071K</TABNAME>
<AS4LOCAL>A</AS4LOCAL>
<TABKAT>0</TABKAT>
<TABART>APPL0</TABART>
<BUFALLOW>N</BUFALLOW>
</DD09L>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TRKORR</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ROLLNAME>TRKORR</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<NOTNULL>X</NOTNULL>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>PGMID</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>OBJECT</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>OBJNAME</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>AS4POS</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>N</INTTYPE>
<INTLEN>000012</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>NUMC</DATATYPE>
<LENG>000006</LENG>
<MASK> NUMC</MASK>
</DD03P>
<DD03P>
<FIELDNAME>MASTERTYPE</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000008</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000004</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>MASTERNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000080</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000040</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>VIEWNAME</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000060</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000030</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>OBJFUNC</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>TABKEY</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000240</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000120</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>SORTFLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>FLAG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000001</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LANG</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<DATATYPE>LANG</DATATYPE>
<LENG>000001</LENG>
<MASK> LANG</MASK>
<LANGUFLAG>X</LANGUFLAG>
</DD03P>
<DD03P>
<FIELDNAME>ACTIVITY</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000040</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000020</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

54
deps/e07t.tabl.xml vendored Normal file
View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_TABL" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DD02V>
<TABNAME>E07T</TABNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<TABCLASS>TRANSP</TABCLASS>
<DDTEXT>E07T</DDTEXT>
<CONTFLAG>A</CONTFLAG>
<EXCLASS>1</EXCLASS>
</DD02V>
<DD09L>
<TABNAME>ZE07T</TABNAME>
<AS4LOCAL>A</AS4LOCAL>
<TABKAT>0</TABKAT>
<TABART>APPL0</TABART>
<UEBERSETZ>N</UEBERSETZ>
<BUFALLOW>N</BUFALLOW>
</DD09L>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>TRKORR</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ROLLNAME>TRKORR</ROLLNAME>
<ADMINFIELD>0</ADMINFIELD>
<NOTNULL>X</NOTNULL>
<COMPTYPE>E</COMPTYPE>
</DD03P>
<DD03P>
<FIELDNAME>LANGU</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000002</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>LANG</DATATYPE>
<LENG>000001</LENG>
<MASK> LANG</MASK>
<LANGUFLAG>X</LANGUFLAG>
</DD03P>
<DD03P>
<FIELDNAME>AS4TEXT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000120</INTLEN>
<DATATYPE>CHAR</DATATYPE>
<LENG>000060</LENG>
<MASK> CHAR</MASK>
</DD03P>
</DD03P_TABLE>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -23,7 +23,7 @@
]
},
"devDependencies": {
"@abaplint/cli": "^2.113.109",
"@abaplint/cli": "^2.113.110",
"@abaplint/database-sqlite": "^2.10.24",
"@abaplint/runtime": "^2.10.44",
"express": "^4.21.2",
@ -31,6 +31,6 @@
"globals": "^16.0.0",
"abapmerge": "^0.16.6",
"c8": "^10.1.3",
"eslint": "^9.24.0"
"eslint": "^9.25.1"
}
}

View File

@ -5,7 +5,7 @@
<VSEOCLASS>
<CLSNAME>ZCL_ABAPGIT_ENV_FACTORY</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>ZCL_ABAPGIT_ENV_FACTORY</DESCRIPT>
<DESCRIPT>abapGit - Environment Factory</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>

View File

@ -5,7 +5,7 @@
<VSEOCLASS>
<CLSNAME>ZCL_ABAPGIT_ENV_INJECTOR</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>ZCL_ABAPGIT_ENV_INJECTOR</DESCRIPT>
<DESCRIPT>abapGit - Environment Injector</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>

View File

@ -5,7 +5,7 @@
<VSEOINTERF>
<CLSNAME>ZIF_ABAPGIT_USER_RECORD</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>ZIF_ABAPGIT_USER_RECORD</DESCRIPT>
<DESCRIPT>abapGit - User Record</DESCRIPT>
<EXPOSURE>2</EXPOSURE>
<STATE>1</STATE>
<UNICODE>X</UNICODE>

View File

@ -30,7 +30,7 @@ CLASS zcl_abapgit_object_common_aff DEFINITION
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
TYPES: BEGIN OF ty_extension_mapper_pair,
@ -106,7 +106,7 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION.
ENDTRY.
IF lv_is_supported IS INITIAL.
zcx_abapgit_exception=>raise( |Object type { is_item-obj_type } is not supported by this system| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDIF.
ENDMETHOD.

View File

@ -6,13 +6,44 @@ CLASS zcl_abapgit_object_smbc DEFINITION
PUBLIC SECTION.
METHODS zif_abapgit_object~changed_by REDEFINITION.
METHODS constructor
IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS ZCL_ABAPGIT_OBJECT_SMBC IMPLEMENTATION.
CLASS zcl_abapgit_object_smbc IMPLEMENTATION.
METHOD constructor.
DATA: lo_handler TYPE REF TO object,
lo_db_api TYPE REF TO object,
lr_data TYPE REF TO data.
super->constructor(
is_item = is_item
iv_language = iv_language
io_files = io_files
io_i18n_params = io_i18n_params ).
TRY.
CREATE OBJECT lo_handler TYPE ('CL_SMBC_AFF_OBJECT_HANDLER').
CREATE OBJECT lo_db_api TYPE ('CL_MBC_BUSINESS_CONFIG_DB').
CREATE DATA lr_data TYPE ('SMBC_CONFIG').
CATCH cx_sy_create_object_error
cx_sy_create_data_error.
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.
METHOD zif_abapgit_object~changed_by.
@ -24,15 +55,12 @@ CLASS ZCL_ABAPGIT_OBJECT_SMBC IMPLEMENTATION.
FIELD-SYMBOLS: <ls_smbc_config> TYPE any,
<lv_smbc_changed_by> TYPE any.
TRY.
CREATE OBJECT lo_handler TYPE ('CL_SMBC_AFF_OBJECT_HANDLER').
CREATE OBJECT lo_db_api TYPE ('CL_MBC_BUSINESS_CONFIG_DB').
CREATE DATA lr_data TYPE ('SMBC_CONFIG').
ASSIGN lr_data->* TO <ls_smbc_config>.
CATCH cx_sy_create_object_error
cx_sy_create_data_error.
zcx_abapgit_exception=>raise( 'SMBC not supported' ).
ENDTRY.
lv_technical_id = ms_item-obj_name.
CALL METHOD lo_db_api->('IF_MBC_BUSINESS_CONFIG_DB~READ')
EXPORTING

View File

@ -8,13 +8,44 @@ CLASS zcl_abapgit_object_uiad DEFINITION
METHODS zif_abapgit_object~changed_by
REDEFINITION .
METHODS constructor
IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS ZCL_ABAPGIT_OBJECT_UIAD IMPLEMENTATION.
CLASS zcl_abapgit_object_uiad IMPLEMENTATION.
METHOD constructor.
DATA: lo_db_api TYPE REF TO object,
lr_data TYPE REF TO data.
super->constructor(
is_item = is_item
iv_language = iv_language
io_files = io_files
io_i18n_params = io_i18n_params ).
TRY.
CALL METHOD ('CL_SUI_UIAD_DB_ACCESS')=>('GET_INSTANCE')
RECEIVING
ro_instance = lo_db_api.
CREATE DATA lr_data TYPE ('CL_BLUE_AFF_WB_ACCESS=>TY_METADATA').
CATCH cx_sy_dyn_call_error
cx_sy_create_data_error.
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.
METHOD zif_abapgit_object~changed_by.
@ -27,16 +58,11 @@ CLASS ZCL_ABAPGIT_OBJECT_UIAD IMPLEMENTATION.
FIELD-SYMBOLS: <ls_metadata> TYPE any,
<lv_changed_by> TYPE any.
TRY.
CALL METHOD ('CL_SUI_UIAD_DB_ACCESS')=>('GET_INSTANCE')
RECEIVING
ro_instance = lo_db_api.
CREATE DATA lr_data TYPE ('CL_BLUE_AFF_WB_ACCESS=>TY_METADATA').
ASSIGN lr_data->* TO <ls_metadata>.
CATCH cx_sy_create_object_error
cx_sy_create_data_error.
zcx_abapgit_exception=>raise( 'Object UIAD not supported' ).
ENDTRY.
TRY.
lv_object_key = ms_item-obj_name.

View File

@ -8,13 +8,44 @@ CLASS zcl_abapgit_object_uipg DEFINITION
METHODS zif_abapgit_object~changed_by
REDEFINITION .
METHODS constructor
IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS ZCL_ABAPGIT_OBJECT_UIPG IMPLEMENTATION.
CLASS zcl_abapgit_object_uipg IMPLEMENTATION.
METHOD constructor.
DATA: lo_db_api TYPE REF TO object,
lr_data TYPE REF TO data.
super->constructor(
is_item = is_item
iv_language = iv_language
io_files = io_files
io_i18n_params = io_i18n_params ).
TRY.
CALL METHOD ('/UI2/CL_UIPG_DB_ACCESS')=>('GET_INSTANCE')
RECEIVING
ro_instance = lo_db_api.
CREATE DATA lr_data TYPE ('CL_BLUE_AFF_WB_ACCESS=>TY_METADATA').
CATCH cx_sy_dyn_call_error
cx_sy_create_data_error.
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.
METHOD zif_abapgit_object~changed_by.

View File

@ -8,13 +8,42 @@ CLASS zcl_abapgit_object_uist DEFINITION
METHODS zif_abapgit_object~changed_by
REDEFINITION .
METHODS constructor
IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS ZCL_ABAPGIT_OBJECT_UIST IMPLEMENTATION.
CLASS zcl_abapgit_object_uist IMPLEMENTATION.
METHOD constructor.
DATA: lo_db_api TYPE REF TO object,
lr_data TYPE REF TO data.
super->constructor(
is_item = is_item
iv_language = iv_language
io_files = io_files
io_i18n_params = io_i18n_params ).
TRY.
CREATE OBJECT lo_db_api TYPE ('/UI2/CL_UIST_SVAL_SQL').
CREATE DATA lr_data TYPE ('CL_BLUE_AFF_WB_ACCESS=>TY_METADATA').
CATCH cx_sy_create_object_error
cx_sy_create_data_error.
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.
METHOD zif_abapgit_object~changed_by.

View File

@ -10,8 +10,10 @@ CLASS zcl_abapgit_field_rules DEFINITION
CLASS-METHODS create
RETURNING
VALUE(ro_result) TYPE REF TO zif_abapgit_field_rules.
PROTECTED SECTION.
PRIVATE SECTION.
TYPES:
BEGIN OF ty_item,
tabname TYPE tabname,
@ -26,8 +28,10 @@ CLASS zcl_abapgit_field_rules DEFINITION
IMPORTING
iv_rule TYPE zif_abapgit_field_rules=>ty_fill_rule
iv_package TYPE devclass
iv_abap_language_version TYPE uccheck OPTIONAL
CHANGING
cv_value TYPE any.
ENDCLASS.
@ -56,6 +60,8 @@ CLASS zcl_abapgit_field_rules IMPLEMENTATION.
cv_value = sy-mandt.
WHEN zif_abapgit_field_rules=>c_fill_rule-package.
cv_value = iv_package.
WHEN zif_abapgit_field_rules=>c_fill_rule-abap_language_version.
cv_value = iv_abap_language_version.
ENDCASE.
ENDMETHOD.
@ -111,6 +117,7 @@ CLASS zcl_abapgit_field_rules IMPLEMENTATION.
EXPORTING
iv_rule = ls_item-fill_rule
iv_package = iv_package
iv_abap_language_version = iv_abap_language_version
CHANGING
cv_value = <lv_value> ).
ENDIF.

View File

@ -4,6 +4,7 @@ CLASS ltcl_field_rules DEFINITION FOR TESTING RISK LEVEL HARMLESS
PRIVATE SECTION.
CONSTANTS:
c_abap_cloud TYPE uccheck VALUE '5',
c_package TYPE devclass VALUE '$TMP',
c_table TYPE tabname VALUE 'ZTEST'.
@ -15,6 +16,7 @@ CLASS ltcl_field_rules DEFINITION FOR TESTING RISK LEVEL HARMLESS
time TYPE t,
ts TYPE timestamp,
tl TYPE timestampl,
alav TYPE uccheck,
END OF ty_test.
DATA mo_cut TYPE REF TO zcl_abapgit_field_rules.
@ -33,6 +35,7 @@ CLASS ltcl_field_rules DEFINITION FOR TESTING RISK LEVEL HARMLESS
fill5 FOR TESTING,
fill6 FOR TESTING,
fill7 FOR TESTING,
fill8 FOR TESTING,
get_rules
RETURNING
VALUE(ri_rules) TYPE REF TO zif_abapgit_field_rules,
@ -57,6 +60,7 @@ CLASS ltcl_field_rules IMPLEMENTATION.
EXPORTING
iv_rule = iv_rule
iv_package = c_package
iv_abap_language_version = c_abap_cloud
CHANGING
cv_value = lv_act ).
@ -116,6 +120,12 @@ CLASS ltcl_field_rules IMPLEMENTATION.
iv_exp = '' ).
ENDMETHOD.
METHOD fill8.
fill_value(
iv_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version
iv_exp = |{ c_abap_cloud }| ).
ENDMETHOD.
METHOD get_rules.
ri_rules = zcl_abapgit_field_rules=>create( )->add(
@ -137,7 +147,11 @@ CLASS ltcl_field_rules IMPLEMENTATION.
)->add(
iv_table = c_table
iv_field = 'TL'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp
)->add(
iv_table = c_table
iv_field = 'ALAV'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDMETHOD.
@ -159,6 +173,7 @@ CLASS ltcl_field_rules IMPLEMENTATION.
ls_act-user = 'FRANK'.
ls_act-date = '20230101'.
ls_act-time = '000001'.
ls_act-alav = '5'. " ABAP Cloud
INSERT ls_act INTO TABLE lt_act.
li_rules = get_rules( ).
@ -218,6 +233,7 @@ CLASS ltcl_field_rules IMPLEMENTATION.
EXPORTING
iv_table = c_table
iv_package = c_package
iv_abap_language_version = c_abap_cloud
CHANGING
ct_data = lt_act ).
@ -265,6 +281,9 @@ CLASS ltcl_field_rules IMPLEMENTATION.
cl_abap_unit_assert=>assert_equals(
act = ls_act-time(4)
exp = sy-uzeit(4) ). " avoid comparing seconds
cl_abap_unit_assert=>assert_equals(
act = ls_act-alav
exp = c_abap_cloud ).
ENDMETHOD.
ENDCLASS.

View File

@ -1,6 +1,7 @@
INTERFACE zif_abapgit_field_rules
PUBLIC .
INTERFACE zif_abapgit_field_rules PUBLIC.
TYPES ty_fill_rule TYPE c LENGTH 2.
CONSTANTS:
BEGIN OF c_fill_rule,
date TYPE ty_fill_rule VALUE 'DT',
@ -9,6 +10,7 @@ INTERFACE zif_abapgit_field_rules
user TYPE ty_fill_rule VALUE 'UR',
client TYPE ty_fill_rule VALUE 'CT',
package TYPE ty_fill_rule VALUE 'PK',
abap_language_version TYPE ty_fill_rule VALUE 'AL',
END OF c_fill_rule.
METHODS add
@ -18,15 +20,19 @@ INTERFACE zif_abapgit_field_rules
iv_fill_rule TYPE ty_fill_rule
RETURNING
VALUE(ro_self) TYPE REF TO zif_abapgit_field_rules.
METHODS apply_clear_logic
IMPORTING
iv_table TYPE tabname
CHANGING
ct_data TYPE STANDARD TABLE.
METHODS apply_fill_logic
IMPORTING
iv_table TYPE tabname
iv_package TYPE devclass
iv_abap_language_version TYPE uccheck OPTIONAL
CHANGING
ct_data TYPE STANDARD TABLE.
ENDINTERFACE.

View File

@ -15,7 +15,7 @@ CLASS zcl_abapgit_object_aifc DEFINITION
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
TYPES:
@ -112,7 +112,6 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
METHOD authorization_check.
DATA: lx_dyn_call_error TYPE REF TO cx_sy_dyn_call_error.
DATA: lx_root TYPE REF TO cx_root.
rv_success = abap_false.
@ -121,9 +120,6 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
RECEIVING
rv_success = rv_success.
CATCH cx_sy_dyn_call_error INTO lx_dyn_call_error.
zcx_abapgit_exception=>raise( iv_text = 'AIFC not supported'
ix_previous = lx_dyn_call_error ).
CATCH cx_root INTO lx_root.
zcx_abapgit_exception=>raise_with_text( lx_root ).
ENDTRY.
@ -147,7 +143,6 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
METHOD compress_interface.
DATA: lx_dyn_call_error TYPE REF TO cx_sy_dyn_call_error.
DATA: lx_root TYPE REF TO cx_root.
TRY.
@ -157,9 +152,6 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
RECEIVING
rv_success = rv_success.
CATCH cx_sy_dyn_call_error INTO lx_dyn_call_error.
zcx_abapgit_exception=>raise( iv_text = 'AIFC not supported'
ix_previous = lx_dyn_call_error ).
CATCH cx_root INTO lx_root.
zcx_abapgit_exception=>raise_with_text( lx_root ).
ENDTRY.
@ -183,7 +175,7 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
rr_abapgit_aifc_util = mo_abapgit_util.
CATCH cx_sy_dyn_call_error INTO lx_exc_ref.
zcx_abapgit_exception=>raise( 'AIFC not supported' ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.
@ -198,7 +190,6 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
FIELD-SYMBOLS <ls_table> TYPE any.
FIELD-SYMBOLS: <lv_value> TYPE any.
DATA: lx_dyn_call_error TYPE REF TO cx_sy_dyn_call_error.
DATA: lx_root TYPE REF TO cx_root.
lr_structdescr ?= cl_abap_typedescr=>describe_by_name( p_name = '/AIF/T_FINF' ).
@ -241,9 +232,6 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
rv_success = rv_success.
ENDIF.
CATCH cx_sy_dyn_call_error INTO lx_dyn_call_error.
zcx_abapgit_exception=>raise( iv_text = 'AIFC not supported'
ix_previous = lx_dyn_call_error ).
CATCH cx_root INTO lx_root.
zcx_abapgit_exception=>raise_with_text( lx_root ).
ENDTRY.
@ -251,7 +239,6 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
METHOD get_content_compress.
DATA: lx_dyn_call_error TYPE REF TO cx_sy_dyn_call_error.
DATA: lx_root TYPE REF TO cx_root.
DATA: lo_log TYPE REF TO object.
@ -267,9 +254,6 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
iv_package = iv_package
iv_depl_id = ms_icd_data_key-depl_scenario.
CATCH cx_sy_dyn_call_error INTO lx_dyn_call_error.
zcx_abapgit_exception=>raise( iv_text = 'AIFC not supported'
ix_previous = lx_dyn_call_error ).
CATCH cx_root INTO lx_root.
zcx_abapgit_exception=>raise_with_text( lx_root ).
ENDTRY.
@ -277,7 +261,6 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
METHOD handle_table_data.
DATA: lx_dyn_call_error TYPE REF TO cx_sy_dyn_call_error.
DATA: lx_root TYPE REF TO cx_root.
TRY.
@ -286,9 +269,6 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
iv_tabname = iv_tabname
it_data = it_data.
CATCH cx_sy_dyn_call_error INTO lx_dyn_call_error.
zcx_abapgit_exception=>raise( iv_text = 'AIFC not supported'
ix_previous = lx_dyn_call_error ).
CATCH cx_root INTO lx_root.
zcx_abapgit_exception=>raise_with_text( lx_root ).
ENDTRY.
@ -296,7 +276,6 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
METHOD validate_interface.
DATA: lx_dyn_call_error TYPE REF TO cx_sy_dyn_call_error.
DATA: lx_root TYPE REF TO cx_root.
rv_success = abap_false.
@ -307,9 +286,6 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
RECEIVING
rv_success = rv_success.
CATCH cx_sy_dyn_call_error INTO lx_dyn_call_error.
zcx_abapgit_exception=>raise( iv_text = 'AIFC not supported'
ix_previous = lx_dyn_call_error ).
CATCH cx_root INTO lx_root.
zcx_abapgit_exception=>raise_with_text( lx_root ).
ENDTRY.
@ -317,25 +293,18 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
METHOD zif_abapgit_object~changed_by.
DATA lx_dyn_call_error TYPE REF TO cx_sy_dyn_call_error.
DATA ls_icd_data_key TYPE ty_icd_data_key.
ls_icd_data_key-depl_scenario = ms_icd_data_key-depl_scenario.
ls_icd_data_key-ns = ms_icd_data_key-ns.
ls_icd_data_key-ifname = ms_icd_data_key-ifname.
ls_icd_data_key-ifver2 = ms_icd_data_key-ifver2.
TRY.
CALL METHOD mo_abapgit_util->('/AIF/IF_ABAPGIT_AIFC_UTIL~CHANGED_BY')
EXPORTING
is_key = ls_icd_data_key
RECEIVING
rv_user = rv_user.
CATCH cx_sy_dyn_call_error INTO lx_dyn_call_error.
zcx_abapgit_exception=>raise( iv_text = 'AIFC not supported'
ix_previous = lx_dyn_call_error ).
ENDTRY.
ENDMETHOD.
@ -458,8 +427,6 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
METHOD zif_abapgit_object~exists.
DATA: lx_dyn_call_error TYPE REF TO cx_sy_dyn_call_error.
DATA ls_icd_data_key TYPE ty_icd_data_key.
ls_icd_data_key-depl_scenario = ms_icd_data_key-depl_scenario.
@ -469,17 +436,12 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
rv_bool = abap_false.
TRY.
CALL METHOD mo_abapgit_util->('/AIF/IF_ABAPGIT_AIFC_UTIL~EXISTS')
EXPORTING
is_key = ls_icd_data_key
RECEIVING
rv_bool = rv_bool.
CATCH cx_sy_dyn_call_error INTO lx_dyn_call_error.
zcx_abapgit_exception=>raise( iv_text = 'AIFC not supported'
ix_previous = lx_dyn_call_error ).
ENDTRY.
ENDMETHOD.
@ -549,9 +511,7 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
METHOD zif_abapgit_object~serialize.
DATA: lx_root TYPE REF TO cx_root.
DATA: lx_dyn_call_error TYPE REF TO cx_sy_dyn_call_error.
DATA lx_root TYPE REF TO cx_root.
DATA ls_icd_data_key TYPE ty_icd_data_key.
DATA lt_ifdata TYPE ty_table_data_t.
@ -575,18 +535,12 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
ls_icd_data_key-ifname = ms_icd_data_key-ifname.
ls_icd_data_key-ifver2 = ms_icd_data_key-ifver2.
TRY.
CALL METHOD mo_abapgit_util->('/AIF/IF_ABAPGIT_AIFC_UTIL~GET_IF_DATA')
EXPORTING
is_key = ls_icd_data_key
RECEIVING
rt_ifdata = lt_ifdata.
CATCH cx_sy_dyn_call_error INTO lx_dyn_call_error.
zcx_abapgit_exception=>raise( iv_text = 'AIFC not supported'
ix_previous = lx_dyn_call_error ).
ENDTRY.
LOOP AT lt_ifdata REFERENCE INTO lr_ifdata.
UNASSIGN <lt_table>.
@ -610,7 +564,7 @@ CLASS zcl_abapgit_object_aifc IMPLEMENTATION.
CATCH cx_root INTO lx_root.
zcx_abapgit_exception=>raise( iv_text = 'Serialize not possible'
ix_previous = lx_dyn_call_error ).
ix_previous = lx_root ).
ENDTRY.
ENDMETHOD.
ENDCLASS.

View File

@ -10,7 +10,7 @@ CLASS zcl_abapgit_object_amsd DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -106,7 +106,7 @@ CLASS zcl_abapgit_object_amsd IMPLEMENTATION.
CREATE OBJECT mi_persistence TYPE ('CL_AMDP_SCHEMA_OBJECT_PERSIST').
CATCH cx_sy_create_error.
zcx_abapgit_exception=>raise( |AMSD not supported by your NW release| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.

View File

@ -15,7 +15,7 @@ CLASS zcl_abapgit_object_apis DEFINITION
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -42,7 +42,7 @@ CLASS zcl_abapgit_object_apis IMPLEMENTATION.
TRY.
CREATE DATA lr_data TYPE (c_model).
CATCH cx_sy_create_error.
zcx_abapgit_exception=>raise( |APIS not supported by your NW release| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.

View File

@ -10,7 +10,7 @@ CLASS zcl_abapgit_object_bdef DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -208,7 +208,7 @@ CLASS zcl_abapgit_object_bdef IMPLEMENTATION.
CREATE OBJECT mi_persistence TYPE ('CL_BDEF_OBJECT_PERSIST').
CATCH cx_sy_create_error.
zcx_abapgit_exception=>raise( |BDEF not supported by your NW release| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.

View File

@ -9,7 +9,7 @@ CLASS zcl_abapgit_object_cmpt DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
INTERFACES zif_abapgit_object.
PROTECTED SECTION.
@ -38,7 +38,7 @@ CLASS zcl_abapgit_object_cmpt IMPLEMENTATION.
r_ref_db_access = mo_cmp_db.
CATCH cx_root.
zcx_abapgit_exception=>raise( 'CMPT not supported' ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
mv_name = ms_item-obj_name.
@ -50,7 +50,6 @@ CLASS zcl_abapgit_object_cmpt IMPLEMENTATION.
DATA: lo_cmp_template TYPE REF TO object.
TRY.
CALL METHOD ('CL_CMP_TEMPLATE')=>('S_CREATE_FROM_DB')
EXPORTING
i_name = mv_name
@ -62,10 +61,6 @@ CLASS zcl_abapgit_object_cmpt IMPLEMENTATION.
RECEIVING
r_user = rv_user.
CATCH cx_root.
zcx_abapgit_exception=>raise( 'CMPT not supported' ).
ENDTRY.
ENDMETHOD.
@ -73,7 +68,6 @@ CLASS zcl_abapgit_object_cmpt IMPLEMENTATION.
DATA: lv_deleted TYPE abap_bool.
TRY.
CALL METHOD mo_cmp_db->('IF_CMP_TEMPLATE_DB~DELETE_TEMPLATE')
EXPORTING
i_name = mv_name
@ -83,10 +77,6 @@ CLASS zcl_abapgit_object_cmpt IMPLEMENTATION.
RECEIVING
r_flg_deleted = lv_deleted.
CATCH cx_root.
zcx_abapgit_exception=>raise( 'CMPT not supported' ).
ENDTRY.
IF lv_deleted = abap_false.
zcx_abapgit_exception=>raise( |Error deleting CMPT { ms_item-obj_name }| ).
ENDIF.
@ -103,7 +93,6 @@ CLASS zcl_abapgit_object_cmpt IMPLEMENTATION.
<lg_header> TYPE any,
<lg_field> TYPE any.
TRY.
CREATE DATA lr_template TYPE ('IF_CMP_TEMPLATE_DB=>TYP_TEMPLATE').
ASSIGN lr_template->* TO <lg_template>.
@ -131,10 +120,6 @@ CLASS zcl_abapgit_object_cmpt IMPLEMENTATION.
i_flg_header = abap_true
i_flg_lines = abap_true.
CATCH cx_root.
zcx_abapgit_exception=>raise( 'CMPT not supported' ).
ENDTRY.
corr_insert( iv_package ).
ENDMETHOD.
@ -142,7 +127,6 @@ CLASS zcl_abapgit_object_cmpt IMPLEMENTATION.
METHOD zif_abapgit_object~exists.
TRY.
CALL METHOD ('CL_CMP_TEMPLATE')=>('S_TEMPLATE_EXISTS')
EXPORTING
i_name = mv_name
@ -157,9 +141,6 @@ CLASS zcl_abapgit_object_cmpt IMPLEMENTATION.
RECEIVING
r_flg_exists = rv_bool.
ENDIF.
CATCH cx_root.
zcx_abapgit_exception=>raise( 'CMPT not supported' ).
ENDTRY.
ENDMETHOD.
@ -218,7 +199,6 @@ CLASS zcl_abapgit_object_cmpt IMPLEMENTATION.
<lg_header> TYPE any,
<lg_field> TYPE any.
TRY.
CREATE DATA lr_template TYPE ('IF_CMP_TEMPLATE_DB=>TYP_TEMPLATE').
ASSIGN lr_template->* TO <lg_template>.
@ -256,9 +236,5 @@ CLASS zcl_abapgit_object_cmpt IMPLEMENTATION.
io_xml->add( iv_name = 'CMPT'
ig_data = <lg_template> ).
CATCH cx_root.
zcx_abapgit_exception=>raise( 'CMPT not supported' ).
ENDTRY.
ENDMETHOD.
ENDCLASS.

View File

@ -2,18 +2,50 @@ CLASS zcl_abapgit_object_dcls DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
PUBLIC SECTION.
INTERFACES zif_abapgit_object.
METHODS constructor
IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
DATA: mo_dcl_handler TYPE REF TO object. " CL_ACM_DCL_HANDLER
METHODS clear_fields
CHANGING
!cg_data TYPE any
RAISING
zcx_abapgit_exception .
ENDCLASS.
CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
METHOD constructor.
super->constructor(
is_item = is_item
iv_language = iv_language
io_files = io_files
io_i18n_params = io_i18n_params ).
TRY.
CALL METHOD ('CL_ACM_DCL_HANDLER_FACTORY')=>('CREATE')
RECEIVING
ro_handler = mo_dcl_handler.
CATCH cx_root.
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.
METHOD zif_abapgit_object~changed_by.
DATA: lr_data TYPE REF TO data,
lo_dcl TYPE REF TO object,
lx_error TYPE REF TO cx_root.
FIELD-SYMBOLS: <lg_data> TYPE any,
@ -23,15 +55,14 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
ASSIGN lr_data->* TO <lg_data>.
TRY.
CALL METHOD ('CL_ACM_DCL_HANDLER_FACTORY')=>('CREATE')
RECEIVING
ro_handler = lo_dcl.
CALL METHOD lo_dcl->('READ')
CALL METHOD mo_dcl_handler->('READ')
EXPORTING
iv_dclname = ms_item-obj_name
IMPORTING
es_dclsrc = <lg_data>.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
ASSIGN COMPONENT 'AS4USER' OF STRUCTURE <lg_data> TO <lg_field>.
IF sy-subrc = 0.
@ -39,23 +70,16 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
ELSE.
rv_user = c_user_unknown.
ENDIF.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
ENDMETHOD.
METHOD zif_abapgit_object~delete.
DATA: lo_dcl TYPE REF TO object,
lx_error TYPE REF TO cx_root.
DATA: lx_error TYPE REF TO cx_root.
TRY.
CALL METHOD ('CL_ACM_DCL_HANDLER_FACTORY')=>('CREATE')
RECEIVING
ro_handler = lo_dcl.
CALL METHOD lo_dcl->('DELETE')
CALL METHOD mo_dcl_handler->('DELETE')
EXPORTING
iv_dclname = ms_item-obj_name.
@ -71,7 +95,6 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
METHOD zif_abapgit_object~deserialize.
DATA: lr_data TYPE REF TO data,
lo_dcl TYPE REF TO object,
lx_error TYPE REF TO cx_root,
lv_abap_language_version TYPE uccheck.
@ -98,15 +121,11 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
set_abap_language_version( CHANGING cv_abap_language_version = lv_abap_language_version ).
ENDIF.
TRY.
tadir_insert( iv_package ).
CALL METHOD ('CL_ACM_DCL_HANDLER_FACTORY')=>('CREATE')
RECEIVING
ro_handler = lo_dcl.
TRY.
CALL METHOD lo_dcl->('SAVE')
TRY.
CALL METHOD mo_dcl_handler->('SAVE')
EXPORTING
iv_dclname = ms_item-obj_name
iv_put_state = 'I'
@ -115,7 +134,7 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
iv_access_mode = 'INSERT'
iv_abap_language_version = lv_abap_language_version.
CATCH cx_sy_dyn_call_param_not_found.
CALL METHOD lo_dcl->('SAVE')
CALL METHOD mo_dcl_handler->('SAVE')
EXPORTING
iv_dclname = ms_item-obj_name
iv_put_state = 'I'
@ -135,24 +154,12 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
METHOD zif_abapgit_object~exists.
DATA: lo_dcl TYPE REF TO object,
lx_error TYPE REF TO cx_root.
TRY.
CALL METHOD ('CL_ACM_DCL_HANDLER_FACTORY')=>('CREATE')
RECEIVING
ro_handler = lo_dcl.
CALL METHOD lo_dcl->('CHECK_EXISTENCE')
CALL METHOD mo_dcl_handler->('CHECK_EXISTENCE')
EXPORTING
iv_objectname = ms_item-obj_name
RECEIVING
rv_exists = rv_bool.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
ENDMETHOD.
@ -207,7 +214,6 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
METHOD zif_abapgit_object~serialize.
DATA: lr_data TYPE REF TO data,
lo_dcl TYPE REF TO object,
lx_error TYPE REF TO cx_root.
FIELD-SYMBOLS: <lg_data> TYPE any,
@ -218,44 +224,17 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
ASSIGN lr_data->* TO <lg_data>.
TRY.
CALL METHOD ('CL_ACM_DCL_HANDLER_FACTORY')=>('CREATE')
RECEIVING
ro_handler = lo_dcl.
CALL METHOD lo_dcl->('READ')
CALL METHOD mo_dcl_handler->('READ')
EXPORTING
iv_dclname = ms_item-obj_name
IMPORTING
es_dclsrc = <lg_data>.
ASSIGN COMPONENT 'AS4USER' OF STRUCTURE <lg_data> TO <lg_field>.
ASSERT sy-subrc = 0.
CLEAR <lg_field>.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
ASSIGN COMPONENT 'AS4DATE' OF STRUCTURE <lg_data> TO <lg_field>.
ASSERT sy-subrc = 0.
CLEAR <lg_field>.
ASSIGN COMPONENT 'AS4TIME' OF STRUCTURE <lg_data> TO <lg_field>.
ASSERT sy-subrc = 0.
CLEAR <lg_field>.
ASSIGN COMPONENT 'CREATED_BY' OF STRUCTURE <lg_data> TO <lg_field>.
ASSERT sy-subrc = 0.
CLEAR <lg_field>.
ASSIGN COMPONENT 'CREATED_DATE' OF STRUCTURE <lg_data> TO <lg_field>.
ASSERT sy-subrc = 0.
CLEAR <lg_field>.
ASSIGN COMPONENT 'AS4LOCAL' OF STRUCTURE <lg_data> TO <lg_field>.
ASSERT sy-subrc = 0.
CLEAR <lg_field>.
ASSIGN COMPONENT 'ABAP_LANGUAGE_VERSION' OF STRUCTURE <lg_data> TO <lg_field>.
IF sy-subrc = 0.
clear_abap_language_version( CHANGING cv_abap_language_version = <lg_field> ).
ENDIF.
clear_fields( CHANGING cg_data = <lg_data> ).
ASSIGN COMPONENT 'SOURCE' OF STRUCTURE <lg_data> TO <lg_field>.
ASSERT sy-subrc = 0.
@ -269,9 +248,31 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
io_xml->add( iv_name = 'DCLS'
ig_data = <lg_data> ).
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
ENDMETHOD.
METHOD clear_fields.
DATA:
BEGIN OF ls_fields_to_clear,
as4user TYPE c,
as4date TYPE d,
as4time TYPE t,
created_by TYPE c,
created_date TYPE d,
as4local TYPE c,
END OF ls_fields_to_clear.
FIELD-SYMBOLS:
<lg_abap_language_version> TYPE any.
MOVE-CORRESPONDING ls_fields_to_clear TO cg_data.
ASSIGN COMPONENT 'ABAP_LANGUAGE_VERSION' OF STRUCTURE cg_data TO <lg_abap_language_version>.
IF sy-subrc = 0.
clear_abap_language_version( CHANGING cv_abap_language_version = <lg_abap_language_version> ).
ENDIF.
ENDMETHOD.
ENDCLASS.

View File

@ -10,7 +10,7 @@ CLASS zcl_abapgit_object_ddls DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
METHODS open_adt_stob
@ -20,6 +20,7 @@ CLASS zcl_abapgit_object_ddls DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
zcx_abapgit_exception.
PRIVATE SECTION.
DATA mo_ddl_handler TYPE REF TO object. " CL_DD_DDL_HANDLER
METHODS is_baseinfo_supported
RETURNING
VALUE(rv_supported) TYPE abap_bool .
@ -29,6 +30,12 @@ CLASS zcl_abapgit_object_ddls DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
METHODS format_source_before_serialize
CHANGING
cv_string TYPE string.
METHODS clear_fields
CHANGING
!cg_data TYPE any
RAISING
zcx_abapgit_exception .
ENDCLASS.
@ -38,8 +45,6 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
METHOD constructor.
DATA lo_ddl TYPE REF TO object.
super->constructor(
is_item = is_item
iv_language = iv_language
@ -49,9 +54,10 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
TRY.
CALL METHOD ('CL_DD_DDL_HANDLER_FACTORY')=>('CREATE')
RECEIVING
handler = lo_ddl.
handler = mo_ddl_handler.
CATCH cx_root.
zcx_abapgit_exception=>raise( 'Object type DDLS is not supported by this system' ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.
@ -93,13 +99,12 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
METHOD is_baseinfo_supported.
DATA:
lr_data_baseinfo TYPE REF TO data,
lx_error TYPE REF TO cx_root.
lr_data_baseinfo TYPE REF TO data.
TRY.
CREATE DATA lr_data_baseinfo TYPE ('IF_DD_DDL_TYPES=>TY_S_BASEINFO_STRING_SAVE').
rv_supported = abap_true.
CATCH cx_root INTO lx_error.
CATCH cx_root.
rv_supported = abap_false.
ENDTRY.
@ -108,9 +113,7 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
METHOD open_adt_stob.
DATA: lr_data TYPE REF TO data,
lo_ddl TYPE REF TO object,
lx_error TYPE REF TO cx_root.
DATA: lr_data TYPE REF TO data.
FIELD-SYMBOLS: <lt_ddnames> TYPE STANDARD TABLE.
FIELD-SYMBOLS: <lt_entity_view> TYPE STANDARD TABLE.
@ -120,7 +123,6 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
FIELD-SYMBOLS: <lg_ddlname> TYPE any.
TRY.
CREATE DATA lr_data TYPE ('IF_DD_DDL_TYPES=>TY_T_DDOBJ').
ASSIGN lr_data->* TO <lt_ddnames>.
@ -138,11 +140,7 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
<lg_ddname> = iv_ddls_name.
INSERT <lg_ddnames> INTO TABLE <lt_ddnames>.
CALL METHOD ('CL_DD_DDL_HANDLER_FACTORY')=>('CREATE')
RECEIVING
handler = lo_ddl.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~GET_VIEWNAME_FROM_ENTITYNAME')
CALL METHOD mo_ddl_handler->('IF_DD_DDL_HANDLER~GET_VIEWNAME_FROM_ENTITYNAME')
EXPORTING
ddnames = <lt_ddnames>
IMPORTING
@ -157,10 +155,6 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
ENDIF.
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
ENDMETHOD.
@ -180,23 +174,17 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
METHOD zif_abapgit_object~changed_by.
DATA: lo_ddl TYPE REF TO object,
lr_data TYPE REF TO data,
DATA: lr_data TYPE REF TO data,
lx_error TYPE REF TO cx_root.
FIELD-SYMBOLS: <lg_data> TYPE any,
<lg_field> TYPE any.
TRY.
CREATE DATA lr_data TYPE ('DDDDLSRCV').
ASSIGN lr_data->* TO <lg_data>.
CALL METHOD ('CL_DD_DDL_HANDLER_FACTORY')=>('CREATE')
RECEIVING
handler = lo_ddl.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~READ')
TRY.
CALL METHOD mo_ddl_handler->('IF_DD_DDL_HANDLER~READ')
EXPORTING
name = ms_item-obj_name
get_state = 'A'
@ -270,7 +258,6 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
METHOD zif_abapgit_object~deserialize.
DATA:
lo_ddl TYPE REF TO object,
lr_data TYPE REF TO data,
lr_data_baseinfo TYPE REF TO data,
lx_error TYPE REF TO cx_root.
@ -283,10 +270,10 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
<lg_baseinfo_ddlname> TYPE any,
<lg_abap_language_version> TYPE any.
TRY.
CREATE DATA lr_data TYPE ('DDDDLSRCV').
ASSIGN lr_data->* TO <lg_data>.
TRY.
io_xml->read( EXPORTING iv_name = 'DDLS'
CHANGING cg_data = <lg_data> ).
@ -299,10 +286,6 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
set_abap_language_version( CHANGING cv_abap_language_version = <lg_abap_language_version> ).
ENDIF.
CALL METHOD ('CL_DD_DDL_HANDLER_FACTORY')=>('CREATE')
RECEIVING
handler = lo_ddl.
IF is_baseinfo_supported( ) = abap_true.
CREATE DATA lr_data_baseinfo TYPE ('IF_DD_DDL_TYPES=>TY_S_BASEINFO_STRING_SAVE').
ASSIGN lr_data_baseinfo->* TO <lg_data_baseinfo>.
@ -317,7 +300,7 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
<lg_baseinfo_ddlname> = ms_item-obj_name.
TRY.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~SAVE')
CALL METHOD mo_ddl_handler->('IF_DD_DDL_HANDLER~SAVE')
EXPORTING
name = ms_item-obj_name
put_state = 'N'
@ -325,7 +308,7 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
baseinfo_string = <lg_data_baseinfo>
save_language_version = abap_true.
CATCH cx_sy_dyn_call_param_not_found.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~SAVE')
CALL METHOD mo_ddl_handler->('IF_DD_DDL_HANDLER~SAVE')
EXPORTING
name = ms_item-obj_name
put_state = 'N'
@ -333,14 +316,14 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
baseinfo_string = <lg_data_baseinfo>.
ENDTRY.
ELSE.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~SAVE')
CALL METHOD mo_ddl_handler->('IF_DD_DDL_HANDLER~SAVE')
EXPORTING
name = ms_item-obj_name
put_state = 'N'
ddddlsrcv_wa = <lg_data>.
ENDIF.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~WRITE_TADIR')
CALL METHOD mo_ddl_handler->('IF_DD_DDL_HANDLER~WRITE_TADIR')
EXPORTING
objectname = ms_item-obj_name
devclass = iv_package
@ -349,16 +332,14 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
corr_insert( iv_package ).
CATCH cx_root INTO lx_error.
IF lo_ddl IS NOT INITIAL.
" Attempt clean-up but catch error if it doesn't work
TRY.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~DELETE')
CALL METHOD mo_ddl_handler->('IF_DD_DDL_HANDLER~DELETE')
EXPORTING
name = ms_item-obj_name
prid = 0.
CATCH cx_root ##NO_HANDLER.
ENDTRY.
ENDIF.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
@ -370,15 +351,10 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
METHOD zif_abapgit_object~exists.
DATA: lv_state TYPE objstate,
lo_ddl TYPE REF TO object.
DATA: lv_state TYPE objstate.
TRY.
CALL METHOD ('CL_DD_DDL_HANDLER_FACTORY')=>('CREATE')
RECEIVING
handler = lo_ddl.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~READ')
CALL METHOD mo_ddl_handler->('IF_DD_DDL_HANDLER~READ')
EXPORTING
name = ms_item-obj_name
IMPORTING
@ -457,36 +433,28 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
METHOD zif_abapgit_object~serialize.
DATA: lo_ddl TYPE REF TO object,
lr_data TYPE REF TO data,
DATA: lr_data TYPE REF TO data,
lr_data_baseinfo TYPE REF TO data,
lt_clr_comps TYPE STANDARD TABLE OF fieldname WITH DEFAULT KEY,
lx_error TYPE REF TO cx_root.
FIELD-SYMBOLS: <lg_data> TYPE any,
<lg_field> TYPE any,
<lv_comp> LIKE LINE OF lt_clr_comps,
<lt_data_baseinfo> TYPE ANY TABLE,
<lg_data_baseinfo> TYPE any,
<lg_ddlname> TYPE any,
<lg_as4local> TYPE any,
<lg_abap_language_version> TYPE any.
<lg_as4local> TYPE any.
TRY.
CREATE DATA lr_data TYPE ('DDDDLSRCV').
ASSIGN lr_data->* TO <lg_data>.
CALL METHOD ('CL_DD_DDL_HANDLER_FACTORY')=>('CREATE')
RECEIVING
handler = lo_ddl.
TRY.
IF is_baseinfo_supported( ) = abap_true.
CREATE DATA lr_data_baseinfo TYPE ('IF_DD_DDL_TYPES=>TY_T_BASEINFO_STRING').
ASSIGN lr_data_baseinfo->* TO <lt_data_baseinfo>.
ASSIGN lr_data_baseinfo->* TO <lg_data_baseinfo>.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~READ')
CALL METHOD mo_ddl_handler->('IF_DD_DDL_HANDLER~READ')
EXPORTING
name = ms_item-obj_name
get_state = 'A'
@ -511,7 +479,7 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
ENDIF.
ENDLOOP.
ELSE.
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~READ')
CALL METHOD mo_ddl_handler->('IF_DD_DDL_HANDLER~READ')
EXPORTING
name = ms_item-obj_name
get_state = 'A'
@ -523,24 +491,7 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
ASSIGN COMPONENT 'ABAP_LANGUAGE_VERSION' OF STRUCTURE <lg_data> TO <lg_abap_language_version>.
IF sy-subrc = 0.
<lg_abap_language_version> = get_abap_language_version( ).
ENDIF.
APPEND 'AS4USER' TO lt_clr_comps.
APPEND 'AS4DATE' TO lt_clr_comps.
APPEND 'AS4TIME' TO lt_clr_comps.
APPEND 'ACTFLAG' TO lt_clr_comps.
APPEND 'CHGFLAG' TO lt_clr_comps.
APPEND 'ABAP_LANGU_VERSION' TO lt_clr_comps.
LOOP AT lt_clr_comps ASSIGNING <lv_comp>.
ASSIGN COMPONENT <lv_comp> OF STRUCTURE <lg_data> TO <lg_field>.
IF sy-subrc = 0.
CLEAR <lg_field>.
ENDIF.
ENDLOOP.
clear_fields( CHANGING cg_data = <lg_data> ).
ASSIGN COMPONENT 'SOURCE' OF STRUCTURE <lg_data> TO <lg_field>.
ASSERT sy-subrc = 0.
@ -557,4 +508,30 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
ig_data = <lg_data> ).
ENDMETHOD.
METHOD clear_fields.
DATA:
BEGIN OF ls_fields_to_clear,
as4user TYPE c,
as4date TYPE d,
as4time TYPE t,
actflag TYPE c,
chgflag TYPE c,
abap_langu_version TYPE c,
END OF ls_fields_to_clear.
FIELD-SYMBOLS:
<lg_abap_language_version> TYPE any.
MOVE-CORRESPONDING ls_fields_to_clear TO cg_data.
ASSIGN COMPONENT 'ABAP_LANGUAGE_VERSION' OF STRUCTURE cg_data TO <lg_abap_language_version>.
IF sy-subrc = 0.
<lg_abap_language_version> = get_abap_language_version( ).
ENDIF.
ENDMETHOD.
ENDCLASS.

View File

@ -2,145 +2,80 @@ CLASS zcl_abapgit_object_ddlx DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
PUBLIC SECTION.
INTERFACES zif_abapgit_object.
METHODS constructor
IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
DATA mi_persistence TYPE REF TO if_wb_object_persist .
METHODS get_persistence
RETURNING
VALUE(ri_persistence) TYPE REF TO if_wb_object_persist
RAISING
zcx_abapgit_exception .
DATA mi_persistence TYPE REF TO if_wb_object_persist.
DATA mi_data_model TYPE REF TO if_wb_object_data_model.
DATA mv_object_key TYPE seu_objkey.
METHODS clear_fields
CHANGING
!cg_data TYPE any .
METHODS clear_field
IMPORTING
!iv_fieldname TYPE csequence
CHANGING
!cg_metadata TYPE any .
!cg_data TYPE any
RAISING
zcx_abapgit_exception .
ENDCLASS.
CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
METHOD constructor.
METHOD clear_field.
super->constructor(
is_item = is_item
iv_language = iv_language
io_files = io_files
io_i18n_params = io_i18n_params ).
FIELD-SYMBOLS: <lg_field> TYPE data.
ASSIGN COMPONENT iv_fieldname
OF STRUCTURE cg_metadata
TO <lg_field>.
IF sy-subrc = 0.
CLEAR: <lg_field>.
ENDIF.
ENDMETHOD.
METHOD clear_fields.
FIELD-SYMBOLS: <lg_metadata> TYPE any.
ASSIGN COMPONENT 'METADATA'
OF STRUCTURE cg_data
TO <lg_metadata>.
ASSERT sy-subrc = 0.
clear_field( EXPORTING iv_fieldname = 'CHANGED_AT'
CHANGING cg_metadata = <lg_metadata> ).
clear_field( EXPORTING iv_fieldname = 'CHANGED_BY'
CHANGING cg_metadata = <lg_metadata> ).
clear_field( EXPORTING iv_fieldname = 'CREATED_AT'
CHANGING cg_metadata = <lg_metadata> ).
clear_field( EXPORTING iv_fieldname = 'CREATED_BY'
CHANGING cg_metadata = <lg_metadata> ).
clear_field( EXPORTING iv_fieldname = 'RESPONSIBLE'
CHANGING cg_metadata = <lg_metadata> ).
clear_field( EXPORTING iv_fieldname = 'PACKAGE_REF-NAME'
CHANGING cg_metadata = <lg_metadata> ).
clear_field( EXPORTING iv_fieldname = 'CONTAINER_REF-PACKAGE_NAME'
CHANGING cg_metadata = <lg_metadata> ).
clear_field( EXPORTING iv_fieldname = 'VERSION'
CHANGING cg_metadata = <lg_metadata> ).
clear_field( EXPORTING iv_fieldname = 'RESPONSIBLE'
CHANGING cg_metadata = <lg_metadata> ).
clear_field( EXPORTING iv_fieldname = 'MASTER_SYSTEM'
CHANGING cg_metadata = <lg_metadata> ).
clear_field( EXPORTING iv_fieldname = 'ABAP_LANGUAGE_VERSION'
CHANGING cg_metadata = <lg_metadata> ).
ENDMETHOD.
METHOD get_persistence.
DATA: lx_error TYPE REF TO cx_root.
mv_object_key = ms_item-obj_name.
TRY.
IF mi_persistence IS NOT BOUND.
CREATE OBJECT mi_persistence
TYPE ('CL_DDLX_ADT_OBJECT_PERSIST').
ENDIF.
CREATE OBJECT mi_data_model
TYPE ('CL_DDLX_WB_OBJECT_DATA').
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
CATCH cx_sy_create_object_error.
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ri_persistence = mi_persistence.
ENDMETHOD.
METHOD zif_abapgit_object~changed_by.
DATA:
lv_object_key TYPE seu_objkey,
li_data_model TYPE REF TO if_wb_object_data_model,
li_persistence TYPE REF TO if_wb_object_persist,
lr_data TYPE REF TO data.
DATA: lr_data TYPE REF TO data.
FIELD-SYMBOLS:
<lg_data> TYPE any,
<lg_changed_by> TYPE data.
lv_object_key = ms_item-obj_name.
TRY.
CREATE DATA lr_data
TYPE ('CL_DDLX_WB_OBJECT_DATA=>TY_OBJECT_DATA').
ASSIGN lr_data->* TO <lg_data>.
CREATE OBJECT li_data_model
TYPE ('CL_DDLX_WB_OBJECT_DATA').
li_persistence = get_persistence( ).
li_persistence->get(
TRY.
mi_persistence->get(
EXPORTING
p_object_key = lv_object_key
p_object_key = mv_object_key
p_version = swbm_version_active
CHANGING
p_object_data = li_data_model ).
CATCH cx_root.
p_object_data = mi_data_model ).
CATCH cx_swb_exception.
rv_user = c_user_unknown.
RETURN.
ENDTRY.
li_data_model->get_data( IMPORTING p_data = <lg_data> ).
mi_data_model->get_data( IMPORTING p_data = <lg_data> ).
ASSIGN COMPONENT 'METADATA-CHANGED_BY' OF STRUCTURE <lg_data> TO <lg_changed_by>.
ASSERT sy-subrc = 0.
@ -151,18 +86,13 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
METHOD zif_abapgit_object~delete.
DATA: lv_object_key TYPE seu_objkey,
lx_error TYPE REF TO cx_root.
lv_object_key = ms_item-obj_name.
DATA: lx_error TYPE REF TO cx_swb_exception.
TRY.
get_persistence( )->delete( p_object_key = lv_object_key
mi_persistence->delete( p_object_key = mv_object_key
p_version = swbm_version_active ).
CATCH cx_root INTO lx_error.
CATCH cx_swb_exception INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
@ -173,9 +103,8 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
METHOD zif_abapgit_object~deserialize.
DATA: li_data_model TYPE REF TO if_wb_object_data_model,
lr_data TYPE REF TO data,
lx_error TYPE REF TO cx_root.
DATA: lr_data TYPE REF TO data,
lx_error TYPE REF TO cx_swb_exception.
FIELD-SYMBOLS: <lg_data> TYPE any,
<lg_source> TYPE data,
@ -185,7 +114,6 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
<lg_changed_at> TYPE xsddatetime_z,
<lg_abap_language_version> TYPE data.
TRY.
CREATE DATA lr_data
TYPE ('CL_DDLX_WB_OBJECT_DATA=>TY_OBJECT_DATA').
ASSIGN lr_data->* TO <lg_data>.
@ -211,9 +139,6 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
CATCH zcx_abapgit_exception ##NO_HANDLER.
ENDTRY.
CREATE OBJECT li_data_model
TYPE ('CL_DDLX_WB_OBJECT_DATA').
ASSIGN COMPONENT 'METADATA-VERSION' OF STRUCTURE <lg_data> TO <lg_version>.
ASSERT sy-subrc = 0.
@ -236,16 +161,16 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
GET TIME STAMP FIELD <lg_changed_at>.
ENDIF.
li_data_model->set_data( <lg_data> ).
mi_data_model->set_data( <lg_data> ).
get_persistence( )->save( li_data_model ).
tadir_insert( iv_package ).
CATCH cx_root INTO lx_error.
TRY.
mi_persistence->save( mi_data_model ).
CATCH cx_swb_exception INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
tadir_insert( iv_package ).
zcl_abapgit_objects_activation=>add_item( ms_item ).
ENDMETHOD.
@ -253,14 +178,10 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
METHOD zif_abapgit_object~exists.
DATA: lv_object_key TYPE seu_objkey.
lv_object_key = ms_item-obj_name.
rv_bool = abap_true.
TRY.
get_persistence( )->get( p_object_key = lv_object_key
mi_persistence->get( p_object_key = mv_object_key
p_version = swbm_version_active
p_existence_check_only = abap_true ).
@ -321,60 +242,50 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
METHOD zif_abapgit_object~serialize.
DATA: lv_object_key TYPE seu_objkey,
li_data_model TYPE REF TO if_wb_object_data_model,
li_persistence TYPE REF TO if_wb_object_persist,
lr_data TYPE REF TO data,
lx_error TYPE REF TO cx_root.
DATA: lr_data TYPE REF TO data,
lx_error TYPE REF TO cx_swb_exception.
FIELD-SYMBOLS: <lg_data> TYPE any,
<lg_field> TYPE data.
lv_object_key = ms_item-obj_name.
TRY.
CREATE DATA lr_data
TYPE ('CL_DDLX_WB_OBJECT_DATA=>TY_OBJECT_DATA').
ASSIGN lr_data->* TO <lg_data>.
CREATE OBJECT li_data_model
TYPE ('CL_DDLX_WB_OBJECT_DATA').
li_persistence = get_persistence( ).
TRY.
IF zcl_abapgit_factory=>get_environment( )->compare_with_inactive( ) = abap_true.
"Retrieve inactive version
li_persistence->get(
mi_persistence->get(
EXPORTING
p_object_key = lv_object_key
p_object_key = mv_object_key
p_version = swbm_version_inactive
CHANGING
p_object_data = li_data_model ).
IF li_data_model->get_object_name( ) IS INITIAL.
p_object_data = mi_data_model ).
IF mi_data_model->get_object_name( ) IS INITIAL.
"Fallback: retrieve active version
li_persistence->get(
mi_persistence->get(
EXPORTING
p_object_key = lv_object_key
p_object_key = mv_object_key
p_version = swbm_version_active
CHANGING
p_object_data = li_data_model ).
p_object_data = mi_data_model ).
ENDIF.
ELSE.
"Retrieve active version
li_persistence->get(
mi_persistence->get(
EXPORTING
p_object_key = lv_object_key
p_object_key = mv_object_key
p_version = swbm_version_active
CHANGING
p_object_data = li_data_model ).
p_object_data = mi_data_model ).
ENDIF.
li_data_model->get_data( IMPORTING p_data = <lg_data> ).
CATCH cx_swb_exception INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
ASSIGN COMPONENT 'METADATA-ABAP_LANGU_VERSION' OF STRUCTURE <lg_data> TO <lg_field>.
IF sy-subrc = 0.
clear_abap_language_version( CHANGING cv_abap_language_version = <lg_field> ).
ENDIF.
mi_data_model->get_data( IMPORTING p_data = <lg_data> ).
clear_fields( CHANGING cg_data = <lg_data> ).
@ -390,9 +301,40 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
io_xml->add( iv_name = 'DDLX'
ig_data = <lg_data> ).
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
ENDMETHOD.
METHOD clear_fields.
DATA:
BEGIN OF ls_fields_to_clear,
BEGIN OF metadata,
changed_at TYPE d,
changed_by TYPE c,
created_at TYPE d,
created_by TYPE c,
responsible TYPE c,
BEGIN OF package_ref,
name TYPE c,
END OF package_ref,
BEGIN OF container_ref,
name TYPE c,
END OF container_ref,
version TYPE c,
master_system TYPE c,
END OF metadata,
END OF ls_fields_to_clear.
FIELD-SYMBOLS:
<lg_abap_language_version> TYPE any.
MOVE-CORRESPONDING ls_fields_to_clear TO cg_data.
ASSIGN COMPONENT 'METADATA-ABAP_LANGUAGE_VERSION' OF STRUCTURE cg_data TO <lg_abap_language_version>.
IF sy-subrc = 0.
clear_abap_language_version( CHANGING cv_abap_language_version = <lg_abap_language_version> ).
ENDIF.
ENDMETHOD.
ENDCLASS.

View File

@ -10,7 +10,7 @@ CLASS zcl_abapgit_object_drul DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -130,7 +130,7 @@ CLASS zcl_abapgit_object_drul IMPLEMENTATION.
CREATE OBJECT mi_persistence TYPE ('CL_DRUL_WB_OBJECT_PERSIST').
CATCH cx_sy_create_error.
zcx_abapgit_exception=>raise( |DRUL not supported by your NW release| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.

View File

@ -10,7 +10,7 @@ CLASS zcl_abapgit_object_dtdc DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -151,7 +151,7 @@ CLASS zcl_abapgit_object_dtdc IMPLEMENTATION.
CREATE OBJECT mi_persistence TYPE ('CL_DTDC_OBJECT_PERSIST').
CATCH cx_sy_create_error.
zcx_abapgit_exception=>raise( |DTDC not supported by your NW release| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.

View File

@ -10,7 +10,7 @@ CLASS zcl_abapgit_object_ftgl DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -60,7 +60,7 @@ CLASS zcl_abapgit_object_ftgl IMPLEMENTATION.
TRY.
CREATE DATA mr_toggle TYPE ('FTGL_S_WB_FEATURE_TOGGLE').
CATCH cx_root.
zcx_abapgit_exception=>raise( |FTGL not supported in your NW release| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.

View File

@ -60,6 +60,13 @@ CLASS zcl_abapgit_object_g4ba IMPLEMENTATION.
iv_field = 'CHANGED_TS'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWBEP/I_V4_MSGR'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD.

View File

@ -60,6 +60,13 @@ CLASS zcl_abapgit_object_g4bs IMPLEMENTATION.
iv_field = 'CHANGED_TS'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWBEP/I_V4_MSRV'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD.

View File

@ -14,7 +14,7 @@ CLASS zcl_abapgit_object_http DEFINITION
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -66,7 +66,7 @@ CLASS zcl_abapgit_object_http IMPLEMENTATION.
TRY.
CREATE DATA lr_dummy TYPE ('UCONHTTPSERVHEAD').
CATCH cx_root.
zcx_abapgit_exception=>raise( 'HTTP not supported' ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.
@ -74,14 +74,10 @@ CLASS zcl_abapgit_object_http IMPLEMENTATION.
METHOD zif_abapgit_object~changed_by.
TRY.
SELECT SINGLE changedby FROM ('UCONHTTPSERVHEAD') INTO rv_user WHERE id = ms_item-obj_name.
IF sy-subrc <> 0.
rv_user = c_user_unknown.
ENDIF.
CATCH cx_root.
zcx_abapgit_exception=>raise( 'HTTP not supported' ).
ENDTRY.
ENDMETHOD.
@ -91,14 +87,11 @@ CLASS zcl_abapgit_object_http IMPLEMENTATION.
DATA lv_name TYPE c LENGTH 30.
lv_name = ms_item-obj_name.
TRY.
CALL METHOD ('CL_UCON_API_FACTORY')=>('DELETE_HTTP_SERVICE')
EXPORTING
name = lv_name
devclass = iv_package.
CATCH cx_root.
zcx_abapgit_exception=>raise( 'HTTP not supported' ).
ENDTRY.
ENDMETHOD.
@ -211,12 +204,8 @@ CLASS zcl_abapgit_object_http IMPLEMENTATION.
DATA lv_id TYPE c LENGTH 30.
TRY.
SELECT SINGLE id FROM ('UCONHTTPSERVHEAD') INTO lv_id WHERE id = ms_item-obj_name AND version = 'A'.
rv_bool = boolc( sy-subrc = 0 ).
CATCH cx_root.
zcx_abapgit_exception=>raise( 'HTTP not supported' ).
ENDTRY.
ENDMETHOD.

View File

@ -2,6 +2,14 @@ CLASS zcl_abapgit_object_iobj DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
PUBLIC SECTION.
INTERFACES zif_abapgit_object.
METHODS constructor
IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
METHODS:
@ -17,6 +25,24 @@ ENDCLASS.
CLASS zcl_abapgit_object_iobj IMPLEMENTATION.
METHOD constructor.
DATA lr_viobj TYPE REF TO data.
super->constructor(
is_item = is_item
iv_language = iv_language
io_files = io_files
io_i18n_params = io_i18n_params ).
TRY.
CREATE DATA lr_viobj TYPE ('RSD_S_VIOBJ').
CATCH cx_sy_create_data_error.
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.
METHOD clear_field.
@ -43,12 +69,7 @@ CLASS zcl_abapgit_object_iobj IMPLEMENTATION.
lv_objna = ms_item-obj_name.
TRY.
CREATE DATA lr_viobj TYPE ('RSD_S_VIOBJ').
CATCH cx_sy_create_data_error.
zcx_abapgit_exception=>raise( |IOBJ is not supported on this system| ).
ENDTRY.
ASSIGN lr_viobj->* TO <lg_viobj>.
CALL FUNCTION 'RSD_IOBJ_GET'
@ -134,7 +155,6 @@ CLASS zcl_abapgit_object_iobj IMPLEMENTATION.
<lg_infoobject> TYPE data,
<lt_infoobjects> TYPE STANDARD TABLE.
TRY.
CREATE DATA lr_details TYPE ('BAPI6108').
CREATE DATA lr_compounds TYPE STANDARD TABLE OF ('BAPI6108CM').
CREATE DATA lr_attributes TYPE STANDARD TABLE OF ('BAPI6108AT').
@ -145,9 +165,6 @@ CLASS zcl_abapgit_object_iobj IMPLEMENTATION.
CREATE DATA lr_hanafieldsmapping TYPE STANDARD TABLE OF ('BAPI6108HANA_MAP').
CREATE DATA lr_xxlattributes TYPE STANDARD TABLE OF ('BAPI6108ATXXL').
CREATE DATA lr_infoobj TYPE STANDARD TABLE OF ('BAPI6108').
CATCH cx_sy_create_data_error.
zcx_abapgit_exception=>raise( |IOBJ is not supported on this system| ).
ENDTRY.
ASSIGN lr_details->* TO <lg_details>.
ASSIGN lr_compounds->* TO <lt_compounds>.
@ -335,11 +352,7 @@ CLASS zcl_abapgit_object_iobj IMPLEMENTATION.
lv_objna = ms_item-obj_name.
TRY.
CREATE DATA lr_viobj TYPE ('RSD_S_VIOBJ').
CATCH cx_sy_create_data_error.
zcx_abapgit_exception=>raise( |IOBJ is not supported on this system| ).
ENDTRY.
ASSIGN lr_viobj->* TO <lg_viobj>.
@ -414,7 +427,6 @@ CLASS zcl_abapgit_object_iobj IMPLEMENTATION.
<lt_hanafieldsmapping> TYPE STANDARD TABLE,
<lt_xxlattributes> TYPE STANDARD TABLE.
TRY.
CREATE DATA lr_details TYPE ('BAPI6108').
CREATE DATA lr_compounds TYPE STANDARD TABLE OF ('BAPI6108CM').
CREATE DATA lr_attributes TYPE STANDARD TABLE OF ('BAPI6108AT').
@ -424,9 +436,6 @@ CLASS zcl_abapgit_object_iobj IMPLEMENTATION.
CREATE DATA lr_elimination TYPE STANDARD TABLE OF ('BAPI6108IE').
CREATE DATA lr_hanafieldsmapping TYPE STANDARD TABLE OF ('BAPI6108HANA_MAP').
CREATE DATA lr_xxlattributes TYPE STANDARD TABLE OF ('BAPI6108ATXXL').
CATCH cx_sy_create_data_error.
zcx_abapgit_exception=>raise( |IOBJ is not supported on this system| ).
ENDTRY.
ASSIGN lr_details->* TO <lg_details>.
ASSIGN lr_compounds->* TO <lt_compounds>.

View File

@ -42,6 +42,14 @@ CLASS zcl_abapgit_object_iwmo IMPLEMENTATION.
iv_table = '/IWBEP/I_MGW_OHD'
iv_field = 'CHANGED_TIMESTMP'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWBEP/I_MGW_OHD'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD.

View File

@ -42,6 +42,14 @@ CLASS zcl_abapgit_object_iwom IMPLEMENTATION.
iv_table = '/IWFND/I_MED_OHD'
iv_field = 'CHANGED_TIMESTMP'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWFND/I_MED_OHD'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD.

View File

@ -44,6 +44,13 @@ CLASS zcl_abapgit_object_iwsg IMPLEMENTATION.
iv_field = 'CHANGED_TIMESTMP'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWFND/I_MED_SRH'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD.

View File

@ -42,6 +42,14 @@ CLASS zcl_abapgit_object_iwsv IMPLEMENTATION.
iv_table = '/IWBEP/I_MGW_SRH'
iv_field = 'CHANGED_TIMESTMP'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWBEP/I_MGW_SRH'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD.

View File

@ -42,6 +42,14 @@ CLASS zcl_abapgit_object_iwvb IMPLEMENTATION.
iv_table = '/IWBEP/I_MGW_VAH'
iv_field = 'CHANGED_TIMESTMP'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp ).
IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version.
ro_result->add(
iv_table = '/IWBEP/I_MGW_VAH'
iv_field = 'ABAP_LANGUAGE_VERSION'
iv_fill_rule = zif_abapgit_field_rules=>c_fill_rule-abap_language_version ).
ENDIF.
ENDMETHOD.

View File

@ -2,6 +2,14 @@ CLASS zcl_abapgit_object_jobd DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
PUBLIC SECTION.
INTERFACES zif_abapgit_object.
METHODS constructor
IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -13,6 +21,24 @@ ENDCLASS.
CLASS zcl_abapgit_object_jobd IMPLEMENTATION.
METHOD constructor.
DATA: lr_job_definition TYPE REF TO data.
super->constructor(
is_item = is_item
iv_language = iv_language
io_files = io_files
io_i18n_params = io_i18n_params ).
TRY.
CREATE DATA lr_job_definition TYPE ('CL_JR_JOB_DEFINITION=>TY_JOB_DEFINITION').
CATCH cx_sy_ref_creation.
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.
METHOD zif_abapgit_object~changed_by.
@ -121,17 +147,12 @@ CLASS zcl_abapgit_object_jobd IMPLEMENTATION.
lv_name = ms_item-obj_name.
TRY.
CALL METHOD ('CL_JR_JD_MANAGER')=>('CHECK_JD_EXISTENCE')
EXPORTING
im_jd_name = lv_name
IMPORTING
ex_is_existing = rv_bool.
CATCH cx_root.
zcx_abapgit_exception=>raise( |JOBD not supported| ).
ENDTRY.
ENDMETHOD.

View File

@ -7,6 +7,14 @@ CLASS zcl_abapgit_object_odso DEFINITION
PUBLIC SECTION.
INTERFACES zif_abapgit_object .
METHODS constructor
IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -22,6 +30,24 @@ ENDCLASS.
CLASS zcl_abapgit_object_odso IMPLEMENTATION.
METHOD constructor.
DATA: lr_details TYPE REF TO data.
super->constructor(
is_item = is_item
iv_language = iv_language
io_files = io_files
io_i18n_params = io_i18n_params ).
TRY.
CREATE DATA lr_details TYPE ('BAPI6116').
CATCH cx_sy_create_data_error.
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.
METHOD clear_field.
@ -46,11 +72,7 @@ CLASS zcl_abapgit_object_odso IMPLEMENTATION.
FIELD-SYMBOLS: <lg_details> TYPE any,
<lg_tstpnm> TYPE any.
TRY.
CREATE DATA lr_details TYPE ('BAPI6116').
CATCH cx_sy_create_data_error.
zcx_abapgit_exception=>raise( |ODSO is not supported on this system| ).
ENDTRY.
ASSIGN lr_details->* TO <lg_details>.
@ -82,11 +104,7 @@ CLASS zcl_abapgit_object_odso IMPLEMENTATION.
lt_msg TYPE STANDARD TABLE OF bal_s_msg,
ls_msg TYPE bal_s_msg.
TRY.
CREATE OBJECT lo_collection TYPE ('CL_RSD_ODSO_COLLECTION').
CATCH cx_sy_create_data_error.
zcx_abapgit_exception=>raise( |ODSO is not supported on this system| ).
ENDTRY.
lv_odsonam = ms_item-obj_name.
lv_objname = ms_item-obj_name.
@ -136,15 +154,11 @@ CLASS zcl_abapgit_object_odso IMPLEMENTATION.
<lt_indexes> TYPE STANDARD TABLE,
<lt_index_iobj> TYPE STANDARD TABLE.
TRY.
CREATE DATA lr_details TYPE ('BAPI6116').
CREATE DATA lr_infoobjects TYPE STANDARD TABLE OF ('BAPI6116IO').
CREATE DATA lr_navigation TYPE STANDARD TABLE OF ('BAPI6116NA').
CREATE DATA lr_indexes TYPE STANDARD TABLE OF ('BAPI6116IN').
CREATE DATA lr_index_iobj TYPE STANDARD TABLE OF ('BAPI6116II').
CATCH cx_sy_create_data_error.
zcx_abapgit_exception=>raise( |ODSO is not supported on this system| ).
ENDTRY.
ASSIGN lr_details->* TO <lg_details>.
ASSIGN lr_infoobjects->* TO <lt_infoobjects>.
@ -326,15 +340,11 @@ CLASS zcl_abapgit_object_odso IMPLEMENTATION.
<lt_indexes> TYPE STANDARD TABLE,
<lt_index_iobj> TYPE STANDARD TABLE.
TRY.
CREATE DATA lr_details TYPE ('BAPI6116').
CREATE DATA lr_infoobjects TYPE STANDARD TABLE OF ('BAPI6116IO').
CREATE DATA lr_navigation TYPE STANDARD TABLE OF ('BAPI6116NA').
CREATE DATA lr_indexes TYPE STANDARD TABLE OF ('BAPI6116IN').
CREATE DATA lr_index_iobj TYPE STANDARD TABLE OF ('BAPI6116II').
CATCH cx_sy_create_data_error.
zcx_abapgit_exception=>raise( |ODSO is not supported on this system| ).
ENDTRY.
ASSIGN lr_details->* TO <lg_details>.
ASSIGN lr_infoobjects->* TO <lt_infoobjects>.

View File

@ -5,6 +5,14 @@ CLASS zcl_abapgit_object_samc DEFINITION
CREATE PUBLIC .
PUBLIC SECTION.
METHODS constructor
IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
METHODS get_data_class_name
@ -20,6 +28,18 @@ ENDCLASS.
CLASS zcl_abapgit_object_samc IMPLEMENTATION.
METHOD constructor.
super->constructor(
is_item = is_item
iv_language = iv_language
io_files = io_files
io_i18n_params = io_i18n_params ).
create_channel_objects( ).
ENDMETHOD.
METHOD get_data_class_name.

View File

@ -5,6 +5,14 @@ CLASS zcl_abapgit_object_sapc DEFINITION
CREATE PUBLIC .
PUBLIC SECTION.
METHODS constructor
IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
METHODS get_data_class_name
@ -20,6 +28,18 @@ ENDCLASS.
CLASS zcl_abapgit_object_sapc IMPLEMENTATION.
METHOD constructor.
super->constructor(
is_item = is_item
iv_language = iv_language
io_files = io_files
io_i18n_params = io_i18n_params ).
create_channel_objects( ).
ENDMETHOD.
METHOD get_data_class_name.

View File

@ -23,6 +23,9 @@ CLASS zcl_abapgit_object_saxx_super DEFINITION
ABSTRACT
RETURNING
VALUE(rv_data_structure_name) TYPE string .
METHODS create_channel_objects
RAISING
zcx_abapgit_type_not_supported .
PRIVATE SECTION.
@ -32,9 +35,6 @@ CLASS zcl_abapgit_object_saxx_super DEFINITION
DATA mv_appl_obj_cls_name TYPE seoclsname .
DATA mv_persistence_cls_name TYPE seoclsname .
METHODS create_channel_objects
RAISING
zcx_abapgit_exception .
METHODS get_data
EXPORTING
!eg_data TYPE any
@ -53,7 +53,6 @@ ENDCLASS.
CLASS zcl_abapgit_object_saxx_super IMPLEMENTATION.
METHOD create_channel_objects.
get_names( ).
@ -68,7 +67,7 @@ CLASS zcl_abapgit_object_saxx_super IMPLEMENTATION.
ENDIF.
CATCH cx_root.
zcx_abapgit_exception=>raise( |{ ms_item-obj_type } not supported| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = ms_item-obj_type.
ENDTRY.
ENDMETHOD.
@ -76,7 +75,8 @@ CLASS zcl_abapgit_object_saxx_super IMPLEMENTATION.
METHOD get_data.
DATA: lv_object_key TYPE seu_objkey.
DATA: lv_object_key TYPE seu_objkey,
lx_error TYPE REF TO cx_root.
lv_object_key = ms_item-obj_name.
@ -88,8 +88,8 @@ CLASS zcl_abapgit_object_saxx_super IMPLEMENTATION.
CHANGING
p_object_data = mi_appl_obj_data ).
CATCH cx_root.
zcx_abapgit_exception=>raise( |{ ms_item-obj_type } not supported| ).
CATCH cx_root INTO lx_error.
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
mi_appl_obj_data->get_data( IMPORTING p_data = eg_data ).
@ -120,7 +120,6 @@ CLASS zcl_abapgit_object_saxx_super IMPLEMENTATION.
lv_object_key TYPE seu_objkey,
lv_objtype TYPE trobjtype.
lv_objname = ms_item-obj_name.
lv_object_key = ms_item-obj_name.
lv_objtype = ms_item-obj_type.
@ -167,16 +166,9 @@ CLASS zcl_abapgit_object_saxx_super IMPLEMENTATION.
<lg_header> TYPE any,
<lg_changed_by> TYPE any.
create_channel_objects( ).
TRY.
CREATE DATA lr_data TYPE (mv_data_structure_name).
ASSIGN lr_data->* TO <lg_data>.
CATCH cx_root.
zcx_abapgit_exception=>raise( |{ ms_item-obj_name } not supported| ).
ENDTRY.
get_data( IMPORTING eg_data = <lg_data> ).
ASSIGN COMPONENT 'HEADER' OF STRUCTURE <lg_data> TO <lg_header>.
@ -197,8 +189,6 @@ CLASS zcl_abapgit_object_saxx_super IMPLEMENTATION.
DATA: lv_object_key TYPE seu_objkey.
create_channel_objects( ).
lv_object_key = ms_item-obj_name.
TRY.
@ -223,16 +213,9 @@ CLASS zcl_abapgit_object_saxx_super IMPLEMENTATION.
FIELD-SYMBOLS: <lg_data> TYPE any.
create_channel_objects( ).
TRY.
CREATE DATA lr_data TYPE (mv_data_structure_name).
ASSIGN lr_data->* TO <lg_data>.
CATCH cx_root.
zcx_abapgit_exception=>raise( |{ ms_item-obj_type } not supported| ).
ENDTRY.
io_xml->read(
EXPORTING
iv_name = ms_item-obj_type
@ -266,8 +249,6 @@ CLASS zcl_abapgit_object_saxx_super IMPLEMENTATION.
DATA: lv_object_key TYPE seu_objkey.
create_channel_objects( ).
lv_object_key = ms_item-obj_name.
TRY.
@ -340,16 +321,9 @@ CLASS zcl_abapgit_object_saxx_super IMPLEMENTATION.
<lg_header> TYPE any,
<lg_field> TYPE any.
create_channel_objects( ).
TRY.
CREATE DATA lr_data TYPE (mv_data_structure_name).
ASSIGN lr_data->* TO <lg_data>.
CATCH cx_root.
zcx_abapgit_exception=>raise( |{ ms_item-obj_type } not supported| ).
ENDTRY.
get_data( IMPORTING eg_data = <lg_data> ).
ASSIGN COMPONENT 'HEADER' OF STRUCTURE <lg_data> TO <lg_header>.

View File

@ -193,6 +193,9 @@ CLASS zcl_abapgit_object_scvi IMPLEMENTATION.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
SORT ls_screen_variant-shdsvfvci ASCENDING.
SORT ls_screen_variant-shdguixt ASCENDING.
* Clear all user details
CLEAR: ls_screen_variant-shdsvci-crdate,
ls_screen_variant-shdsvci-cruser,

View File

@ -15,7 +15,7 @@ CLASS zcl_abapgit_object_sktd DEFINITION
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -161,7 +161,7 @@ CLASS zcl_abapgit_object_sktd IMPLEMENTATION.
CREATE OBJECT mi_persistence TYPE ('CL_KTD_OBJECT_PERSIST').
CATCH cx_sy_create_error.
zcx_abapgit_exception=>raise( |SKTD not supported by your NW release| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.

View File

@ -67,9 +67,8 @@ CLASS zcl_abapgit_object_smtg IMPLEMENTATION.
EXCEPTIONS
type_not_found = 1
OTHERS = 2 ).
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( |SMTG not supported| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = ms_item-obj_type.
ENDIF.
ls_component-name = iv_fielname.

View File

@ -15,7 +15,7 @@ CLASS zcl_abapgit_object_sod1 DEFINITION
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -191,7 +191,7 @@ CLASS zcl_abapgit_object_sod1 IMPLEMENTATION.
TRY.
CREATE OBJECT lo_data_model TYPE (c_data_model_class_name).
CATCH cx_root.
zcx_abapgit_exception=>raise( |Object type { is_item-obj_type } is not supported by this system| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.

View File

@ -15,7 +15,7 @@ CLASS zcl_abapgit_object_sod2 DEFINITION
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -191,7 +191,7 @@ CLASS zcl_abapgit_object_sod2 IMPLEMENTATION.
TRY.
CREATE OBJECT lo_data_model TYPE (c_data_model_class_name).
CATCH cx_root.
zcx_abapgit_exception=>raise( |Object type { is_item-obj_type } is not supported by this system| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.

View File

@ -14,7 +14,7 @@ CLASS zcl_abapgit_object_sqsc DEFINITION
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -134,7 +134,7 @@ CLASS zcl_abapgit_object_sqsc IMPLEMENTATION.
ASSERT sy-subrc = 0.
CATCH cx_root.
zcx_abapgit_exception=>raise( |SQSC not supported| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
<lv_dbproxyname> = ms_item-obj_name.

View File

@ -15,7 +15,7 @@ CLASS zcl_abapgit_object_srfc DEFINITION
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -39,7 +39,7 @@ CLASS zcl_abapgit_object_srfc IMPLEMENTATION.
TRY.
CREATE OBJECT li_srfc_persist TYPE ('CL_UCONRFC_OBJECT_PERSIST').
CATCH cx_root.
zcx_abapgit_exception=>raise( 'Object type SRFC is not supported by this system' ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.

View File

@ -10,7 +10,7 @@ CLASS zcl_abapgit_object_srvb DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
PRIVATE SECTION.
@ -159,7 +159,7 @@ CLASS zcl_abapgit_object_srvb IMPLEMENTATION.
CREATE OBJECT mi_persistence TYPE ('CL_SRVB_OBJECT_PERSIST').
CATCH cx_sy_create_error.
zcx_abapgit_exception=>raise( |SRVB not supported by your NW release| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
mv_is_inactive_supported = is_ai_supported( ).

View File

@ -10,7 +10,7 @@ CLASS zcl_abapgit_object_srvd DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_exception.
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
@ -158,7 +158,7 @@ CLASS zcl_abapgit_object_srvd IMPLEMENTATION.
CREATE DATA mr_service_definition TYPE ('CL_SRVD_WB_OBJECT_DATA=>TY_SRVD_OBJECT_DATA').
CATCH cx_sy_create_error.
zcx_abapgit_exception=>raise( |SRVD not supported by your NW release| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.

View File

@ -197,6 +197,9 @@ CLASS zcl_abapgit_object_stvi IMPLEMENTATION.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
SORT ls_transaction_variant-shdtvsvciu ASCENDING.
SORT ls_transaction_variant-shdfvguicu ASCENDING.
* Clear all user details
CLEAR: ls_transaction_variant-shdtvciu-crdate,
ls_transaction_variant-shdtvciu-cruser,

View File

@ -88,7 +88,7 @@ CLASS zcl_abapgit_object_sush IMPLEMENTATION.
CREATE DATA lr_data_head TYPE ('IF_SU22_ADT_OBJECT=>TS_SU2X_HEAD').
CATCH cx_sy_create_data_error.
zcx_abapgit_exception=>raise( |SUSH is not supported in your SAP release| ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ENDMETHOD.

View File

@ -7,6 +7,14 @@ CLASS zcl_abapgit_object_wdcc DEFINITION
PUBLIC SECTION.
INTERFACES zif_abapgit_object .
METHODS constructor
IMPORTING
is_item TYPE zif_abapgit_definitions=>ty_item
iv_language TYPE spras
io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
zcx_abapgit_type_not_supported.
PROTECTED SECTION.
METHODS after_import
RAISING
@ -18,6 +26,27 @@ ENDCLASS.
CLASS zcl_abapgit_object_wdcc IMPLEMENTATION.
METHOD constructor.
DATA:
ls_orig_config TYPE wdy_config_data.
FIELD-SYMBOLS:
<lv_data> TYPE data.
super->constructor(
is_item = is_item
iv_language = iv_language
io_files = io_files
io_i18n_params = io_i18n_params ).
ASSIGN COMPONENT 'CONFIG_IDPAR' OF STRUCTURE ls_orig_config TO <lv_data>.
IF sy-subrc <> 0.
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDIF.
ENDMETHOD.
METHOD zif_abapgit_object~changed_by.
@ -51,7 +80,6 @@ CLASS zcl_abapgit_object_wdcc IMPLEMENTATION.
ls_config_key-config_type = ms_item-obj_name+32(2).
ls_config_key-config_var = ms_item-obj_name+34(6).
TRY.
" does not exist in 702
CALL METHOD cl_wdr_cfg_persistence_utils=>('DELETE_CONFIGURATION')
EXPORTING
@ -61,9 +89,6 @@ CLASS zcl_abapgit_object_wdcc IMPLEMENTATION.
IF lv_subrc <> 0.
zcx_abapgit_exception=>raise( 'Error deleting WDCC: ' && ms_item-obj_name ).
ENDIF.
CATCH cx_root.
zcx_abapgit_exception=>raise( 'Object type WDCC not supported for this release' ).
ENDTRY.
corr_insert( iv_package ).
@ -100,10 +125,6 @@ CLASS zcl_abapgit_object_wdcc IMPLEMENTATION.
IF sy-subrc = 0.
io_xml->read( EXPORTING iv_name = 'CONFIG_IDPAR'
CHANGING cg_data = <lv_data> ).
ELSE.
ii_log->add_error( iv_msg = |Object type WDCC not supported for this release|
is_item = ms_item ).
RETURN.
ENDIF.
ASSIGN COMPONENT 'CONFIG_TYPEPAR' OF STRUCTURE ls_orig_config TO <lv_data>.
@ -386,8 +407,6 @@ CLASS zcl_abapgit_object_wdcc IMPLEMENTATION.
CATCH cx_static_check.
zcx_abapgit_exception=>raise( 'Error Reading Component Config from DB: ' && ms_item-obj_name ).
CATCH cx_root.
zcx_abapgit_exception=>raise( 'Object type WDCC not supported for this release' ).
ENDTRY.
io_xml->add( iv_name = 'CONFIG_ID'

View File

@ -177,7 +177,7 @@ CLASS zcl_abapgit_objects DEFINITION
RETURNING
VALUE(ri_obj) TYPE REF TO zif_abapgit_object
RAISING
zcx_abapgit_exception .
zcx_abapgit_type_not_supported .
CLASS-METHODS map_tadir_to_items
IMPORTING
@ -462,8 +462,7 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
METHOD create_object.
DATA: lv_message TYPE string,
lv_class_name TYPE string,
DATA: lv_class_name TYPE string,
ls_obj_serializer_map LIKE LINE OF gt_obj_serializer_map.
" serialize & deserialize require files and i18n parameters,
@ -510,8 +509,11 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
iv_language = zif_abapgit_definitions=>c_english.
ENDIF.
CATCH cx_sy_create_object_error.
lv_message = |Object type { is_item-obj_type } is not supported by this system|.
IF iv_native_only = abap_false.
IF iv_native_only = abap_true.
" No native support? -> fail
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDIF.
TRY. " 2nd step, try looking for plugins
IF io_files IS BOUND AND io_i18n_params IS BOUND.
CREATE OBJECT ri_obj TYPE zcl_abapgit_objects_bridge
@ -525,11 +527,8 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
is_item = is_item.
ENDIF.
CATCH cx_sy_create_object_error.
zcx_abapgit_exception=>raise( lv_message ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDTRY.
ELSE. " No native support? -> fail
zcx_abapgit_exception=>raise( lv_message ).
ENDIF.
ENDTRY.
ENDMETHOD.
@ -1084,7 +1083,7 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
is_item = is_item
iv_native_only = iv_native_only ).
rv_bool = abap_true.
CATCH zcx_abapgit_exception.
CATCH zcx_abapgit_type_not_supported.
rv_bool = abap_false.
ENDTRY.

View File

@ -8,8 +8,7 @@ CLASS zcl_abapgit_objects_bridge DEFINITION PUBLIC FINAL CREATE PUBLIC INHERITIN
!io_files TYPE REF TO zcl_abapgit_objects_files OPTIONAL
!io_i18n_params TYPE REF TO zcl_abapgit_i18n_params OPTIONAL
RAISING
cx_sy_create_object_error
zcx_abapgit_exception.
cx_sy_create_object_error.
INTERFACES zif_abapgit_object.
PROTECTED SECTION.

View File

@ -225,7 +225,7 @@ CLASS zcl_abapgit_objects_generic IMPLEMENTATION.
WHERE objectname = is_item-obj_type
AND objecttype = lc_logical_transport_object.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( 'Not found in OBJH, or not supported' ).
RAISE EXCEPTION TYPE zcx_abapgit_type_not_supported EXPORTING obj_type = is_item-obj_type.
ENDIF.
" object tables

View File

@ -312,9 +312,7 @@ CLASS zcl_abapgit_repo IMPLEMENTATION.
ENDIF.
CREATE OBJECT ri_config TYPE zcl_abapgit_data_config.
mi_data_config = ri_config.
" Assume remote data has been loaded already
READ TABLE mt_remote ASSIGNING <ls_remote>
WITH KEY file_path
COMPONENTS path = zif_abapgit_data_config=>c_default_path.
@ -322,6 +320,12 @@ CLASS zcl_abapgit_repo IMPLEMENTATION.
ri_config->from_json( mt_remote ).
ENDIF.
* offline repos does not have the remote files before the zip is choosen
* so make sure the json is read after zip file is loaded
IF lines( mt_remote ) > 0.
mi_data_config = ri_config.
ENDIF.
ENDMETHOD.

View File

@ -5,7 +5,7 @@
<VSEOCLASS>
<CLSNAME>ZCL_ABAPGIT_GUI_PAGE_TEMPLATE</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>abapGit GUI page template (for copy/paste)</DESCRIPT>
<DESCRIPT>abapGit - GUI Page Template (for copy/paste)</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>

View File

@ -288,6 +288,10 @@ CLASS zcl_abapgit_gui_page_flow IMPLEMENTATION.
iv_txt = zcl_abapgit_gui_buttons=>repo_list( )
iv_act = zif_abapgit_definitions=>c_action-abapgit_home ).
ro_toolbar->add(
iv_txt = 'Back'
iv_act = zif_abapgit_definitions=>c_action-go_back ).
ENDMETHOD.

View File

@ -0,0 +1,51 @@
CLASS zcx_abapgit_type_not_supported DEFINITION
PUBLIC
INHERITING FROM zcx_abapgit_exception
CREATE PUBLIC .
PUBLIC SECTION.
METHODS constructor
IMPORTING
textid LIKE if_t100_message=>t100key OPTIONAL
previous LIKE previous OPTIONAL
log TYPE REF TO zif_abapgit_log OPTIONAL
msgv1 TYPE symsgv OPTIONAL
msgv2 TYPE symsgv OPTIONAL
msgv3 TYPE symsgv OPTIONAL
msgv4 TYPE symsgv OPTIONAL
longtext TYPE csequence OPTIONAL
obj_type TYPE trobjtype.
METHODS get_text REDEFINITION.
PROTECTED SECTION.
PRIVATE SECTION.
DATA mv_obj_type TYPE trobjtype.
ENDCLASS.
CLASS zcx_abapgit_type_not_supported IMPLEMENTATION.
METHOD constructor ##ADT_SUPPRESS_GENERATION.
super->constructor(
textid = textid
previous = previous
log = log
msgv1 = msgv1
msgv2 = msgv2
msgv3 = msgv3
msgv4 = msgv4
longtext = longtext ).
mv_obj_type = obj_type.
ENDMETHOD.
METHOD get_text.
result = |Object type { mv_obj_type } is not supported by this system|.
ENDMETHOD.
ENDCLASS.

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCX_ABAPGIT_TYPE_NOT_SUPPORTED</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>abapGit - Object Type Not Supported</DESCRIPT>
<CATEGORY>40</CATEGORY>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -20,9 +20,6 @@ CLASS zcl_abapgit_web DEFINITION
CLASS-DATA gi_request TYPE REF TO zif_abapgit_web_request.
CLASS-DATA gi_response TYPE REF TO zif_abapgit_web_response.
CLASS-METHODS initialize
RAISING
zcx_abapgit_exception.
CLASS-METHODS sapevent.
CLASS-METHODS redirect.
CLASS-METHODS search_asset
@ -46,7 +43,15 @@ CLASS zcl_abapgit_web IMPLEMENTATION.
gi_response = ii_response.
IF go_viewer IS INITIAL.
initialize( ).
zcl_abapgit_web_setup=>setup( ).
CREATE OBJECT go_viewer
EXPORTING
ii_request = ii_request
ii_response = ii_response.
zcl_abapgit_ui_core_injector=>set_html_viewer( go_viewer ).
go_gui = zcl_abapgit_ui_factory=>get_gui( ).
ENDIF.
lv_found = search_asset( ).
@ -70,32 +75,6 @@ CLASS zcl_abapgit_web IMPLEMENTATION.
ENDMETHOD.
METHOD initialize.
DATA lo_environment TYPE REF TO zcl_abapgit_web_environment.
DATA lo_cts_api TYPE REF TO zcl_abapgit_web_cts_api.
zcl_abapgit_web_inject_fm=>inject( ).
CREATE OBJECT lo_environment.
zcl_abapgit_injector=>set_environment( lo_environment ).
CREATE OBJECT lo_cts_api.
zcl_abapgit_injector=>set_cts_api( lo_cts_api ).
CREATE OBJECT go_viewer
EXPORTING
ii_request = gi_request
ii_response = gi_response.
zcl_abapgit_ui_core_injector=>set_html_viewer( go_viewer ).
go_gui = zcl_abapgit_ui_factory=>get_gui( ).
ENDMETHOD.
METHOD redirect.
DATA lv_html TYPE string.

View File

@ -21,6 +21,7 @@ CLASS zcl_abapgit_web_inject_fm IMPLEMENTATION.
INSERT 'DEQUEUE_EZABAPGIT' INTO TABLE lt_deps.
INSERT 'SAPGUI_PROGRESS_INDICATOR' INTO TABLE lt_deps.
INSERT 'TR_OBJECT_TABLE' INTO TABLE lt_deps.
INSERT 'SEO_INTERFACE_IMPLEM_GET_ALL' INTO TABLE lt_deps.
li_env = cl_function_test_environment=>create( lt_deps ).
CREATE OBJECT lo_handler.

View File

@ -0,0 +1,27 @@
CLASS zcl_abapgit_web_setup DEFINITION PUBLIC.
PUBLIC SECTION.
CLASS-METHODS setup
RAISING
zcx_abapgit_exception.
ENDCLASS.
CLASS zcl_abapgit_web_setup IMPLEMENTATION.
METHOD setup.
DATA lo_environment TYPE REF TO zcl_abapgit_web_environment.
DATA lo_cts_api TYPE REF TO zcl_abapgit_web_cts_api.
DATA lo_user_record TYPE REF TO zcl_abapgit_web_user_record.
zcl_abapgit_web_inject_fm=>inject( ).
CREATE OBJECT lo_environment.
zcl_abapgit_injector=>set_environment( lo_environment ).
CREATE OBJECT lo_cts_api.
zcl_abapgit_injector=>set_cts_api( lo_cts_api ).
CREATE OBJECT lo_user_record.
zcl_abapgit_env_injector=>set_user_record( lo_user_record ).
ENDMETHOD.
ENDCLASS.

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCL_ABAPGIT_WEB_SETUP</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>ZCL_ABAPGIT_WEB_SETUP</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -0,0 +1,20 @@
CLASS zcl_abapgit_web_user_record DEFINITION PUBLIC.
PUBLIC SECTION.
INTERFACES zif_abapgit_user_record.
ENDCLASS.
CLASS zcl_abapgit_web_user_record IMPLEMENTATION.
METHOD zif_abapgit_user_record~get_name.
RETURN. " todo, implement method
ENDMETHOD.
METHOD zif_abapgit_user_record~get_email.
RETURN. " todo, implement method
ENDMETHOD.
METHOD zif_abapgit_user_record~get_title.
RETURN. " todo, implement method
ENDMETHOD.
ENDCLASS.

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCL_ABAPGIT_WEB_USER_RECORD</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>ZCL_ABAPGIT_WEB_USER_RECORD</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>