Zitat Zitat von B.Hauser Beitrag anzeigen
So geht das nicht!

Wenn Du die Datensätze ohne Datenstruktur einliest oder in eine externe unqualifizierte Datenstruktur bei der das Schlüssel-Wort PREFIX nicht verwendet wurde, hast Du die Format-Daten.

Wenn Du den Datensatz über in eine qualifizierte Datenstruktur oder eine externe Datenstruktur mit PreFix, sind die Format-Daten weg.

Beides in einem Schritt geht nicht!

Was Du natürlich machen kannst, wenn Du den Original-Datensatz sichern möchtes:
1. Eine externe unqualifizierte Datenstruktur anlegen.
2. Eine weitere Datenstruktur z.B. qualifizierte Externe Datenstruktur oder mit LikeRec definierte Datenstruktur
3. Nach dem Einlesen den Datenstatz entweder mit EVAL oder EVAL-CORR in die zweite Datenstruktur schieben.

PHP-Code:
D DSFileA       E DS                  EXTNAME(FileA)               
D DSFileASav      DS                  LikeRec(FileAF: *Input)      
 *------------------------------------------------------
 /
Free
    Read FileAF DSFileA
;
    
DSFileASav DSFileA;
 /
End-Free 
Das Einlesen in die Datenstruktur DSFileA is nicht zwingend erforderlich.

Birgitta
Moin @Birgitta,
ich habe ein ähnliches Problem und greife hierfür diesen alten Post auf.

Für eine Journalisierung bzw. ein spätere Auswertung der Druck-Daten muss ich alle Daten eines Satz-Formates in einer Printer-File in eine separate Datei schreiben.
In einem anderen Post habe die Lösung gefunden alle Satz-Formate mit QUALIFIED zu definierten. Dies ist für meine Anwendung nicht möglich, da die Printer-File mehrere Hundert Satz-Formate und das Programm viele Tausend lines of code hat. Der Aufwand wäre einfach zu groß.

Ich habe deine Lösung versucht aufzugreifen, was bei mir allerdings zu Umwandlungsfehler führt:

PHP-Code:
D ds_abrdvar    E ds                  extname('AB671PV':'ABRDVAR' : *all
D prtf_ds         ds                  likerec(ABRDVAR : *all
PHP-Code:
RNF3804 Name #ZL2 in externer Beschreibung AB671PV... wurde nicht umbenannt; der externe Name wird ignoriert. 
Was habe ich falsch gemacht?

Sorry - ich hatte noch eine Daten-Struktur definiert :confused

Jetzt habe ich Probleme mit den in Printer-File definierten Indicatorn:

PHP-Code:
000461 D ds_abrdvar    E ds                  extname(AB671PV:ABRDVAR:*output)                                    250623     000461
        
*--------------------------------------------------------------------------------------------*                     1
        
Datenstruktur  . . . . . . :  DS_ABRDVAR                                                   *                     1
        
Externes Format  . . . . . :  ABRDVAR A010001018/AB671PV                                 *                     1
        
Formattext . . . . . . . . :  Deckblatt-Variablen                                          *                     1
        
*--------------------------------------------------------------------------------------------*                     1
000001
=*IN51                          1N                                                                                 1000001
======>  aaaaa
*RNF3314 20 a     1000001  Der Eintrag für den Namen ist ein reserviertes Wort;
                           
standardmäßig werden Leerzeichen angenommen.
000002=*IN69                          1N                                                                                 1000002
- New Page -
 
5770WDS V7R4M0  190419 RN        IBM ILE RPG             A010001018/AB671         BRUDEVIT   23.06.25 09:06:04       Seite     15

Zeil
.- <---------------------- Quellenbestimmungen ------------------------------><-- Bemerkungen -->  Do  S.    Änd.-  Src Folge-
Nummer ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Z.    Datum  ID  nummer
======>  aaaaa
*RNF3314 20 a     1000002  Der Eintrag für den Namen ist ein reserviertes Wort;
                           
standardmäßig werden Leerzeichen angenommen.
000003=*IN97                          1N                                                                                 1000003
======>  aaaaa 

Im Prinzip brauche ich eine Daten-Struktur je Satz-Format in der Printer-File, die "automatisch" mit den Werten in dem Print-Record gefüllt wird (redefine). Diese Daten-Struktur übergebe ich dann an eine Prozedur, die den Datensatz in eine Datei schreibt.
Der Satz "Das Einlesen in die Datenstruktur DSFileA is nicht zwingend erforderlich." war meine Hoffnung...
Ich würde mir gerne die Übertragung jeden einzelnen Feldes ersparen

Vielen Dank und viele Grüße
Wolfgang

P.S. natürlich freue ich mich auch über Lösung von anderen Kollegen