quinta-feira, maio 14, 2026

Conferência Automatica de Aplicativos no z/OS

Em ambientes mainframe com muitos aplicativos e serviços ativos, o monitoramento constante dos aplicativos pode se tornar uma tarefa cansativa e sujeita a falhas. Em uma conferência manual, além do tempo gasto, sempre existe o risco de algum aplicativo fora do ar passar despercebido, principalmente em ambientes grandes e com alta quantidade de processos ativos. Pensando em facilitar esse trabalho e aumentar a confiabilidade do monitoramento, a melhor solução é a automação. Neste tutorial, vamos montar um JCL e desenvolver dois programas em Natural capazes de realizar automaticamente a conferência das STCs online e offline no ambiente mainframe. Com isso, o processo se torna muito mais rápido, seguro e eficiente, reduzindo o esforço operacional e melhorando o acompanhamento dos serviços essenciais do ambiente.

Esse é o JCL completo

//AAFSNSTC JOB (AAF,TSS),KATIA,CLASS=S,MSGCLASS=A                               
//*UQ ALLOW                                                                     
//* ----------------------------------------------------------------            
//*       CHECANDO OS APLICATIVOS ONLINE/OFFLINE NO MAINFRAME                   
//*                     150 LINHAS - 133 COLUNAS                                
//* ----------------------------------------------------------------            
//SDSF     EXEC PGM=SDSF,PARM='++150,133'                                       
//ISFOUT   DD DSN=AAF.S.OPER1,DISP=SHR                                          
//ISFIN    DD *                                                                 
SET CONSOLE BATCH                                                               
SET DELAY 600                                                                   
ULOG                                                                            
/D A,L                                                                          
END                                                                             
//* ----------------------------------------------------------------            
//*                          FILTRO NO NATURAL                                  
//* ----------------------------------------------------------------            
//FILTRO   EXEC NATURAL,PARM1='SYS=P,MT=0,STACK=(LOGON ADABAS8)'               
//CMWKF01  DD DSN=AAF.S.OPER1,DISP=SHR                                          
//CMWKF02  DD DSN=AAF.S.OPER2,DISP=SHR                                          
//SYSOUT   DD SYSOUT=*                                              
//CMPRINT  DD SYSOUT=*                                              
//SYSPRINT DD SYSOUT=*                                              
//CMPRT01  DD SYSOUT=*                                              
//SYSIN    DD *                                                     
AAFPTSS9                                                            
//* ----------------------------------------------------------------
//*            COLOCANDO EM ORDEM ALFABETICA OS APLICATIVOS         
//* ----------------------------------------------------------------
//SORT     EXEC PGM=SORT                                            
//SYSPRINT DD SYSOUT=*                                              
//SYSOUT   DD SYSOUT=*                                              
//SORTIN   DD DSN=AAF.S.OPER2,DISP=SHR                              
//SORTWK1  DD UNIT=SYSDA,DISP=(,DELETE),SPACE=(CYL,(4),RLSE),       
//            VOL=SER=WRK001                                        
//SORTOUT  DD DSN=AAF.S.OPER3,DISP=SHR                              
//SYSIN    DD *                                                     
   SORT FIELDS=(1,8,CH,A)                                           
   RECORD TYPE=F,LENGTH=(40)                                        
//* ----------------------------------------------------------------
//*                   LISTANDO OS APLICATIVOS                       
//* ----------------------------------------------------------------
//NATD EXEC NATURAL,PARM1='SYS=P,MT=0,STACK=(LOGON ADABAS8)'       
//CMWKF01  DD DSN=AAF.S.OPER3,DISP=SHR
//CMWKF02  DD DSN=AAF.S.OPER1,DISP=SHR                              
//SYSOUT   DD SYSOUT=*                                              
//CMPRINT  DD SYSOUT=G                                              
//SYSPRINT DD SYSOUT=*                                              
//CMPRT01  DD SYSOUT=*                                              
//SYSIN    DD *                                                     
AAFPRSTC
//* ----------------------------------------------------------------

A parte muito importante que pega o comando D A,L e grava em um dataset e usa os dois programas natural acima para mostrar que aplicativos estão online - No primeiro step tem essa parte -- PARM='++150,133' -- significa que o resultado do comando (D A,L) vai separar 150 linhas com 133 de colunas para o resultado do comando, se você tem muitos aplicativos que dê mais de 150 linhas - Resultado depois de rodar o job acima - os aplicativos que estão online vai mostrar de uma forma bem simples, os aplicativos que estiverem offline vão aparecer nas primeiras linhas

1Logon accepted to library ADABAS8.     
1NEXT AAFPRSTC                           
1PAG      1                              
0              AADPRMM             ONLINE
               DB2P0020            ONLINE
               DB2P0030            ONLINE
               DB2P0040            ONLINE
               DB2P0050            ONLINE
               DB2P0060            ONLINE
               DB2P0070            ONLINE
               DB2P0080            ONLINE
               DB2P0082            ONLINE
               DB2P0100            ONLINE
               DB2P0110            ONLINE
               DB2P0120            ONLINE
               DB2P0130            ONLINE
               DB2P0140            ONLINE
               DB2P0141            ONLINE
               DB2P0150            ONLINE
               DB2P0160            ONLINE
               DB2P0170            ONLINE
               DB2P0180            ONLINE
               DB2P0190            ONLINE
               DB2P0210            ONLINE
               DB2P0230            ONLINE
               DB2P0240            ONLINE
               DB2P0241            ONLINE
               DB2P0242            ONLINE
               SERVA240            ONLINE
               SERVB230            ONLINE
               SERVC240            ONLINE
               SERVE240            ONLINE
               SERVF230            ONLINE
               SERVH240            ONLINE
               BROKEDET            ONLINE
               BROKELIN            ONLINE
               BROKENFR            ONLINE
               BROKENID            ONLINE
               BROKENIT            ONLINE
               BROKERCH            ONLINE
               BROKERNV            ONLINE
               SERVK080            ONLINE
               SERVM240            ONLINE
               SERVN240            ONLINE
               SERVR230            ONLINE
               SERVR240            ONLINE
               SERVR241            ONLINE
               SERVR242            ONLINE
               SERVR243            ONLINE
               SERVR244            ONLINE
               SERVR245            ONLINE
               SERVR246            ONLINE
               SERVR247            ONLINE
               SERVR248            ONLINE
               SERVR249            ONLINE
               SERVR250            ONLINE
               SERVR251            ONLINE
               SERVUTSS            ONLINE
               COMPLETD            ONLINE
               COMPLETP            ONLINE
               FTP1                ONLINE
               REFSMTP             ONLINE
               REFSNMP             ONLINE
               REFTCPIP            ONLINE
               REFTELNT            ONLINE
               REFTRVS             ONLINE
               REFTVTAM            ONLINE
               AOPD                ONLINE
               AOPHINVD            ONLINE
               AOPIPPD             ONLINE
               AOPLOGD             ONLINE
               AOPLPD              ONLINE
               AOPNETD             ONLINE
               AOPNETSP            ONLINE
               AOPOUTD             ONLINE
               AOPPRWAY            ONLINE
               AOPSDBD             ONLINE
               AOPSSID             ONLINE
               AOPSUBD             ONLINE
               AOPWSMD             ONLINE
1PAG      2                              
0              RACF                ONLINE
               RMF                 ONLINE
               RMFGAT              ONLINE
               TSO                 ONLINE

AAFPTSS9 - Primeiro programa que vamos fazer um filtro, vamos ler do dataset o comando D A,L e vamos pegar os aplicativos

 0010 * -------------------------------------------------------------------- *                                                       
 0020 * FUNCAO     : CHECANDO OS APLICATIVOS ONLINE NO MAINFRAME             *                                                       
 0030 * CRIADO     : KATIA UETI/CLAUDEMAR MARTINS                            *                                                       
 0040 * DATA       : 27/04/2016                                              *                                                       
 0050 * -------------------------------------------------------------------- *                                                       
 0060 * 
 0070 * 
 0080 * -------------------------------------------------------------------- *                                                       
 0090 DEFINE DATA LOCAL                                                                                                              
 0100 01 #FLAG-ON                      (N01)                                                                                         
 0110 01 #FLAG                         (A02)                                                                                         
 0120 01 #NUM                          (N03)                                                                                         
 0130 * -------------------------------------------------------------------- *                                                       
 0140 01 #LINHA                        (A133)                                                                                        
 0150 01 REDEFINE #LINHA                                                                                                             
 0160   02 FILLER                      04X                                                                                           
 0170   02 #JOBS                       (A04)                                                                                         
 0180   02 FILLER                      125X                                                                                          
 0190 01 REDEFINE #LINHA                                                                                                             
 0200   02 FILLER                      04X                                                                                           
 0210   02 #NOME1                     (A08)                                                                                          
 0220   02 REDEFINE #NOME1                                                                                                           
 0230     03 #PREFIX1                (A02)                                                                                           
 0240     03 #SUFIX1                 (A06)                                                                                           
 0250   02 FILLER                      24X                                                                                           
 0260   02 #PROC1                     (A01)                                                                                          
 0270   02 FILLER                      02X                                                                                           
 0280   02 #NOME2                     (A08)                                                                                          
 0290   02 REDEFINE #NOME2                                                                                                           
 0300     03 #PREFIX2                (A02)                                                                                           
 0310     03 #SUFIX2                 (A06)                                                                                           
 0320   02 FILLER                      24X                                                                                           
 0330   02 #PROC2                     (A01)                                                                                          
 0340   02 FILLER                      61X                                                                                           
 0350 * -------------------------------------------------------------------- *                                                       
 0360 01 #NOME-ARQ                     (A40)                                                                                         
 0370 01 REDEFINE #NOME-ARQ                                                                                                          
 0380   02 #NOME-APLICAT              (A08)                                                                                          
 0390   02 FILLER                     (A32)                                                                                          
 0400 * -------------------------------------------------------------------- *                                                       
 0410 END-DEFINE                                                                                                                     
 0420 FORMAT(1) PS=60                                                                                                                
 0430 RESET #FLAG #FLAG-ON #NUM                                                                                                      
 0440 * -------------------------------------------------------------------- *                                                       
 0450 READ WORK FILE 1 #LINHA                                                                                                        
 0460 * -------------------------------------------------------------------- *                                                       
 0470   IF  #JOBS = 'JOBS'                                                                                                           
 0480     MOVE 'OK' TO #FLAG                                                                                                         
 0490     ESCAPE TOP                                                                                                                 
 0500   END-IF                                                                                                                       
 0510 * -------------------------------------------------------------------- *                                                       
 0520   IF #FLAG = 'OK'                                                                                                              
 0530     IF #JOBS = 'JOBS' AND #NUM  GT 0                                                                                           
 0540       MOVE 1 TO #FLAG-ON                                                                                                       
 0550       ESCAPE BOTTOM                                                                                                            
 0560     END-IF                                                                                                                     
 0570 * -------------------------------------------------------------------- *                                                       
 0580 * MONITORAR TODOS OS APLICATIVOS RE - COLUNA UM                        *                                                       
 0590 * -------------------------------------------------------------------- *                                                       
 0600 *   IF #PREFIX1 = 'RE' AND #PROC1 = 'S'                                                                                        
 0610 *     ADD 1 TO #NUM                                                                                                            
 0620 *     MOVE #NOME1 TO #NOME-APLICAT                                                                                             
 0630 *     WRITE WORK FILE 2 #NOME-ARQ                                                                                              
 0640 ****    WRITE 'TSS4 = '   #NOME-ARQ                                                                                            
 0650 *   END-IF                                                                                                                     
 0660 * -------------------------------------------------------------------- *                                                       
 0670 * MONITORAR TODOS OS APLICATIVOS RE - COLUNA DOIS                      *                                                       
 0680 * -------------------------------------------------------------------- *                                                       
 0690 *   IF #PREFIX2 = 'RE' AND #PROC2 = 'S'                                                                                        
 0700 *     ADD 1 TO #NUM                                                                                                            
 0710 *     MOVE #NOME2 TO #NOME-APLICAT                                                                                             
 0720 *     WRITE WORK FILE 2 #NOME-ARQ                                                                                              
 0730 ****    WRITE 'TSS4 = '   #NOME-ARQ                                                                                            
 0740 *   END-IF                                                                                                                     
 0750 * -------------------------------------------------------------------- *                                                       
 0760 * COLUNA 1 - TODOS OS APLICATIVOS QUE MONITORAMOS                      *                                                       
 0770 * -------------------------------------------------------------------- *                                                       
 0780  IF #NOME1                                                                                                                     
 0790      = 'AADPTLMS' OR = 'DB2P0020' OR = 'DB2P0030' OR = 'DB2P0040' OR                                                           
 0800      = 'DB2P0050' OR = 'DB2P0060' OR = 'DB2P0070' OR = 'DB2P0080' OR                                                           
 0810      = 'DB2P0082' OR = 'DB2P0100' OR = 'DB2P0110' OR = 'DB2P0120' OR                                                           
 0820      = 'DB2P0130' OR = 'DB2P0140' OR = 'DB2P0150' OR = 'DB2P0160' OR                                                           
 0830      = 'DB2P0170' OR = 'DB2P0180' OR = 'DB2P0190' OR = 'DB2P0210' OR                                                           
 0840      = 'DB2P0230' OR = 'DB2P0240' OR = 'DB2P0241' OR = 'DB2P0242' OR                                                           
 0850      = 'SERVA240' OR = 'SERVC240' OR = 'SERVE240' OR = 'SERVF230' OR                                                           
 0860      = 'BROKEDET' OR = 'BROKELIN' OR = 'BROKENID' OR = 'BROKENIT' OR                                                           
 0870      = 'BROKERCH' OR = 'BROKERNV' OR = 'SERVK080' OR = 'SERVM240' OR                                                           
 0880      = 'SERVN240' OR = 'SERVR230' OR = 'SERVR240' OR = 'SERVR241' OR                                                           
 0890      = 'SERVR242' OR = 'SERVR243' OR = 'SERVR244' OR = 'SERVR245' OR                                                           
 0900      = 'SERVR246' OR = 'SERVR247' OR = 'SERVR248' OR = 'SERVR249' OR                                                           
 0910      = 'SERVR250' OR = 'SERVUTSS' OR = 'COMPLETD' OR = 'COMPLETP' OR                                                           
 0920      = 'REFSMTP ' OR = 'REFSNMP ' OR = 'REFTCPIP' OR = 'REFTRVS ' OR                                                           
 0930      = 'REFTVTAM' OR = 'AOPD    ' OR = 'AOPHINVD' OR = 'AOPIPPD ' OR                                                           
 0940      = 'AOPLOGD ' OR = 'AOPLPD  ' OR = 'AOPNETD ' OR = 'AOPNETSP' OR                                                           
 0950      = 'AOPOUTD ' OR = 'AOPPRWAY' OR = 'AOPSDBD ' OR = 'AOPSSID ' OR                                                           
 0960      = 'AOPSUBD ' OR = 'AOPWSMD ' OR = 'RMF     ' OR = 'RMFGAT  ' OR                                                           
 0970      = 'TSO     ' OR = 'RACF    ' OR = 'REFTELNT' OR = 'REDPRMM ' OR                                                           
 0980      = 'AOPPRWAY' OR = 'SERVB230' OR = 'FTP1    ' OR = 'DB2P0141' OR                                                           
 0990      = 'SERVH240' OR = 'BROKENFR' OR = 'SERVR251'                                                                              
 1000       ADD 1 TO #NUM                                                                                                            
 1010       MOVE #NOME1 TO #NOME-APLICAT                                                                                             
 1020       WRITE WORK FILE 2 #NOME-ARQ                                                                                              
 1030 ****    WRITE 'TSS4 = '   #NOME-ARQ                                                                                            
 1040     END-IF                                                                                                                     
 1050 * -------------------------------------------------------------------- *                                                       
 1060 * COLUNA 2 - TODOS OS APLICATIVOS QUE MONITORAMOS                      *                                                       
 1070 * -------------------------------------------------------------------- *                                                       
 1080  IF #NOME2                                                                                                                     
 1090      = 'AADPTLMS' OR = 'DB2P0020' OR = 'DB2P0030' OR = 'DB2P0040' OR                                                           
 1100      = 'DB2P0050' OR = 'DB2P0060' OR = 'DB2P0070' OR = 'DB2P0080' OR                                                           
 1110      = 'DB2P0082' OR = 'DB2P0100' OR = 'DB2P0110' OR = 'DB2P0120' OR                                                           
 1120      = 'DB2P0130' OR = 'DB2P0140' OR = 'DB2P0150' OR = 'DB2P0160' OR                                                           
 1130      = 'DB2P0170' OR = 'DB2P0180' OR = 'DB2P0190' OR = 'DB2P0210' OR                                                           
 1140      = 'DB2P0230' OR = 'DB2P0240' OR = 'DB2P0241' OR = 'DB2P0242' OR                                                           
 1150      = 'SERVA240' OR = 'SERVC240' OR = 'SERVE240' OR = 'SERVF230' OR                                                           
 1160      = 'BROKEDET' OR = 'BROKELIN' OR = 'BROKENID' OR = 'BROKENIT' OR                                                           
 1170      = 'BROKERCH' OR = 'BROKERNV' OR = 'SERVK080' OR = 'SERVM240' OR                                                           
 1180      = 'SERVN240' OR = 'SERVR230' OR = 'SERVR240' OR = 'SERVR241' OR                                                           
 1190      = 'SERVR242' OR = 'SERVR243' OR = 'SERVR244' OR = 'SERVR245' OR                                                           
 1200      = 'SERVR246' OR = 'SERVR247' OR = 'SERVR248' OR = 'SERVR249' OR                                                           
 1210      = 'SERVR250' OR = 'SERVUTSS' OR = 'COMPLETD' OR = 'COMPLETP' OR                                                           
 1220      = 'REFSMTP ' OR = 'REFSNMP ' OR = 'REFTCPIP' OR = 'REFTRVS ' OR                                                           
 1230      = 'REFTVTAM' OR = 'AOPD    ' OR = 'AOPHINVD' OR = 'AOPIPPD ' OR                                                           
 1240      = 'AOPLOGD ' OR = 'AOPLPD  ' OR = 'AOPNETD ' OR = 'AOPNETSP' OR                                                           
 1250      = 'AOPOUTD ' OR = 'AOPPRWAY' OR = 'AOPSDBD ' OR = 'AOPSSID ' OR                                                           
 1260      = 'AOPSUBD ' OR = 'AOPWSMD ' OR = 'RMF     ' OR = 'RMFGAT  ' OR                                                           
 1270      = 'TSO     ' OR = 'RACF    ' OR = 'REFTELNT' OR = 'REDPRMM ' OR                                                           
 1280      = 'AOPPRWAY' OR = 'SERVB230' OR = 'FTP1    ' OR = 'DB2P0141' OR                                                           
 1290      = 'SERVH240' OR = 'BROKENFR' OR = 'SERVR251'                                                                              
 1300       ADD 1 TO #NUM                                                                                                            
 1310       MOVE #NOME2 TO #NOME-APLICAT                                                                                             
 1320       WRITE WORK FILE 2 #NOME-ARQ                                                                                              
 1330 ****    WRITE 'TSS4 = '   #NOME-ARQ                                                                                            
 1340     END-IF                                                                                                                     
 1350 * -------------------------------------------------------------------- *                                                       
 1360   END-IF                                                                                                                       
 1370 END-WORK                                                                                                                       
 1380 END                                                                                                                            

AAFPRSTC - agora vamos listar no nosso job os aplicativos que estão online

 0010 * -------------------------------------------------------------------- *                                                       
 0020 * FUNCAO - VERIFICAR OS APLICATIVOS QUE ESTAO ONLINE/OFFLINE           *                                                       
 0030 * AUTOR  - CLAUDEMAR MARTINS DE SA                                     *                                                       
 0040 * -------------------------------------------------------------------- *                                                       
 0050 DEFINE DATA                                                                                                                    
 0060 LOCAL                                                                                                                          
 0070 * --- ADICIONANDO MAIS UM APLICATIVO AUMENTE O VALOR CONST                                                                                                                                                            
 0080 * --- TEMOS ATUALMENTE 81 APLICATIVOS PARA MONITORAR
 0090 *                                                                                                                              
 0100 01 #TOTAL-APPS       (I2) CONST <81>                                                                                           
 0110 01 #REGISTRO-ENTRADA (A80)                                                                                                     
 0120 01 #LISTA-PESQUISA   (A8/1:#TOTAL-APPS)                                                                                        
 0130   INIT                                                                                                                         
 0140 *                                                                                                                              
 0150 * --- APLICATIVOS A SEREM MONITORADOS - TEMOS 81 STCs
 0160 *                                                                                                                              
 0170  <'AADPTLMS','DB2P0020','DB2P0030','DB2P0040','DB2P0050',                                                                      
 0180   'DB2P0060','DB2P0070','DB2P0080','DB2P0082','DB2P0100','DB2P0110',                                                           
 0190   'DB2P0120','DB2P0130','DB2P0140','DB2P0141','DB2P0150','DB2P0160',                                                           
 0200   'DB2P0170','DB2P0180','DB2P0190','DB2P0210','DB2P0230','DB2P0240',                                                           
 0210   'DB2P0241','DB2P0242','SERVA240','SERVB230','SERVC240','SERVE240',                                                           
 0220   'SERVF230','SERVH240','BROKEDET','BROKELIN','BROKENFR','BROKENID',                                                           
 0230   'BROKENIT','BROKERCH','BROKERNV','SERVK080','SERVM240','SERVN240',                                                           
 0240   'SERVR230','SERVR240','SERVR241','SERVR242','SERVR243','SERVR244',                                                           
 0250   'SERVR245','SERVR246','SERVR247','SERVR248','SERVR249','SERVR250',                                                           
 0260   'SERVR251','SERVUTSS','COMPLETD','COMPLETP','FTP1    ','REFSMTP ',                                                           
 0270   'REFSNMP ','REFTCPIP','REFTELNT','REFTRVS ','REFTVTAM','AOPD    ',                                                           
 0280   'AOPHINVD','AOPIPPD ','AOPLOGD ','AOPLPD  ','AOPNETD ','AOPNETSP',                                                           
 0290   'AOPOUTD ','AOPPRWAY','AOPSDBD ','AOPSSID ','AOPSUBD ','AOPWSMD ',                                                           
 0300   'RACF    ','RMF     ','RMFGAT  ','TSO     '>                                                                                 
 0310 *                                                                                                                              
 0320 * -------------------------------------------------------------------- *                                                       
 0330 *                                                                                                                              
 0340 01 #JA-ENCONTRADO    (L/1:#TOTAL-APPS) INIT                                                                             
 0350 01 #I                (I2)                                                                                                      
 0360 END-DEFINE                                                                                                                     
 0370 *                                                                                                                              
 0380 * -------------------------------------------------------------------- *                                                       
 0390 *                                                                                                                              
 0400 FORMAT LS=183 PS=0                                                                                                             
 0410 * EJECT OFF                                                                                                                    
 0420 * SET CONTROL 'f+'                                                                                                             
 0430 * SET CONTROL 'H'                                                                                                              
 0440 *                                                                                                                              
 0450 * --- 1. FASE DE LEITURA (APENAS IDENTIFICACAO) ---                                                                            
 0460 *                                                                                                                              
 0470 READ WORK FILE 1 #REGISTRO-ENTRADA                                                                                             
 0480   FOR #I = 1 TO #TOTAL-APPS                                                                                                    
 0490     IF #JA-ENCONTRADO(#I)                                                                                                      
 0500       ESCAPE TOP                                                                                                               
 0510     END-IF                                                                                                                     
 0520 * -------------------------------------------------------------------- *                                                       
 0530 * -------------------------------------------------------------------- *                                                       
 0540     IF #REGISTRO-ENTRADA = SCAN #LISTA-PESQUISA(#I)                                                                            
 0550       #JA-ENCONTRADO(#I) := TRUE                                                                                               
 0560       ESCAPE BOTTOM                                                                                                            
 0570     END-IF                                                                                                                     
 0580   END-FOR                                                                                                                      
 0590 END-WORK                                                                                                                       
 0600 *                                                                                                                              
 0610 * --- PRIMEIRO OS APLICATIVOS OFFLINE ---                                                                                      
 0620 *                                                                                                                              
 0630 FOR #I = 1 TO #TOTAL-APPS                                                                                                      
 0640   IF NOT #JA-ENCONTRADO(#I)                                                                                                    
 0650 *                                                                                                                              
 0660    WRITE '             ' #LISTA-PESQUISA(#I) (AL=10)                                                                           
 0670    ' ====  OFFLINE  ===='                                                                                                    
 0680 END-IF                                                                                                                         
 0690 END-FOR                                                                                                                        
 0700 *                                                                                                                              
 0710 * --- SEGUNDO OS APLICATIVOS ONLINE ---                                                                                        
 0720 *                                                                                                                              
 0730 FOR #I = 1 TO #TOTAL-APPS                                                                                                      
 0740   IF #JA-ENCONTRADO(#I)                                                                                                        
 0750     WRITE '             ' #LISTA-PESQUISA(#I) (AL=10)                                                                          
 0760    '         ONLINE       '                                                                                                    
 0770     WRITE WORK FILE 2 #LISTA-PESQUISA(#I)                                                                                      
 0780   END-IF                                                                                                                       
 0790 END-FOR                                                                                                                        
 0800 END 

Datasets que foram criados para o nosso JCL

//AACCBR14 JOB (ALAD,DISA),'SCHED',CLASS=7,MSGCLASS=A             
//*UQ ALLOW                                                       
//* ------------------------------------------------------------  
//*                   CRIA DATASET NO MAINFRAME                   
//* ------------------------------------------------------------  
//S1       EXEC PGM=IEFBR14                                       
//CATLG1   DD DSN=AAF.S.OPER1,                   
//         DISP=(NEW,CATLG,DELETE),                               
//         DCB=(DSORG=PS,LRECL=133,BLKSIZE=1330,RECFM=FB),                    
//         VOL=SER=DISCO1,SPACE=(CYL,(4,1),RLSE),UNIT=SYSDA
//*
//CATLG1   DD DSN=AAF.S.OPER2,                   
//         DISP=(NEW,CATLG,DELETE),                               
//         DCB=(DSORG=PS,LRECL=133,BLKSIZE=1330,RECFM=FB),                    
//         VOL=SER=DISCO1,SPACE=(CYL,(4,1),RLSE),UNIT=SYSDA
//*
//CATLG1   DD DSN=AAF.S.OPER3,                   
//         DISP=(NEW,CATLG,DELETE),                               
//         DCB=(DSORG=PS,LRECL=133,BLKSIZE=1330,RECFM=FB),                    
//         VOL=SER=DISCO1,SPACE=(CYL,(4,1),RLSE),UNIT=SYSDA
//*
//CATLG1   DD DSN=AAF.S.OPER4,                   
//         DISP=(NEW,CATLG,DELETE),                               
//         DCB=(DSORG=PS,LRECL=133,BLKSIZE=1330,RECFM=FB),                    
//         VOL=SER=DISCO1,SPACE=(CYL,(4,1),RLSE),UNIT=SYSDA
//*

0 comentários:

Enviar um comentário