PDA

View Full Version : MOVE auf Satzformat



Seiten : [1] 2

Booley
09-12-02, 13:00
Hi zusammen,

ich glaube, ich sehe den Wald vor lauter Bäumen nicht mehr. Helft mir mal bitte weiter.

Folgendes Problem:

Ich möchte ein komplettes Satzformat in ein Anderes übertragen, welches den gleichen Aufbau hat. Beim Wandeln bekomme ich aber schon einen Fehler.

Hier der RPG-Code (auf das Wesentliche reduziert):

FSP_Fakt01 IF E K DISK Rename(SP_Fakt00R:fakt01r)
FSP_Fakt00 IF E K DISK Rename(SP_Fakt00R:fakt00r)
C
C Read Sp_Fakt01
C Read Sp_Fakt00
C
C Move fakt00R fakt01r
C*
C SetOn Lr


Und hier die Fehlermeldungen aus der Umwandlungsliste:

*RNF7260 30 60 000800 Der Eintrag FAKT00R für Faktor 2 ist für die angegebene
Operation ungültig; die Bestimmung wird ignoriert.

*RNF7261 30 60 000800 Der Eintrag FAKT01R für das Ergebnisfeld ist für die
angegebene Operation ungültig.


Ach ja, das Ganze unter OS 4.7 mit RPG-IV.

Wer weiß weiter?

Markus

[Dieser Beitrag wurde von Booley am 09. Dezember 2002 editiert.]

Steven
09-12-02, 14:01
Bist du dir sicher das man ein Satzformat in ein anders MOVEn kann? Muss es das ganze Format sein, oder reichen die Datensätze?

Booley
09-12-02, 14:19
Ich meine schon, dass ich das schon mal gemacht habe. Bin mir aber nicht mehr 100%ig sicher.

Ich muss halt alle Felder aus dem einen Format in das Andere übertragen. Und da das ziemlich viele sind, habe ich wenig Lust, jedes Feld manuell anzufassen.

Da das Ganze an diversen Bedingungen geknüpf ist, reicht ein CPYF nicht aus. Es muss schon aus dem RPG heraus erfolgen.

Es kann aber auch gerne eine andere Lösung als ein "Move" sein.

Markus

malzusrex
09-12-02, 14:28
halloechen,

was macht es überhaupt für sinn, die fakt00 nach fakt01 zubringen, wenn nicht wenigstens ein update auf die fakt01 gemacht wird?!?

gruß ronald

Booley
09-12-02, 14:29
Ich habe es jetzt erst einmal anders gelöst.

Ich habe die Dateien noch mal als extern definierte DS eingebunden. Dann funktioklappert der Move von einer EDS in eine Andere. Und da die Felder gleich heißen, ist die dementsprechende Datei auch gleich mit gefüllt.

Wenn jemand noch eine andere Idee hat, immer her damit.

Markus

Booley
09-12-02, 14:34
@malzusrex:

Wie oben geschrieben habe ich den RPG-Code auf das Wesentliche reduziert. Es erfolgt natürlich ein Update (bzw. Write) und noch einiges mehr. Aber ich wollte euch nicht mit 1000 Zeilen Code zumüllen, der nicht direkt zum Problem gehört.

Markus

Steven
09-12-02, 14:38
Hmm... du könntest das ganze als .prn in eine Excel-Datei laden und dann wieder zurück auf die AS/400 in eine anderen Datei laden. Ich hab das aber bis jetzt nur mit einer bereits vorhandenen Excel-Datei gemacht.

Gerlitz
09-12-02, 14:39
Daß man ein Satzformat moven kann wäre mir neu. Aber warum definierst Du nicht für beide Dateien eine externe Datenstruktur bei der Du jeweils die Datei angibst? Und dann die Datenstruktur moven.

Gruß

Matthias

Edit: Upss, jetzt hast Du es schon selber so gemacht.


[Dieser Beitrag wurde von Gerlitz am 09. Dezember 2002 editiert.]

ERTH
09-12-02, 14:46
Hallo Booley,

<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von Booley:
Ich habe es jetzt erst einmal anders gelöst.

Ich habe die Dateien noch mal als extern definierte DS eingebunden. Dann funktioklappert der Move von einer EDS in eine Andere. Und da die Felder gleich heißen, ist die dementsprechende Datei auch gleich mit gefüllt.

Wenn jemand noch eine andere Idee hat, immer her damit.

Markus[/quote]

ich habe ähnliche Problemstellungen gehabt und kein anderen Weg als über DS gefunden. Satzformate sind im RPG keine Felder und können somit nicht direkt im MOVE verwendet werden.
Anmerkung: MOVE in Verbindung mit Satzformatnamen funktionieren z.B. in COBOL

malzusrex
09-12-02, 15:11
hallo booley,

ich habe nur gefragt, da beide dateien als IF definiert sind in deinem beispiel