|
Try changing your prototype to use varying fields OR upon return to the caller use %trim on the returned fields. (personally I'd go with the varying fields in this case) P SendBatchEmail B EXPORT D SendBatchEmail PI D fromAddress 100A CONST D OPTIONS(*VARSIZE) Varying D toAddress 32767A CONST D OPTIONS(*VARSIZE) Varying D ccAddress 32767A CONST D OPTIONS(*VARSIZE) Varying D bccAddress 32767A CONST D OPTIONS(*VARSIZE) Varying D subject 32767A CONST D OPTIONS(*VARSIZE) Varying D body 32767A CONST D OPTIONS(*VARSIZE) Varying Thanks, Tommy Holden -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Mike Sent: Friday, October 13, 2006 10:12 AM To: RPG programming on the AS400 / iSeries Subject: %trim and %trimr Not Working on a 32767A Field Just as the subject says. I am wring a subproceedure that can take in any length of field. I am trying to trim down the field to the proper size, but it isn't. Here is the code: P SendBatchEmail B EXPORT D SendBatchEmail PI D fromAddress 100A CONST D OPTIONS(*VARSIZE) D toAddress 32767A CONST D OPTIONS(*VARSIZE) D ccAddress 32767A CONST D OPTIONS(*VARSIZE) D bccAddress 32767A CONST D OPTIONS(*VARSIZE) D subject 32767A CONST D OPTIONS(*VARSIZE) D body 32767A CONST D OPTIONS(*VARSIZE) /free cmd = 'SBMJOB CMD(CALL PGM(BATCHEMAIL) ' + 'PARM(''' + %trim(fromAddress) + ''' ''' + %trim(toAddress) + ''' ''' + %trim(ccAddress) + ''' ''' + %trim(bccAddress) + ''' ''' + %trim(subject) + ''' ''' + %trim(body) + ''') JOB(SNDEMAIL)'; ExecClCmd(cmd); /end-free P SendBatchEmail E After the assignment to cmd, it contains "SBMJOB CMD(CALL PGM(BATCHEMAIL) PARM('me@xxxxxxxxxxxxxxxxxx' 'me@xxxxxxxxxxxxxxxxxx ..." A ton of spaces and no ending quote mark. Any ideas? I am sure I am doing something stupid, I just can't see it.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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.