This section introduces enhanced consistency checks as a prerequisite for a successful execution of a Zero Downtime Option (ZDO) maintenance event.
When running a zero-downtime upgrade, it is essential that the ABAP Dictionary objects and CDS views are in a consistent state prior the start of the ZDO procedure. In order to prepare the database schema used by the bridge subsystem, SUM will create views for every database table in the system. Additionally, the existing CDS views will be generated for the bridge subsystem. In case objects are inconsistent, the generation of those objects would fail. Hence, it's important to check the consistency in an early state of the upgrade procedure.
For ABAP Dictionary objects, SUM is equipped with an additional consistency check running during the ZDO procedure as part of the Checks roadmap step. The ZDO consistency check is split into three phases:
Phases of ZDO Consistency Check in SUM
Phase Name | Description | Log File(s) |
---|
RUN_ZDO_CONSISTENCY_CHECK_INIT | Initializes the check by filling an internal control table with the relevant ABAP Dictionary tables. | ZDO_CONSISTENCY_CHECK_INIT.<SID> |
PARRUN_ZDO_CONSISTENCY_CHECK | Executes the consistency check in parallel processes. | ZDO_CONSISTENCY_CHECK_*.<SID> |
RUN_ZDO_CONSISTENCY_CHECK_POST | Collects the findings and writes the output in the CHECKS.LOG file if errors were found. | ZDO_CONSISTENCY_CHECK_POST.<SID> |
The initialization phase RUN_ZDO_CONSISTENCY_CHECK_INIT
collects all ABAP Dictionary tables and writes the information into an internal control table. Exemplary log file output (ZDO_CONSISTENCY_CHECK_INIT.<SID>
):
4 ETG057 Job name ......: "CL_ZDM_CONSISTENCY_CHECK" Component: "BC-UPG-TLS-TLA" "(Upgrade Tools for ABAP)"
4 ETG040 Start time ....: "16.11.2021" "15:28:58"
4 ETG011 " "
4 ETG039 -------------------------------------------------------------------------
A4 ESUPG 654 "149.617" objects added to SZDM_DDIC_CHECK
4 ETG039 -------------------------------------------------------------------------
4 ETG011 " "
4 ETG057 Job name ......: "CL_ZDM_CONSISTENCY_CHECK" Component: "BC-UPG-TLS-TLA" "(Upgrade Tools for ABAP)"
4 ETG040 Start time ....: "16.11.2021" "15:28:58"
4 ETG041 End time ......: "16.11.2021" "15:28:58"
Copy codeIn case an inconsistency is found for any of the database tables, the phase PARRUN_ZDO_CONSISTENCY_CHECK
stops with an error. In this example, two tables are found by the check which are in an inconsistent state.
Exemplary log file output (ZDO_CONSISTENCY_CHECK_*.<SID>
)
4 ETG039 -------------------------------------------------------------------------
4 ETG011 " "
4 ETG057 Job name ......: "CL_ZDM_CONSISTENCY_CHECK" Component: "BC-UPG-TLS-TLA" "(Upgrade Tools for ABAP)"
4 ETG040 Start time ....: "16.11.2021" "15:29:00"
4 ETG011 " "
4 ETG039 -------------------------------------------------------------------------
A4 ESUPG 652 Start "parallel" processing of consistency check
...
A4 ESUPG 651 "ZTABLEMODIFDB" is consistent
A4 ESUPG 650 Check consistency of "ZTABLENODB"
A2EESUPG 006 Unable to retrieve the DB fields of table "ZTABLENODB" due to rc "4"
A2EESUPG 007 Unable to determine the table delta between "ZTABLENODB" and "ZTABLENODB"
A4 ESUPG 650 Check consistency of "ZTABLENOINDEX"
A2EESUPG 234 Table "ZTABLENOINDEX" is inconsistent in key information NT <-> DB
A2EESUPG 007 Unable to determine the table delta between "ZTABLENOINDEX" and "ZTABLENOINDEX"
A4 ESUPG 650 Check consistency of "ZTIMESTAMP"
A4 ESUPG 651 "ZTIMESTAMP" is consistent
4 ETG039 -------------------------------------------------------------------------
4 ETG011 " "
4 ETG057 Job name ......: "CL_ZDM_CONSISTENCY_CHECK" Component: "BC-UPG-TLS-TLA" "(Upgrade Tools for ABAP)"
4 ETG040 Start time ....: "16.11.2021" "15:29:00"
4 ETG041 End time ......: "16.11.2021" "15:30:37"
Copy codeWhen SUM is resumed without correcting the inconsistencies, the third phase RUN_ZDO_CONSISTENCY_CHECK_POST
collects and aggregates the error messages. The consolidated error messages are written into the file CHECKS.LOG
that is used at the end of the sub-module. Furthermore, this phase writes its own consolidated log file ZDO_CONSISTENCY_CHECK_POST.<SID>
like in this example:
4 ETG057 Job name ......: "CL_ZDM_CONSISTENCY_CHECK" Component: "BC-UPG-TLS-TLA" "(Upgrade Tools for ABAP)"
4 ETG040 Start time ....: "16.11.2021" "15:31:29"
4 ETG011 " "
4 ETG039 -------------------------------------------------------------------------
A4 ESUPG 652 Start "serial" processing of consistency check
A4 ESUPG 650 Check consistency of "ZTABLENODB"
A2EESUPG 006 Unable to retrieve the DB fields of table "ZTABLENODB" due to rc "4"
A2EESUPG 007 Unable to determine the table delta between "ZTABLENODB" and "ZTABLENODB"
A4 ESUPG 650 Check consistency of "ZTABLENOINDEX"
A2EESUPG 234 Table "ZTABLENOINDEX" is inconsistent in key information NT <-> DB
A2EESUPG 007 Unable to determine the table delta between "ZTABLENOINDEX" and "ZTABLENOINDEX"
4 ETG039 -------------------------------------------------------------------------
4 ETG011 " "
4 ETG057 Job name ......: "CL_ZDM_CONSISTENCY_CHECK" Component: "BC-UPG-TLS-TLA" "(Upgrade Tools for ABAP)"
4 ETG040 Start time ....: "16.11.2021" "15:31:29"
4 ETG041 End time ......: "16.11.2021" "15:31:29"
Copy code
NoteTo proceed with the ZDO procedure, the inconsistencies have to be resolved. If the inconsistencies are not resolved, the upgrade procedure will not move ahead. In case you need support, open a support incident for component BC-UPG-DTM-TLA
.
The following section describes how the inconsistency of the two examples seen above can be resolved.
Example 1
Example 1 shows an error for table ZTABLENODB
. The error log shows the following messages:
A2EESUPG 006 Unable to retrieve the DB fields of table "ZTABLENODB" due to rc "4"
A2EESUPG 007 Unable to determine the table delta between "ZTABLENODB" and "ZTABLENODB"
Copy codeThe first step to check the root cause is to run a database object check. This can be done through the SAP GUI, either using transaction SE11 or SE14.
The database object check for table ZTABLENODB
returns Table is not created in the database. When you create the database table and re-running the same check, the issue is resolved.
Example 2
Moving on to example 2 for table ZTABLENOINDEX
. The error log shows the following messages:
A2EESUPG 234 Table "ZTABLENOINDEX" is inconsistent in key information NT <-> DB
A2EESUPG 007 Unable to determine the table delta between "ZTABLENOINDEX" and "ZTABLENOINDEX"
Copy codeSimilar to example 1, also in this case, the database object check shows the root cause. For table ZTABLENOINDEX
, the primary index is missing on the database. After creating the database index and re-running the same check, the issue is resolved.
When you have resolved all inconsistencies, SUM can be resumed. The consolidated log file ZDO_CONSISTENCY_CHECK_POST.<SID>
is updated and shows the success message No objects found
:
4 ETG057 Job name ......: "CL_ZDM_CONSISTENCY_CHECK" Component: "BC-UPG-TLS-TLA" "(Upgrade Tools for ABAP)"
4 ETG040 Start time ....: "16.11.2021" "15:48:38"
4 ETG011 " "
4 ETG039 -------------------------------------------------------------------------
A4 ESUPG 652 Start "serial" processing of consistency check
A4 ESUPG 653 No objects found
4 ETG039 -------------------------------------------------------------------------
4 ETG011 " "
4 ETG057 Job name ......: "CL_ZDM_CONSISTENCY_CHECK" Component: "BC-UPG-TLS-TLA" "(Upgrade Tools for ABAP)"
4 ETG040 Start time ....: "16.11.2021" "15:48:38"
4 ETG041 End time ......: "16.11.2021" "15:48:38
Copy codeConsistency Check for Core Data Services (CDS) Views
As part of the ZDO procedure, the consistency of ABAP Dictionary objects is checked in phase PARRUN_ZDO_CONSISTENCY_CHECK
. However, this phase does not consider Core Data Services (CDS) views. As an optional step, CDS views can be checked prior the upgrade.
In order to verify the consistency of CDS views, it is recommended to run the report RUTCHKAC_FOR_ZDO
prior the ZDO update procedure. The report is available is available from SAP S/4HANA 2020 SPS 04 and SAP S/4HANA 2021 FPS 02. If the system is running on a lower support package, SAP Note 3123580 can be applied.
DDIC Consistency Check in SUM Toolbox
The documentation for each tool is embedded in the SUM Toolbox and can be opened there.
For more information about SUM Toolbox, see: