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




>>Frank,

>>Did you not see my reply and several others who told you what the
>>problem is?  You CANNOT pass a variable length field to QCMDEXC
>>using the CALL/PARM opcodes. It can only be a fixed-length field.
>>Making it variable length in this context is of no value, but if you
>>really, really want to use a variable length field, then you MUST
>>create a prototype for the call to QCMDEXC with each parm being a
>>CONST value. Then you can pass your varying field without a problem.
>>But it will continue to fail on the CALL/PARM every time as long as
>>your parameter is VARYING.

>>-Bob Cozzi


Bob,

Here are the parms I'm passing to QCMDEXC.
>      D AS400CMD        S           1000A
>      D CMDLENGTH       S             15P 5

Here are the program fields I'm populating to build the parm field
AS400CMD.
     D CMDPART1        C                   'SNDDST TYPE(*LMSG) TOINTNET(('
     D CMDPART2        C                   ')) DSTD('
     D CMDPART3        C                   ') LONGMSG('
     D CMDPART4        C                   ')'
     D EMAILSUBJ       S            100A   VARYING
     D EMAILBODY       S            500A   VARYING
      *
      /FREE

                EMAILSUBJ = 'Your Fax to' + '(' + %SUBST(P1FAXNBR:3:3) + ')' +
                             %SUBST(P1FAXNBR:6:3) + '-' + %SUBST(P1FAXNBR:9:4) +
                             ' Failed';

                EMAILBODY = 'Your Fax to' + '(' + %SUBST(P1FAXNBR:3:3) + ')' +
                             %SUBST(P1FAXNBR:6:3) + '-' + %SUBST(P1FAXNBR:9:4) +
                             ' Failed.  ' +
                             'Call the customer and ask if they have  '        +
                             'received the fax you had tried to send.  If not,'+
                             ' make sure the fax number is correct.  Then '    +
                             'resubmit the fax through the same program that ' +
                             'it was sent or detach the copies that were sent '+
                             'to your email address and print them out and '   +
                             'fax them manually.';


                AS400CMD = CMDPART1 + P1EMAIL + CMDPART2 +
                           EMAILSUBJ + CMDPART3 + EMAILBODY + CMDPART4;

                CMDLENGTH = %LEN(%TRIM(AS400CMD));


      /END-FREE
      *
     C                   CALL      'QCMDEXC'     CMDPARMS

      *
     C     CMDPARMS      PLIST
     C                   PARM                    AS400CMD
     C                   PARM                    CMDLENGTH

The actual parameter fields aren't VARYING.  Only the EMAILSUBJ and
EMAILBODY fields.  The program keeps ending when it trys to build the
AS400CMD field.  Can anyone see why?


Frank


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.