PDA

View Full Version : Programmbeschriebe Datei Sätze hinzufügen



marcel331
12-09-07, 11:17
Hallo,

ich habe eine programmbeschriebene Datei, dort möchte ich Sätze hinzufügen. Write funktioniert leider nicht. Wie muss ich es angeben?



FAES20TMP UF A F 7000 DISK

IAES20TMP AA
I 1 7000 AES20

So habe ich die Datei definiert. Ich fülle das Feld mit AES20 mit Werten und will es dann wegschreiben in die Datei.

Bitte um eure Hilfe

Vielen Dank

Marcel

kuempi von stein
12-09-07, 11:39
Hello,

kommt denn bei


c write AES20TMP AES20

eine Fehlermeldung?

k.

marcel331
12-09-07, 11:49
Hallo,

ja leider es kommt die Fehlermeldung

Das Ergebnisfeld ist keine Datenstruktur, für Faktor 2
wurde jedoch ein Dateiname angegeben.

Gruß

Marcel

Fuerchau
12-09-07, 12:07
Da die I-Definition rein Input ist benötigst du zur Ausgabe eine DS.
I-Felder können auch in einer DS auftauchen bzw. eine DS sein:

RPGIV
IAES20 DS 7000

C WRITE AES20 AES20TMP

marcel331
12-09-07, 12:40
Hallo Herr Fuerchau,

danke für die Antwort aber leider verstehe ich sie nicht so ganz. Heisst das ich muss eine DS definieren und diese dann in den I Bestimmungen angeben?



D AES20 DS 7000

*
IAES20TMP AA
I 1 7000 AES20

C WRITE AES20 AES20TMP


Dies führt wieder zu Fehlern, bitte nochmal um Ihre Hilfe.

Vielen Dank im Voraus

Marcel

Fuerchau
12-09-07, 15:30
Manchmal ist RPG da etwas restriktiv.
Versuche folgendes:

D MYAES20 DS
D AES20 1 7000

IAES20TMP AA
I 1 7000 AES20

C WRITE MYAES20 AES20TMP

Der Write könnte auch andersrum lauten (erst Format und dann Struktur, ich bin jetzt aber zu faul, nachzulesen):
C WRITE AES20TMP MYAES20

prs
12-09-07, 20:30
Hallo,
die Reihenfolge ist Faktor 2 Dateiname und Ergebnisfeld Datenstruktur. Was für Fehlermeldungen treten denn auf?
So sollte das Pgm. laufen:
FDBF002 UF A F 7000 DISK
D feld1 DS 7000
IDBF002 AA
I 1 7000 feld1
C movel 'xyz' feld1
C write DBF002 feld1
C move *ON *INLR
Gruß
prs

marcel331
13-09-07, 07:22
Hallo,

Danke für eure Hilfe, so funktionierts bei mir.



FAES20TMP UF A F 7000 DISK

*
D$AES20 S 7000 varying


*
DMYAES20 DS
DAES20 1 7000
*
IAES20TMP AA
I 1 7000 AES20

C MOVEL $AES20 AES20
C WRITE AES20TMP MYAES20



Danke nochmal

Marcel