|
The simplest way to solve the problem is pass the parm 1 char longer than
necessary with an asterisk in the non-blank position, e.g.
PASSING LARGE CHARACTER VALUES ON SBMJOB
CLPROG1: PGM PARM(&TEXT)
DCL VAR(&TEXT) TYPE(*CHAR) LEN(40)
SBMJOB CMD(CALL PGM(CLPROGA) PARM(&TEXT))
ENDPGM
CLPROGA: PGM PARM(&TEXT)
DCL VAR(&TEXT) TYPE(*CHAR) LEN(40)
CALL PGM(RPGPROGA) PARM(&TEXT)
ENDPGM
IF THE LAST FEW CHARACTERS IN &TEXT ARE BLANK, CLPROGA WILL RECEIVE GARBAGE
IN &TEXT.
CLPROG1: PGM PARM(&TEXT)
DCL VAR(&TEXT) TYPE(*CHAR) LEN(40)
DCL VAR(&TEXTL) TYPE(*CHAR) LEN(41)
/* Force non-blank character at end of data. */
CHGVAR VAR(&TEXTL) VALUE(&TEXT *CAT '*')
SBMJOB CMD(CALL PGM(CLPROGA) PARM(&TEXTL))
ENDPGM
WITH NO CHANGES TO PROGRAM, SUBMITTED CL PROGRAM WILL NOW RECEIVE PROPER
DATA IN 40 CHARACTER VARIABLE &TEXT.
>I know that if I define char parms to CL at 32chs or less they get passed
>OK and that if they are larger they can get screwed up, but can someone
>please remind me of the options I have to get round this. It works if I
>make sure the full number of characters are passed but surely there are
>other options? Also if someone can point me at the part of the CL manual
>that deals with this it would be helpful, I've only found one reference so
>far and it was less than definitive.
>
>Jon.Paris@halinfo.it
>
>
>+---
>| This is the Midrange System Mailing List!
>| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
>| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
>| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
>| Questions should be directed to the list owner/operator: david@midrange.com
>+---
>
>
Charlie Massoglia, Massoglia Technical Consulting, Inc.
PO Box 1065, Okemos, MI 48854, USA
517-676-9700 Fax: 517-676-1006 EMAIL: cmassoglia@voyager.net
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.