Ansicht
Dokumentation

CATS_GUID_GET_KEY - Verknüpfung zwischen Guid und externem CATS-Key

CATS_GUID_GET_KEY - Verknüpfung zwischen Guid und externem CATS-Key

General Material Data   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Der Funktionsbaustein verknüpft einen Schlüssel (GUID) mit dem externen Schlüssel des Arbeitszeitblattes (CATS).

Die Verknüpfung zwischen der GUID und dem externen CATS-Schlüssel (er besteht aus 3 Feldern: EXTSYSTEM, EXTAPPLICATION und EXTDOCUMENTNO) wird in der Tabelle CATS_GUID_KEY abgelegt.

Der Funktionsbaustein vergibt neuen GUIDs einen externen CATS-Schlüssel und liefert für alte GUIDs, die bereits einen Eintrag in der Tabelle CATS_GUID_KEY haben, den dazugehörigen externen CATS-Schlüssel zurück.

In der Eingabetabelle IMP_GUID_TAB werden alte und/oder neue GUIDs dem Funktionsbaustein übergeben, wobei alte GUIDs, die also bereits eine Verknüpfung zu einem externen CATS-Key haben, zusätzlich ein Kennzeichen (KEY_EXISTS = 'X') haben müssen. Weiterhin muß bei der Eingabe die externe Anwendung (IMP_APPL) spezifiziert sein.

Der Funktionsbaustein gibt eine Tabelle (EXP_GUID_TAB) aus, die für neue Sätze die GUID und den exteren CATS-Key enthält. Alte Sätze weisen darüberhinaus noch ein Kennzeichen (RECORD_MISSING) oder den CATS-Counter aus der Tabelle CATSDB aus. Ein Satz der EXP_GUID_TAB mit einer alten GUID hat das Kennzeichen RECORD_MISSING = 'X', wenn zu seinem externen CATS-Key in der Tabelle CATSDB kein passender Satz gefunden werden konnte. Passend in diesem Sinne sind CATSDB-Sätze, die neben dem richtigen externen CATS-Key auch noch den CATSDB-STATUS = '10', '20', '30' oder '40' haben. Konnte zu der alten GUID ein richtiger CATSDB-Satz gefunden werden, so sitzt RECORD_MISSING auf Blank und der COUNTER ist gefüllt.

Im Falle alter GUIDs wird dieser COUNTER mitgeliefert, weil eine Folgeverarbeitung über die CATS-Bapis oder den Funktionsbaustein CATS_EXTERNAL_INTERFACE darauf angewiesen ist.

Es können folgende Ausnahmesituationen auftreten:

KEY_MISSING:Zu einer GUID in der Import-Tabelle IMP_GUID_TAB, die das Kennzeichen KEY_EXISTS = 'X' hat (also eine alte GUID darstellt), konnte kein externer CATS-Schlüssel in der Tabelle CATS_GUID_TAB gefunden werden.

NUMBER_RANGE_ERROR: Beim Aufbau des externen CATS-Schlüssels konnte für die EXTDOCUMENTNO keine Nummer ermittelt werden.

ERROR_UPDATE: Beim Update neuer GUIDs in die Tabelle CATS_GUID_KEY ereignete sich ein Fehler. Typischerweise wurde in der Eingabetabelle eine alte GUID ohne das Kennzeichen KEY_EXISTS übergeben. Da solch eine GUID als neue GUID interpretiert wird, scheitert ein INSERT auf die CATS_GUID_TAB.

NO_SYSTEM_FOUND: Es konnte kein logisches System ermittelt werden. Da das EXTSYSTEM Bestandteil des exterenen CATS-Schlüssels ist, wir die Verarbeitung unterbrochen.

Im Falle einer Ausnahmesituation wird die Ausgabetabelle geleert. Es finden keine Datenbankänderungen statt. Trat beim Einfügen eines Satzes in die Tabelle CATS_GUID_KEY ein Fehler auf (Ausnahme: ERROR_UPDATE), so obliegt es dem Aufrufer, ein ROLLBACK durchzuführen.

Weiterhin setzt der Funktionsbaustein kein COMMIT WORK ab.

Beispiel

Der Funktionsbaustein könnte im Umfeld folgenden Szenarios Bedeutung haben:

CATS wird als Schnittstelle zwischen System A und B benutzt. Im System A wird eine GUID vergeben, anhand derer im System B CATS-Sätze erzeugt werden sollen, die dann wieder in verschiedene Zielapplikationen übergeleitet werden sollen. Das System A kennt nur die GUID, nicht jedoch irgendwelche CATS-Keys. Neben dem Einfügen neuer Sätze (neue GUIDs) soll weiterhin die Möglichkeit einer Stornierung alter Sätze (alte GUIDs im Funktionsbaustein) gegeben sein.

(A) Neue Sätze (neue GUIDs).

Die Eingabetabelle IMP_GUID_TAB enthält lediglich die GUID, jedoch kein Kennzeichen KEY_EXISTS. Die neue GUID erhält einen externen CATS-Schlüssel und wird in die Datenbanktabelle CATS_GUID_KEY geschrieben. Die Ausgabetabelle EXP_GUID_TAB enthält die GUID und den externen Schlüssel. In der Folge kann mit diesem externen CATS-Schlüssel der Funktionsbaustein CATS_EXTERNAL_INTERFACE aufgerufen werden. Durch ihn wird ein CATS-Satz in die CATSDB eingefügt, der durch den externen CATS-Schlüssel wiedergefunden werden kann.

Die CATS-Bapis oder der Funktionsbaustein CATS_EXTERNAL_INTERFACE wird aufgerufen mit den Kontierungsinformationen und dem externen Schlüssel. Der CATS-Counter wird erst noch vergeben.

(B) Stornierung bereits im System B angelangter Sätze (alte GUIDs)

Die Eingabetabelle IMP_GUID_TAB enthält neben der GUID auch das Kennzeichen KEY_EXISTS = 'X'. Der Funktionsbaustein ermittelt aus der Tabelle CATS_GUID_KEY den externen CATS-Schlüssel und aus der Tabelle CATSDB den Counter. Die Ausgabetabelle beinhaltet neben der GUID und dem externen CATS-Schlüssel auch den Counter aus der CATSDB. Das Kennzeichen RECORD_MISSING ist nicht gesetzt, falls ein Counter gefunden werden konnte. Konnte kein entsprechender Counter zum externen Schlüssel in der CATSD ermittelt werden, so fehlt in der Ausgabetabelle EXP_GUID_TAB der Counter und das Kennzeichen RECORD_MISSING = 'X' sitzt.

Voraussetzung für die Stornierung der GUID über die CATS-Bapis oder den Funktionsbaustein CATS_EXTERNAL_INTERFACE ist der Counter aus der CATSDB. Fehlt also zur Storno-GUID der Counter, so kann die Stornierung nicht durchgeführt werden. Ansonsten wird der CATS_EXTERNAL_INTERFACE mit dem Counter, den Kontierungsparametern (des Originalsatzes) und dem externen Schlüssel versorgt. Weiterhin müssen die Felder CATSHOURS, BEGUZ, ENDUZ, ALLDF initial sein.

Hinweise

Weiterführende Informationen





Parameter

EXP_GUID_TAB
IMP_APPL
IMP_GUID_TAB

Ausnahmen

ERROR_UPDATE
KEY_MISSING
NO_SYSTEM_FOUND
NUMBER_RANGE_ERROR

Funktionsgruppe

CATS_SERVICES

BAL_S_LOG - Application Log: Log header data   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6829 Date: 20240523 Time: 184011     sap01-206 ( 77 ms )