PDA

View Full Version : Create View Satzname



KingofKning
24-12-14, 12:09
Hallo *all,
wenn ich eine PF erstelle kann ich ja z.B. sagen: R DAT007SATZ TEXT('SONDERPREIS') wenn ich das in Cobol übernehme macht er das ja wie folgt:

01 007-SATZ.
COPY DD-ALL-FORMATS OF DAT007.
05 DAT007-RECORD PIC X(72).
I-O FORMAT:DAT007SATZ FROM FILE DAT007 OF LIBRARY RPTRADE
SONDERPREIS
05 DAT007SATZ REDEFINES DAT007-RECORD.
06 D007PLKZ PIC X(4).


Soweit so gut.

Wenn ich jetzt eine View erstelle mit: create view rptrade/dat008 as select

dann heißt die Datei dat008 dummerweise heißt das Datenelement jetzt auch dat008.




01 008-SATZ.
COPY DD-ALL-FORMATS OF DAT008.
05 DAT008-RECORD PIC X(29). <-ALL-FMTS
I-O FORMAT:DAT008 FROM FILE DAT008 OF LIBRARY RPTRADE <-ALL-FMTS
FORMAT0001 <-ALL-FMTS
05 DAT008 REDEFINES DAT008-RECORD.
06 SOID1 PIC S9(8) COMP-3.




Ich würde jetzt gerne daraus dat008satz machen.

Ich kann beim create view statt dat008 dat008satz machen, dann durchbreche ich aber meine Logik der Dateien.

KingofKning
25-12-14, 07:53
Manchmal reicht es ja eine Nacht drüber zu schlafen, hatte doch im Hinterkopf das es eine Replacing Funktion beim Copy gibt.
Damit klappt es dann jetzt auch.

GG

B.Hauser
25-12-14, 10:30
Sowohl bei der Definition einer Tabelle als auch bei einer View oder einem Index können seit Release V5R4M0 abweichende Format-Namen (über Schlüssel-Wort RCDFMT) angegeben werden.

Die Verarbeitung einer View mit nativie I/O (unabhängig davon ob mit RPG oder Cobol) macht nur dann Sinn, wenn alle Datensätze verarbeitet werden und die Reihenfolge egal ist.
Views sind immer ungeschlüsselt. Folglich kann auch nicht aufgesetzt und nur ein Subset der Daten verarbeitet werden.

Birgitta