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



If you want to forget the length parameter, you could encapsulate QCMDEXEC in a 
service program. In the procedure, you can use the CEEDOD API to compute the 
length of the command to run. Here is the source of such a service program:

h nomain                                                               
                                                                       
d cmdExec         pr                  opdesc                           
d                             3000a   options(*varsize) const          
                                                                       
 *==================================================================== 
                                                                       
p cmdexec         b                   export                           
d                 pi                  opdesc                           
d @cmd                        3000a   options(*varsize) const          
                                                                       
 *-----------------------------------------------------------------*   
 * Prototype for CEEDOD (Retrieve operational descriptor)              
 *-----------------------------------------------------------------*   
d CEEDOD          pr                                                   
d ParmNum                       10i 0 const                            
d                               10i 0                                  
d                               10i 0                                  
d                               10i 0                                  
d                               10i 0                                  
d                               10i 0                                  
d                               12a   options(*omit)                   
d                                                                      
 * Parameters passed to CEEDOD                                         
d DescType        s             10I 0                                  
d DataType        s             10I 0                                  
d DescInfo1       s             10I 0                                  
d DescInfo2       s             10I 0                                  
d InLen           s             10I 0                                  
                                                                       
d @lon            s             15p 5                                  
d @cmdExc         s           3000a                                    
                                                                       
 *-----------------------------------------------------------------*   
 * Use the operational descriptors to determine the lengths of     *   
 * the parameters that were passed.                                *   
 *-----------------------------------------------------------------*   
c                   callp     CEEDOD(1         : DescType : DataType : 
c                                    DescInfo1 : DescInfo2: Inlen    : 
c                                    *OMIT)          
                                                     
c                   call      'QCMDEXC'              
c                   parm      @cmd          @cmdExc  
c                   parm      InLen         @lon     
                                                     
c                   return                           
                                                     
p cmdexec         e                                  

Denis Robitaille
Directeur services technique TI
819 363 6130

SUPPORT
Jour (EST) Daytime : 819-363-6134
En-dehors des heures (EST) After hour : 819-363-6158
Network Status : 819-363-6157

>>> Satheeshkumar_selvaraj@xxxxxxxxxx 2005-10-03 11:18:09 >>>
The Prototype for QCMDEXC is defied as
first parameter with Variable length character (Command) and
second parameter as 15P5 numeric (Length of the Command).
So your call should match with the prototype of the API.
This rule applies for any API or program you call.

Satheesh
 
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx 
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of murali dhar
Sent: Monday, October 03, 2005 8:22 PM
To: RPG programming on the AS400 / iSeries
Subject: Qcmdexc

D CMD     S   9A INZ('WRKOBJPDM')
D CMD1    S  7A INZ('DSPLIBL')
D LENGTH  S  15 5 INZ(9)
D LENGTH1 S  15 5 INZ(7)
C       CALL   'QCMDEXC'
C       PARM              CMD1
C       PARM              LENGTH1
C       CALL   'QCMDEXC'   
C       PARM             CMD
C       PARM               LENGTH
C       SETON                     LR
 
When I tried to change decimal positions from 5  to other number ( tried
diff combinations,like 16 6 etc..)for the fields LENGTH&LENGTH1, the
program is not working  and throwing exception which says command length
not valid..
Can some one let me know whats wrong?  
 

                
---------------------------------
Yahoo! for Good
 Click here to donate to the Hurricane Katrina relief effort. 

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.