× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.