View Full Version : Externe Datenstruktur / Datenzuweisung
Hallo ans Forum,
habe hier im Form immer wieder das Stichwort
"externe Datenstruktur" gelesen und begonnen
damit zu experimentieren.
Die Definitionn als solche klappt ja noch, aber
wie kann ich die Daten (Chain, ReadE etc.) aus dem
eigentlichen Record in die EDS "moven"? Funktioniert
etwa nur der Fetch im SQL?
MfG
Schorsch
PS:Sind PDF-Handbücher zu diesem Thema bekannt?
Hallo Schorsch,
Sofern die Feldnamen in der Externen Datenstruktur mit den Feldnamen in der Datei übereinstimmen, wird die Datenstruktur beim Chain oder Read automatisch gefüllt.
Wurden die Felder z.B. durch einen Prefix umbenannt oder die Datenstruktur qualifiziert (Schlüssel-Wort QUALIFIED), hast du folgende Möglichkeiten:
1. Solange Du Release V5R2M0 hast, kannst Du eine Datenstruktur über LIKEREC Definieren.
Beim Chain, Read, Update und Write kannst Du diese Datenstruktur als Ergebnis-Feld angeben.
FLLADRBL0 UF E K DISK ReName(LLADRBF: LLADRB_FL0)
D InpADRBL0 DS LikeRec(LLADRB_FL0: *Input)
*------------------------------------------------------
/Free
Chain (Firma: KundeNr) LLADRB_FL0 InpADRBL0;
if %Found;
InpADRBL0.ADNA2 = 'Consulting Software';
Update LLADRB_FL0 InpADRBL0;
Endif;
/End-Free
3. Ab Release V5R3M0 kann auch eine externe Datentruktur (EDS) im Ergebnis-Feld einer Chain, Read, Update oder Write-Anweisung angegeben werden.
In der RPGIV-Referenz von Release V5R2M0 ist dies zwar schon beschrieben, aber wurde erst für Release V5R3M0 realisiert.
Birgitta
Hallo,
wenn ich das richtig im Kopf habe, ging das auch schon vorher, wenn man die externe Beschreibung aus der F Lochkarte weggelassen hat.
mfg
Dieter Bender
Hallo Schorsch,
Sofern die Feldnamen in der Externen Datenstruktur mit den Feldnamen in der Datei übereinstimmen, wird die Datenstruktur beim Chain oder Read automatisch gefüllt.
Wurden die Felder z.B. durch einen Prefix umbenannt oder die Datenstruktur qualifiziert (Schlüssel-Wort QUALIFIED), hast du folgende Möglichkeiten:
1. Solange Du Release V5R2M0 hast, kannst Du eine Datenstruktur über LIKEREC Definieren.
Beim Chain, Read, Update und Write kannst Du diese Datenstruktur als Ergebnis-Feld angeben.
FLLADRBL0 UF E K DISK ReName(LLADRBF: LLADRB_FL0)
D InpADRBL0 DS LikeRec(LLADRB_FL0: *Input)
*------------------------------------------------------
/Free
Chain (Firma: KundeNr) LLADRB_FL0 InpADRBL0;
if %Found;
InpADRBL0.ADNA2 = 'Consulting Software';
Update LLADRB_FL0 InpADRBL0;
Endif;
/End-Free
3. Ab Release V5R3M0 kann auch eine externe Datentruktur (EDS) im Ergebnis-Feld einer Chain, Read, Update oder Write-Anweisung angegeben werden.
In der RPGIV-Referenz von Release V5R2M0 ist dies zwar schon beschrieben, aber wurde erst für Release V5R3M0 realisiert.
Birgitta
Hallo,
wenn ich das richtig im Kopf habe, ging das auch schon vorher, wenn man die externe Beschreibung aus der F Lochkarte weggelassen hat.
mfg
Dieter Bender
... stimmt, daran hatte ich nicht gedacht. Wir haben diesen Trick z.T. bei Schnittstellen verwendet.
Nur ich denke, in diesem Fall war diese Lösung nicht unbedingt gewünscht.
Birgitta