|
Isn't there a third parm?
Bill Hopkins
"John Taylor" <lists@xxxxxxxxxxxxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
10/24/2003 02:42 PM
Please respond to RPG programming on the AS400 / iSeries
To: "'RPG programming on the AS400 / iSeries'"
<rpg400-l@xxxxxxxxxxxx>
cc:
Subject: RE: Starting out with sub-procedures
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
_______________________________________________
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
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.