Ansicht
Dokumentation

PA_PDOC_READ_OBJECT - PA: Archivierung; Lesen von Daten der Klasse PA_PDOC aus Archiv

PA_PDOC_READ_OBJECT - PA: Archivierung; Lesen von Daten der Klasse PA_PDOC aus Archiv

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

Da niemand außerhalb einer Entwicklungsklasse hart auf die Tabellen programmieren sollte und das Lesen von Objekten nicht aus fremden Entwicklungsklassen herraus geschehen sollte, wird man häufig auf Funktionsbausteine stoßen, die diese Aufgaben übernehmen.

Sollte es also eine Funktionsbaustein geben, der die Daten eines Objekts aus den Datenbanktabellen liest, so sollte dieser erweitert werden, damit man auch Daten lesen kann, die archiviert wurden.

Damit man weiß, welche Daten gelesen werden sollen, braucht der Funktionsbaustein in seiner Schnittstelle einen Parameter, mit dem man den Archiv-Handle übergeben kann.

Die Daten zum Lesen erhält die Klasse über den Aufruf der Formroutine CLASS_PUT_DATA durch die Archivierung. Das Format der Daten entspricht exakt dem Format, wie es zum Archivierungszeitpunkt mit der Formroutine CLASS_GET_DATA an die Archivierung übergeben wurde.

Wird ein Archiv-Handle ungleich "0" übergeben, so heißt das für diesen Funktionsbaustein, daß er Daten bereitstellen soll, die er dem Packet mit Daten entnehmen kann, welches er in seinem lokalen Gedächtsnis vorhält. Da die Klasse das Packet selber zusammengestellt hat, und dieser Funktionsbaustein zur Klasse gehört, kann dieses Packet genau den Bedürfnissen dieses Funktioinsbausteins zugeschnitten sein.

Es kann aber auch durchaus Sinn machen, daß man keinen Archiv-Handle erwartet um festzustellen, daß man von einem Archiv Lesen soll. Man kann davon ausgehen, daß in der Regel immer nur entweder vom Archiv oder von der Datenbank gelesen werden soll. Genauso ist es selten, daß mehrere Archive gleichzeitig geöffnet wurden. Da der Funktionsbaustein über die Rückruffunktionen CLASS_INIT_READ und CLASS_INIT_WRITE weiß, wieviele Archive geöffnet wurden, kann er automatisch vom Archiv lesen, wenn er nur einen Handle zum Lesen hat. Hier bräuchte man also nur bei Programmen, die sowohl auf der Datenbank als auch auf dem archiv operieren ein Unterscheidungsmerkmal. Das gleiche gilt für Programme, die mehrere Archive lesen.

Die Archivierung wird niemals selbst versuchen, Packete einer Klasse zu interpretieren oder zu modifizieren.





Parameter

ARCHIVE_HANDLE
OBJECT
OBJECT_KEY

Ausnahmen

INTERNAL_ERROR
WRONG_ARCHIVE_HANDLE

Funktionsgruppe

PAR4

CL_GUI_FRONTEND_SERVICES - Frontend Services   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 2896 Date: 20240523 Time: 065911     sap01-206 ( 45 ms )