PDA

View Full Version : Externe Datenstruktur / Datenzuweisung



Schorsch
08-12-05, 07:52
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?

B.Hauser
08-12-05, 09:24
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

BenderD
09-12-05, 09:02
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

B.Hauser
09-12-05, 13:58
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