Ansicht
Dokumentation
CHANGE_POINTERS_READ_MODE_SET - Einstellen der Blockgröße beim Lesen von Änderungszeigern
PERFORM Short Reference CPI1466 during BackupDiese Dokumentation steht unter dem Copyright der SAP AG.
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öckeWHILE 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_SIZEMESSAGE_TYPE
Ausnahmen
BLOCK_SIZE_ALREADY_SETINVALID_BLOCK_SIZE
INVALID_KEY
Funktionsgruppe
BD01Fill 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 )