View Full Version : Nur einzelne Felder updaten
AS/400 ist ja so langsam mein Freund.
Aber: Kann ich, wie bei RPGII möglich, einzelne DB-Felder einer extern beschriebenen Datei mit "UPDATE" updaten ohne Output-Bestimmungen?
Einfach als UF in den F-Bestimmungen angeben.
Zur Klarstellung: Ein (altes) Programm liest nur Datei und verändert Felder dieser Datei auch, allerdings nur für die Druckausgabe. Ich möchte aber nur einige wenige Felder geändert zurückschreiben.
RobertMack
09-06-09, 16:16
Falls das im gleichen Programm geschehen soll (gelesene Felder für Druckausgabe ändern, schüttel...) würde ich die ausgewählten Felder
- entweder mit SQL ändern oder, falls nicht gewünscht
- per Chain/Update auf eine zweite logische Datei, welche auf die betreffenden Felder reduziert und in den F-Bestimmungen neben dem Rename Satzformat auch mit einem Prefix versehen ist
Die Lösung Logische Datei mit diesen speziellen Feldern ist wohl die sauberste Lösung. Danke.
Wobei das wirklich vollkommen unnötig ist, da die LF ja nicht weniger lesen/schreiben muss.
Wenn du auf der PF liest und eben nur die benötigten Felder per Programm änderst, werden doch automatisch alle anderen Felder mit ihrem vorherigen Wert zurückgeschrieben.
Wo ist also dein Problem ?
Meinst Du in etwa sowas ?
/free
chain empno record;
salary = salary + 2000;
status = STATEXEMPT;
update record %fields(salary:status);
/end-free
Gruß,
KM
RobertMack
10-06-09, 14:13
Wo ist also dein Problem ?
Er schrieb, dass andere Felder im Programm verändert werden (Druckausgabe)...
KMs Lösung hatte ich gar nicht auf dem Schirm, merk' ich mir ;-)