|
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-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.