So einfach ist das nun wirklich nicht :confused
Ich habe die Daten-Struktur definiert bekommen. Allerdings funktionierte das mit den Indicator in der Printer-File nicht und einige der Felder sind bereits im bestehenden Programm definiert.
Diese beiden Probleme kann ich umgehen, indem ich die Felder in der externen Daten-Struktur umbenenne:
PHP-Code:
dcl-ds ds_AB671PV_ABRDVAR ext
extname('AB671PV':'ABRDVAR' :
*output);
Ind51 extfld('*IN51');
Ind69 extfld('*IN69');
Ind97 extfld('*IN97');
$$ZL2 extfld('#ZL2');
$$ZL3 extfld('#ZL3');
$$ZL4 extfld('#ZL4');
$$ZL5 extfld('#ZL5');
$$ZL6 extfld('#ZL6');
$$ZL8 extfld('#ZL8');
$$LGNR extfld('LLGNR');
$$VWNR extfld('LVWNR');
$$TXAB0A extfld('#TXAB0A');
$$TXAB0B extfld('#TXAB0B');
$$TXAB0C extfld('#TXAB0C');
...
end-ds;
Leider geht mit dem Umbenennen der Felder auch der Feld-Inhalt verloren - was ich mir nicht erklären kann. Das Feld bekommt doch "nur" einen anderen Namen - der Speicher-Platz ist doch der gleiche...
Felder in der Printer-File:
PHP-Code:
EVAL #zl5
#ZL5 = 'Vor- und Nachname '
EVAL #zl6
#ZL6 = 'Straße und Hausnummer '
EVAL #zl8
#ZL8 = 'PLZ und Ort '
Felder in der Daten-Struktur:
PHP-Code:
EVAL ds_AB671PV_ABRDVAR
IND97 OF DS_AB671PV_ABRDVAR = ' '
IND69 OF DS_AB671PV_ABRDVAR = ' '
IND51 OF DS_AB671PV_ABRDVAR = ' '
$$ZL2 OF DS_AB671PV_ABRDVAR = ' '
$$LGNR OF DS_AB671PV_ABRDVAR = .
#KKZ OF DS_AB671PV_ABRDVAR = '-A '
$$ZL3 OF DS_AB671PV_ABRDVAR = ' '
$$VWNR OF DS_AB671PV_ABRDVAR = .
$$ZL4 OF DS_AB671PV_ABRDVAR = ' '
$$ZL5 OF DS_AB671PV_ABRDVAR = ' '
$$ZL6 OF DS_AB671PV_ABRDVAR = ' '
$$ZL8 OF DS_AB671PV_ABRDVAR = ' '
#DRKDT OF DS_AB671PV_ABRDVAR = 23062025.
#LGADR OF DS_AB671PV_ABRDVAR =
'Straße&Hausnummer, PLZ&Ort '
#LANZP OF DS_AB671PV_ABRDVAR = 01052015.
#LEHZP OF DS_AB671PV_ABRDVAR = 30042016.
$$TXAB0A OF DS_AB671PV_ABRDVAR = ' '
$$TXAB0B OF DS_AB671PV_ABRDVAR = ' '
$$TXAB0C OF DS_AB671PV_ABRDVAR = ' '
$$TXAB1A OF DS_AB671PV_ABRDVAR = ' '
$$TXAB1B OF DS_AB671PV_ABRDVAR = ' '
$$TXAB1C OF DS_AB671PV_ABRDVAR = ' '
$$TXAB2A OF DS_AB671PV_ABRDVAR = ' '
$$TXAB2B OF DS_AB671PV_ABRDVAR = ' '
Hier kann man gut erkennen, dass die Felder, die nicht von #... auf $$... umbenannt wurden, den zugewiesenen Wert enthalten. Alle Inhalte in den umbenannten Feldern sind verloren gegangen bzw. nicht (mehr) in der Daten-Struktur.
Ich kann also das Satz-Format einer Printer-File in eine Daten-Struktur übertragen - aber nur wenn ich keinen Rename vornehmen muss...
Hat jemand eine Idee?
Bookmarks