View Full Version : editcode
KingofKning
20-09-12, 08:23
Dann zeig doch einfach mal das was Du gemacht hast.
Könnte hilfreich sein..
GG
D ZZINH S 132A
D ZZLAEN S 3S 0
D ZZINHZ S 132A
/free
//
ZZINH = 'abc';
ZZLAEN= 20;
//
%subst(ZZINH:1:ZZLAEN);
%len((ZZLAEN)/2)-2;
return;
/end-free
Das war jetzt irgendwie mein Grundgedanke, hänge mit meine Gedanken aber immer mehr und drehe mich im kreis :)
wobei das len eben nur aus verzweiflung dazu kam und es keinerlei sinn dort macht ^^
Nimm doch obigen %subst:
Zielfeld=*blank;
%subst(Zielfeld:
%int((%size(Zielfeld)-%len(%trim(Quellfeld)))/2)+1 :
%len(%trim(Quellfeld)) )
= %trim(Quellfeld)
d zzinh s 132
d zzinhz s 132
d
d zzlaen s 3 0
/free
zzinh = 'abc';
zzlaen = 20;
%SubSt( zzinhz : %Int(( zzlaen - %Len(%trim( zzinh))) /2)+1:
%len( %trim( zzinh)) ) = %Trim( zzinh);
/end-free
c eval *inlr = *on
Klappt perfekt, vielen dank an alle :)
Werde das Projekt AS400 aber lieber nicht ganz so ernst nehmen.... ist anscheinend nicht meine Welt :)
LG!
Wie schon beschrieben kannst du dir zzlaen sparen, da die Funktion "%size(Feld)" dir die definierte Länge eines Feldes liefert.
Naja, soweit ich den Verstanden habe, ist das Ausgangsfeld immer 132 Zeichen lang und in den Längenfeld steht drinn, wieviele Zeichen er eigentlich maximal haben will
Stimmt, da hast du recht.
Ich hatte mir da mal (ca. 1998) eine Unterfunktion gebastelt :).