PDA

View Full Version : Format von PF ändern



_MG_
19-04-17, 13:40
Hallo zusammen,

ist es möglich den Satzformatnamen einer bestehenden PF zu ändern?
Wenn ja wie?
SQL "Rename" ändert ja nur den Dateinamen, gibt es evtl einen ähnlichen Befehl für den Formatnamen?

Danke im Voraus

Grüße
MG

Fuerchau
19-04-17, 13:44
Beim Create Table kannst du einen Formatnamen vorgeben.
Anschliessend die Tabelle per "insert ... select ..." kopieren.

Wozu soll der Rename gut sein?
In SQL brauchst du ihn nicht, im ILERPG kannst du ihn umbenennen.

_MG_
19-04-17, 14:03
Danke erstmal.
Ich schreibe gerade ein Programm was Sätze löscht. Jedoch würde ich die gelöschte Sätzen gerne vorher in eine andere Datei wegschreiben. Dazu dachte ich mir es wäre am einfachsten die bestehende PF zu kopieren. Dann hätte ich schon die Felder etc. Auf die Source habe ich jedoch kein Zugriff.

Daher die Frage ob man bei einer bestehenden PF den Formatnamen ändern kann.

Grüße

malzusrex
19-04-17, 14:33
Wie Baldur sagte.

In diesem Fall würde ich ein CRTDUPOBJ machen
CRTDUPOBJ MyFile *libl *file *Fromlib MyFileSave
und im RPG dann das Format umbenennen.
dcl-f MyFileSave Usage( *Output ) Rename( Formatname : Formatname_neu );

Gruß
Ronald

Fuerchau
19-04-17, 15:49
Da bietet sich geradezu SQL an.
Per "Create Table as (select ... from xxx where ...) with data" ist der Kopierakt doch schon erledigt.
Der anschliessende "delete from xxx where ..." bereinigt dann.

Dynamische Formatnamen sind in ILERPG unmöglich. In diesem Fall kannst du Dateien nur als "intern beschriebene" Datei öffnen. Oder jede Datei muss den selben Formatnamen haben.
Der Rename im RPG dient nur zur Unterscheidung von Datei und Formatname, der bei SQL-Tabellen z.B. identisch ist.
Im Gegnsatz zu COBOL kann ein Formatname nicht in einer Variablen stehen.

ExAzubi
20-04-17, 16:45
In den F-Karten ein RENAME auf Satzformatnamen wäre doch eine Lösung.

Fuerchau
20-04-17, 17:05
Ja, das ist aber absolut auf die Datei fixiert, die ich in den F-Bestimmungen angebe.
Ich kann dann keinen OVRDBF machen, wenn die neue Datei nicht denselben origiären Formatnamen hat.
Die Umbenennung ist nur programmspezifisch.

_MG_
21-04-17, 12:47
hatte es mit
dcl-f MyFileSave Usage( *Output ) Rename( Formatname : Formatname_neu );
gelöst
funktioniert, danke

Aber wenn wir da schon sind, woran liegt es das mir der SEU Editor
bei dem Befehl die Fehlermeldung "Für die Operation EVAL wird ein Zuordnungsoperator erwartet." bringt, das Programm aber ordentlich umgewandelt wird.

Thomas65
21-04-17, 13:09
SEU unterstützt die neuesten RPG-Spracherweiterungen nicht mehr.
Freunde dich langsam mit dem RDi an, es ist wirklich mittlerweile sehr brauchbar und eine enorme Verbesserungen gegenüber SEU und PDM.
Es gibt hier auch mehr als einen Thread dazu.