From f41de747d1c381f95089430a0bbee5dfbf685e5f Mon Sep 17 00:00:00 2001 From: Christian Guenter Date: Mon, 17 Apr 2017 12:42:50 +0000 Subject: [PATCH 1/4] Issue 715: AMC and APC support added --- src/zabapgit_object_samc.prog.abap | 339 ++++++++++++++++++++++ src/zabapgit_object_samc.prog.xml | 22 ++ src/zabapgit_object_sapc.prog.abap | 339 ++++++++++++++++++++++ src/zabapgit_object_sapc.prog.xml | 22 ++ src/zabapgit_object_serializing.prog.abap | 2 + 5 files changed, 724 insertions(+) create mode 100644 src/zabapgit_object_samc.prog.abap create mode 100644 src/zabapgit_object_samc.prog.xml create mode 100644 src/zabapgit_object_sapc.prog.abap create mode 100644 src/zabapgit_object_sapc.prog.xml diff --git a/src/zabapgit_object_samc.prog.abap b/src/zabapgit_object_samc.prog.abap new file mode 100644 index 000000000..8446e4004 --- /dev/null +++ b/src/zabapgit_object_samc.prog.abap @@ -0,0 +1,339 @@ +*&---------------------------------------------------------------------* +*& Include ZABAPGIT_OBJECT_SAMC +*&---------------------------------------------------------------------* + +CLASS lcl_object_samc DEFINITION INHERITING FROM lcl_objects_super FINAL. + + PUBLIC SECTION. + INTERFACES lif_object. + + PRIVATE SECTION. + DATA: mo_persistence TYPE REF TO if_wb_object_persist, + mo_amc_appl_obj_data TYPE REF TO if_wb_object_data_model. + + METHODS: + get_data_object + RETURNING + VALUE(ro_amc_appl_obj_data) TYPE REF TO if_wb_object_data_model + RAISING + lcx_exception, + + get_persistence + RETURNING + VALUE(ro_persistence) TYPE REF TO if_wb_object_persist + RAISING + lcx_exception, + + get_data + EXPORTING + p_data TYPE any + RAISING + lcx_exception, + + lock + RAISING + lcx_exception, + + unlock + RAISING + lcx_exception. + +ENDCLASS. "lcl_object_samc DEFINITION + +*----------------------------------------------------------------------* +* CLASS lcl_object_samc IMPLEMENTATION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* +CLASS lcl_object_samc IMPLEMENTATION. + + METHOD lif_object~has_changed_since. + rv_changed = abap_true. + ENDMETHOD. "lif_object~has_changed_since + + METHOD lif_object~changed_by. + + DATA: lr_data TYPE REF TO data. + FIELD-SYMBOLS: TYPE any, + TYPE any, + TYPE any. + + TRY. + CREATE DATA lr_data TYPE ('AMC_APPLICATION_COMPLETE'). + ASSIGN lr_data->* TO . + + CATCH cx_root. + lcx_exception=>raise( 'SAMC not supported' ). + ENDTRY. + + get_data( + IMPORTING + p_data = ). + + ASSIGN COMPONENT 'HEADER' OF STRUCTURE TO . + ASSERT sy-subrc = 0. + ASSIGN COMPONENT 'CHANGED_BY' OF STRUCTURE TO . + ASSERT sy-subrc = 0. + + rv_user = . + + ENDMETHOD. + + METHOD lif_object~get_metadata. + rs_metadata = get_metadata( ). + rs_metadata-ddic = abap_true. + rs_metadata-delete_tadir = abap_true. + ENDMETHOD. "lif_object~get_metadata. + + METHOD lif_object~exists. + + DATA: ls_tadir TYPE tadir. + + ls_tadir = lcl_tadir=>read_single( + iv_object = ms_item-obj_type + iv_obj_name = ms_item-obj_name ). + IF ls_tadir IS INITIAL. + RETURN. + ENDIF. + + TRY. + get_data_object( ). + + CATCH lcx_exception. + RETURN. + ENDTRY. + + rv_bool = abap_true. + + ENDMETHOD. "lif_object~exists + + METHOD lif_object~serialize. + + DATA: lr_data TYPE REF TO data. + + FIELD-SYMBOLS: TYPE any. + + TRY. + CREATE DATA lr_data TYPE ('AMC_APPLICATION_COMPLETE'). + ASSIGN lr_data->* TO . + + CATCH cx_root. + lcx_exception=>raise( 'SAMC not supported' ). + ENDTRY. + + get_data( + IMPORTING + p_data = ). + + io_xml->add( iv_name = 'SAMC' + ig_data = ). + + ENDMETHOD. "serialize + + METHOD lif_object~deserialize. + + DATA: error TYPE REF TO cx_swb_exception, + appl_obj_data TYPE REF TO if_wb_object_data_model, + lr_data TYPE REF TO data. + + FIELD-SYMBOLS: TYPE any. + + TRY. + CREATE DATA lr_data TYPE ('AMC_APPLICATION_COMPLETE'). + ASSIGN lr_data->* TO . + + CATCH cx_root. + lcx_exception=>raise( 'SAMC not supported' ). + ENDTRY. + + io_xml->read( + EXPORTING + iv_name = 'SAMC' + CHANGING + cg_data = ). + + IF lif_object~exists( ) = abap_true . + lif_object~delete( ). + ENDIF. + + appl_obj_data = get_data_object( ). + + TRY. + lock( ). + + CALL FUNCTION 'RS_CORR_INSERT' + EXPORTING + object = ms_item-obj_name + object_class = 'SAMC' + mode = 'I' + global_lock = abap_true + devclass = iv_package + master_language = mv_language + EXCEPTIONS + cancelled = 1 + permission_failure = 2 + unknown_objectclass = 3 + OTHERS = 4. + + IF sy-subrc <> 0. + lcx_exception=>raise( 'Error occured while creating SAMC' ). + ENDIF. + + appl_obj_data->set_data( ). + + get_persistence( )->save( + EXPORTING + p_object_data = appl_obj_data ). + + unlock( ). + + CATCH cx_swb_exception INTO error. + lcx_exception=>raise( 'Error occured while creating SAMC' ). + ENDTRY. + + ENDMETHOD. "deserialize + + METHOD lif_object~delete. + + DATA: object_key TYPE seu_objkey, + error TYPE REF TO cx_swb_exception. + + object_key = ms_item-obj_name. + + TRY. + lock( ). + + get_persistence( )->delete( + EXPORTING + p_object_key = object_key ). + + unlock( ). + + CATCH cx_swb_exception INTO error. + lcx_exception=>raise( 'Error occured while deleting SAMC' ). + ENDTRY. + + ENDMETHOD. "delete + + METHOD lif_object~jump. + + CALL FUNCTION 'RS_TOOL_ACCESS' + EXPORTING + operation = 'SHOW' + object_name = ms_item-obj_name + object_type = ms_item-obj_type. + + ENDMETHOD. "jump + + METHOD lif_object~compare_to_remote_version. + + CREATE OBJECT ro_comparison_result TYPE lcl_null_comparison_result. + + ENDMETHOD. + + METHOD get_data_object. + + IF mo_amc_appl_obj_data IS NOT BOUND. + + TRY. + CREATE OBJECT mo_amc_appl_obj_data TYPE ('CL_AMC_APPLICATION_OBJ_DATA'). + + CATCH cx_root. + lcx_exception=>raise( 'SAMC not supported' ). + ENDTRY. + + ENDIF. + + ro_amc_appl_obj_data = mo_amc_appl_obj_data. + + ENDMETHOD. + + + METHOD get_persistence. + + IF mo_persistence IS NOT BOUND. + + TRY. + CREATE OBJECT mo_persistence TYPE ('CL_AMC_APPLICATION_OBJ_PERS'). + + CATCH cx_root. + lcx_exception=>raise( 'SAMC not supported' ). + ENDTRY. + + ENDIF. + + ro_persistence = mo_persistence. + + ENDMETHOD. + + + METHOD lock. + + DATA: objname TYPE trobj_name, + object_key TYPE seu_objkey, + objtype TYPE trobjtype. + + objname = ms_item-obj_name. + object_key = ms_item-obj_name. + objtype = ms_item-obj_type. + + get_persistence( )->lock( + EXPORTING + p_objname_tr = objname + p_object_key = object_key + p_objtype_tr = objtype + EXCEPTIONS + foreign_lock = 1 + error_occurred = 2 + OTHERS = 3 ). + + IF sy-subrc <> 0. + lcx_exception=>raise( `Error occured while locking SAMC ` && objname ). + ENDIF. + + ENDMETHOD. + + METHOD unlock. + + DATA: objname TYPE trobj_name, + object_key TYPE seu_objkey, + objtype TYPE trobjtype. + + objname = ms_item-obj_name. + object_key = ms_item-obj_name. + objtype = ms_item-obj_type. + + get_persistence( )->unlock( + EXPORTING + p_objname_tr = objname + p_object_key = object_key + p_objtype_tr = objtype ). + + ENDMETHOD. + + METHOD get_data. + + DATA: object_key TYPE seu_objkey. + + object_key = ms_item-obj_name. + + TRY. + get_persistence( )->get( + EXPORTING + p_object_key = object_key + p_version = 'A' + CHANGING + p_object_data = mo_amc_appl_obj_data ). + + CATCH cx_root. + lcx_exception=>raise( 'SAMC error' ). + ENDTRY. + + mo_amc_appl_obj_data->get_data( + IMPORTING + p_data = p_data ). + + ENDMETHOD. + + +ENDCLASS. "lcl_object_samc IMPLEMENTATION diff --git a/src/zabapgit_object_samc.prog.xml b/src/zabapgit_object_samc.prog.xml new file mode 100644 index 000000000..861bd3b6b --- /dev/null +++ b/src/zabapgit_object_samc.prog.xml @@ -0,0 +1,22 @@ + + + + + + ZABAPGIT_OBJECT_SAMC + A + X + I + E + X + + + + R + Include ZABAPGIT_OBJECT_SAMC + 28 + + + + + diff --git a/src/zabapgit_object_sapc.prog.abap b/src/zabapgit_object_sapc.prog.abap new file mode 100644 index 000000000..a6c1891bd --- /dev/null +++ b/src/zabapgit_object_sapc.prog.abap @@ -0,0 +1,339 @@ +*&---------------------------------------------------------------------* +*& Include ZABAPGIT_OBJECT_SAPC +*&---------------------------------------------------------------------* + +CLASS lcl_object_sapc DEFINITION INHERITING FROM lcl_objects_super FINAL. + + PUBLIC SECTION. + INTERFACES lif_object. + + PRIVATE SECTION. + DATA: mo_persistence TYPE REF TO if_wb_object_persist, + mo_apc_appl_obj_data TYPE REF TO if_wb_object_data_model. + + METHODS: + get_data_object + RETURNING + VALUE(ro_apc_appl_obj_data) TYPE REF TO if_wb_object_data_model + RAISING + lcx_exception, + + get_persistence + RETURNING + VALUE(ro_persistence) TYPE REF TO if_wb_object_persist + RAISING + lcx_exception, + + get_data + EXPORTING + p_data TYPE any + RAISING + lcx_exception, + + lock + RAISING + lcx_exception, + + unlock + RAISING + lcx_exception. + +ENDCLASS. "lcl_object_sAPC DEFINITION + +*----------------------------------------------------------------------* +* CLASS lcl_object_sapc IMPLEMENTATION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* +CLASS lcl_object_sapc IMPLEMENTATION. + + METHOD lif_object~has_changed_since. + rv_changed = abap_true. + ENDMETHOD. "lif_object~has_changed_since + + METHOD lif_object~changed_by. + + DATA: lr_data TYPE REF TO data. + FIELD-SYMBOLS: TYPE any, + TYPE any, + TYPE any. + + TRY. + CREATE DATA lr_data TYPE ('APC_APPLICATION_COMPLETE'). + ASSIGN lr_data->* TO . + + CATCH cx_root. + lcx_exception=>raise( 'SAPC not supported' ). + ENDTRY. + + get_data( + IMPORTING + p_data = ). + + ASSIGN COMPONENT 'HEADER' OF STRUCTURE TO . + ASSERT sy-subrc = 0. + ASSIGN COMPONENT 'CHANGED_BY' OF STRUCTURE TO . + ASSERT sy-subrc = 0. + + rv_user = . + + ENDMETHOD. + + METHOD lif_object~get_metadata. + rs_metadata = get_metadata( ). + rs_metadata-ddic = abap_true. + rs_metadata-delete_tadir = abap_true. + ENDMETHOD. "lif_object~get_metadata. + + METHOD lif_object~exists. + + DATA: ls_tadir TYPE tadir. + + ls_tadir = lcl_tadir=>read_single( + iv_object = ms_item-obj_type + iv_obj_name = ms_item-obj_name ). + IF ls_tadir IS INITIAL. + RETURN. + ENDIF. + + TRY. + get_data_object( ). + + CATCH lcx_exception. + RETURN. + ENDTRY. + + rv_bool = abap_true. + + ENDMETHOD. "lif_object~exists + + METHOD lif_object~serialize. + + DATA: lr_data TYPE REF TO data. + + FIELD-SYMBOLS: TYPE any. + + TRY. + CREATE DATA lr_data TYPE ('APC_APPLICATION_COMPLETE'). + ASSIGN lr_data->* TO . + + CATCH cx_root. + lcx_exception=>raise( 'SAPC not supported' ). + ENDTRY. + + get_data( + IMPORTING + p_data = ). + + io_xml->add( iv_name = 'SAPC' + ig_data = ). + + ENDMETHOD. "serialize + + METHOD lif_object~deserialize. + + DATA: error TYPE REF TO cx_swb_exception, + appl_obj_data TYPE REF TO if_wb_object_data_model, + lr_data TYPE REF TO data. + + FIELD-SYMBOLS: TYPE any. + + TRY. + CREATE DATA lr_data TYPE ('APC_APPLICATION_COMPLETE'). + ASSIGN lr_data->* TO . + + CATCH cx_root. + lcx_exception=>raise( 'SAPC not supported' ). + ENDTRY. + + io_xml->read( + EXPORTING + iv_name = 'SAPC' + CHANGING + cg_data = ). + + IF lif_object~exists( ) = abap_true . + lif_object~delete( ). + ENDIF. + + appl_obj_data = get_data_object( ). + + TRY. + lock( ). + + CALL FUNCTION 'RS_CORR_INSERT' + EXPORTING + object = ms_item-obj_name + object_class = 'SAPC' + mode = 'I' + global_lock = abap_true + devclass = iv_package + master_language = mv_language + EXCEPTIONS + cancelled = 1 + permission_failure = 2 + unknown_objectclass = 3 + OTHERS = 4. + + IF sy-subrc <> 0. + lcx_exception=>raise( 'Error occured while creating SAPC' ). + ENDIF. + + appl_obj_data->set_data( ). + + get_persistence( )->save( + EXPORTING + p_object_data = appl_obj_data ). + + unlock( ). + + CATCH cx_swb_exception INTO error. + lcx_exception=>raise( 'Error occured while creating SAPC' ). + ENDTRY. + + ENDMETHOD. "deserialize + + METHOD lif_object~delete. + + DATA: object_key TYPE seu_objkey, + error TYPE REF TO cx_swb_exception. + + object_key = ms_item-obj_name. + + TRY. + lock( ). + + get_persistence( )->delete( + EXPORTING + p_object_key = object_key ). + + unlock( ). + + CATCH cx_swb_exception INTO error. + lcx_exception=>raise( 'Error occured while deleting SAPC' ). + ENDTRY. + + ENDMETHOD. "delete + + METHOD lif_object~jump. + + CALL FUNCTION 'RS_TOOL_ACCESS' + EXPORTING + operation = 'SHOW' + object_name = ms_item-obj_name + object_type = ms_item-obj_type. + + ENDMETHOD. "jump + + METHOD lif_object~compare_to_remote_version. + + CREATE OBJECT ro_comparison_result TYPE lcl_null_comparison_result. + + ENDMETHOD. + + METHOD get_data_object. + + IF mo_apc_appl_obj_data IS NOT BOUND. + + TRY. + CREATE OBJECT mo_apc_appl_obj_data TYPE ('CL_APC_APPLICATION_OBJ_DATA'). + + CATCH cx_root. + lcx_exception=>raise( 'SAPC not supported' ). + ENDTRY. + + ENDIF. + + ro_apc_appl_obj_data = mo_apc_appl_obj_data. + + ENDMETHOD. + + + METHOD get_persistence. + + IF mo_persistence IS NOT BOUND. + + TRY. + CREATE OBJECT mo_persistence TYPE ('CL_APC_APPLICATION_OBJ_PERS'). + + CATCH cx_root. + lcx_exception=>raise( 'SAPC not supported' ). + ENDTRY. + + ENDIF. + + ro_persistence = mo_persistence. + + ENDMETHOD. + + + METHOD lock. + + DATA: objname TYPE trobj_name, + object_key TYPE seu_objkey, + objtype TYPE trobjtype. + + objname = ms_item-obj_name. + object_key = ms_item-obj_name. + objtype = ms_item-obj_type. + + get_persistence( )->lock( + EXPORTING + p_objname_tr = objname + p_object_key = object_key + p_objtype_tr = objtype + EXCEPTIONS + foreign_lock = 1 + error_occurred = 2 + OTHERS = 3 ). + + IF sy-subrc <> 0. + lcx_exception=>raise( `Error occured while locking SAPC ` && objname ). + ENDIF. + + ENDMETHOD. + + METHOD unlock. + + DATA: objname TYPE trobj_name, + object_key TYPE seu_objkey, + objtype TYPE trobjtype. + + objname = ms_item-obj_name. + object_key = ms_item-obj_name. + objtype = ms_item-obj_type. + + get_persistence( )->unlock( + EXPORTING + p_objname_tr = objname + p_object_key = object_key + p_objtype_tr = objtype ). + + ENDMETHOD. + + METHOD get_data. + + DATA: object_key TYPE seu_objkey. + + object_key = ms_item-obj_name. + + TRY. + get_persistence( )->get( + EXPORTING + p_object_key = object_key + p_version = 'A' + CHANGING + p_object_data = mo_apc_appl_obj_data ). + + CATCH cx_root. + lcx_exception=>raise( 'SAPC error' ). + ENDTRY. + + mo_apc_appl_obj_data->get_data( + IMPORTING + p_data = p_data ). + + ENDMETHOD. + + +ENDCLASS. "lcl_object_sAPC IMPLEMENTATION diff --git a/src/zabapgit_object_sapc.prog.xml b/src/zabapgit_object_sapc.prog.xml new file mode 100644 index 000000000..061aed07b --- /dev/null +++ b/src/zabapgit_object_sapc.prog.xml @@ -0,0 +1,22 @@ + + + + + + ZABAPGIT_OBJECT_SAPC + A + X + I + E + X + + + + R + Include ZABAPGIT_OBJECT_SAPC + 28 + + + + + diff --git a/src/zabapgit_object_serializing.prog.abap b/src/zabapgit_object_serializing.prog.abap index c03e7ba86..7c8aa5f11 100644 --- a/src/zabapgit_object_serializing.prog.abap +++ b/src/zabapgit_object_serializing.prog.abap @@ -27,6 +27,8 @@ INCLUDE zabapgit_object_nrob. INCLUDE zabapgit_object_para. INCLUDE zabapgit_object_pinf. INCLUDE zabapgit_object_prog. +INCLUDE zabapgit_object_samc. +INCLUDE zabapgit_object_sapc. INCLUDE zabapgit_object_sfbf. INCLUDE zabapgit_object_sfbs. INCLUDE zabapgit_object_sfpf. From cac36ee010fd3c961006f0abfb5ca66026e1346e Mon Sep 17 00:00:00 2001 From: Christian Guenter Date: Mon, 17 Apr 2017 12:50:08 +0000 Subject: [PATCH 2/4] fixed linter errors --- src/zabapgit_object_samc.prog.abap | 16 +++++----------- src/zabapgit_object_sapc.prog.abap | 16 +++++----------- 2 files changed, 10 insertions(+), 22 deletions(-) diff --git a/src/zabapgit_object_samc.prog.abap b/src/zabapgit_object_samc.prog.abap index 8446e4004..c8f8a85fa 100644 --- a/src/zabapgit_object_samc.prog.abap +++ b/src/zabapgit_object_samc.prog.abap @@ -181,9 +181,7 @@ CLASS lcl_object_samc IMPLEMENTATION. appl_obj_data->set_data( ). - get_persistence( )->save( - EXPORTING - p_object_data = appl_obj_data ). + get_persistence( )->save( p_object_data = appl_obj_data ). unlock( ). @@ -203,9 +201,7 @@ CLASS lcl_object_samc IMPLEMENTATION. TRY. lock( ). - get_persistence( )->delete( - EXPORTING - p_object_key = object_key ). + get_persistence( )->delete( p_object_key = object_key ). unlock( ). @@ -303,11 +299,9 @@ CLASS lcl_object_samc IMPLEMENTATION. object_key = ms_item-obj_name. objtype = ms_item-obj_type. - get_persistence( )->unlock( - EXPORTING - p_objname_tr = objname - p_object_key = object_key - p_objtype_tr = objtype ). + get_persistence( )->unlock( p_objname_tr = objname + p_object_key = object_key + p_objtype_tr = objtype ). ENDMETHOD. diff --git a/src/zabapgit_object_sapc.prog.abap b/src/zabapgit_object_sapc.prog.abap index a6c1891bd..8082f99ef 100644 --- a/src/zabapgit_object_sapc.prog.abap +++ b/src/zabapgit_object_sapc.prog.abap @@ -181,9 +181,7 @@ CLASS lcl_object_sapc IMPLEMENTATION. appl_obj_data->set_data( ). - get_persistence( )->save( - EXPORTING - p_object_data = appl_obj_data ). + get_persistence( )->save( p_object_data = appl_obj_data ). unlock( ). @@ -203,9 +201,7 @@ CLASS lcl_object_sapc IMPLEMENTATION. TRY. lock( ). - get_persistence( )->delete( - EXPORTING - p_object_key = object_key ). + get_persistence( )->delete( p_object_key = object_key ). unlock( ). @@ -303,11 +299,9 @@ CLASS lcl_object_sapc IMPLEMENTATION. object_key = ms_item-obj_name. objtype = ms_item-obj_type. - get_persistence( )->unlock( - EXPORTING - p_objname_tr = objname - p_object_key = object_key - p_objtype_tr = objtype ). + get_persistence( )->unlock( p_objname_tr = objname + p_object_key = object_key + p_objtype_tr = objtype ). ENDMETHOD. From 0e504d5eeb9e50aca5efc1ecb890883adc14d32b Mon Sep 17 00:00:00 2001 From: Christian Guenter Date: Wed, 19 Apr 2017 20:12:13 +0000 Subject: [PATCH 3/4] fixed change detection The CHANGED* and CREATED* fields are now cleared properly --- src/zabapgit_object_samc.prog.abap | 34 +++++++++++++++++++++++++++--- src/zabapgit_object_sapc.prog.abap | 32 ++++++++++++++++++++++++++-- 2 files changed, 61 insertions(+), 5 deletions(-) diff --git a/src/zabapgit_object_samc.prog.abap b/src/zabapgit_object_samc.prog.abap index c8f8a85fa..beb06fba4 100644 --- a/src/zabapgit_object_samc.prog.abap +++ b/src/zabapgit_object_samc.prog.abap @@ -81,7 +81,6 @@ CLASS lcl_object_samc IMPLEMENTATION. METHOD lif_object~get_metadata. rs_metadata = get_metadata( ). - rs_metadata-ddic = abap_true. rs_metadata-delete_tadir = abap_true. ENDMETHOD. "lif_object~get_metadata. @@ -109,9 +108,11 @@ CLASS lcl_object_samc IMPLEMENTATION. METHOD lif_object~serialize. - DATA: lr_data TYPE REF TO data. + DATA: lr_data TYPE REF TO data. - FIELD-SYMBOLS: TYPE any. + FIELD-SYMBOLS: TYPE any, + TYPE any, + TYPE any. TRY. CREATE DATA lr_data TYPE ('AMC_APPLICATION_COMPLETE'). @@ -125,6 +126,33 @@ CLASS lcl_object_samc IMPLEMENTATION. IMPORTING p_data = ). + ASSIGN COMPONENT 'HEADER' OF STRUCTURE TO . + ASSERT sy-subrc = 0. + + ASSIGN COMPONENT 'CHANGED_ON' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CHANGED_BY' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CHANGED_AT' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CHANGED_CLNT' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CREATED_ON' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CREATED_BY' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CREATED_AT' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CREATED_CLNT' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + io_xml->add( iv_name = 'SAMC' ig_data = ). diff --git a/src/zabapgit_object_sapc.prog.abap b/src/zabapgit_object_sapc.prog.abap index 8082f99ef..3eb838879 100644 --- a/src/zabapgit_object_sapc.prog.abap +++ b/src/zabapgit_object_sapc.prog.abap @@ -81,7 +81,6 @@ CLASS lcl_object_sapc IMPLEMENTATION. METHOD lif_object~get_metadata. rs_metadata = get_metadata( ). - rs_metadata-ddic = abap_true. rs_metadata-delete_tadir = abap_true. ENDMETHOD. "lif_object~get_metadata. @@ -111,7 +110,9 @@ CLASS lcl_object_sapc IMPLEMENTATION. DATA: lr_data TYPE REF TO data. - FIELD-SYMBOLS: TYPE any. + FIELD-SYMBOLS: TYPE any, + TYPE any, + TYPE any. TRY. CREATE DATA lr_data TYPE ('APC_APPLICATION_COMPLETE'). @@ -125,6 +126,33 @@ CLASS lcl_object_sapc IMPLEMENTATION. IMPORTING p_data = ). + ASSIGN COMPONENT 'HEADER' OF STRUCTURE TO . + ASSERT sy-subrc = 0. + + ASSIGN COMPONENT 'CHANGED_ON' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CHANGED_BY' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CHANGED_AT' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CHANGED_CLNT' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CREATED_ON' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CREATED_BY' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CREATED_AT' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + + ASSIGN COMPONENT 'CREATED_CLNT' OF STRUCTURE TO . + ASSERT sy-subrc = 0. CLEAR . + io_xml->add( iv_name = 'SAPC' ig_data = ). From e9cbcb1aade8b6c2e665310e0ea9ed23ab1e8c8a Mon Sep 17 00:00:00 2001 From: Christian Guenter Date: Wed, 19 Apr 2017 20:16:49 +0000 Subject: [PATCH 4/4] fixed linter errors --- src/zabapgit_object_samc.prog.abap | 24 ++++++++++++++++-------- src/zabapgit_object_sapc.prog.abap | 24 ++++++++++++++++-------- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/src/zabapgit_object_samc.prog.abap b/src/zabapgit_object_samc.prog.abap index beb06fba4..c48e2f96e 100644 --- a/src/zabapgit_object_samc.prog.abap +++ b/src/zabapgit_object_samc.prog.abap @@ -130,28 +130,36 @@ CLASS lcl_object_samc IMPLEMENTATION. ASSERT sy-subrc = 0. ASSIGN COMPONENT 'CHANGED_ON' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CHANGED_BY' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CHANGED_AT' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CHANGED_CLNT' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CREATED_ON' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CREATED_BY' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CREATED_AT' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CREATED_CLNT' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . io_xml->add( iv_name = 'SAMC' ig_data = ). diff --git a/src/zabapgit_object_sapc.prog.abap b/src/zabapgit_object_sapc.prog.abap index 3eb838879..925b9d99d 100644 --- a/src/zabapgit_object_sapc.prog.abap +++ b/src/zabapgit_object_sapc.prog.abap @@ -130,28 +130,36 @@ CLASS lcl_object_sapc IMPLEMENTATION. ASSERT sy-subrc = 0. ASSIGN COMPONENT 'CHANGED_ON' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CHANGED_BY' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CHANGED_AT' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CHANGED_CLNT' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CREATED_ON' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CREATED_BY' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CREATED_AT' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . ASSIGN COMPONENT 'CREATED_CLNT' OF STRUCTURE TO . - ASSERT sy-subrc = 0. CLEAR . + ASSERT sy-subrc = 0. + CLEAR . io_xml->add( iv_name = 'SAPC' ig_data = ).