Jorge,

I've posted this before, but maybe you might try this exec for issuing console 
commands, and this JCL to execute it:

//OPERCMD   EXEC PGM=IKJEFT1B,PARM='%OPERCMDB',REGION=32M         
//SYSEXEC   DD   DSN=your.SYSEXEC.dataset,DISP=SHR                
//SYSIN     DD   *                                                
F CACEPS71,CMD,CACDS,"REPORT"
/*                                                                
//SYSTSIN  DD   DUMMY                                             
//SYSTSPRT DD   DUMMY                                             

/* REXX */                                                               
/* this REXX exec will issue operator commands via SDSF REXX interface   
   security is based on the person using the command.  this exec is to be
   used for batch only   */                                              
'EXECIO * DISKR SYSIN (STEM mycmd. FINIS'                                
if rc > 0 then do                                                        
   say 'Return code from OPEN was' rc                                    
   say 'Aborting...'                                                     
   exit                                                                  
   end                                                                   
                                                                         
/* Allocate results output file  */                                      
Call BPXWDYN "alloc rtddn(ddnm) sysout"                                  
                                                                         
/* Process all input commands    */                                      
Do c=1 to mycmd.0                                                        
 oper_command.0 = 1                                                      
 oper_command.1 = mycmd.c                                                
 Call Main_process                                                       
End                                                                      
                                                                         
/* Free results output file  */                                          
Call BPXWDYN "free fi(ddnm)"                            
Return 0                                                
                                                        
Main_process:                                           
/* process all data from SYSIN   */                     
rc=isfcalls('ON')                                       
Address SDSF ISFSLASH "("oper_command.") (WAIT)"        
l_cnt = 0                                               
If datatype(isfulog.0) = "NUM" Then Do                  
 If isfulog.0 <> 0 Then Do                              
  l_cnt = l_cnt + 1                                     
  l.l_cnt = substr(isfulog.1,1,43)                      
  Do ix=1 to isfulog.0                                  
   ll = length(isfulog.ix)                              
   if ll <> 0 Then                                      
    qdata = substr(isfulog.ix,44,ll-43)                 
   else                                                 
    qdata = isfulog.ix                                  
   l_cnt = l_cnt + 1                                    
   l.l_cnt = qdata                                      
  End                                                   
 End                                                    
 Else Do                                                
  l_cnt = l_cnt + 1                                                
  l.l_cnt = "No command response available"                        
 End                                                               
End                                                                
Else Do                                                            
 l_cnt = l_cnt + 1                                                 
 l.l_cnt = "Error in command reponse"                              
End                                                                
rc=isfcalls("OFF")                                                 
If (l_cnt = 0) Then Do                                             
 l_cnt = l_cnt + 1                                                 
 l.l_cnt = ' /* no data produced */'                               
End                                                                
l.0 = l_cnt                                                        
Address MVS "ExecIO "l_cnt" DiskW "ddnm" (Finis Stem l.)"          
l_cnt = 0                                                          
Return                                                             

_________________________________________________________________
Dave Jousma
Manager Mainframe Engineering, Assistant Vice President
[email protected]
1830 East Paris, Grand Rapids, MIĀ  49546 MD RSCB2H
p 616.653.8429
f 616.653.2717


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Jorge Garcia
Sent: Tuesday, September 19, 2017 9:40 AM
To: [email protected]
Subject: Re: GETMSG null with out ADABAS command

**CAUTION EXTERNAL EMAIL**

**DO NOT open attachments or click on links from unknown senders or unexpected 
emails**

Excuse me Bob. I post the REXX code

/* REXX */                                                         
TRACE I                                                            
"CONSOLE DEACTIVATE"                                               
"CONSPROF SOLDISP(NO) SOLNUM(400)"                                 
"CONSOLE ACTIVATE NAME("USERID()")"                                
if rc <> 0 then                                                    
do                                                                 
 say "CONSOLE Activation problem - " rc                            
end                                                                
"CONSOLE SYSCMD(F CACEPS71,CMD,CACDS,"REPORT") CART(CARTEVEP)"     
/*ADDRESS CONSOLE "F CACEPS71,CMD,CACDS,"REPORT"" */               
getcode = 0                                                        
Do while getcode = 0                /* get console message      */ 
  getcode = GETMSG('salida.','SOL',CARTEVEP,,10)                   
  If getcode = 0 then                                              
    Do                                                             
      Do i = 1 to salida.0                                         
         k = i + j                                                 
          wto.k = salida.i    
       End                    
          j = j + salida.0    
     End                      
 End                          
 Do ii = 1 to wto.0           
    Say wto.ii                
    ii = ii + 1               
  End                         

Thanks

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
[email protected] with the message: INFO IBM-MAIN **CAUTION EXTERNAL 
EMAIL**

**DO NOT open attachments or click on links from unknown senders or unexpected 
emails**

This e-mail transmission contains information that is confidential and may be 
privileged.   It is intended only for the addressee(s) named above. If you 
receive this e-mail in error, please do not read, copy or disseminate it in any 
manner. If you are not the intended recipient, any disclosure, copying, 
distribution or use of the contents of this information is prohibited. Please 
reply to the message immediately by informing the sender that the message was 
misdirected. After replying, please erase it from your computer system. Your 
assistance in correcting this error is appreciated.


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to