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



Booth:

> Why does my new procedure that will run QCMDEXC need two 
> parms in?  Why can t I just send the command and let the new 
> procedure determine the command's length?

Because you haven't actually created a new procedure. You've simply
prototyped the external call to QCMDEXC, for the benefit of being able
to use an expression in the argument list.

Try the following instead:


      * prototype for QCMDEXC API
     DqCmdExc          pr                  extPgm('QCMDEXC')

     D  cmdStr                    32767a   const options(*varsize)
     D  cmdLen                       15p 5 const

      * prototype for basic procedure wrapping QCMDEXC
     DexecCmd          pr              n
     D  cmdStr                     1024a   const options(*varsize)

      * procedure wrapping QCMDEXC
     PexecCmd          b
     D                 pi              n

     D  iCmd                       1024a   const

     D
     C                   callp(e)  qCmdExc( iCmd:
     C                                      %len(%trim(iCmd)) )
     C                   if        %error
     C                   return    *off
     C                   else
     C                   return    *on
     C                   endif

     PexecCmd          e



Now your calling code only needs the following:

     C                   if        execCmd('CLRPFM FILE(MYFILE)')
     C                   return    'eureka'
     C                   endif


Now, that's just a basic start. There's a number of ways to improve
execCmd() yet.


Regards,

John Taylor


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.