Objekt von oder nach Austausch-Format konvertieren: CONVERT

EXEC TAA
   CONVERT <Objektname>
   TO|FROM INTERCHANGE-FORMAT
   DATAAREA = <Datenname>
END-EXEC

Wenn Sie Daten zwischen verschiedenen Systemplattformen austauschen möchten, und wenn die Daten dabei nicht als TAA-Objekte über die TAA-Infrastruktur übertragen werden, kann es sein, dass die Daten in einem Format gespeichert werden, das für die Ziel-Plattform nicht verständlich ist. Dies kann zum Beispiel der Fall sein, wenn Sie über EXEC TAA START eine Steuerung auf einer anderen Plattform anstoßen, und die Daten, die diese Steuerung verarbeiten soll, in einer Datei oder Datenbank bereitgestellt werden.

CONVERT <Objekt> FROM INTERCHANGE-FORMAT konvertiert die Daten von einem innerhalb der TAA vereinbarten Austauschformat in das Format des Systems, auf dem das aktuelle Anwendungsmodul läuft.

Nach dem CONVERT stehen die konvertierten Daten in der COBOL-Satzstruktur des angegebenen TAA-Objekts zur Verfügung. Falls es sich um ein Listenobjekt handelt, muß dieses beim CONVERT mindestens einen Satz enthalten.

Der veränderte Objektinhalt muß mit EXEC TAA PUT gespeichert werden, wenn die Daten erhalten bleiben sollen.

Den COBOL-Bereich, in dem die zu konvertierenden Daten enthalten sind, geben Sie als DATAAREA an.

CONVERT <Objekt> TO INTERCHANGEFORMAT konvertiert die Daten von dem aktuellen Systemformat in das in der TAA vereinbarte Austauschformat.

Die Daten werden dabei der COBOL-Satzstruktur des TAA-Objekts entnommen. Bei Listenobjekten müssen Sie (über EXEC TAA GET) selbst dafür sorgen, dass vor der Konvertierung der gewünschte Satz bereitsteht.

Die konvertierten Daten werden als strukturloser String in der als DATAAREA angegebenen COBOL-Variablen zur Verfügung gestellt. Diese Daten können anschließend in einer Datei oder Datenbank gespeichert werden.

Die Daten werden entsprechend der Struktur des angegebenen TAA-Objekts konvertiert. Es ist deshalb wichtig, darauf zu achten, dass der Objekttyp des TAA-Objekts, aus dem die Daten stammen, identisch ist mit dem des Objekts, in das sie übernommen werden sollen.

Die als DATAAREA angegebene COBOL-Variable muß mit Stufennummer 01 oder 77 deklariert sein. Ihre Struktur spielt keine Rolle. Wichtig ist jedoch, dass sie groß genug sein muß, um die Daten des betreffenden TAA-Objekts im Austauschformat aufnehmen zu können.

Es können sowohl Sätze aus Listenobjekten als auch Record-Objekte konvertiert werden. Die Angabe einer Position oder eines Indexes für das Objekt ist in der CONVERT-Anweisung jedoch nicht möglich, sondern es wird immer der Satz konvertiert, der sich aktuell in der COBOL-Satzstruktur des TAA-Objekts befindet.

Beispiel

sample.cbl
 IDENTIFICATION DIVISION.
    EXEC TAA
        IDENTIFY EFUN SERVICE PG.-EFUN-FORMATE IN TEST
    END-EXEC.
 
 DATA DIVISION.
 WORKING-STORAGE SECTION.
 01 MYDATA PIC X(133).
 01 MY-IX PIC 99.
    EXEC TAA DECLARE LSTFMT TYPE PGFORMATE CLASS LST END-EXEC
    EXEC TAA DECLARE PGFORMT TYPE PGFORMATE CLASS REC END-EXEC
 LINKAGE SECTION.
 
 PROCEDURE DIVISION.
 MAIN SECTION.
    EXEC TAA REGISTER END-EXEC.
    SET TC-STATE-OK OF ME TO TRUE.
    EXEC TAA NEW PGFORMT END-EXEC.
    MOVE 1234567800.12 TO PGFORMT-000-PG-BETRAG.
    MOVE "29. JULI 1999" TO PGFORMT-000-PG-DATUM.
    MOVE 123.12345678 TO PGFORMT-000-PG-FAKTOR.
    MOVE "A" TO PGFORMT-000-PG-KENNZEICHEN.
    MOVE 112233445566 TO PGFORMT-000-PG-ZAHL.
    MOVE "Dies ist Text mit ÖÄÜöäüß{}[]<>|*§$&." TO
       PGFORMT-000-HG-TXT80.
 
    EXEC TAA CONVERT PGFORMT TO INTERCHANGE-FORMAT
        DATAAREA MYDATA
    END-EXEC.
 
    EXEC TAA NEW LSTFMT END-EXEC.
    MOVE 1 TO MY-IX
    PERFORM UNTIL MY-IX = 5
        PERFORM FILL-MYDATA
        EXEC TAA ADD LSTFMT END-EXEC.
 
        EXEC TAA CONVERT LSTFMT FROM INTERCHANGE-FORMAT
            DATAAREA MYDATA
        END-EXEC
 
        EXEC TAA PUT LSTFMT END-EXEC
        ADD 1 TO MY-IX
    END-PERFORM
 
    EXEC TAA UNREGISTER END-EXEC. 
cobref:cob:convert · Zuletzt geändert: 09.08.2024 13:25

Copyright © 1992-2024 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum