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 / 1327 / 35 / 332 ) »
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.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Seite 1 von 1

Vergleichbare Themen

13
Antw.
7400
Views
SELECT-Abfrage bei der DB-Tabelle TADIR
von cyb1982 » 02.12.2011 01:13 • Verfasst in ABAP® für Anfänger
2
Antw.
4269
Views
TADIR-Objekte -> Texte ermitteln
von ewx » 05.11.2008 16:15 • Verfasst in Basis
4
Antw.
3086
Views
Nacharbeiten SAP Systemkopie
von L0w-RiDer » 22.06.2021 10:24 • Verfasst in ABAP® für Anfänger
4
Antw.
8627
Views
Transporte Dreisystemlandschaft Systemkopie
von btml06 » 06.10.2007 21:39 • Verfasst in Basis
1
Antw.
4375
Views
Homogene Systemkopie eines XI-Systems
von ahnna » 21.06.2006 14:18 • Verfasst in Exchange Infrastructure

Über diesen Beitrag

Tron

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.