Anmelden

View Full Version : Beispiel



Seiten : 1 [2]

Miles
16-11-17, 17:06
Robi, stimmt schon hätte etwas mehr schreiben müssen :-(

Ich versuch es mal:
Ich will ein Programm schreiben das eine Datei durch liest mit allen mein Keys.
Und das Ergebnis bestimmte Felder in die andere Datei schreibt:


FTEST IP E K DISK
FTEST1 O E DISK
DSOC S LIKE(WAREH)
*KEYS
C BBKEY KLIST
C KFLD SOC
*
C BBKEY READE TESTF
C* *IN01 IFEQ *ON
C move Kunde Kunde1
C WRITE test1f
C ENDIF

Aber funktioniert nicht.

Pikachu
16-11-17, 17:35
Gib mal "IF" anstelle von "IP" an, wenn du selbst mit READE liest. Außerdem beim READE als letzte 2 Indikatoren jeweils 01. Und die Abfrage muß *IN01 IFEQ *OFF (kein Fehler) lauten. Der READE (Read Equal) findet nur Datensätze passend zu deinem BBKEY. Was sind "Kunde" und "Kunde1"? Sieh dir die erstellte Umwandlungsliste (Spooldatei) an: WRKSPLF > F18=Ende > letzte Spooldatei > mit 5=Anzeigen > mit E (Ende) auf die letzte Seite > eine Seite zurückblättern, da stehen RNF....-Nachrichten mit den Warnungen und Fehlern. :-)

Miles
16-11-17, 17:40
Danke für den Hinweis.
Aber ich habe jetzt anders gelöst:

FTEST IF E K DISK
FTEST1 O E K DISK
DKEY S Like(WAREH)
C
/FREE
KEY = 'AAB';
Chain Key TEST;
if %Found(TEST);
DoW not %EoF(TEST);
//Dsply KUNDE;
Kunde1= Kunde;
Write Test1f;
Reade Key TEST;
EndDo;
else;
Dsply 'NIX gefunden';
Endif;
*Inlr = *On;
/End-Free
C

Miles
17-11-17, 10:00
Danke noch mal habe jetzt auch RPGLE angepasst.

Pikachu
17-11-17, 12:45
Statt CHAIN und IF %FOUND kannst du auch mit SETLL aufsetzen und falls erfolgreich mit READE lesen.

RobertMack
17-11-17, 13:00
Chain = Setll + Reade ;-)