Massenänderung TADIR Einträge nach Systemkopie

Posten Sie hier Tutorials & Cookbooks.
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

Massenänderung TADIR Einträge nach Systemkopie

Beitrag von Tron (Top Expert / 1262 / 27 / 310 ) »
Oft werden Systemkopien erzeugt und das "Neue" System bekommt danach eine neue SystemID.
Solange man keine Objekte im kopierten System ändern will ist das (fast) OK.
Jedoch wenn es ein neues Entwicklungssystem bedeutet, lassen sich die Objekte nicht so einfach ändern,
da die TADIR Einträge auf das Original/Entwicklungsystem System verweisen.
Das Problem besteht auch, wenn man "fremde" Transporte in sein System importiert.
Das ist unschön.
Man kann diese Routine auch generell zu den Nacharbeiten nach einer Systemkopie einsetzen.
Beispiel : Änderung des Sourcesystems des Pakets ZODATA auf die neue System-ID.

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  ZBC_CHANGE_SOURCE_SYSTEM
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBC_CHANGE_SOURCE_SYSTEM.
data ls type tadir.
data lt type TABLE OF tadir.
data ltxt type string.
data nl(6).

select * from tadir into TABLE lt where DEVCLASS = 'ZODATA' and SRCSYSTEM = <<OLDSystemID>>.
nl = lines( lt ).

concatenate nl ' lines found.' into ltxt.
cl_demo_output=>write_text( ltxt ).
cl_demo_output=>display( lt ).

loop at lt into ls.

  CALL FUNCTION 'TR_TADIR_INTERFACE'
    EXPORTING
*     WI_DELETE_TADIR_ENTRY                = ' '
*     WI_REMOVE_REPAIR_FLAG                = ' '
*     WI_SET_REPAIR_FLAG                   = ' '
      WI_TEST_MODUS                        = ' '
      WI_TADIR_PGMID                       = ls-PGMID
      WI_TADIR_OBJECT                      = ls-OBJECT
      WI_TADIR_OBJ_NAME                    = ls-OBJ_NAME
*     WI_TADIR_KORRNUM                     = ' '
      WI_TADIR_SRCSYSTEM                   = sy-sysid
*     WI_TADIR_AUTHOR                      = ' '
*     WI_TADIR_DEVCLASS                    = ' '
*     WI_TADIR_MASTERLANG                  = ' '
*     WI_TADIR_CPROJECT                    = ' '
*     WI_TADIR_VERSID                      = ' '
*     WI_REMOVE_GENFLAG                    = ' '
*     WI_SET_GENFLAG                       = ' '
*     WI_READ_ONLY                         = ' '
*     IV_SET_EDTFLAG                       = ' '
*     IV_TRANSL_TECH_TEXT                  = ' '
*     IV_DELFLAG                           = ' '
*     IV_NO_PAK_CHECK                      = ' '
*     IV_OBJ_STABILITY                     = ' '
*     WI_TADIR_CHECK_DATE                  = ''
*     WI_TADIR_CHECK_CFG                   = ' '
*   IMPORTING
*     NEW_GTADIR_ENTRY                     =
*     NEW_TADIR_ENTRY                      =
   EXCEPTIONS
     TADIR_ENTRY_NOT_EXISTING             = 1
     TADIR_ENTRY_ILL_TYPE                 = 2
     NO_SYSTEMNAME                        = 3
     NO_SYSTEMTYPE                        = 4
     ORIGINAL_SYSTEM_CONFLICT             = 5
     OBJECT_RESERVED_FOR_DEVCLASS         = 6
     OBJECT_EXISTS_GLOBAL                 = 7
     OBJECT_EXISTS_LOCAL                  = 8
     OBJECT_IS_DISTRIBUTED                = 9
     OBJ_SPECIFICATION_NOT_UNIQUE         = 10
     NO_AUTHORIZATION_TO_DELETE           = 11
     DEVCLASS_NOT_EXISTING                = 12
     SIMULTANIOUS_SET_REMOVE_REPAIR       = 13
     ORDER_MISSING                        = 14
     NO_MODIFICATION_OF_HEAD_SYST         = 15
     PGMID_OBJECT_NOT_ALLOWED             = 16
     MASTERLANGUAGE_NOT_SPECIFIED         = 17
     DEVCLASS_NOT_SPECIFIED               = 18
     SPECIFY_OWNER_UNIQUE                 = 19
     LOC_PRIV_OBJS_NO_REPAIR              = 20
     GTADIR_NOT_REACHED                   = 21
     OBJECT_LOCKED_FOR_ORDER              = 22
     CHANGE_OF_CLASS_NOT_ALLOWED          = 23
     NO_CHANGE_FROM_SAP_TO_TMP            = 24
     OTHERS                               = 25
            .
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.

ENDLOOP.

clear: nl,ltxt.
refresh lt.
select * from tadir into TABLE lt where
  DEVCLASS = 'ZODATA' and SRCSYSTEM = <<OLDSystemID>>.

nl = lines( lt ).
concatenate nl ' lines found.' into ltxt.
cl_demo_output=>write_text( ltxt ).
cl_demo_output=>display( lt ).
br Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
Icke0801

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.


Seite 1 von 1

Über diesen Beitrag

Tron

ABAP & SAP eBook Flatrate von Espresso Tutorials Sponsorlink
Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Vergleichbare Themen

TADIR-Objekte -> Texte ermitteln
von ewx » 05.11.2008 16:15
SELECT-Abfrage bei der DB-Tabelle TADIR
von cyb1982 » 02.12.2011 01:13
Nacharbeiten SAP Systemkopie
von L0w-RiDer » 22.06.2021 10:24
Transporte Dreisystemlandschaft Systemkopie
von btml06 » 06.10.2007 21:39
Monitoringdaten fehlen nach Systemkopie
von zzcpak » 20.05.2005 10:37