Ansicht
Dokumentation

Neuer Transportanschluß in der erweiterten Tabellenpflege (Viewpflege) ( RELNBC_VIEWMAINT_TRSP30A )

Neuer Transportanschluß in der erweiterten Tabellenpflege (Viewpflege) ( RELNBC_VIEWMAINT_TRSP30A )

Vendor Master (General Section)   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Kurztext

Neuer Transportanschluß in der erweiterten Tabellenpflege (Viewpflege)

Beschreibung

Zu 3.0A wurde der Transportanschluß in der erweiterten Tabellenpflege (Viewpflege, SM30) geändert.

Es gibt jetzt neben dem bereits seit 2.0 bestehenden manuellen Transportanschluß zusätzlich einen automatischen, über den alle geänderten Einträge beim Sichern in einen anzugebenden Änderungsauftrag übernommen werden.

Diese neue Funktion zieht bei mandantenunabhängigen Objekten und Objekten der Auslieferungsklasse "S" immer und bei mandantenabhängigen Objekten dann, wenn der Mandant dies erfordert (siehe Rahmen Änderungen und Transporte für mandantenabhängige Objekte auf dem Pflegebild der Mandantentabelle).

Außerdem kann die neue Funktion individuell für einzelne Objekte über die Transaktion "Generieren Tabellen-Pflegedialog" (SE54) abgeschaltet werden (Feld Aufzeichnungsmethode).

Einfluß auf den Datenbestand im Fehlerfall

Soft-/Hardwarevoraussetzungen

Die in diesem Abschnitt beschriebenen Aktionen müssen Sie nur ausführen, wenn Sie vor Release 3.0 eigene, nicht von SAP ausgelieferte Tabellen-Pflegedialoge mit dem Programm RSVIEWGN bzw. der Transaktion SE54 erstellt haben. Für die von SAP ausgelieferten Objekte sind die Aktionen bereits durchgeführt worden, so daß hierfür kein Handlungsbedarf besteht.

Die Änderung des Transportanschlusses der erweiterten Tabellenpflege erforderte auch Änderungen in den generierten Bestandteilen des Tabellen-Pflegedialogs, so daß ein Neugenerieren desselben notwendig wird.

Sollten Sie in den Tabellen-Pflegedialogen eigene Routinen zum Anschluß weiterer, über individuelle Module mitgepflegter Tabellen benutzt haben, müssen Sie diese ebenfalls geringfügig überarbeiten.

Was ist konkret zu tun?

  1. Neugenerierung des Tabellen-Pflegedialogs für eigene, nicht von SAP ausgelieferte Objekte.
Die durch die Änderung des Transportkonzepts notwendig gewordene Neugenerierung führen Sie am einfachsten mit dem Programm RSVIM30A aus. Diesem Programm können Sie über Selektionsoptionen Tabellen oder Views bzw. Funktionsgruppen zur Bearbeitung übergeben. Hier geben Sie diejenigen Tabellen oder Views (bzw. Funktionsgruppen) an, für die Sie vor Release 3.0 mit Hilfe des Programms RSVIEWGN bzw. der Transaktion SE54 in eigener Regie Tabellen-Pflegedialoge erzeugt haben. Weitere Einzelheiten zum Programm RSVIM30A können Sie der Programmdokumentation entnehmen.
  1. Transport der nachgenerierten Objekte
Falls mehrere SAP-Systeme bestehen, müssen Sie die nachgenerierten Objekte vom Originalsystem aus verteilen. Hierfür werden die durch das Programm RSVIM30A geänderten Objekte automatisch in einem Änderungsauftrag protokolliert (Einzelheiten in der Programmdokumentation). Diesen Auftrag können Sie in die Folgesysteme transportieren.

Sollten Sie in den Tabellen-Pflegedialogen keine eigenen FORM-Routinen zum Anschluß weiterer, über individuelle Module mitgepflegter Tabellen benutzt haben, sind damit alle notwendigen Aktionen abgeschlossen.

Haben Sie jedoch solche eigenen Routinen benutzt, müssen Sie zusätzlich die Routinen überarbeiten und die geänderten Routinen transportieren. Technisch müssen Sie die Aktionen für alle die Tabellen bzw. View auszuführen, für die es in der Tabelle TVIMF Einträge zu den Zeitpunkten 10, 11 und/oder 12 gibt.

  • FORM-Routine zum Eintragen weiterer Tabellen in den Änderungsauftrag (Zeitpunkt "10" - nach dem Erzeugen der Kopfeinträge der Änd.Aufgabe (E071))
Durch die Einführung des neuen Transportobjekts R3TR VDAT bzw. die Erweiterung der Funktionalität des Transportobjekts R3TR TABU ist es nicht mehr notwendig und sogar problematisch, diese Tabellen, die logisch zum Pflegeobjekt (SM30-Objekt) gehören, einzeln in der Änderungsaufgabe aufzuführen. Dadurch geht nämlich der logische Zusammenhang verloren und ist in der Änderungsaufgabe nicht mehr ersichtlich.
Nutzen Sie deshalb die neue Möglichkeit, die zusätzlichen Tabellen in der Stückliste der Pflegeobjektdefinition (Transaktion SOBJ) dem jeweiligen Pflegeobjekt zuzuordnen. Hierdurch ist der logische Zusammenhang gewährleistet.
Aktionen:
  • Löschen Sie den TVIMF-Eintrag zum Zeitpunkt 10.
    Rufen Sie hierzu die Transaktion "Generieren Tabellen-Pflegedialog" auf (Werkzeuge -> ABAP/4 Workbench -> Entwicklungs -> Weitere Werkzeuge -> Gener.Tab.Pflegedialog). Wählen sie dort Umfeld -> Zeitpunkte.
    Wenn Sie das Coding der betreffenden FORM-Routine nicht weiter benötigen, löschen Sie die Routine mit dem ABAP/4-Editor.

  • Nehmen Sie die zusätzlichen Tabellen in die Stückliste des Pflegobjekts auf (Transaktion SOBJ).

Anmerkung:
Sie können weiterhin Tabellen über eigene FORM-Routinen mittransportieren, die nicht in der Stückliste des Pflegeobjekts angegeben sind. Allerdings ist dann für diese Tabellen ein eigener Kopfeintrag (R3TR TABU ...) in der Änderungsaufgabe erforderlich. Der Zusammenhang zwischen diesen Objekten ist in der Änderungsaufgabe nicht mehr erkennbar. Falls Sie dies so wünschen, müssen Sie die FORM-Routine so abändern, daß sie nur noch R3TR-TABU-Einträge für die Tabellen erzeugt, die nicht in der Stückliste des Pflegeobjekts stehen. Außerdem dürfen die Einträge nicht mehr direkt in die Änderungsaufgabe geschrieben werden (bisher wurde direkt die Routine FCOMMAPPEND(RDDCORRD) benutzt), sondern es ist lediglich die globale interne Tabelle VIM_CORR_OBJTAB zu füllen. Diese Tabelle hat die Struktur E071. Weitere Details im Beispiel weiter unten.

  • FORM-Routine zum Anfügen der Keys der zusätzlichen Tabelleneinträge zu einem Tabellen- bzw. View-Eintrag (Zeitpunkt "11" - nach der Änderung eines Key-Eintrages d. Änd.Aufgabe (E071K))
Diese Routine hängt die Key-Einträge für die zusätzlichen Tabellen, die jeweils zu einem Eintrag des Pflegeobjektes gehören, an die interne Tabelle CORR_KEYTAB (Struktur E071K) an. Dabei wurde bisher als Masterobjekt die jeweilige zusätzliche Tabelle selbt eingetragen (CORR_KEYTAB-MASTERTYPE = 'TABU'. CORR_KEYTAB-MASTERNAME = '......'). Dies ist jetzt nur noch für diejenigen zusätzlichen Tabellen notwendig, die nicht in der Stückliste des Pflegeobjektes aufgefürt sind.
Für zusätzliche Tabellen, die in der Stückliste enthalten sind, muß dagegen das Pflegeobjekt selbst als Masterobjekt angegeben werden. Dies ist in der globalen Variablen E071K bereits geschehen, so daß nach Initialisierung der CORR_KEYTAB mit der E071K (CORR_KEYTAB = E071K) die Zuweisungen für CORR_KEYTAB-MASTERTYPE und CORR_KEYTAB-MASTERNAME gelöscht werden können.
Alternativ können die globalen Variablen MASTER_TYPE bzw. MASTER_NAME zugewiesen werden.

Aktionen:
  • Änderung der FORM-Routine entsprechend obigen Ausführungen

  • FORM-Routine zum Anfügen der Keys der zusätzlichen Tabelleneinträge (Zeitpunkt "12" - nach der Änderung der Key-Einträge der Änd.Aufgabe (E071K))
Diese Routine hängt die Key-Einträge für die zusätzlichen Tabellen, die nicht unbedingt zu einem einzelnen Eintrag des Pflegeobjektes gehören, an die interne Tabelle CORR_KEYTAB (Struktur E071K) an.
Es gilt dasselbe wie für die FORM-Routine zum Zeitpunkt 11.

  • Transport der Änderungen
Falls mehrere SAP-Systeme bestehen, müssen Sie die geänderten FORM-Routinen vom Originalsystem aus verteilen.

Beispiel:

Pflegobjekt: View AROTA01

  1. View-Definition im Dictonary
Tabelle Bemerkungen
T9AR_TA1 Primärtabelle, änderbar
T9AR_TA1T Texttabelle zur Primtab, änderbar
T9AR_TA1S Sekundärtabelle, änderbar
T002 Sekundärtabelle, nicht änderbar
T002T Sekundärtabelle, nicht änderbar

  1. Stückliste der Pflegeobjektbeschreibung (Transaktion SOBJ):
Tabelle Bemerkungen
T9AR_TA1 in View enthalten
T9AR_TA1S in View enthalten
T9AR_TA1T in View enthalten
T9AR_TA2 nicht in View enthalten

  1. zusätzlich zu pflegende Tabelle, die nicht in der Stückliste enthalten ist:
T9AR_TA3

  1. FORM-Routinen für den Transport-Anschluß:
  • Routine zum Eintragen weiterer Tabellen in die Änderungsaufgabe
    (Zeitpunkt "10" - nach dem Erzeugen der Kopfeinträge der Änd.Aufgabe (E071))

*--------------------------------------------------------

*   FORM E071_AROTA01

*-------------------------------------------------------

* Füllen der VIM_CORR_OBJTAB mit zusätzlichen Objekten. Es
* sind hier nur solche Objekte zu behandeln, die NICHT in
* der Stückliste der Objektbeschreibung (SOBJ) aufgeführt
* sind. Im konkreten Fall ist also nur die Tabelle
* T9AR_TA3 interessant.
-------------------------------------------------------*

FORM E071_AROTA01.
  VIM_CORR_OBJTAB = E071.
  VIM_CORR_OBJTAB-PGMID    = 'R3TR'.
  VIM_CORR_OBJTAB-OBJECT   = 'TABU'.
  VIM_CORR_OBJTAB-OBJ_NAME = 'T9AR_TA3'.
  VIM_CORR_OBJTAB-OBJFUNC  = 'K'.
  APPEND VIM_CORR_OBJTAB.
ENDFORM.

  • Routine zum Anfügen der Schlüssel der zusätzlichen Tabelleneinträge zu einem Tabellen- bzw. View-Eintrag
    (Zeitpunkt "11" - nach der Änderung eines Key-Eintrags d. Änd.Aufgabe (E071K))

*---------------------------------------------------------

*   FORM E071KS_AROTA01

*---------------------------------------------------------

* Füllen der CORR_KEYTAB mit den Key-Einträgen der
* zusätzlichen Objekte, die zum aktuellen Vieweintrag
* gehören. Dieser befindet sich zum Aufrufzeitpunkt in der
* entsprechenden Workarea.
*---------------------------------------------------------

FORM E071KS_AROTA01.
DATA: RC LIKE SY-SUBRC, RC_SAFE LIKE SY-SUBRC VALUE '1'.

* 1. zusätzliches Objekt: T9AR_TA2 ( in Stückliste
*    enthalten):
* CORR_KEYTAB-Eintrag (E071K) aufbauen:
* 1.1 Initialisieren mit global vorbelegter E071K
  CORR_KEYTAB = E071K.
* oder es ist auch möglich:
* CORR_KEYTAB-TRKORR     = E071K-TRKORR.
* CORR_KEYTAB-PGMID      = TRANSPORTER.    "R3TR
* CORR_KEYTAB-OBJECT     = TRANSP_OBJECT.  "TABU
* CORR_KEYTAB-MASTERTYPE = MASTER_TYPE     "VDAT
* CORR_KEYTAB-MASTERNAME = MASTER_NAME     "z.B.AROTA01
* 1.2 individuellen Objektnamen angeben
  CORR_KEYTAB-OBJNAME = 'T9AR_TA2'.
* 1.3 zu transportierende Keys des Objektes in
*     Abhängigkeit vom aktuellen View-Eintrag ermitteln
*     und in die CORR_KEYTAB eintragen...
  LOOP AT IT9AR_TA2 INTO T9AR_TA2
       WHERE KEY1 EQ AROTA01-KEY1.
    CORR_KEYTAB-TABKEY = T9AR_TA2-KEY1.
* ...Objektkey ist jetzt ermittelt, zum Tabellenupdate
*    zentrale FORM-Routine benutzen:
    CLEAR RC.
    PERFORM UPDATE_CORR_KEYTAB USING CORR_ACTION RC.
    RC_SAFE = RC * RC_SAFE.
    IF RC NE 0 AND CORR_ACTION EQ PRUEFEN .
* im Prüfmodus exit, wenn ein Teilobjekt nicht in
* Korrektur ist (RC <> 0)
      EXIT.
    ENDIF.
  ENDLOOP.
  IF RC NE 0 AND CORR_ACTION EQ PRUEFEN .
* im Prüfmodus exit, wenn ein Teilobjekt nicht in
* Korrektur ist (RC <> 0)
    SY-SUBRC = RC. EXIT.
  ENDIF.

* 2. zusätzliches Objekt: T9AR_TA3 ( NICHT in Stückliste
*    enthalten):
*    - CORR_KEYTAB-Eintrag (E071K) aufbauen:
* 2.1 Felder mit individuellen Werten füllen
  CLEAR CORR_KEYTAB.
  CORR_KEYTAB-TRKORR     = E071K-TRKORR.
  CORR_KEYTAB-PGMID      = 'R3TR'.
  CORR_KEYTAB-OBJECT     = 'TABU'.
  CORR_KEYTAB-OBJNAME    = 'T9AR_TA3'.
  CORR_KEYTAB-MASTERTYPE = 'TABU'.
  CORR_KEYTAB-MASTERNAME = 'T9AR_TA3'.
* 2.2 zu transportierende Keys d. Objektes in
*     Abhängigkeit vom aktuellen View-Eintrag ermitteln
*     und in die CORR_KEYTAB eintragen...
  LOOP AT IT9AR_TA3 INTO T9AR_TA3
    WHERE KEY1 EQ AROTA01-KEY1.
    CORR_KEYTAB-TABKEY = T9AR_TA3-KEY1.
    CORR_KEYTAB-TABKEY+4 = T9AR_TA3-KEY2.
* ...Objektkey ist jetzt ermittelt, zum Tabellenupdate
*    zentrale FORM-Routine benutzen:
    CLEAR RC.
    PERFORM UPDATE_CORR_KEYTAB USING CORR_ACTION RC.
    RC_SAFE = RC * RC_SAFE.
    IF RC NE 0 AND CORR_ACTION EQ PRUEFEN .
* im Prüfmodus exit, wenn ein Teilobjekt nicht in
* Korrektur ist (RC <> 0)
      EXIT.
    ENDIF.
  ENDLOOP.
  IF RC NE 0 AND CORR_ACTION EQ PRUEFEN .
* im Prüfmodus exit, wenn ein Teilobjekt nicht in
* Korrektur ist (RC <> 0)
    SY-SUBRC = RC. EXIT.
  ENDIF.
  SY-SUBRC = RC_SAFE.
ENDFORM.

  • Routine zum Anfügen der Schlüssel der zusätzlichen Tabelleneinträge
    (Zeitpunkt "12" - nach der Änderung der Key-Einträge der Änd.Aufgabe (E071K))

*---------------------------------------------------------

*   FORM E071KA_AROTA01

*---------------------------------------------------------

* Füllen der CORR_KEYTAB mit den Key-Einträgen der
* zusätzlichen Objekte, die nicht unmittelbar einem
* einzelnen Vieweintrag zugeordnet werden können.
*---------------------------------------------------------

FORM E071KA_AROTA01.
DATA: RC LIKE SY-SUBRC.
* 1. Zusätzliches Objekt: T9AR_TA2 ( in Stückliste
*    enthalten):
* CORR_KEYTAB-Eintrag (E071K) aufbauen:
* 1.1 Initialisieren mit global vorbelegter E071K
  CORR_KEYTAB = E071K.
* oder es ist auch möglich:
* CORR_KEYTAB-TRKORR     = E071K-TRKORR.
* CORR_KEYTAB-PGMID      = TRANSPORTER.    "R3TR
* CORR_KEYTAB-OBJECT     = TRANSP_OBJECT.  "TABU
* CORR_KEYTAB-MASTERTYPE = MASTER_TYPE     "VDAT
* CORR_KEYTAB-MASTERNAME = MASTER_NAME     "z.B.AROTA01
* 1.2 individuellen Objektnamen angeben
  CORR_KEYTAB-OBJNAME = 'T9AR_TA2'.
* 1.3 zu transportierende Keys des Objektes ermitteln
*     und in die CORR_KEYTAB eintragen...
...... individuelles Coding, die View-Einträge können
...... der internen Tabelle TOTAL entnommen werden.
  CORR_KEYTAB-TABKEY = T9AR_TA2-KEY1.
* ...Objektkey ist jetzt ermittelt, zum Tabellenupdate
*    zentrale FORM-Routine benutzen:
  CLEAR RC.
  PERFORM UPDATE_CORR_KEYTAB USING CORR_ACTION RC.
  RC_SAFE = RC * RC_SAFE.
  IF RC NE 0 AND CORR_ACTION EQ PRUEFEN .
* im Prüfmodus exit, wenn ein Teilobjekt nicht in
* Korrektur ist (RC <> 0)
    SY-SUBRC = RC.  EXIT.
  ENDIF.

* 2. zusätzliches Objekt: T9AR_TA3 ( nicht in Stückliste
*    enthalten):
*    - CORR_KEYTAB-Eintrag (E071K) aufbauen:
* 2.1 Felder mit individuellen Werten füllen
  CLEAR CORR_KEYTAB.
  CORR_KEYTAB-TRKORR     = E071K-TRKORR.
  CORR_KEYTAB-PGMID      = 'R3TR'.
  CORR_KEYTAB-OBJECT     = 'TABU'.
  CORR_KEYTAB-OBJNAME    = 'T9AR_TA3'.
  CORR_KEYTAB-MASTERTYPE = 'TABU'.
  CORR_KEYTAB-MASTERNAME = 'T9AR_TA3'.
* 2.2 zu transportierende Keys des Objektes ermitteln
*     und in die CORR_KEYTAB eintragen...
...... individuelles Coding, die View-Einträge können
...... der internen Tabelle TOTAL entnommen werden.
  CORR_KEYTAB-TABKEY(4) = T9AR_TA3-KEY1.
  CORR_KEYTAB-TABKEY+4 = T9AR_TA3-KEY2.
* ...Objektkey ist jetzt ermittelt, zum Tabellenupdate
*    zentrale FORM-Routine benutzen:
  CLEAR RC.
  PERFORM UPDATE_CORR_KEYTAB USING CORR_ACTION RC.
  RC_SAFE = RC * RC_SAFE.
  IF RC NE 0 AND CORR_ACTION EQ PRUEFEN .
* im Prüfmodus exit, wenn ein Teilobjekt nicht in
* Korrektur ist (RC <> 0)
    SY-SUBRC = RC.  EXIT.
  ENDIF.
  SY-SUBRC = RC_SAFE.
ENDFORM.

Besonderheiten bei der Installation

Auswirkungen auf die Systemverwaltung

Auswirkungen auf das Customizing

Auswirkungen auf Batch-Input

Änderungen an der Oberfläche

Änderungen in der Vorgehensweise

Es ist jetzt folgende Vorgehensweise bei der Datenpflege möglich:

  1. Pflege der Daten
    Geänderte Einträge werden in einen anzugebenden Änderungsauftrag übernommen.
  2. Überarbeitung des Änderungsauftrags
    Wählen Sie hierzu den Transportmodus (Tabellensicht -> Transport), und geben Sie hierbei die Nummer des zum Ändern benutzten Auftrags an. Dann nehmen Sie ggf. die weiteren Einträge in den Auftrag auf bzw. löschen diejenigen Einträgen aus dem Auftrag, die nicht transportiert werden sollen.

Den zweiten Schritt brauchen Sie erst nach Beendigung der Arbeit, also unmittelbar vor der Freigabe der Änderungsaufgabe an den Änderungsauftrag, auszuführen. Da alle geänderten Einträge protokolliert wurden, kann beim Transport nichts mehr vergessen werden. Insbesondere sind nun auch Löschungen von Tabelleneinträgen transportierbar.

Natürlich ist nach wie vor die bisherige Arbeitsweise unter alleiniger Nutzung des manuellen Transportanschlusses möglich. Allerdings können so Löschungen nicht ohne weiteres transportiert werden.

Aktionen zum Beheben von Fehlern am Datenbestand

Abhängige Funktionen

Planungen

Zur Erleichterung der Überarbeitung des Änderungsauftrags wird es möglich sein, aus der Anzeige der Auftragsinhalte (z.B. im Workbench Organizer) heraus, direkt in den Transportmodus der Pflegetransaktion für das entsprechende Objekt zu springen.

Weitere Hinweise






TXBHW - Original Tax Base Amount in Local Currency   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 24435 Date: 20240523 Time: 175543     sap01-206 ( 256 ms )