PDA

View Full Version : TRIM bei Parameterübergabe verhindern



Gorden858
16-07-15, 06:14
Ich habe eine RPGLE-Prozedur, an die ein alphanumerischer Parameter übergeben werden soll. Mir ist nun aufgefallen, dass bei der Übergabe scheinbar automatisch ein TRIM und eine linksbündige Ausrichtung vorgenommen wird. Gibt es eine Möglichkeit dies zu verhindern? Ziel ist es in der Lage zu sein sowohl ' 12345' als auch '12345 ' unverändert übergeben zu können.

Über einen Hinweis würde ich mich freuen.

LG Daniel

B.Hauser
16-07-15, 06:21
Vermutlich ist der Parameter für die Variable im Prototyp mit OPTIONS(*TRIM) definiert.
Ansonsten werden führende und folgende *Blanks nicht entfernt.

... und vermutlich gibt es "hunderte" von Programmen/Prozeduren, an die der Parameter ohne führende *Blanks übergeben werden muss.
... und Dein Fall ist die Ausnahme.

Birgitta

Fuerchau
16-07-15, 07:49
OPTIONS(*TRIM) muss ja schon bewusst eingesetzt werden.
Ggf. wird ja die "Prozedur" als Hauptprogramm mittels des Kommandos CALL aufgerufen.
Bekanntes Thema beim SBMJOB ... CMD(CALL MYPGM (&P1)).
Wenn der Inhalt &P1 nicht in Hochkommata übergeben wird, werden tatsächlich führende Leerzeichen entfernt.

BenderD
16-07-15, 08:12
Ich habe eine RPGLE-Prozedur, an die ein alphanumerischer Parameter übergeben werden soll. Mir ist nun aufgefallen, dass bei der Übergabe scheinbar automatisch ein TRIM und eine linksbündige Ausrichtung vorgenommen wird. Gibt es eine Möglichkeit dies zu verhindern? Ziel ist es in der Lage zu sein sowohl ' 12345' als auch '12345 ' unverändert übergeben zu können.

Über einen Hinweis würde ich mich freuen.

LG Daniel
... wie sehen denn der Prototyp und das Procedure Interface der procedure aus?
D*B

Gorden858
16-07-15, 08:15
Danke für die schnellen Antworten. Das hat mich tatsächlich auf die richtige Fährte gebracht. :-)

Fuerchau
16-07-15, 08:18
Wäre schön für alle, wenn du Ursache und Lösung angibst.