Examples of SPOOL commands

COBOL

Start of change

   DATA DIVISION. 
   WORKING-STORAGE SECTION.   
   01  RESP             PIC 9(8) BINARY. 
   01  RESP2            PIC 9(8) BINARY. 
   01  TOKEN            PIC X(8). 
   01  OUTLEN           PIC S9(8) BINARY VALUE +80. 
   77  OUTPRT           PIC X(80) VALUE 
       'SPOOLOPEN FUNCTIONING'. 
   01  PARMSPTR  		 		 		 		 POINTER.   
   01  PARMS-AREA.    
       03  PARMSLEN      PIC S9(8) BINARY VALUE 14. 
       03  PARMSINF      PIC X(14) VALUE 
            'WRITER(MYPROG)'.     
       03  PARMADDR      		 		 POINTER. 
   PROCEDURE DIVISION. 
       SET PARMSPTR TO ADDRESS OF PARMS-AREA
       SET PARMADDR TO PARMSPTR         
       SET PARMSPTR TO ADDRESS OF PARMADDR          
       EXEC CICS SPOOLOPEN OUTPUT   
                 NODE ('*')    
                 USERID ('*')   
                 RESP(RESP) RESP2(RESP2)   
                 OUTDESCR(PARMSPTR)  
                 TOKEN(TOKEN)      
                 END-EXEC
        EXEC CICS SPOOLWRITE       
                 FROM(OUTPRT)        
                 RESP(RESP) RESP2(RESP2)  
                 FLENGTH(OUTLEN)      
                 TOKEN(TOKEN)       
                 END-EXEC
       EXEC CICS SPOOLCLOSE           
                 TOKEN(TOKEN)    
                 RESP(RESP) RESP2(RESP2)       
                 END-EXEC.
  
End of change

PL/I

DCL
  RESP FIXED BIN(31),
  RESP2 FIXED BIN(31),
  TOKEN CHAR(8),
  OUTLEN FIXED BIN(31) INIT(80),
  OUTPRT CHAR(80) INIT('SPOOLOPEN FUNCTIONING'),
  PARMADDR POINTER,
  PARMSPTR POINTER;
DCL
  1 PARMS,
    2 PARMSLEN FIXED BIN(31) INIT(14),
    2 PARMSINF CHAR(14) INIT('WRITER(MYPROG)')
      ALIGNED;
PARMADDR=ADDR(PARMS);
PARMSPTR=ADDR(PARMADDR);
EXEC CICS SPOOLOPEN OUTPUT NODE('*') USERID('*')
     TOKEN(TOKEN) OUTDESCR(PARMSPTR) RESP(RESP)
     RESP2(RESP2);
EXEC CICS SPOOLWRITE FROM(OUTPRT) FLENGTH(OUTLEN)
     RESP(RESP) RESP2(RESP2) TOKEN(TOKEN);
EXEC CICS SPOOLCLOSE TOKEN(TOKEN) RESP(RESP)
     RESP2(RESP2);

C

 #define PARMS struct _parms
 PARMS
 {
   int   parms_length;
   char  parms_info[200];
   PARMS * pArea;
 };
 PARMS ** parms_ptr;
 PARMS  parms_area;
 char userid[8]= "*";
 char node[8]= "*";
 char token[8];
 long rcode1, rcode2;
 /* These lines will initialize the outdescr area and
 set up the addressing */
 parms_area.parms_info[0]= '\0';
 parms_area.pArea = &parms_area;
 parms_ptr = &parms_area.pArea;
 /* And here is the command with ansi carriage controls
 specified and no class*/
 EXEC CICS SPOOLOPEN OUTPUT
        NODE ( node )
      USERID ( userid )
    OUTDESCR ( parms_ptr )
       TOKEN ( token )
         ASA
        RESP ( rcode1 )
       RESP2 ( rcode2 );

ASSEMBLER

OUTPRT   DC    CL80'SPOOLOPEN FUNCTIONING'
PARMSPTR EQU   6
RESP     DC    F'0'
RESP2    DC    F'0'
TOKEN    DS    2F
OUTPTR   DC    A(PARMSLEN)
PARMSLEN DC    F'14'
PARMSINF DC    C'WRITER(MYPROG)'
         LA    PARMSPTR,OUTPTR
         EXEC CICS SPOOLOPEN OUTPUT OUTDESCR(PARMSPTR)
               NODE('*') USERID('*') RESP(RESP)
               RESP2(RESP2) TOKEN(TOKEN)
         EXEC CICS SPOOLWRITE FROM(OUTPRT)
               TOKEN(TOKEN) RESP(RESP) RESP2(RESP2)
         EXEC CICS SPOOLCLOSE TOKEN(TOKEN) RESP(RESP)
               RESP2(RESP2)
[[ Contents Previous Page | Next Page Index ]]