Ansicht
Dokumentation

SPAK_CREATE_HYBRID_PACK_DATA - 'Hybride' Paket-Daten erzeugen und Transportauftrag freigeben

SPAK_CREATE_HYBRID_PACK_DATA - 'Hybride' Paket-Daten erzeugen und Transportauftrag freigeben

RFUMSV00 - Advance Return for Tax on Sales/Purchases   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Verwendung

Der vorliegende Report SPAK_CREATE_HYBRID_PACK_DATA dient zur Erzeugung 'hybrider' Paket- und Paketschnittstellen-Daten für Downports aus NetWeaver-Releases größer/gleich 7.10 in Releases kleiner 7.10.

Der freigegebene Transportauftrag darf nur in Systeme mit NetWeaver-Release < 7.10 bzw. größer/gleich 7.31 eingespielt werden. Wird er in ein System mit Release größer/gleich 7.10 und kleiner 7.31 eingespielt, so können die betreffenden Pakete und Paketschnittstellen z. B. mit dem Package Builder (Transaktion SE21) oder dem Object Navigator (Transaktion SE80) nicht mehr angezeigt bzw. bearbeitet werden.

Für 'Transporte von Kopien' die sehr viele Objekte enthalten, sollten die Pakete und Paketschnittstellen in einen separaten 'Transport von Kopien' aufgenommen und aus dem ursprünglichen Auftrag gelöscht werden.

Nur der Transportauftrag mit den Paketdaten muß mit dem vorliegenden Report bearbeitet werden, der andere Auftrag - der nun keine Paket- und Paketschnittstellendaten mehr enthält - wird über den Transport Organizer (Transaktion SE09) direkt freigegeben.

Wichtig für Pakete, die direkt unterhalb der Strukturpaketebene liegen: die Sichtbarkeit von Paketschnittstellen für andere Pakethierarchien unterscheidet sich im Paketkonzept vor 7.10 wesentlich vom Paketkonzept ab NetWeaver-Release 7.10.

Details hierzu sind in der Dokumentation für die Releases 7.0x zum Package Builder enthalten. Besonders wichtig diesbezüglich ist das Kapitel 'Inhalte aus einer anderen Pakethierarchie verwenden'.

Der Report kann nicht im Batch-Modus ausgeführt werden.

Zur operativen Ausführung des Programms ist die Berechtigung S_DEVELOP mit der Aktivität '02' ('Ändern') erforderlich. Falls nur Anzeigeberechtigung (Aktivität '03') vorhanden ist, so kann das Programm lediglich im Testmodus ausgeführt werden.

Für einen noch nicht freigegebenen Transportauftrag vom Typ 'Transport von Kopien' und Transportziel CL5 (Dummy-Transportziel für Transporte von Kopien) führt das Programm folgende Schritte aus:

  • Prüfung, ob der Transportauftrag existiert, vom Typ 'Transport von Kopien' ist, den Status 'Änderbar' und das Transportziel CL5 hat, gesperrt werden kann (ENQUEUE-Sperre), ob er Paket- und / oder Paketschnittstellen-Daten enthält.
  • Prüfung, ob die Pakete und Paketschnittstellen existieren und einen Objektkatalog-Eintrag haben.
  • Prüfung, daß von den Paketen und Paketschnittstellen keine inaktiven Versionen im System vorhanden sind.
  • Durchführung der Konsistenz- und Gesamtprüfung für den Transportauftrag (analog zur Prüfung im Transport Organizer, Transaktionscode SE09). Hierbei wird ebenfalls geprüft, daß die Pakete und Paketschnittstellen nicht bereits in anderen änderbaren Transportaufträgen enthalten sind.
  • Prüfung, ob die im Transportauftrag enthaltenen Pakete und Paketschnittstellen gesperrt werden können (ENQUEUE-Sperre).

Schlägt eine dieser Prüfungen fehl, so werden entsprechende Meldungen im Protokoll angezeigt. Die Erzeugung hybrider Daten ist erst möglich, wenn alle aufgeführten Fehler behoben sind.

Diese Schritte sind unabhängig davon, ob das Programm im Testmodus oder im operativen Modus gestartet wird.

Im Testmodus ist keine Erzeugung hybrider Daten möglich. Es wird jedoch angezeigt, welche hybriden Daten im operativen Modus erzeugt werden würden. So kann kontrolliert werden, ob die hybriden Daten korrekt sind.

Im Paketkonzept ab NetWeaver-Release 7.10 unterscheiden sich die Eigenschaften von Paketschnittstellen grundlegend vom Paketkonzept vor 7.10. In einer Paketschnittstelle können Repository-Objekte mit bestimmten Verwendungsarten exponiert bzw. propagiert werden. Diese Möglichkeit besteht im Paketkonzept vor 7.10 nicht. Ist dort ein Repository-Objekt in einer Paketschnittstelle enthalten, so sind damit alle für einen bestimmten Objekttyp möglichen Verwendungsarten erlaubt.

Die in Paketschnittstellen exponierten Repository-Objekte 'Externe FORMs' und Programm-Includes gibt es ebenfalls im Paketkonzept vor Release 7.10 nicht. Hier können nur die betreffenden Hauptprogramme (TADIR-Objekttyp PROG oder FUGR) in die Paketschnittstelle übernommen werden. Damit ist jedoch verbunden, daß jeweils alle Teilobjekte des betreffen Hauptprogramms (also FORMs, Funktionsbausteine) dann auch verwendet werden dürfen.

Daher gibt es für die Übernahme von Paketschnittstellen-Inhalten für den Downport zwei Optionen:

  • alle nach dem Paketkonzept vor 7.10 erlaubten exponierten Repository-Objekte übernehmen oder
  • nur diejenigennach dem Paketkonzept vor 7.10 erlaubten exponierten Repository-Objekte übernehmen, die mit allen für den betreffenden Objekttyp möglichen Verwendungsarten in der Paketschnittstelle enthalten sind. Bei externen FORMs und Programm-Includes wird bei dieser Option nichts übernommen.

Weiterhin ist zu beachten, daß im Paketkonzept ab 7.10 sog. 'Querpropagationen' möglich sind: es können sichtbare und verwendbare Repository-Objekte aus anderen Paketen - sofern sie die entsprechende Erlaubnis in einer Paketschnittstelle ihres eigenen Pakets haben - in Paketschnittstellen weiterpropagiert werden.

Diese 'Querpropagation' ist im Paketkonzept vor 7.10 nicht möglich und folglich werden bei der Erzeugung der hybriden Daten diese exponierten Repository-Objekte nicht mit übernommen.

Im Paketkonzept ab 7.10 gibt es für die Zugriffskontroll-Liste (ACL) einer Paketschnittstelle zwei Optionen:

  • neue Semantik (Default-Einstellung) oder
  • alte Semantik.

Eine ACL mit 'alter' Semantik entspricht exakt den Eigenschaften einer ACL im Paketkonzept vor 7.10: alle Pakete der Verwenderseite, in deren Verwendungserklärungs-Liste die betreffende Paketschnittstelle eingetragen werden muß, müssen in der ACL enthalten sein.

Eine ACL mit neuer Semantik kann dagegen nur das Oberpaket und direkte Nachbarpakete des Pakets zu dem die Paketschnittstelle gehört enthalten. Implizit ist die Paketschnittstelle mit ACL neuer Semantik jedoch auch für alle Unterpakete der in der ACL aufgeführten Nachbarpakete sichtbar und darf in deren Abhängigkeitskontroll-Liste (DCL) eingetragen werden.

Für den Downport von Paketschnittstellen mit einer ACL neuer Semantik eines Nicht-Strukturpaketsgibt es zwei Optionen:

  • die ACL unverändert übernehmen oder
  • alle Unterpakete der in der ACL enthaltenen Nachbarpakete in die ACL aufnehmen.

Für die Inhalte der 'Abhängigkeitskontroll-Liste' (DCL) von Paketen gibt es ebenfalls Einschränkungen. Im Paketkonzept ab 7.10 können sogenannte Standard-Paketschnittstellen in eine DCL eingetragen werden. Für alle Verwendungen aus Standard-Paketschnittstellen gekapselter Pakete erhält man in der Paketprüfung Warnungsmeldungen.

  • Bei ungekapselten Paketen ist dies eine implizite Standard-Paketschnittstelle, die den gesamten ungekapselten Inhalt des betreffenden Hierarchie(teil)baums enthält. Hierzu gibt es kein Analogon im Paketkonzept vor 7.10, so daßdiese DCL-Einträge für die Erzeugung hybrider Daten ignoriert werden.
  • Schwach gekapselte Pakete haben eine implizite Standard-Paketschnittstelle, es kann jedoch eine der expliziten Paketschnittstellen des Pakets als Standard-Paketschnittstelle gekennzeichnet werden.
  • Gekapselte Pakete haben generell keine implizite Standard-Paketschnittstelle, aber auch hier kann eine der Paketschnittstellen des Pakets als Standard-Paketschnittstelle gekennzeichnet werden.

Die Übernahme von Standard-Paketschnittstellen, die nicht auf eine explizite Paketschnittstelle des Pakets zeigen, ist generell nicht möglich.

  • Für eine Standard-Paketschnittstelle, die auf eine explizite Paketschnittstelle des Pakets zeigt, wird in den hybriden Daten eine Verwendungserklärung erzeugt mit Fehlerschwere 'WARN' (= 'Warnung').
  • Für alle anderen in der DCL eines Pakets enthaltenen expliziten Paketschnittstellen wird in den hybriden Daten eine Verwendungserklärung erzeugt mit Fehlerschwere 'NONE' (= 'Kein Fehler').

Im Paketkonzept ab 7.10 kann ein Paket erklären, daß es die Berechtigungen der DCL seines Oberpakets erben möchte. Diese Option gibt es im Paketkonzept vor 7.10 nicht. Daher werden für die hybriden Daten die DCL-Einträge der betreffenden Oberpakete, von denen geerbt wird, übernommen. Dabei werden die Kennzeichen 'Einschluß' und 'Ausschluß' eines DCL-Eintrags berücksichtigt. Es werden nur diejenigen DCL-Einträge übernommen, für die ein 'Einschluß' definiert ist, da es einen 'Ausschluß' einer Verwendungserklärung im Paketkonzept vor 7.10 nicht gibt.

Sind die hybriden Daten im Arbeitsspeicher des Programms erzeugt und wurde das Programm im operativen Arbeitsmodus gestartet, so werden die hybriden Daten in den betreffenden Datenbanktabellen verbucht und anschließend die Freigabe des Transportauftrags angestoßen, falls der Report mit der Option 'Hybride Daten erzeugen und Transportauftrag freigeben' gestartet wurde.

Das Programm wartet bis zu 2 Minuten, ob die Auftragsfreigabe erfolgreich war und löscht anschließend die hybriden Paketdaten wieder aus den betreffenden Datenbanktabellen.

Kann der Transportauftrag nicht innerhalb des 2-Minuten-Zeitintervalls freigegeben werden, so muß die Freigabe anschließend erneut im Transport Organizer manuell angestoßen und mit Hilfe des vorliegenden Reports SPAK_CREATE_HYBRID_PACK_DATA die hybriden Daten möglichst sofort danach gelöscht werden.

Pakete und Paketschnittstellen mit hybriden Daten können mit dem Package Builder weder angezeigt noch bearbeitet werden.

Falls die Option 'Nur Hybride Daten erzeugen, Transportauftrag nicht(!) freigeben' gewählt wurde, muß der Transportauftrag nach der Erzeugung der hybriden Daten im Transport Organizer manuell freigegeben und die hybriden Daten mit dem Report anschließend wieder gelöscht werden.

Bei der Erzeugung und Löschung hybrider Daten wird jeweils ein entsprechender Log-Eintrag geschrieben. Mit Hilfe dieser Einträge kann zu jedem Zeitpunkt kontrolliert werden, welche hybriden Daten erzeugt und welche Meldungen ausgegeben wurden.

Hierzu muß lediglich die ID des Transportauftrags eingegeben werden. Auf dem Selektionsbild des Reports sind die Protokolleinträge über das Menue 'Umfeld' erreichbar. Ist man auf dem Ausgabebild des Reports, so sind die Protokolleinträge entweder über das Menue 'Umfeld' oder entsprechende Drucktasten erreichbar. Die Drucktasten sind nur aktiv, wenn es auch tatsächlich einen entsprechenden Protokolleintrag gibt.

Integration

Voraussetzungen

Funktionsumfang

Selektion

Standardvarianten

Ausgabe

Aktivitäten

Beispiel






General Data in Customer Master   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 12949 Date: 20240520 Time: 102357     sap01-206 ( 238 ms )