PDA

View Full Version : Schrott in Feldern



alex61
15-05-24, 10:05
Hallo zusammen,wieder mal eine Frage:

ich muss aus einer DB2-Datei ein Subfile füllen. In der DB2-Datei
enthält ein Feld ab und an Schrottwerte. Da gibt es natürlich dann
ein Problem bei der Anzeige des Feldes im Dialogprogramm, ja es
kommt sogar zu einem Abbruch mit Code RPG1251.

Kann man das irgendwie verhindern ?


eispiel für den Inhalt des Feldes mit Schrott:

01063 10415521 áâ* k{* FA 88844800


Danke wieder für Infos, Grüße A.

Fuerchau
15-05-24, 10:25
Da solltest du die Inhalte mit einem separaten Programm mal korrigieren und alle Zeichen kleiner Blank durch Blank ersetzen. Eine Standardfunktion gibts dafür nicht.
Du kannst aber einen Service ILE-Funktion schreiben, der dir die Zeichen halt austauscht.
Dann kannst du halt per

eval ZielFeld = Service_ReplaceUnprintable(Quellfeld);

den Inhalt korrigieren.

dcl-proc Service_ReplaceUnprintable;
dcl-pi *n varchar(256);
input varchar(256) const;
end-pi;

dcl-s output varchar(256) inz;
dcl-s pos int(5);

for pos=1 to %len(input);
if %subst(input : p:pos:1) < *blank;
output += ' ';
else;
output += %subst(input : p:pos:1);
endif;
endfor;
return output;

end-proc;

alex61
15-05-24, 10:36
ganz lieben Dank für Deine schnelle Hilfe. Ich probiere das aus.
Grüße A.