Fix deserialize of TABL with foreign keys (#3945)

Activation of foreign keys now uses with same logic as #3545:
- remove keys during DDIC phase
- add keys during LATE phase

Closes #3867

Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
Marc Bernard 2020-09-27 05:12:15 -04:00 committed by GitHub
parent dc9773bee9
commit b940572f2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -670,12 +670,13 @@ CLASS zcl_abapgit_object_tabl IMPLEMENTATION.
io_xml->read( EXPORTING iv_name = 'DD36M' io_xml->read( EXPORTING iv_name = 'DD36M'
CHANGING cg_data = lt_dd36m ). CHANGING cg_data = lt_dd36m ).
" DDIC Step: Remove referenced to search helps " DDIC Step: Remove references to search helps and foreign keys
IF iv_step = zif_abapgit_object=>gc_step_id-ddic. IF iv_step = zif_abapgit_object=>gc_step_id-ddic.
CLEAR: lt_dd35v, lt_dd36m. CLEAR: lt_dd08v, lt_dd35v, lt_dd36m.
ENDIF. ENDIF.
IF iv_step = zif_abapgit_object=>gc_step_id-late AND lv_refs = abap_false AND lines( lt_dd35v ) = 0. IF iv_step = zif_abapgit_object=>gc_step_id-late AND lv_refs = abap_false
AND lines( lt_dd35v ) = 0 AND lines( lt_dd08v ) = 0.
RETURN. " already active RETURN. " already active
ENDIF. ENDIF.