I have a CL that calls an RMDLX function with 4 input parameters and 11 output parameters.
CALL PGM(MàEXCHL) PARM('PUT' +
'UMUTULL P0030' &MUTULL +
'UCODPARLL A0180' &CODPARLL +
'UCODLETLL P0030' &CODLETLL +
'UCODOP1LL A0100' &CODOP1LL)
LANSA REQUEST(RUN) PROCESS(MV_TEST) +
FUNCTION(MVLETA1) PARTITION(DEV)
CALL PGM(MàEXCHL) PARM('GET' +
'ULIGN1 A0780' &LIGN1LL +
'ULIGN2 A0780' &LIGN2LL +
'ULIGN3 A0780' &LIGN3LL +
'ULIGN4 A0780' &LIGN4LL +
'ULIGN5 A0780' &LIGN5LL +
'ULIGN6 A0780' &LIGN6LL +
'ULIGN7 A0780' &LIGN7LL +
'ULIGN8 A0780' &LIGN8LL +
'ULIGN9 A0780' &LIGN9LL +
'ULIGN0 A0780' &LIGN10LL +
'UCODRETLL A0010' &CODRETLL)
The RDMLX function must return:
£uLIGN1LL := '- Nous avons procédé à la radiation de votre option XXXXXX, à compter du '
£uLIGN2LL := ' CHAMP LIBRE suite à la réception de votre demande.'
£uLIGN3LL := ' Votre carte de tiers payant devenant obsolète, nous vous remercions de nous'
£uLIGN4LL := ' la faire parvenir accompagnée de la déclaration sur l''honneur ci-jointe'
£uLIGN5LL := ' dûment complétée et signée.'
£uLIGN6LL := *blanks
£uLIGN7LL := *blanks
£uLIGN8LL := *blanks
£uLIGN9LL := *blanks
£uLIGN10LL := *blanks
But when i debugg my CL, i have this
&LIGN1LL='- Nous avons procédé à la radiati CHAMP LIBRE suite à la réceptio Votre cart'
&LIGN2LL=' CHAMP LIBRE suite à la réceptio Votre carte de tiers payant dev la faire p'
&LIGN3LL=' Votre carte de tiers payant dev la faire parvenir accompagnée d dûment com'
&LIGN4LL=' la faire parvenir accompagnée d dûment complétée et signée.
&LIGN5LL=' dûment complétée et signée.
&LIGN6LL='
&LIGN7LL='
&LIGN8LL='
&LIGN9LL='
&LIGN10LL='
You can see that I have the first 34 characters of the variable concatenated with the first 34 of the following line.
[CLOSED] Exchange fields to CLP
- Fabrice.geay
- Posts: 21
- Joined: Tue Dec 12, 2017 2:06 am
- Location: FRANCE
- Contact:
[CLOSED] Exchange fields to CLP
Last edited by Fabrice.geay on Wed Jun 29, 2022 11:48 pm, edited 1 time in total.
Best regard
Fabrice GEAY
Fabrice GEAY
Re: Exchange fields to CLP
In my work with the M@EXCHL program, I was told it would only handle a total of 10 parms (in or out, combined), but I would run into a similar problem as you have mentioned. I changed to start only using no more than a total of 8 parms (in or out, combined), and have not had any issues since.
Try breaking your exchange into to smaller groups, so you would have two CALL PGM(M@EXCHL) statements in your program, this worked for me.
Example to try:
CALL PGM(MàEXCHL) PARM('GET' +
'ULIGN1 A0780' &LIGN1LL +
'ULIGN2 A0780' &LIGN2LL +
'ULIGN3 A0780' &LIGN3LL +
'ULIGN4 A0780' &LIGN4LL +
'ULIGN5 A0780' &LIGN5LL)
CALL PGM(MàEXCHL) PARM('GET' +
'ULIGN6 A0780' &LIGN6LL +
'ULIGN7 A0780' &LIGN7LL +
'ULIGN8 A0780' &LIGN8LL +
'ULIGN9 A0780' &LIGN9LL +
'ULIGN0 A0780' &LIGN10LL +
'UCODRETLL A0010' &CODRETLL)
Try breaking your exchange into to smaller groups, so you would have two CALL PGM(M@EXCHL) statements in your program, this worked for me.
Example to try:
CALL PGM(MàEXCHL) PARM('GET' +
'ULIGN1 A0780' &LIGN1LL +
'ULIGN2 A0780' &LIGN2LL +
'ULIGN3 A0780' &LIGN3LL +
'ULIGN4 A0780' &LIGN4LL +
'ULIGN5 A0780' &LIGN5LL)
CALL PGM(MàEXCHL) PARM('GET' +
'ULIGN6 A0780' &LIGN6LL +
'ULIGN7 A0780' &LIGN7LL +
'ULIGN8 A0780' &LIGN8LL +
'ULIGN9 A0780' &LIGN9LL +
'ULIGN0 A0780' &LIGN10LL +
'UCODRETLL A0010' &CODRETLL)
Arlyn Dale
Servias LLC
Servias LLC
- Fabrice.geay
- Posts: 21
- Joined: Tue Dec 12, 2017 2:06 am
- Location: FRANCE
- Contact: