Programme SAP RSDDICC1 - Checking Illegal DDIC Table Changes

Title
Check of tables for unallowed table changes

Purpose
This program searches for not allowed table changes in SupportPackages, in order to avoid later errors when applying Support Packageswith transaction SPAM or during an upgrade.

Integration
This program is not supplied to the customers. Its original is insystem B20 and is transferred by "Transport of Copies" into theconsolidation systems of the Support Package landscapes.

Prerequisites
The program compares the current table definitions with a savedversion. This initial run must be done once per system.

Features

Selection
There are 3 different selection buttons

  • Process + compare

  • This is the default option for normal use.
    The current table definitions are read, compared with the saved versionand forbidden changes were printed.
    • Compare only

    • As before, but without updating the saved status 'C' from the currenttable definitions.
      • Create initial state

      • The current table definitions are saved as initial state. This stateserves as reference for all comparisons. The report must be initializedwith this option. Afterwards, it should be run only with the option"Process + compare."

        Output
        The report prints all found discrepancies in a screen list.

        Activities
        Internals:
        The memory of the report is the table HPDDICCHK, which stores differentversions of the table definitions (field: FLAG).
        Version A:
        This is the initial state. By calling the report with option "Createinitial state", the version "A" is created or updated and version "B"is deleted.
        Version B:
        This version represents the state at the last successful check run.
        Version C:
        Current version of the table definitions.
        Running the reports with the option "Process + compare" has followingeffects:
        The current table definitions (tables DD02L and DD03L) are read andstored as version "C".
        Version C is checked against version A (initial state).
        Following checks are executed:
        Deletion of tables
        Table property changes
        - change of the table type (transparent, pool, cluster)
        - change of the delivery class
        Table key changes
        - Re-structuring of the table key (insertion, deletion)
        - Changes of the data type (apart from NUMC->CHAR)
        - Shortening of key fields
        - Lengthening of key fields
        - Changes of 'Decimals' values
        Data field changes
        - Re-structuring of data fields (deletion, renaming, insertion)
        - Changes of the data type (apart from NUMC->CHAR)
        - Shortening of data fields
        If the check shows errors, they are printed and the program stops.
        If version B exists in the database, a check of version C againstversion B is done in the same way as well. When the check shows errors,they are printed and the program stops.
        If both checks are successful, version C is saved as version B.
        Why is version B necessary?
        By holding two versions "A" and "B", two application scenarios aresimulated:
        a) import of a complete queue of Support Packages
        b) import of the latest Support Packages
        In order to detect the situation "Table is created in SP x and ischanged illegally in SP x", the latest regular version has to be saved.This is done in version B.