Anfang des Inhaltsbereichs

Syntaxdokumentation Interface-Blockpuffer  Dokument im Navigationsbaum lokalisieren

Definition

Im File-Layout ist jedem Block ein Blockpuffer zugeordnet. Die Interface-Toolbox schreibt die Felder eines Blockes zunächst in dessen Blockpuffer. Erst nach der Verarbeitung eines Blockes überträgt die Toolbox den Blockpuffer in die Exportdatei.

Verwendung

Wenn Sie bei der Blockbearbeitung die Funktion User-Exit nachher verwenden, können Sie bestimmen, ob der Interface-Blockpuffer in die Exportdatei geschrieben wird.

Die Toolbox definiert den Interface-Blockpuffer und kann von der benutzerdefinierten Form-Routine angewendet werden. Verwendet Ihr Programm, das die benutzerdefinierte Form-Routine enthält, das Include RPCIFI26 der Interface-Toolbox, dann haben Sie uneingeschränkten Zugriff auf den Interface-Blockpuffer.

Im Include RPCIFI26 wird der Interface-Blockpuffer als interne Tabelle mit dem Namen BLOCKS_OUTPUT definiert:

 

     DATA: BLOCKS_OUTPUT TYPE PINTF_OUTPUT OCCURS 10 WITH HEADER LINE.

     TYPES: BEGIN OF PINTF_OUTPUT,

             SNAME(25),

             LENTH(6) TYPE N,

             VALUE TYPE PINTF_MAX_RECORD,

           END OF PINTF_OUTPUT.

     TYPES: PINTF_MAX_RECORD (4096) TYPE C.

 

Das Feld BLOCKS_OUTPUT-SNAME enthält den Namen einer Struktur, die einem Block zugeordnet ist. BLOCKS_OUTPUT-LENTH enthält die Länge dieser Struktur und BLOCKS_OUTPUT-VALUE ihren Inhalt.

SNAME

LENTH

VALUE

STRUCTURE_01

17

12199601010002X00

STRUCTURE_02

20

Bond, James

STRUCTURE_03

8

19961010

 

Die Toolbox schreibt den Wert des Feldes BLOCKS_OUTPUT-VALUE in der Länge des Felds BLOCKS_OUTPUT-LENTH in die Ausgabedatei.

Wenn Sie eine benutzerdefinierte Form-Routine einsetzen, die für Blöcke die Funktion User-Exit nachher verwendet, können Sie den Interface-Blockpuffer manipulieren, indem Sie Einträge löschen, ändern, verschieben oder hinzufügen.

 

INCLUDE RPCIFI26.

FORM MAINTAIN_BLOCK USING PAR_01

                               PAR_02

                               PAR_03

                               PAR_04

                               PAR_05

                               PAR_06

                               PAR_07

                               PAR_08

                               PAR_09

                               PAR_10

                               PAR_11

                               PAR_12

                               PAR_13

                               PAR_14

                               PAR_15   "Eingabeparameter 1 - 15

                               RETURN_VALUE. "Rückgabeparameter

  RETURN_VALUE = `1`.

  LOOP AT BLOCKS_OUTPUT.

    IF BLOCKS_OUTPUT-SNAME = `STRUCTURE_A` AND

       BLOCKS_OUTPUT-VALUE(2) = `XS`.

       CLEAR BLOCKS_OUTPUT-VALUE.

       BLOCKS_OUTPUT-LENTH = 10.

       BLOCKS_OUTPUT-VALUE = `DS19960125`.

       MODIFY BLOCKS_OUTPUT.

    ENDIF.

  ENDLOOP.

ENDFORM.

 

Hinweis

Wenn Sie den Interface-Blockpuffer BLOCKS_OUTPUT ändern und den Rückgabewert 1 in die Toolbox zurückschreiben, dann exportiert die Toolbox den genauen Inhalt des Interface-Blockpuffers. Es ist nicht möglich, den vorherigen Inhalt des Interface-Blockpuffers wieder herzustellen.

Sie können den Interface-Blockpuffer nur für diejenigen kundeneigenen Form-Routinen verwenden, die für Blöcke die Funktion User-Exit nachher benutzen.

Beispiel für einen Interface-Blockpuffer

vorher

SNAME

LENTH

VALUE

 

STRUCTURE_A

12

XS0123456789

 

nachher

SNAME

LENTH

VALUE

 

STRUCTURE_A

10

DS 19960125