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