Ansicht
Dokumentation

CHANGE_POINTERS_READ_MODE_SET - Einstellen der Blockgröße beim Lesen von Änderungszeigern

CHANGE_POINTERS_READ_MODE_SET - Einstellen der Blockgröße beim Lesen von Änderungszeigern

PERFORM Short Reference   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionsweise

Der Funktionsbaustein CHANGE_POINTERS_READMODE_SET verändert das Standardverhalten von CHANGE_POINTERS_READ. Das Standardverhalten von CHANGE_POINTERS_READ liefert alle Änderungszeiger zu einem Nachrichten- typ oder einer Liste von Nachrichtentypen unter Einschränkung von Erstellungszeit (BDCP-CRETIME) und Aktivierungszeit (BDCP-ACTTIME). Um bei der Auswertung von Änderungszeigern den Hauptspeicherbedarf für Änderungszeigertabellen gering zu halten, kann CHANGE_POINTERS_READ mit diesem Funktionsbaustein so eingestellt werden, daß er für einen Aufruf aus einem bestimmten Report (REPORT_NAME) unter Angabe eines (!) bestimmten Nachrichtentyps immer nur einen Block von Änderungszeigern zurückliefert. Bei jedem weiteren Aufruf wird dann der nächste Block gelesen. CHANGE_POINTERS_READ liefert dabei die Änderungszeiger in aufsteigender Reihenfolge geordnet nach der Änderungszeigernummer (BDCP-CPIDENT).

Einschränkungen

Es wird nicht sichergestellt, daß die tatsächlich angegebene Blockgröße auch gelesen wird. Die Anwendung, die CHANGE_POINTERS_READ im Zusammenspiel mit diesem Funktionsbaustein aufruft, darf keine Implikationen machen, daß die Änderungszeiger chronologisch oder alle Änderungszeiger, die aus einem Änderungsbeleg erstellt werden, in einem Block übergeben werden.

Beispiel

RBDMIDOC wird mit einem Nachrichtentyp und Einschränkung auf Erstellungs- und Aktivierungszeit ausgeführt. Als neuer Parameter kommt die Blockgröße mit Vorgabewert 0 (d.h. Standardverhalten). Der Parameterfür die Blockgröße wird z.B. auf 50000 gesetzt. RBDMIDOC setzt den Report RBDMIDOX ab und reicht die genannten Parameter weiter. Da die Blockgröße bei RBDMIDOX größer als 0 ist, wird der zum Nachrichtentyp eingetragene Funktionsbaustein (z.B. MASTERIDOC_CREATE_SMD_MATMAS zum Nachrichtentyp MATMAS) nicht einmal, sondern so oft aufgerufen, bis alle Blöcke eingelesen und verarbeitet sind. Im Report RBDMIDOX wird dann folgenes gemacht:

* Setzen der Blockgröße CALL FUNCTION 'CHANGE_POINTERS_READ_MODE_SET'

EXPORTING

REPORT_NAME = SY-REPID

MESSAGE_TYPE = 'MATMAS'

BLOCK_SIZE = 50000.

* Abarbeiten der Blöcke

WHILE FLAG_DONE EQ SPACE.

CALL FUNCTION 'MASTERIDOC_CREATE_MATMAS'

...

CALL FUNCTION 'CHANGE_POINTERS_READ_INFO_GET'

EXPORTING

MESSAGE_TYPE =

IMPORTING

FLAG_DONE = FLAG_DONE.

ENDWHILE.

* Rücksetzen auf Standardwerte CALL FUNCTION 'CHANGE_POINTERS_READ_MODE_SET'

EXPORTING

REPORT_NAME = SY-REPID

MESSAGE_TYPE = 'MATMAS'

BLOCK_SIZE = 0.





Parameter

BLOCK_SIZE
MESSAGE_TYPE

Ausnahmen

BLOCK_SIZE_ALREADY_SET
INVALID_BLOCK_SIZE
INVALID_KEY

Funktionsgruppe

BD01

Fill RESBD Structure from EBP Component Structure   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3390 Date: 20240523 Time: 174906     sap01-206 ( 81 ms )