fixed change detection

The CHANGED* and CREATED* fields are now cleared properly
This commit is contained in:
Christian Guenter 2017-04-19 20:12:13 +00:00
parent cac36ee010
commit 0e504d5eeb
2 changed files with 61 additions and 5 deletions

View File

@ -81,7 +81,6 @@ CLASS lcl_object_samc IMPLEMENTATION.
METHOD lif_object~get_metadata. METHOD lif_object~get_metadata.
rs_metadata = get_metadata( ). rs_metadata = get_metadata( ).
rs_metadata-ddic = abap_true.
rs_metadata-delete_tadir = abap_true. rs_metadata-delete_tadir = abap_true.
ENDMETHOD. "lif_object~get_metadata. ENDMETHOD. "lif_object~get_metadata.
@ -109,9 +108,11 @@ CLASS lcl_object_samc IMPLEMENTATION.
METHOD lif_object~serialize. METHOD lif_object~serialize.
DATA: lr_data TYPE REF TO data. DATA: lr_data TYPE REF TO data.
FIELD-SYMBOLS: <ls_data> TYPE any. FIELD-SYMBOLS: <ls_data> TYPE any,
<ls_header> TYPE any,
<field> TYPE any.
TRY. TRY.
CREATE DATA lr_data TYPE ('AMC_APPLICATION_COMPLETE'). CREATE DATA lr_data TYPE ('AMC_APPLICATION_COMPLETE').
@ -125,6 +126,33 @@ CLASS lcl_object_samc IMPLEMENTATION.
IMPORTING IMPORTING
p_data = <ls_data> ). p_data = <ls_data> ).
ASSIGN COMPONENT 'HEADER' OF STRUCTURE <ls_data> TO <ls_header>.
ASSERT sy-subrc = 0.
ASSIGN COMPONENT 'CHANGED_ON' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CHANGED_BY' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CHANGED_AT' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CHANGED_CLNT' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CREATED_ON' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CREATED_BY' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CREATED_AT' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CREATED_CLNT' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
io_xml->add( iv_name = 'SAMC' io_xml->add( iv_name = 'SAMC'
ig_data = <ls_data> ). ig_data = <ls_data> ).

View File

@ -81,7 +81,6 @@ CLASS lcl_object_sapc IMPLEMENTATION.
METHOD lif_object~get_metadata. METHOD lif_object~get_metadata.
rs_metadata = get_metadata( ). rs_metadata = get_metadata( ).
rs_metadata-ddic = abap_true.
rs_metadata-delete_tadir = abap_true. rs_metadata-delete_tadir = abap_true.
ENDMETHOD. "lif_object~get_metadata. ENDMETHOD. "lif_object~get_metadata.
@ -111,7 +110,9 @@ CLASS lcl_object_sapc IMPLEMENTATION.
DATA: lr_data TYPE REF TO data. DATA: lr_data TYPE REF TO data.
FIELD-SYMBOLS: <ls_data> TYPE any. FIELD-SYMBOLS: <ls_data> TYPE any,
<ls_header> TYPE any,
<field> TYPE any.
TRY. TRY.
CREATE DATA lr_data TYPE ('APC_APPLICATION_COMPLETE'). CREATE DATA lr_data TYPE ('APC_APPLICATION_COMPLETE').
@ -125,6 +126,33 @@ CLASS lcl_object_sapc IMPLEMENTATION.
IMPORTING IMPORTING
p_data = <ls_data> ). p_data = <ls_data> ).
ASSIGN COMPONENT 'HEADER' OF STRUCTURE <ls_data> TO <ls_header>.
ASSERT sy-subrc = 0.
ASSIGN COMPONENT 'CHANGED_ON' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CHANGED_BY' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CHANGED_AT' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CHANGED_CLNT' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CREATED_ON' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CREATED_BY' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CREATED_AT' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
ASSIGN COMPONENT 'CREATED_CLNT' OF STRUCTURE <ls_header> TO <field>.
ASSERT sy-subrc = 0. CLEAR <field>.
io_xml->add( iv_name = 'SAPC' io_xml->add( iv_name = 'SAPC'
ig_data = <ls_data> ). ig_data = <ls_data> ).