A continuaci�n tienes un fuente RPGLE que encontr� con la implementaci�n de
una funci�n que hace lo que dices. Aunque el comentario inicial sugiere que
lo implementes como programa de servicio, nosotros lo tenemos como m�dulo.

No te adjunto tambi�n el fuente de /COPY porque solamente tiene la
definici�n de la funci�n ExecCmd, y lo puedes crear f�cilmente viendo este
fuente.

H nomain                                                                    
 *  NOTE: Create as service program with activation group of *CALLER.       
 *        This ensures commands with activation group scope (such as OVRDBF 
 *          are effective.                                                  
 ************************************************************************   
 *       PROTOTIPOS                                                         
 ************************************************************************   
                                                                            
 /COPY QINCLSRC,UTX0001                                                     
                                                                            
D QCAPCMD         PR                  extpgm('QCAPCMD')                     
D   CmdString                32767A   const options(*varsize)               
D   CmdLength                   10I 0 const                                 
D   OptCtlBlk                   20A   const                                 
D   OCBLen                      10I 0 const                                 
D   OCBFmt                       8A   const                                 
D   ChgCmdStr                    1A                                         
D   LenAvailCS                  10I 0 const                                 
D   LenOfChgCS                  10I 0                                       
D   ErrorCode                  144A                                         
                                                                            
 *****************************************************************          
 *    PROCEDIMIENTOS EXPORTADOS                                             
P ExecCmd         B                   export                        
D ExecCmd         PI             7A                                 
D   CmdString                32767A   value varying                 
D   OptParms                   128A   options(*NOPASS)              
                                                                    
 * Variables Locales:                                               
D   OCB           DS                                                
D    TypOfCmdP                  10I 0 inz(0)                        
D    DBCS                        1A   inz('0')                      
D    Prompt                      1A   inz('2')                      
D    CmdStrSyn                   1A   inz('0')                      
D    MsgKey                      4A   inz(*BLANKS)                  
D    Resvd1                      9A   inz(*LOVAL)                   
D   OCBFmt        S              8A   inz('CPOP0100')               
D   CCS           S              1A   inz(*BLANKS)                  
D   CCSLenAvl     S             10I 0 inz(0)                        
D   CCSLenRet     S             10I 0 inz(0)                        
D ErrorDS         DS                                                
D  Err_BytProv                  10I 0                               
D  Err_BytAvail                 10I 0                               
D  Err_ExcID                     7A                                 
D  Err_Rsvd                      1A                                 
D  Err_Exception               128A                                 
C                   clear                   ErrorDS                  
C                   eval      Err_BytProv=%size(ErrorDS)             
C                   callp     QCAPCMD(CmdString                      
C                                    :%len(CmdString)                
C                                    :OCB:%size(OCB):OCBFmt          
C                                    :CCS:CCSLenAvl:CCSLenRet        
C                                    :ErrorDS)                       
                                                                     
C                   if        %parms > 1                             
C                   eval      OptParms = Err_Exception               
C                   endif                                            
C                   return    Err_ExcID                              
P                 E                                                  

Saludos.

Fernando P�rez.
Cer�mica Saloni. Dpto. Sistemas
<mailto:[EMAIL PROTECTED]>


-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Enviado el: mi�rcoles, 18 de junio de 2003 11:20
Para: [EMAIL PROTECTED]
Asunto: Mandato en par�metro



Hola:

      Me gustaria saber como ejecutar desde un CL un mandato que me llega
como par�metro, y recuperar en una variable los posibles errores que me
genere.

Muchas gracias


Pedro Galarza
Dpto. Proceso de datos
TESA - Talleres de Escoriaza, S.A.



ADVERTENCIA/WARNING

ESTE CORREO ELECTRONICO CONTIENE INFORMACION PRIVADA Y ESTRICTAMENTE
CONFIDENCIAL. Si usted no es el destinatario del presente mensaje no esta
autorizado a leerlo, retenerlo, copiarlo o difundirlo. Ni esta empresa ni el
remitente asume ninguna responsabilidad referente a la posible transmision
de virus y es responsabilidad del receptor realizar un escaneo del mensaje y
de sus anexos (si los hubiera) .

THIS E-MAIL IS PRIVILEGED, CONFIDENTIAL AND CONTAINS PRIVATE INFORMATION.
Any reading, retention, distribution or copying of this communication by any
person other than its intended recipient is prohibited. Neither this company
nor the sender accepts any responsibility for viruses and it is your
responsibility to scan the email and attachments (if any) .




_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es _____________________________________________________

Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]

_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]

Responder a