quinta-feira, outubro 08, 2026

Natural Buffer Pool Melhorando Desempenho

Em ambientes Mainframe que utilizam Natural e Adabas, o desempenho das aplicações não depende apenas da capacidade dos processadores ou da velocidade dos dispositivos de armazenamento. Existem diversos componentes envolvidos nessa equação, e um deles possui um papel fundamental: o Buffer Pool. De forma simplificada, podemos imaginar o Buffer Pool como uma “área de trabalho rápida” localizada na memória. Ele permite que determinados objetos (programas natural) necessários à execução das aplicações permaneçam disponíveis em memória, evitando que o sistema precise recorrer continuamente a áreas de armazenamento mais lentas. Essa estratégia reduz operações de I/O e pode contribuir significativamente para o desempenho e a eficiência do ambiente. No Natural, o Buffer Pool é utilizado para manter em memória objetos carregados durante a execução das aplicações, como programas, subprogramas, mapas e outros objetos Natural. Dessa forma, aplicações que são executadas repetidamente podem se beneficiar da disponibilidade desses objetos em memória. Já o Adabas possui seus próprios mecanismos de buffering, utilizados para otimizar o acesso aos dados e às estruturas de índice do banco de dados. Embora Natural e Adabas trabalhem de forma integrada, é importante entender que estamos falando de mecanismos de buffer distintos, cada um com sua finalidade dentro da arquitetura. Por esse motivo, acompanhar o comportamento do Natural Buffer Pool é uma atividade importante para quem administra, mantém ou monitora ambientes Natural/Adabas. Através do SYSBPM, podemos observar diversos indicadores que ajudam a entender como o espaço disponível está sendo utilizado, entre eles Space Used %, Text Records, Objects, Loaded e Max Loaded. Esses indicadores permitem acompanhar a evolução da utilização do Buffer Pool, identificar possíveis sinais de pressão sobre seus recursos e avaliar, quando necessário, a possibilidade de ampliar sua capacidade. Neste artigo, vamos entender o que é o Buffer Pool, o que é armazenado nessa área de memória, como interpretar os principais indicadores apresentados pelo SYSBPM e por que seu monitoramento é importante para manter a estabilidade, a disponibilidade e o desempenho das aplicações Natural em um ambiente Mainframe.

Display Buffer Pool

Acessando o buffer pool - opção A
  21:49:04             ***** NATURAL SYSBPM UTILITY *****             02/10/2021                                                    
  BPNAME NATGBP                  - Main Menu -                   Type Global Nat                                                    
  BPPROP OFF                                                       Loc CPAC NAT4                                                    
                                                                                                                                    
                                                                                                                                    
             Object Functions                Object Pool Statistics                                                                 
                                                                                                                                    
             L  List Objects                 A  Buffer Pool                                                                         
             D  Delete Objects               C  BP Cache                                                                            
             I  Directory Information                                                                                               
             H  Hexadecimal Display          Other Functions                                                                        
             W  Write to Work File                                                                                                  
             X  Display Sorted Extract       S  Select Buffer Pool                                                                  
             ?  Help                         B  Blacklist Maintenance                                                               
             .  Exit                         P  Preload List Maintenance                                                            
                                                                                                                                    
     Code .. a   Library ... *_______                                                                                               
                 Object .... *_______________________________________                                                               
                 DBID ...... 0____  FNR .. 0____  Object Pool ... * (B,C,*)                                                         
                                                                                                                                    
 Command ===>                                                                                                                       
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---                                                    
       Help        Exit  Last        Flip                                Canc

Opção G
  21:49:16             ***** NATURAL SYSBPM UTILITY *****             02/10/2021                                                    
  BPNAME NATGBP            - Buffer Pool Statistics -            Type Global Nat                                                    
  BPPROP OFF                                                       Loc CPAC NAT4                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                   Code  Function                                                                                                   
                                                                                                                                    
                    G    General Buffer Pool Statistics                                                                             
                    L    Buffer Pool Load/Locate Statistics                                                                         
                    F    Buffer Pool Fragmentation                                                                                  
                    I    Internal Function Usage                                                                                    
                    H    Buffer Pool Hash Table Statistics                                                                          
                    P    Performance Hints                                                                                          
                    ?    Help                                                                                                       
                    .    Exit                                                                                                       
                                                                                                                                    
            Code .. g                                                                                                               
                                                                                                                                    
                                                                                                                                    
 Command ===>                                                                                                                       
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
                                                                                                                                    
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---                                                    
       Help        Exit  Last        Flip                                Canc                                                       
  

Display completo do buffer pool - Repare no "Space Used"
  12:38:32             ***** NATURAL SYSBPM UTILITY *****             01/06/2021
  BPNAME NATGBP        - General Buffer Pool Statistics -        Type Global Nat
  BPPROP OFF                                                       Loc CPAC NAT4
                                                                                
 Buffer Pool Address ..... 13C63000      Buffer Pool Size (MB) ... 25,00        
  Directory Section ...... 00000400      Directory Entry Size .... 128          
  Text Record Section .... 001A5000      Text Record Size (KB) ... 2            
 Dataspace attached ......                                                      
                                                                                
 Initialization .......... 23:20:13    2025-12-06                               
 Last Refresh ............ 23:20:13    2025-12-06        by User .. NATBPMG4    
                                                                                
  _______________________________ Text Records ______________________________   
          Total          Used   in %      Max Used    Total Size  Avg Usage %   
         11,958        11,785  98,55        11,956    24,135,680        90,47   
               _____________________ Objects ________________________________   
  Space Used %         Loaded           Max Loaded    Total Size  Avg TR Used   
         89,16          2,301                2,777    21,836,723          5,1   
               SumOfUseCounts AvgLifetimeUsed(min)    AvgLifetimeReplace(min)   
                          880                4,643                        804   
                                                                                
 Command ===>                                                                   
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help        Exit  Last        Flip        Load                    Canc

O Space Used esta em 89% é atenção alta
+--------------+---------------+---------------------------------------------------+
| Space Used % | Situação      | Interpretação                                     |
+--------------+---------------+---------------------------------------------------+
|  0% até  50% | Excelente     | Muito espaço disponível                           |
| 50% até  70% | Bom           | Operação tranquila                                |
| 70% até  80% | Atenção       | Começa a acompanhar a evolução                    |
| 80% até  90% | Atenção alta  | Buffer Pool ficando bastante ocupado              |
| 90% até  95% | Crítico       | Pouca folga; avaliar aumento                      |
| 95% até 100% | Muito crítico | Próximo do limite, risco de substituição/pressão  |
+--------------+---------------+---------------------------------------------------+

Listar os Programas

Vamos listar os programas que estão carregados no buffer pool - opção L
  12:38:32             ***** NATURAL SYSBPM UTILITY *****             01/06/2021
  BPNAME NATGBP                  - Main Menu -                   Type Global Nat
  BPPROP OFF                                                       Loc CPAC NAT4
                                                                                
                                                                                
             Object Functions                Object Pool Statistics             
                                                                                
             L  List Objects                 A  Buffer Pool                     
             D  Delete Objects               C  BP Cache                        
             I  Directory Information                                           
             H  Hexadecimal Display          Other Functions                    
             W  Write to Work File                                              
             X  Display Sorted Extract       S  Select Buffer Pool              
             ?  Help                         B  Blacklist Maintenance           
             .  Exit                         P  Preload List Maintenance        
                                                                                
     Code .. l   Library ... *_______                                           
                 Object .... *_______________________________________           
                 DBID ...... 0____  FNR .. 0____  Object Pool ... * (B,C,*)     
                                                                                
                                                                                
 Command ===>                                                                   
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help        Exit  Last        Flip                                Canc   

Por isso, o Buffer Pool é tão importante para o desempenho das aplicações Natural. Imagine que, toda vez que uma aplicação precisasse executar um programa, subprograma ou outro objeto Natural, fosse necessário chamar esse programa dentro do Adabas. Esse processo poderia gerar inúmeras operações de I/O e aumentar o tempo de resposta das aplicações. O Buffer Pool funciona justamente para evitar esse trabalho repetitivo. Ao manter em memória os objetos que são utilizados pelas aplicações, o Natural pode reutilizá-los sempre que forem necessários, sem precisar carregá-los novamente a cada execução. Em um ambiente Mainframe com grande volume de processamento, essa diferença pode ser significativa. Quanto mais frequentemente um programa é utilizado, maior tende a ser o benefício de mantê-lo disponível no Buffer Pool. Em vez de realizar continuamente novas buscas e carregamentos, o sistema pode localizar o objeto que já está em memória e utilizá-lo imediatamente.
  12:38:32             ***** NATURAL SYSBPM UTILITY *****             01/06/2021
  BPNAME NATGBP                 - List Objects -                 Type Global Nat
  BPPROP OFF                                                       Loc CPAC NAT4
  C  Library  Object    DBID  FNR Loc RLD Use Max  Reuse     TotalUC ObjSize Sto
     *_______ *_______ _____ ____ ___ ___ ___ ___ ______ ___________ _______ ___
  __ SYSMAIN  SMPCMD     230    8 B             1                 72  41,640  42
  __ SYSLIB   LOGONM1     82    8 B             1                  4   3,692   4
  __ LOSTERM  AEBSMUN    240   15 B             1                363   1,468   2
  __ SYSSEC   NSCUS1     240    8 B             1                  5  41,644  42
  __ LOSTERM  O29822LN   240   15 B         1  12            225,926   5,808   6
  __ LOSTERM  AEBNA009   240   15 B             2             19,438   1,444   2
  __ LOSTERM  AEKP401    240   15 B             2             14,293  44,468  44
  __ LOSTERM  AEBSR001   240   15 B             1              1,208   1,364   2
  __ SYSLIBS  NAT41020   141    8 B             1                  4   4,016   4
  __ SYSLIB   SECPGM      82    8 B             1                  2  46,564  46
  __ SYSLIB   SECUH      130    8 B             1                  4  18,340  18
  __ SYSLIB   LOGONEX1   120    8 B             1                  8   4,284   6
  __ LOSTER99 ABBMZ05J    80   15 B             1                 16   4,564   6
  __ LOSTERM  ADIMID01   240   15 B             1                  8  15,272  16
                                                                                
 Top of List                                                                    
 Command ===>                                                                   
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help        Exit  Last        --    -     +     ++          >     Canc   

Mudando o Tamanho da Buffer Pool

Durante o monitoramento do Natural Buffer Pool, identificamos que o indicador Space Used % atingiu aproximadamente 89% de utilização. Embora esse percentual não represente, por si só, uma situação de falha, ele indica que o Buffer Pool está trabalhando com pouca folga e merece atenção. Atualmente, o ambiente possui 40 MB de memória disponibilizados para o Buffer Pool. Para aumentar a margem de segurança e proporcionar mais espaço para o carregamento e permanência dos objetos Natural, a capacidade será ampliada para 80 MB. A ideia é simples: mais espaço disponível significa maior folga para o Buffer Pool trabalhar, reduzindo a pressão sobre suas áreas internas e permitindo acompanhar com mais tranquilidade o crescimento da utilização. Após a alteração, será importante observar novamente os indicadores do SYSBPM, principalmente o Space Used %, o consumo dos Text Records, a quantidade de Objects Loaded e o Max Loaded. Mais do que simplesmente aumentar a memória, o objetivo é medir o comportamento do ambiente antes e depois da mudança. Dessa forma, conseguimos verificar na prática qual foi o impacto do aumento de 40 MB para 80 MB e determinar se a nova capacidade proporciona a margem necessária para o crescimento futuro das aplicações Natural. Em outras palavras, não estamos esperando o Buffer Pool chegar ao seu limite para agir. A ideia é antecipar a necessidade e trabalhar com uma margem de segurança maior.

Display Buffer Pool

Para a gente visualizar a Buffer Pool ativas;
MEMBER=GBEDSHOW 000011 REC SAVE:23.01.2021 09:40 BY   USERID DBA0055  R=00000001
DSN=NATURAL.V414.JOBS                                   VOL=PRL302 UNIT=1525    
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFSNATB JOB (AAFP,DIBD),CLAUD,CLASS=S,MSGCLASS=A,TYPRUN=HOLD                 
//*UQ ALLOW                                                                     
//* -----------------------------------------------------------                 
//*           VERIFICAR SE O BUFFER POOL ESTA NO AR                             
//* -----------------------------------------------------------                 
//STARTEDT EXEC PGM=NATGBP41,PARM='CF=STARTEDT'                                 
//STEPLIB  DD DSN=ADA5.LOADLIB,DISP=SHR                                         
//SYSUDUMP DD SYSOUT=*                                                          
//STARTEDT DD *                                                                 
SHOWBP                                                                          
//*

Antes estava com 40M
1                       J E S 2  J O B  L O G  --  S Y S T E M  C P A C  --  N O D E  J E S 2            
0 
 18.16.03 JOB01104 ---- SATURDAY,  03 OCT 2021 ----
 18.16.03 JOB01104  ICH70001I DBA0055  LAST ACCESS AT 18:10:40 ON SATURDAY, OCTOBER 3, 2021
 18.16.03 JOB01104  $HASP373 AAFSNATB STARTED - INIT K    - CLASS S - SYS CPAC
 18.16.03 JOB01104  IEF403I AAFSNATB - STARTED - TIME=18.16.03
 18.16.03 JOB01104  GBP0101 AAFSNATB: Specified parms: CF=STARTEDT
 18.16.03 JOB01104  GBP0201 AAFSNATB: Reading parm input from file STARTEDT
 18.16.03 JOB01104  GBP0199 AAFSNATB: Natural Global Buffer Pool Manager Version 414
 18.16.03 JOB01104  GBP0103 AAFSNATB: Input from file: SHOWBP
 18.16.03 JOB01104  GBP0131 AAFSNATB: List of all global buffer pools with SUBSID: NAT4
 18.16.03 JOB01104  GBP0132 AAFSNATB: BP-Name/SUBSID Size(KB)  A(GBP)   A(DIR)    ALET  Cache Size Cache Owner
 18.16.03 JOB01104  GBP0000 AAFSNATB: NATGBP  /NAT4    40.600 13C63000 1581EA20
 18.16.03 JOB01104  GBP0000 AAFSNATB: EDTGBP  /NAT4     4.096 13862000 1581EA90
 18.16.03 JOB01104  GBP0202 AAFSNATB: EOF encountered reading file STARTEDT
 18.16.03 JOB01104  -                                              --TIMINGS (MINS.)--            -----PAGING COUNTS----
 18.16.03 JOB01104  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  WORKLOAD  PAGE  SWAP   VIO SWAPS
 18.16.03 JOB01104  -STARTEDT             00     28      7    .00    .00     .0   1038  SYSTEM       0     0     0     0
 18.16.03 JOB01104  IEF404I AAFSNATB - ENDED - TIME=18.16.03
 18.16.03 JOB01104  -AAFSNATB ENDED.  NAME-CLAUD                TOTAL TCB CPU TIME=    .00 TOTAL ELAPSED TIME=    .0
 18.16.03 JOB01104  $HASP395 AAFSNATB ENDED
0------ JES2 JOB STATISTICS ------                                                                                                   
-  03 OCT 2021 JOB EXECUTION DATE                                                                                                    
-           13 CARDS READ                                                                                                            
-           54 SYSOUT PRINT RECORDS                                                                                                  
-            0 SYSOUT PUNCH RECORDS                                                                                                  
-            3 SYSOUT SPOOL KBYTES                                                                                                   
-         0.00 MINUTES EXECUTION TIME                                                                                                
UQS0009 - END OF DATASET.

Stop Buffer Pool

Este é o job que vai parar
MEMBER=GBNASTOP 000011 REC SAVE:23.01.2021 11:17 BY   USERID DBA0055  R=00000001
DSN=NATURAL.V414.JOBS                                   VOL=PRL302 UNIT=1525    
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFSNATB JOB (AAAC,OSS),DIBD,CLASS=A,MSGCLASS=A                               
//*UQ ALLOW                                                                     
//* --------------------------------------------------------                    
//*               STOP NATURAL GLOBAL BUFFER POOL                               
//* --------------------------------------------------------                    
//STOPNAT  EXEC PGM=NATGBP41,PARM='CF=STOPNAT'                                  
//STEPLIB  DD DSN=ADA5.LOADLIB,DISP=SHR                                         
//SYSUDUMP DD SYSOUT=*                                                          
//STOPNAT  DD *                                                                 
F,BPN=NATGBP,S=NAT4                                                             
//*

Vai dar uma pendencia na console - xx,y
1                       J E S 2  J O B  L O G  --  S Y S T E M  C P A C  --  N O D E  J E S 2            
0 
 18.22.51 JOB01134 ---- SATURDAY,  03 OCT 2021 ----
 18.22.51 JOB01134  ICH70001I DBA0055  LAST ACCESS AT 18:16:12 ON SATURDAY, OCTOBER 3, 2021
 18.22.51 JOB01134  $HASP373 AAFSNATB STARTED - INIT K    - CLASS S - SYS CPAC
 18.22.51 JOB01134  IEF403I AAFSNATB - STARTED - TIME=18.22.51
 18.22.51 JOB01134  GBP0101 AAFSNATB: Specified parms: CF=STOPNAT
 18.22.51 JOB01134  GBP0201 AAFSNATB: Reading parm input from file STOPNAT
 18.22.51 JOB01134  GBP0199 AAFSNATB: Natural Global Buffer Pool Manager Version 414
 18.22.51 JOB01134  GBP0103 AAFSNATB: Input from file: F,BPN=NATGBP,S=NAT4
 18.22.51 JOB01134  GBP0115 AAFSNATB: GBP still in use:   NATGBP  /NAT4 - DIR=1581EA20 ADDR=13C63000
 18.22.51 JOB01134 *04 GBP0118 AAFSNATB: Reply Y to force shutdown of GBP
 18.23.25 JOB01134  R 04,Y       
 18.23.25 JOB01134  GBP0113 AAFSNATB: GBP stopped:    NATGBP  /NAT4 - DIR=1581EA20 ADDR=13C63000
 18.23.25 JOB01134  GBP0202 AAFSNATB: EOF encountered reading file STOPNAT
 18.23.25 JOB01134  -                                              --TIMINGS (MINS.)--            -----PAGING COUNTS----
 18.23.25 JOB01134  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  WORKLOAD  PAGE  SWAP   VIO SWAPS
 18.23.25 JOB01134  -STOPNAT              00     28      8    .00    .00     .5   3393  SYSTEM       0     0     0     0
 18.23.25 JOB01134  IEF404I AAFSNATB - ENDED - TIME=18.23.25
 18.23.25 JOB01134  -AAFSNATB ENDED.  NAME-DIBD                 TOTAL TCB CPU TIME=    .00 TOTAL ELAPSED TIME=    .5
 18.23.25 JOB01134  $HASP395 AAFSNATB ENDED
0------ JES2 JOB STATISTICS ------                                                                                                   
-  03 OCT 2021 JOB EXECUTION DATE                                                                                                    
-           13 CARDS READ                                                                                                            
-           54 SYSOUT PRINT RECORDS                                                                                                  
-            0 SYSOUT PUNCH RECORDS                                                                                                  
-            3 SYSOUT SPOOL KBYTES                                                                                                   
-         0.56 MINUTES EXECUTION TIME                                                                                                
UQS0009 - END OF DATASET.

Respondendo a pendencia na console 04,y
 14:15:24        TID    13          COM641/D          User DBA0055      07.10.21
                          ---   System Messages   ---                       UQM1
 JOB00878  -NATURAL  NATURAL     00    553    132    .00    .00     .0   5833  B
 JOB00878  IEF404I AEBPREST - ENDED - TIME=14.15.20                             
 JOB00878  -AEBPREST ENDED.  NAME-DETRAN               TOTAL TCB CPU TIME=    .0
 JOB00878  $HASP395 AEBPREST ENDED                                              
           $HASP309 INIT M    INACTIVE ******** C=2                             
 JOB00878  $HASP250 AEBPREST PURGED -- (JOB KEY WAS E364F432)                   
 STC02176  COMVTM2020-P LOSTERM LU=TICSI025 Tid=299 Code=20                     
 STC02176  COMVTM2020-P LOSTERM LU=TICSI024 Tid=698 Code=20                     
 STC02176  COMVTM2020-P LOSTERM LU=TICSI027 Tid=299 Code=20                     
 STC02176  COMVTM2020-P LOSTERM LU=TICSI028 Tid=416 Code=20                     
 STC02176  COMVTM2020-P LOSTERM LU=TICSI029 Tid=299 Code=20                     
 STC02176  COMVTM2020-P LOSTERM LU=TICSI031 Tid=299 Code=20                     
 STC02176  COMVTM2020-P LOSTERM LU=TICSI032 Tid=416 Code=20                     
 STC02176  COMVTM2020-P LOSTERM LU=TICSI215 Tid=552 Code=20                     
 STC02176  COMVTM2020-P LOSTERM LU=TICSI033 Tid=416 Code=20                     
 STC02176  COMVTM2020-P LOSTERM LU=TICSI039 Tid=418 Code=20                     
 STC06673 *95 DF3001A  *** RVS 5.1  ***                                         
 JOB01134 *04 GBP0118 AAFSNATB: Reply Y to force shutdown of GBP                
 ******************************** BOTTOM OF DATA *******************************
 Select Function:                                                       CONSOLE 
 Operand/Command: 04,y
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                                    Retrv  Up    Down        Left  Right        

Start Buffer Pool

Este é o job que vai iniciar - 25M
MEMBER=GBEDSTRT 000011 REC SAVE:23.01.2021 11:17 BY   USERID DBA0055  R=00000001
DSN=NATURAL.V414.JOBS                                   VOL=PRL302 UNIT=1525    
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFSEGBP JOB (AAAC,OSS),DIBD,CLASS=A,MSGCLASS=A                               
//*UQ ALLOW                                                                     
//* --------------------------------------------------                          
//*         START EDITOR GLOBAL BUFFER POOL                                     
//* --------------------------------------------------                          
//STARTNAT EXEC PGM=NATGBP41,                                                   
//   PARM='BPN=NATGBP,S=NAT4,N=(80M,XA,2),R=N'                                  
//STEPLIB  DD DSN=ADA5.LOADLIB,DISP=SHR                                         
//SYSUDUMP DD SYSOUT=A                                                          
//GBPPRINT DD SYSOUT=A                                                          
//SYSPRINT DD SYSOUT=A

Resultado
1                       J E S 2  J O B  L O G  --  S Y S T E M  C P A C  --  N O D E  J E S 2            
0 
 18.24.51 JOB01136 ---- SATURDAY,  03 OCT 2021 ----
 18.24.51 JOB01136  ICH70001I DBA0055  LAST ACCESS AT 18:22:51 ON SATURDAY, OCTOBER 3, 2021
 18.24.51 JOB01136  $HASP373 AAFSEGBP STARTED - INIT K    - CLASS S - SYS CPAC
 18.24.51 JOB01136  IEF403I AAFSEGBP - STARTED - TIME=18.24.51
 18.24.51 JOB01136  GBP0199 AAFSEGBP: Natural Global Buffer Pool Manager Version 414
 18.24.51 JOB01136  GBP0101 AAFSEGBP: Specified parms: BPN=NATGBP,S=NAT4,N=(40M,XA,2),R=N
 18.24.51 JOB01136  GBP0111 AAFSEGBP: GBP active:     NATGBP  /NAT4 - DIR=1581EA20 ADDR=0FC71000
 18.24.51 JOB01136  -                                              --TIMINGS (MINS.)--            -----PAGING COUNTS----
 18.24.51 JOB01136  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  WORKLOAD  PAGE  SWAP   VIO SWAPS
 18.24.51 JOB01136  -STARTNAT             00     26     10    .00    .00     .0   1352  BATCH        0     0     0     0
 18.24.51 JOB01136  IEF404I AAFSEGBP - ENDED - TIME=18.24.51
 18.24.51 JOB01136  -AAFSEGBP ENDED.  NAME-DIBD                 TOTAL TCB CPU TIME=    .00 TOTAL ELAPSED TIME=    .0
 18.24.51 JOB01136  $HASP395 AAFSEGBP ENDED
0------ JES2 JOB STATISTICS ------                                                                                                   
-  03 OCT 2021 JOB EXECUTION DATE                                                                                                    
-           13 CARDS READ                                                                                                            
-           51 SYSOUT PRINT RECORDS                                                                                                  
-            0 SYSOUT PUNCH RECORDS                                                                                                  
-            3 SYSOUT SPOOL KBYTES                                                                                                   
-         0.00 MINUTES EXECUTION TIME                                                                                                
UQS0009 - END OF DATASET.

Display Buffer Pool

Para a gente visualizar a Buffer Pool ativas;
MEMBER=GBEDSHOW 000011 REC SAVE:23.01.2021 09:40 BY   USERID DBA0055  R=00000001
DSN=NATURAL.V414.JOBS                                   VOL=PRL302 UNIT=1525    
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
//AAFSNATB JOB (AAFP,DIBD),CLAUD,CLASS=S,MSGCLASS=A,TYPRUN=HOLD                 
//*UQ ALLOW                                                                     
//* -----------------------------------------------------------                 
//*           VERIFICAR SE O BUFFER POOL ESTA NO AR                             
//* -----------------------------------------------------------                 
//STARTEDT EXEC PGM=NATGBP41,PARM='CF=STARTEDT'                                 
//STEPLIB  DD DSN=ADA5.LOADLIB,DISP=SHR                                         
//SYSUDUMP DD SYSOUT=*                                                          
//STARTEDT DD *                                                                 
SHOWBP                                                                          
//*

Antes estava com 40M agora esta com 80
1                       J E S 2  J O B  L O G  --  S Y S T E M  C P A C  --  N O D E  J E S 2            
0 
 18.25.20 JOB01137 ---- SATURDAY,  03 OCT 2021 ----
 18.25.20 JOB01137  ICH70001I DBA0055  LAST ACCESS AT 18:24:51 ON SATURDAY, OCTOBER 3, 2021
 18.25.20 JOB01137  $HASP373 AAFSNATB STARTED - INIT K    - CLASS S - SYS CPAC
 18.25.20 JOB01137  IEF403I AAFSNATB - STARTED - TIME=18.25.20
 18.25.20 JOB01137  GBP0101 AAFSNATB: Specified parms: CF=STARTEDT
 18.25.20 JOB01137  GBP0201 AAFSNATB: Reading parm input from file STARTEDT
 18.25.20 JOB01137  GBP0199 AAFSNATB: Natural Global Buffer Pool Manager Version 414
 18.25.20 JOB01137  GBP0103 AAFSNATB: Input from file: SHOWBP
 18.25.20 JOB01137  GBP0131 AAFSNATB: List of all global buffer pools with SUBSID: NAT4
 18.25.20 JOB01137  GBP0132 AAFSNATB: BP-Name/SUBSID Size(KB)  A(GBP)   A(DIR)    ALET  Cache Size Cache Owner
 18.25.20 JOB01137  GBP0000 AAFSNATB: NATGBP  /NAT4    80.960 0FC71000 1581EA20
 18.25.20 JOB01137  GBP0000 AAFSNATB: EDTGBP  /NAT4     4.096 13862000 1581EA90
 18.25.20 JOB01137  GBP0202 AAFSNATB: EOF encountered reading file STARTEDT
 18.25.20 JOB01137  -                                              --TIMINGS (MINS.)--            -----PAGING COUNTS----
 18.25.20 JOB01137  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  WORKLOAD  PAGE  SWAP   VIO SWAPS
 18.25.20 JOB01137  -STARTEDT             00     28      7    .00    .00     .0    976  SYSTEM       0     0     0     0
 18.25.20 JOB01137  IEF404I AAFSNATB - ENDED - TIME=18.25.20
 18.25.20 JOB01137  -AAFSNATB ENDED.  NAME-CLAUD                TOTAL TCB CPU TIME=    .00 TOTAL ELAPSED TIME=    .0
 18.25.20 JOB01137  $HASP395 AAFSNATB ENDED
0------ JES2 JOB STATISTICS ------                                                                                                   
-  03 OCT 2021 JOB EXECUTION DATE                                                                                                    
-           13 CARDS READ                                                                                                            
-           54 SYSOUT PRINT RECORDS                                                                                                  
-            0 SYSOUT PUNCH RECORDS                                                                                                  
-            3 SYSOUT SPOOL KBYTES                                                                                                   
-         0.00 MINUTES EXECUTION TIME                                                                                                
UQS0009 - END OF DATASET.
Leia Mais

quinta-feira, setembro 17, 2026

O Modelo de Licenciamento no mundo dos Softwares

Durante muito tempo, comprar um software parecia algo simples: adquirir uma caixa, receber um CD ou DVD, instalar o programa e utilizá-lo por muitos anos. A ideia de que, depois da compra, aquele produto continuaria disponível para uso fazia parte da relação entre o consumidor e o fabricante. Mas será que essa lógica continua sendo a mesma? Nos últimos anos, o mercado de tecnologia vem passando por uma transformação significativa. Grandes empresas estão mudando a forma de comercializar seus produtos, substituindo, em parte, o modelo tradicional de licença definitiva por assinaturas mensais ou anuais. O que antes era uma aquisição pontual passa a ser, cada vez mais, uma relação contínua de pagamento e utilização. Essa mudança levanta uma questão interessante: estamos comprando um software ou contratando o direito de utilizá-lo enquanto mantivermos o pagamento? A diferença pode parecer apenas comercial, mas possui implicações importantes. Uma licença definitiva, em determinadas condições, pode permitir o uso de uma versão específica por tempo indeterminado. Já uma assinatura normalmente vincula a continuidade de determinados recursos, serviços ou atualizações à vigência do contrato. Não se trata de afirmar que um modelo é necessariamente melhor que o outro. Cada modalidade possui características, vantagens e compromissos diferentes. A assinatura pode facilitar o acesso a versões atualizadas e reduzir o investimento inicial, enquanto a licença definitiva pode oferecer maior previsibilidade sobre o direito de uso daquela versão, embora suporte, manutenção e atualizações possam ter custos adicionais. O que chama a atenção é a velocidade com que essa transformação vem acontecendo. Empresas de produtividade, ferramentas profissionais, serviços em nuvem e diversas outras soluções passaram a adotar modelos recorrentes como parte importante de suas estratégias comerciais. E, quando pensamos em ambientes corporativos que precisam permanecer funcionando por muitos anos, essa mudança ganha uma dimensão ainda maior. No Mainframe, por exemplo, produtos como Adabas, Natural, Predict e Natural One fazem parte de sistemas, aplicações e processos que não podem ser tratados como algo descartável. Por isso, entender a evolução dos modelos de licenciamento não é apenas uma questão de acompanhar o mercado. É também uma forma de refletir sobre o futuro dos custos, dos contratos e da continuidade dos ambientes tecnológicos. Afinal, quando adquirimos um software para utilizá-lo durante décadas, o que realmente estamos comprando: o produto, o direito de uso ou uma relação contínua com o fabricante?

Hoje

A licença definitiva praticamente deixou de ser encarada como um patrimônio garantido do cliente e se tornou uma exceção — ou um artigo de luxo com preços despropositados — no mercado de software modernizado.

Mainframe

Infográfico sobre a evolução das licenças de software

É nesse ponto que começo a pensar especificamente no ambiente Mainframe e nos produtos utilizados por tantas organizações que dependem de sistemas críticos, estáveis e de longa duração. Não tenho conhecimento de nenhuma notícia, comunicado ou anúncio oficial informando que a Software AG pretende alterar o modelo de licenciamento de seus produtos. Portanto, não seria correto afirmar que essa mudança já está acontecendo ou que foi anunciada pela empresa. Essa observação é importante para separar uma informação confirmada de uma reflexão baseada nas tendências do mercado. O que observo, entretanto, é uma transformação significativa na indústria de tecnologia. Empresas de software do mundo inteiro vêm modificando a forma como comercializam seus produtos e serviços. Modelos tradicionais, baseados na aquisição de uma licença perpétua, estão gradualmente dando espaço a formatos de assinatura, com pagamentos mensais ou anuais. Em muitos casos, o cliente deixa de adquirir definitivamente uma versão do software e passa a pagar pelo direito de utilizá-lo durante determinado período. Essa mudança pode ser percebida em diversos segmentos, como aplicativos de escritório, ferramentas de edição, plataformas de desenvolvimento, sistemas corporativos e soluções em nuvem. Além do pagamento pelo uso, muitas empresas vinculam a assinatura ao acesso a atualizações, suporte técnico, serviços em nuvem, recursos adicionais e novas funcionalidades. Na prática, o software deixou de ser apenas um produto que o cliente compra, instala e utiliza por tempo indeterminado. Em muitos casos, passou a ser tratado como um serviço contínuo, que depende da manutenção de um contrato e de pagamentos recorrentes. Esse modelo também modifica a maneira como as organizações planejam seus investimentos, elaboram seus orçamentos e administram seus contratos de tecnologia. Diante desse cenário, surge uma pergunta que considero relevante para todos aqueles que trabalham com Mainframe: em que momento a Software AG poderá mudar o modelo de licenciamento de seus produtos? Não sei a resposta. Também não é possível afirmar se uma eventual mudança ocorrerá, quando poderá ocorrer ou se atingiria todos os produtos da mesma maneira. Soluções como Adabas, Natural, Predict, Natural One e outros produtos do ecossistema podem possuir características técnicas, comerciais e contratuais distintas. Por esse motivo, seria precipitado imaginar que todos necessariamente seguiriam o mesmo caminho ou que uma mudança ocorreria de forma uniforme. Ainda assim, observando o comportamento do mercado, considero possível que, em algum momento, a Software AG também venha a avaliar alterações em seu modelo comercial, acompanhando a direção que boa parte da indústria de software vem tomando. Se fosse para apostar as minhas fichas com base apenas nessa tendência, eu apostaria que mudanças poderão ocorrer futuramente, embora não seja possível prever quando, de que forma ou com qual abrangência. Essa possibilidade merece atenção especialmente no ambiente Mainframe, onde muitos sistemas são utilizados há décadas e sustentam operações essenciais de órgãos públicos, instituições financeiras, empresas de serviços e grandes organizações. Diferentemente de ambientes em que a substituição de uma ferramenta pode ser relativamente simples, sistemas Mainframe normalmente envolvem aplicações críticas, grandes volumes de dados, integrações complexas e processos que não podem ser interrompidos facilmente. Por isso, qualquer alteração no modelo de licenciamento pode gerar impactos que vão além do valor pago pela licença. Dependendo das condições comerciais, a mudança poderá influenciar o planejamento financeiro, a renovação de contratos, o acesso ao suporte técnico, as atualizações, as métricas de cobrança e as decisões relacionadas à continuidade operacional. Em ambientes de longo prazo, esses fatores precisam ser avaliados com antecedência. Também será importante observar como eventuais mudanças poderão afetar contratos existentes, direitos de uso, versões antigas, ambientes de produção, ambientes de homologação e sistemas que dependem de componentes específicos. Uma alteração no modelo comercial pode exigir estudos jurídicos, financeiros e técnicos, principalmente quando envolve plataformas que fazem parte da infraestrutura central de uma organização. Por enquanto, o mais importante é acompanhar a evolução do mercado e manter atenção às comunicações oficiais da fabricante. A discussão não deve ser tratada como motivo para antecipar conclusões, mas como uma oportunidade para refletir sobre o futuro do licenciamento de software e sobre os possíveis impactos para quem administra ambientes Mainframe. A tendência mundial indica que a forma de comercializar software continua mudando. O que antes era adquirido como uma licença definitiva, em muitos casos, passou a ser oferecido como um serviço contínuo. Resta saber como essa transformação poderá alcançar o universo Mainframe e, especificamente, quais caminhos a Software AG poderá adotar no futuro.

Analise

Para quem trabalha com Adabas, Natural, Predict, Natural One e outros produtos do ecossistema Software AG, acompanhar essa questão é importante porque o licenciamento faz parte da própria sustentabilidade do ambiente. Em um sistema que pode permanecer em produção durante décadas, uma eventual alteração nas condições comerciais não deve ser analisada apenas no momento da renovação. Ela precisa ser considerada com antecedência, especialmente quando existem aplicações críticas, integrações, conhecimentos técnicos acumulados e processos que dependem diretamente desses produtos. Uma mudança de modelo pode envolver diferentes aspectos: valores, métricas de cobrança, direitos de uso, suporte, atualizações, condições de renovação e até a forma como os custos são planejados ao longo dos anos. Não estou afirmando que essas mudanças ocorrerão nos produtos da Software AG, mas são pontos que merecem atenção caso a empresa venha a alterar sua política de licenciamento. Por isso, considero importante que os profissionais de Mainframe não acompanhem apenas a evolução técnica dos produtos, mas também a evolução comercial de seus fabricantes. Afinal, conhecer uma tecnologia é fundamental, mas entender as condições que permitem continuar utilizando essa tecnologia também faz parte da gestão de um ambiente crítico.

Planejamento

No Mainframe, muitas decisões precisam ser tomadas pensando não apenas no presente, mas também nos próximos cinco, dez ou vinte anos. Uma aplicação pode continuar atendendo perfeitamente às necessidades da organização, mas isso não significa que suas condições de licenciamento permanecerão necessariamente iguais durante todo esse período. Estar atento a possíveis mudanças permite que as empresas tenham tempo para avaliar cenários, conversar com fornecedores, revisar contratos e planejar seus investimentos. Isso é especialmente importante quando a substituição de um produto não é simples ou quando uma migração poderia envolver riscos operacionais, custos elevados e grande esforço técnico.
Leia Mais

sexta-feira, setembro 11, 2026

Criando um programa de Jogo da Adivinhação em Natural/Adabas

Um exercício prático para aprender lógica de programação, estruturas de repetição e instruções condicionais no ambiente mainframe. Desenvolver um Jogo da Adivinhação em Natural/Adabas é um excelente exercício para fixar a sintaxe e a lógica de controle da linguagem. Muito utilizado em ambientes mainframe pela sua robustez no processamento corporativo, o Natural oferece uma estrutura simples e poderosa para desenvolver aplicações interativas. Neste exemplo, o objetivo é criar um jogo em que o usuário precisa descobrir um número secreto entre 1 e 10, dispondo de apenas três tentativas. A cada chute, o programa informa se o número secreto é maior, menor ou se o jogador acertou. Embora seja um programa simples, ele reúne conceitos importantes que aparecem frequentemente em aplicações Natural: definição de variáveis, atribuição de valores, entrada de dados, saída de informações, laços de repetição e decisões condicionais.

Código Completo em Natural
* -------------------------------------------------------------------- *
* FUNCAO - JOGO DA ADVINHACAO                                          *
* -------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                       
1 #NUMERO-SECRETO (N2)                                                  
1 #CHUTE          (N2)                                                   
1 #TENTATIVAS     (N2) INIT <3>                                          
1 #ACERTOU        (L)  INIT                                       
1 #AUXILIAR       (N7)
END-DEFINE                                                              
*                                                                       
COMPUTE #AUXILIAR = *TIMN                         
DIVIDE 10 INTO #AUXILIAR REMAINDER #NUMERO-SECRETO
ADD 1 TO #NUMERO-SECRETO                          
*
WRITE "===================================="                            
WRITE "   BEM-VINDO AO JOGO DA ADIVINHACAO "                            
WRITE "===================================="                            
*                                                                       
REPEAT WHILE #TENTATIVAS > 0 AND NOT #ACERTOU                           
  WRITE / "TENTATIVAS RESTANTES:" #TENTATIVAS                           
  INPUT "TENTE ADIVINHAR UM NUMERO DE 1 A 10:" #CHUTE                   
*                                                                       
  DECIDE FOR FIRST CONDITION                                            
    WHEN #CHUTE = #NUMERO-SECRETO                                  
      ASSIGN #ACERTOU = TRUE                                       
      WRITE / "PARABENS! VOCE ACERTOU O NUMERO!"                   
    WHEN #CHUTE < #NUMERO-SECRETO                                  
      WRITE / "O NUMERO SECRETO E MAIOR."                          
    WHEN NONE                                                      
      WRITE / "O NUMERO SECRETO E MENOR."                          
  END-DECIDE                                                       
*                                                                  
  COMPUTE #TENTATIVAS = #TENTATIVAS - 1                            
END-REPEAT                                                         
*                                                                  
IF NOT #ACERTOU                                                    
  WRITE / "SUAS TENTATIVAS ACABARAM! O NUMERO ERA:" #NUMERO-SECRETO
END-IF                                                             
END                                                                 

Tela inicial - tenho 3 opções
MORE                                                                           
PAG      1                                                   11/09/26  11:56:34
                                                                               
====================================                                           
   BEM-VINDO AO JOGO DA ADIVINHACAO                                            
====================================                                           
                                                                               
TENTATIVAS RESTANTES:   3                                                      
 

Primeira tentativa - Vou colocar o número 6
 TENTE ADIVINHAR UM NUMERO DE 1 A 10: 6       
                                              
 

O número é maior - temos 2 tentativas restantes
MORE                                                                           
PAG      2                                                   11/09/26  11:56:34
                                                                               
                                                                               
O NUMERO SECRETO E MAIOR.                                                      
                                                                               
TENTATIVAS RESTANTES:   2                                                      
 

Coloquei o número 8
 TENTE ADIVINHAR UM NUMERO DE 1 A 10: 8      
                                             
 

É menor - temos uma tentativa somente
MORE                                                                           
PAG      3                                                   11/09/26  11:56:34
                                                                               
                                                                               
O NUMERO SECRETO E MENOR.                                                      
                                                                               
TENTATIVAS RESTANTES:   1                                                      
                                                                               
 

Coloquei o número 7
 TENTE ADIVINHAR UM NUMERO DE 1 A 10: 7   
                                           

Acertamos era o número 7
MORE                                                                           
PAG      4                                                   11/09/26  11:56:34
                                                                               
                                                                               
PARABENS! VOCE ACERTOU O NUMERO!                                               
                                                                               
 


Leia Mais

quinta-feira, agosto 27, 2026

Limite de 32 Bytes no Nome das Variáveis no NaturaL/Adabas

Durante a manutenção ou desenvolvimento de rotinas na linguagem Natural, é comum nos depararmos com comportamentos inesperados do compilador que deixam dúvidas. Recentemente, um desenvolvedor passou por uma situação em que utilizava uma variável não declarada explicitamente no código, mas, para a surpresa de todos, o sistema não retornou nenhum erro de compilação ou execução. Investigando o caso e simulando a rotina com o apoio do suporte Adabas, nos mostraram a causa raiz desse comportamento: a limitação interna de 32 bytes/caracteres para a tabela de símbolos do compilador Natural. A seguir, detalho esse teste prático, a explicando como esse mesmo limite se reflete em outras estruturas do ecossistema, como Views e Campos no Predict/Adabas.

DEFINE DATA LOCAL                              
1 #DATA-INI-WEB-INFRACOES-XXXXXXXX-YY (N8)
* 1...x....1....x....2....x....3..   --- até aqui dá 32 bytes. o YY excede 32.  
END-DEFINE                                     
MOVE 100 TO #DATA-INI-WEB-INFRACOES-XXXXXXXX-YY
MOVE 200 TO #DATA-INI-WEB-INFRACOES-XXXXXXXX   
WRITE #DATA-INI-WEB-INFRACOES-XXXXXXXX         
WRITE #DATA-INI-WEB-INFRACOES-XXXXXXXX-YY     
END   

-- essa variavel sem o YY não esta definida, mas não dá erro
-- explicação: depois de 32 caracteres no nome da variável, o Natural desconsidera.

Simulando

Simulando esas situação
 >                                       > +  Program     CSAVAR   Lib SUPORTE2 
 All    ....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
   0010 RESET #TRANSACAO-VARIAVEL-ORIGEM-01-01012024(A10)                       
   0020 MOVE 'A' TO #TRANSACAO-VARIAVEL-ORIGEM-01-01012024                      
   0030 WRITE '='  #TRANSACAO-VARIAVEL-ORIGEM-01-01012024                       
   0040 END

Ao rodar, so mostra o nome da variavel -01-01 não mostra o restante
 MORE                                                                           
 PAG      1                                                   17/01/24  08:49:04
                                                                                
 #TRANSACAO-VARIAVEL-ORIGEM-01-01: A  


Importante

O compilador/interpretador do Natural mantém uma tabela interna de nome variáveis para resolver a questão de endereçamento de memória. Essa tabela tem somente 32 bytes para o símbolo, por isso a limitação do tamanho do nome. Quando o nome da variável tem mais de 32 bytes, não aparece o erro de compilação e será levado em conta somente os 32 primeiros caracteres. Deve-se tomar cuidado com o nome de variáveis que possuem mais de 32 caracteres, cujos primeiros 32 bytes sejam iguais, porque nesse caso o compilador não terá como controlar corretamente o endereçamento.

Limite

Se há uma restrição estabelecida pelo compilador/interpretador Natural para variáveis, é plausível concluir que também exista um limite para os "nomes de views" e "campos" no Adabas. Essa suposição ganha respaldo ao observar as telas onde temos que criar uma view e os campos identificados no Predict, especialmente em relação aos limites estabelecidos para o nome de uma view. Essa correlação sugere a presença de limitações consistentes ao longo do ambiente, destacando a importância de considerar esses parâmetros ao trabalhar com variáveis, views e campos no sistema.

Telas Predict

Essa é a tela para criar uma view - tem um limite de 32
                                                                                
 07:21:47             *****  P R E D I C T  4.4.1  *****              2024-01-18
 Plan   0                 - (FI) File Maintenance -              Profile DBAP055
                                                                                
  Function                              Function                                
                                                                                
  A  Add a file                         L  Link children                        
  C  Copy file                          S  Select file from a list              
  M  Modify file                        B  Push backward                        
  N  Rename/Renumber file               F  Force standard                       
  P  Purge file                         J  Physical Attributes                  
  D  Display file                       K  Modify Vista elements                
                                                                                
 Function .........                                                             
 File ID .......... |||||||||x|||||||||x|||||||||x|| Attributes ........*       
 Copy ID .......... |||||||||x|||||||||x|||||||||x|| File of type ......*       
 Contained in DA ..                                  File nr ............ 426   
 External name ....                                                             
                                                                                
 Restrictions ....*   Profile DBAP055 ,empty         Association .......* EL    
                                                                                
 Command ===>                                                                   
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help  menu  Stop  Last  E-el  Flip  Print Impl  Supo2 Ssec  Prof  next   

Essa é a tela para criar um campo (Field ID) - tem um limite de 32
                                                                                
 >                     > + Fi: AEAD-FISICO-426                  L: 1    S: 29   
     Ty L Field ID                         F Cs Length   Occ   D U DB S    Top  
     *- - -------------------------------- *- * -------- ----- * * -- *         
        1 AEC-PLACA-PGE                    A        7,0        D   AA N         
        1 AEC-RENAVAM-PGE                  N       11,0        D   AB N         
        1 AEC-MUNICIPIO-PGE                N        4,0        D   AC N         
     MU 1 AEC-EXERCICIO-PGE                N        4,0            AD N         
        1 AEC-DATA-NOT-GUIA-PGE            N        8,0            AE N         
        1 AEC-DATA-VENC-NOT-GUIA-PGE       N        8,0        D   AF N         
        1 AEC-DATA-NOT-DO-PGE              N        8,0            AG N         
        1 AEC-DATA-VENC-NOT-DO-PGE         N        8,0        D   AH N         
        1 AEC-DT-BLOQUEIO-PGE              N        8,0        D   AI N         
        1 AEC-HR-BLOQUEIO-PGE              N        9,0            AJ N         
        1 AEC-SITUACAO-PGE                 N        1,0            AK N         
        1 AEC-DATA-GRAVA-VIEW-PGE          N        8,0        D   AL N         
        1 AEC-NOME-DEV-PGE                 A       50,0            AM N         
        1 AEC-LOGRADOURO-DEV-PGE           A       28,0            AN N         
        1 AEC-NUMERO-DEV-PGE               A        7,0            AO N         
        1 AEC-COMPLEMENTO-PGE              A       10,0            AP N         
        1 AEC-BAIRRO-DEV-PGE               A       15,0            AQ N         
        1 AEC-CEP-DEV-PGE                  N        8,0            AR N         
        1 AEC-MUNICIPIO-DEV-PGE            N        4,0            AS N         
     -- - -------------------------------- -- - -------- ----- - - -- -         


Leia Mais

quarta-feira, agosto 26, 2026

Logando na Console o RACF

Em cenários críticos de contingência ou manutenção em ambientes z/OS, pode ocorrer a indisponibilidade temporária do subsistema TSO/ISPF ou falhas de conectividade via rede. Nestas situações emergenciais, a MVS System Console permanece como a principal interface de gerenciamento operacional. O procedimento a seguir descreve o passo a passo para autenticação direta na console operadora e execução de comandos administrativos do RACF (Resource Access Control Facility), garantindo o controle de acessos e a gestão de usuários mesmo em momentos de crise no mainframe. Se por algum motivo ninguem conseguir acessar o TSO para dar um comando de RACF - podemos acessar o RACF pela console - ela esta sempre online na operação

Logar na Console

vamos dar o comando LOGON USUÁRIO
                                                                                
   
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
  IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                                      
  logon DBAP055

  IEE163I MODE= RD   

Digitando a Senha

Colocando a senha
                                                                                
   
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
  IEE187I ENTER LOGON PARAMETERS                                                
  LOGON DBAP055  PASSWORD senha                          
  GROUP          SECLABEL         
  IEE163I MODE= RD    

Logado

Logado na console
      19.45.22  IEE185I LOGON  DBAP055  COMPLETE FOR DEVNUM=0700 CN=L700        
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
  IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                     USERID=DBAP055   


  IEE163I MODE= RD  

Comando de RACF

Vamos dar um comando para dar display do usuário ibmuser - #lu ibmuser - se aceita display podemos dar qualquer comando
      19.45.22  IEE185I LOGON  DBAP055  COMPLETE FOR DEVNUM=0700 CN=L700        
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
  IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                     USERID=DBAP055   
  #lu ibmuser

  IEE163I MODE= RD  

Resultado
      19.45.22  IEE185I LOGON  DBAP055  COMPLETE FOR DEVNUM=0700 CN=L700        
    - 19.45.45  #lu ibmuser                                                     
      19.45.45  IRRA011I (#) OUTPUT FROM LU:                                    
      USER=IBMUSER  NAME=                      OWNER=IBMUSER   CREATED=95.157   
       DEFAULT-GROUP=SYS1     PASSDATE=08.314 PASS-INTERVAL=N/A                 
          PHRASEDATE=N/A                                                        
       ATTRIBUTES=SPECIAL OPERATIONS                                            
       REVOKE DATE=NONE   RESUME DATE=NONE                                      
       LAST-ACCESS=24.175/17:53:07                                              
       CLASS AUTHORIZATIONS=NONE                                                
       NO-INSTALLATION-DATA                                                     
       NO-MODEL-NAME                                                            
       LOGON ALLOWED   (DAYS)          (TIME)                                   
       ---------------------------------------------                            
       ANYDAY                          ANYTIME                                  
        GROUP=SYSCTLG   AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS=    00  UACC=READ     LAST-CONNECT=UNKNOWN                   
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
        GROUP=VSAMDSET  AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS=    00  UACC=READ     LAST-CONNECT=UNKNOWN                   
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
        GROUP=SYS1      AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS= 4,584  UACC=READ     LAST-CONNECT=24.175/17:53:07           
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
      SECURITY-LEVEL=NONE SPECIFIED                                             
      CATEGORY-AUTHORIZATION                                                    
       NONE SPECIFIED                                                           
      SECURITY-LABEL=NONE SPECIFIED                                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
  IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                     USERID=DBAP055   


  IEE163I MODE= RD   

Resetando a Senha de um usuário

Como estou logado com acesso especial vou dar o comando para alterar a senha outro usuário

   
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                     USERID=IBMUSER   
#ALU DBAP7057 RESUME PASS(vi87432	)

IEE163I MODE= RD                                                              

Aceitou
      19.45.22  IEE185I LOGON  DBAP055  COMPLETE FOR DEVNUM=0700 CN=L700        
    - 19.45.45  #lu ibmuser                                                     
      19.45.45  IRRA011I (#) OUTPUT FROM LU:                                    
      USER=IBMUSER  NAME=                      OWNER=IBMUSER   CREATED=95.157   
       DEFAULT-GROUP=SYS1     PASSDATE=08.314 PASS-INTERVAL=N/A                 
          PHRASEDATE=N/A                                                        
       ATTRIBUTES=SPECIAL OPERATIONS                                            
       REVOKE DATE=NONE   RESUME DATE=NONE                                      
       LAST-ACCESS=24.175/17:53:07                                              
       CLASS AUTHORIZATIONS=NONE                                                
       NO-INSTALLATION-DATA                                                     
       NO-MODEL-NAME                                                            
       LOGON ALLOWED   (DAYS)          (TIME)                                   
       ---------------------------------------------                            
       ANYDAY                          ANYTIME                                  
        GROUP=SYSCTLG   AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS=    00  UACC=READ     LAST-CONNECT=UNKNOWN                   
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
        GROUP=VSAMDSET  AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS=    00  UACC=READ     LAST-CONNECT=UNKNOWN                   
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
        GROUP=SYS1      AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS= 4,584  UACC=READ     LAST-CONNECT=24.175/17:53:07           
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
      SECURITY-LEVEL=NONE SPECIFIED                                             
      CATEGORY-AUTHORIZATION                                                    
       NONE SPECIFIED                                                           
      SECURITY-LABEL=NONE SPECIFIED                                             
    - 19.46.20            #ALU DBAP7057 RESUME PASS(vi87432)          
                                                                                
                                                                                
                                                                                
IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                     USERID=IBMUSER                                   


  IEE163I MODE= RD   

Logoff do RACF na Console

Sempre finalize sua sessão corretamente para manter a segurança do sistema. Utilize o comando LOGOFF
      19.45.22  IEE185I LOGON  DBAP055  COMPLETE FOR DEVNUM=0700 CN=L700        
    - 19.45.45  #lu ibmuser                                                     
      19.45.45  IRRA011I (#) OUTPUT FROM LU:                                    
      USER=IBMUSER  NAME=                      OWNER=IBMUSER   CREATED=95.157   
       DEFAULT-GROUP=SYS1     PASSDATE=08.314 PASS-INTERVAL=N/A                 
          PHRASEDATE=N/A                                                        
       ATTRIBUTES=SPECIAL OPERATIONS                                            
       REVOKE DATE=NONE   RESUME DATE=NONE                                      
       LAST-ACCESS=24.175/17:53:07                                              
       CLASS AUTHORIZATIONS=NONE                                                
       NO-INSTALLATION-DATA                                                     
       NO-MODEL-NAME                                                            
       LOGON ALLOWED   (DAYS)          (TIME)                                   
       ---------------------------------------------                            
       ANYDAY                          ANYTIME                                  
        GROUP=SYSCTLG   AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS=    00  UACC=READ     LAST-CONNECT=UNKNOWN                   
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
        GROUP=VSAMDSET  AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS=    00  UACC=READ     LAST-CONNECT=UNKNOWN                   
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
        GROUP=SYS1      AUTH=JOIN     CONNECT-OWNER=IBMUSER                     
          CONNECT-DATE=95.157                                                   
          CONNECTS= 4,584  UACC=READ     LAST-CONNECT=24.175/17:53:07           
          CONNECT ATTRIBUTES=NONE                                               
          REVOKE DATE=NONE   RESUME DATE=NONE                                   
      SECURITY-LEVEL=NONE SPECIFIED                                             
      CATEGORY-AUTHORIZATION                                                    
       NONE SPECIFIED                                                           
      SECURITY-LABEL=NONE SPECIFIED
    - 19.46.00            #ALU DBAP7057 RESUME PASS(vi87432)                                              
    - 19.46.25  logoff                                                          
      19.46.25  IEE185I LOGOFF DBAP055  COMPLETE FOR DEVNUM=0700 CN=L700        
                                                                                
                                                                                
                                                                                
  IEE612I CN=L700     DEVNUM=0700 SYS=ADCD                                      


  IEE163I MODE= RD   


Leia Mais

terça-feira, agosto 18, 2026

Comandos Úteis no spool do Mainframe

Gerenciar a utilização do SPOOL no ambiente JES2 no z/OS é uma atividade crítica de rotina para qualquer equipe de suporte e operação em Mainframe. Quando o volume de dados acumulados atinge limiares críticos de alerta — como no atingimento das metas do parâmetro JOBWARN ou na escassez do número de jobs livres (JNUMFREE) —, o risco de degradação da performance do sistema e até da paralisação de execuções de produção torna-se uma ameaça real. Saber identificar rapidamente a causa raiz dessa ocupação elevada, localizar os datasets de spool mais pesados e filtrar outputs acumulados por tempo de retenção é o primeiro passo para conter incidentes. Neste artigo, apresento um guia prático e objetivo contendo a sintaxe dos comandos JES2 mais úteis para monitorar a porcentagem global de uso, rastrear jobs que utilizam grandes volumes do SPOOL e executar a remoção seletiva ou limpeza cirúrgica de dados retidos no ambiente.

Display do SPOOL Utilizado

A % de utilização está o spool - O display abaixo esta em 29% cheio - Comando
$DSPOOL

Resultado
                                                                                
 07:44:13        TID    50          COM641/D          User DBAP055      14.03.24
                          ---   System Messages   ---                       UQM1
 STC03681  COMVTM2020-P LOSTERM LU=TERM0089 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0090 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0091 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0092 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0093 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0094 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0095 Tid=256 Code=20
 STC03681  COMVTM2020-P LOSTERM LU=TERM0096 Tid=256 Code=20 
 STC05529  $DSPOOL                                                              
           $HASP893 VOLUME(ZOSPO1)  STATUS=ACTIVE,PERCENT=24                    
           $HASP893 VOLUME(ZOSPO2)  STATUS=ACTIVE,PERCENT=25                    
           $HASP893 VOLUME(ZOSPO3)  STATUS=ACTIVE,PERCENT=24                    
           $HASP893 VOLUME(ZOSPO4)  STATUS=ACTIVE,PERCENT=24                    
           $HASP646 24.8759 PERCENT SPOOL UTILIZATION                           
 STC08585 @53 DF3001A  *** RVS 5.1  ***                                         
 ******************************** BOTTOM OF DATA *******************************
 Select Function:                                                       CONSOLE 
 Operand/Command:                                                               
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                                    Retrv  Up    Down        Left  Right        

Display the number of JOES

Comando
$D JOBDEF

Resultado
 STC01746  $D JOBDEF                                                            
           $HASP835 JOBDEF                                                      
           $HASP835 JOBDEF  ACCTFLD=REQUIRED,BAD_JOBNAME_CHAR=?,                
           $HASP835         CNVT_ENQ=FAIL,JCLERR=YES,JNUMBASE=8979,             
           $HASP835         JNUMFREE=6444,JNUMWARN=80,JOBFREE=6444,             
           $HASP835         JOBNUM=9999,JOBWARN=60,PRTYHIGH=10,                 
           $HASP835         PRTYJECL=YES,PRTYJOB=NO,PRTYLOW=1,PRTYRATE=1,       
           $HASP835         RANGE=(1,9999),RASSIGN=YES,DUPL_JOB=DELAY           
 STC05365 @54 DF3001A  *** RVS 5.1  ***                                         
 ******************************** BOTTOM OF DATA *******************************
 Select Function:                                                       CONSOLE 
 Operand/Command:                                                               
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                                    Retrv  Up    Down        Left  Right        

Observa o parametro JNUMFREE esse valor é muito importante, se a númeração vai até 9999 e estamos em 6444 (o calculo da porcentagem é calculo de 3)
1 - 100 * 6444 = 644.400 
2 - 644.400 / 9999 
3 - 64% estamos utilizando do spool
Essa mensagem começa a dar quando esta em 60% (observe o parametro JOBWARN acima);

Display dos Jobs Output Pesados

Quais jobs estão usando mais de 1% do spool; - Comando
$DJQ,SPL=(%>1)

Resultado
 STC01746  $DJQ,SPL=(%>1)                                                       
 STC00383  $HASP890 JOB(SYSLOG)                                                 
 STC00383  $HASP890 JOB(SYSLOG)    STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00383  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE),       
 STC00383  $HASP890                SPOOL=(VOLUMES=(ZOSPO1,2,3,4),TGS=1126,      
 STC00383  $HASP890                PERCENT=1.6877)                              
 STC00390  $HASP890 JOB(AAFTVTAM)                                               
 STC00390  $HASP890 JOB(AAFTVTAM)  STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00390  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE),       
 STC00390  $HASP890                SPOOL=(VOLUMES=(ZOSPO1,2,3,4),TGS=2235,      
 STC00390  $HASP890                PERCENT=3.3500)                              
 JOB02005  $HASP890 JOB(AADCDITO)                                               
 JOB02005  $HASP890 JOB(AADCDITO)  STATUS=(AWAITING HARDCOPY),CLASS=S,          
 JOB02005  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE),         
 JOB02005  $HASP890                SPOOL=(VOLUMES=(ZOSPO1,2,3,4),TGS=2815,      
 JOB02005  $HASP890                PERCENT=4.2194)

Display dos Jobs com 30 dias na Fila

Jobs que estão mais de 30 dias na fila; - Comando
$DJQ,DAYS>30

Resultado
 STC01746  $DJQ,DAYS>30                                                         
 STC00001  $HASP890 JOB($MASCOMM)                                               
 STC00001  $HASP890 JOB($MASCOMM)  STATUS=(AWAITING HARDCOPY),CLASS=A,          
 STC00001  $HASP890                PRIORITY=15,SYSAFF=(ANY),HOLD=(NONE)
 STC00383  $HASP890 JOB(SYSLOG)                                                 
 STC00383  $HASP890 JOB(SYSLOG)    STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00383  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00384  $HASP890 JOB(RMF)                                                    
 STC00384  $HASP890 JOB(RMF)       STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00384  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00389  $HASP890 JOB(TSS)                                                    
 STC00389  $HASP890 JOB(TSS)       STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00389  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00390  $HASP890 JOB(AAFTVTAM)                                               
 STC00390  $HASP890 JOB(AAFTVTAM)  STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00390  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00393  $HASP890 JOB(ZFS)                                                    
 STC00393  $HASP890 JOB(ZFS)       STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00393  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00437  $HASP890 JOB(AAFTICS5)                                               
 STC00437  $HASP890 JOB(AAFTICS5)  STATUS=(EXECUTING/CPAC),CLASS=STC,
 STC00437  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00438  $HASP890 JOB(AAFTICS7)                                               
 STC00438  $HASP890 JOB(AAFTICS7)  STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00438  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00441  $HASP890 JOB(AAFTNWRK)                                               
 STC00441  $HASP890 JOB(AAFTNWRK)  STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00441  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00483  $HASP890 JOB(TSO)                                                    
 STC00483  $HASP890 JOB(TSO)       STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00483  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00490  $HASP890 JOB(RMFGAT)                                                 
 STC00490  $HASP890 JOB(RMFGAT)    STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC00490  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC00506  $HASP890 JOB(EREP)                                                   
 STC00506  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC00506  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)
 STC00878  $HASP890 JOB($DI)       STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC00878  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 JOB01775  $HASP890 JOB(ALBPNATB)                                               
 JOB01775  $HASP890 JOB(ALBPNATB)  STATUS=(AWAITING EXECUTION),CLASS=N,         
 JOB01775  $HASP890                PRIORITY=10,SYSAFF=(ANY),HOLD=(JOB)          
 STC01842  $HASP890 JOB(EREP)                                                   
 STC01842  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC01842  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC02034  $HASP890 JOB(FFBE240)                                                
 STC02034  $HASP890 JOB(FFBE240)   STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC02034  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC02070  $HASP890 JOB(AAFAI141)                                               
 STC02070  $HASP890 JOB(AAFAI141)  STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC02070  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC02956  $HASP890 JOB(EREP)                                                   
 STC02956  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC02956  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)
 JOB04169  $HASP890 JOB(ABTDNATB)                                               
 JOB04169  $HASP890 JOB(ABTDNATB)  STATUS=(AWAITING EXECUTION),CLASS=6,         
 JOB04169  $HASP890                PRIORITY=10,SYSAFF=(ANY),HOLD=(JOB)          
 STC04353  $HASP890 JOB($TJ1033)                                                
 STC04353  $HASP890 JOB($TJ1033)   STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC04353  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC04923  $HASP890 JOB(EREP)                                                   
 STC04923  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC04923  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC05233  $HASP890 JOB(EREP)                                                   
 STC05233  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC05233  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC05234  $HASP890 JOB(AADPTLMS)                                               
 STC05234  $HASP890 JOB(AADPTLMS)  STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC05234  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC05502  $HASP890 JOB(EREP)                                                   
 STC05502  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,
 STC05502  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC05610  $HASP890 JOB(INIT)                                                   
 STC05610  $HASP890 JOB(INIT)      STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC05610  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE),       
 STC05610  $HASP890                INITASID=0437                                
 STC06172  $HASP890 JOB(EREP)                                                   
 STC06172  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC06172  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC06351  $HASP890 JOB(AAFTESF)                                                
 STC06351  $HASP890 JOB(AAFTESF)   STATUS=(EXECUTING/CPAC),CLASS=STC,           
 STC06351  $HASP890                PRIORITY=15,SYSAFF=(CPAC),HOLD=(NONE)        
 STC07485  $HASP890 JOB(EREP)                                                   
 STC07485  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC07485  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)          
 STC07648  $HASP890 JOB(EREP)                                                   
 STC07648  $HASP890 JOB(EREP)      STATUS=(AWAITING HARDCOPY),CLASS=STC,        
 STC07648  $HASP890                PRIORITY=1,SYSAFF=(ANY),HOLD=(NONE)

Display de todos os jobs começando

Display de todos os output dos jobs com AAC que estão na fila - Comando
$DO JQ,JM=AAC *

Resultado
 STC01746  $DO JQ,JM=AAC *                                                      
 JOB00301  $HASP686 OUTPUT(AACCTLMS)                                            
 JOB00301  $HASP686 OUTPUT(AACCTLMS)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB00301  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB00301  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB00301  $HASP686                   QUEUE=A,RECORDS=(1093 OF 1093),           
 JOB00301  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB00301  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=SUP0006,     
 JOB00301  $HASP686                   WRITER=                                   
 JOB00301  $HASP686 OUTPUT(AACCTLMS)                                            
 JOB00301  $HASP686 OUTPUT(AACCTLMS)  OUTGRP=2.1.1,BURST=NO,FCB=****,           
 JOB00301  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB00301  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,
 JOB00301  $HASP686                   QUEUE=G,RECORDS=(325 OF 325),             
 JOB00301  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB00301  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=SUP0006,     
 JOB00301  $HASP686                   WRITER=                                   
 JOB04567  $HASP686 OUTPUT(AACCTLMS)                                            
 JOB04567  $HASP686 OUTPUT(AACCTLMS)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB04567  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB04567  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB04567  $HASP686                   QUEUE=A,RECORDS=(1088 OF 1088),           
 JOB04567  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB04567  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=SUP0006,     
 JOB04567  $HASP686                   WRITER=                                   
 JOB04567  $HASP686 OUTPUT(AACCTLMS)                                            
 JOB04567  $HASP686 OUTPUT(AACCTLMS)  OUTGRP=2.1.1,BURST=NO,FCB=****,           
 JOB04567  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB04567  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 JOB04567  $HASP686                   QUEUE=G,RECORDS=(297 OF 297),
 JOB04567  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB04567  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=SUP0006,     
 JOB04567  $HASP686                   WRITER=                                   
 JOB06822  $HASP686 OUTPUT(AACCTLMS)                                            
 JOB06822  $HASP686 OUTPUT(AACCTLMS)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB06822  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB06822  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB06822  $HASP686                   QUEUE=A,RECORDS=(1089 OF 1089),           
 JOB06822  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB06822  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=SUP0006,     
 JOB06822  $HASP686                   WRITER=                                   
 JOB06822  $HASP686 OUTPUT(AACCTLMS)                                            
 JOB06822  $HASP686 OUTPUT(AACCTLMS)  OUTGRP=2.1.1,BURST=NO,FCB=****,           
 JOB06822  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB06822  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 JOB06822  $HASP686                   QUEUE=G,RECORDS=(346 OF 346),             
 JOB06822  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,
 JOB06822  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=SUP0006,     
 JOB06822  $HASP686                   WRITER= 

Exclui os jobs Output pelo Nome

Exclui todos os outputs dos jobs que começam com AAFSNSTC - dá para excluir também as STC - $PO S - Comando
$PO JQ,JM=AAFSNSTC

Resultado
 STC01746  $PO JQ,JM=AAFSNSTC                                                   
 JOB01012  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB01476  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB02094  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB02700  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB03101  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB03736  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB03876  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB04296  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB04421  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB04920  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB05210  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED
 JOB05629  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB05890  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB06201  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB06300  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB06679  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB06746  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07046  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07263  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07287  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07432  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07551  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07710  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB07779  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB08002  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB08376  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB09071  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB09075  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED
 JOB09169  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB09296  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB09784  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB09967  $HASP686 OUTPUT(AAFSNSTC)  OUTGRP=1.1.1 CANCELLED                    
 JOB09967  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8FA9E0)                   
 JOB09784  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8F8F0C)                   
 JOB09296  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8F5968)                   
 JOB09169  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8F3E95)                   
 JOB09075  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8F303B)                   
 JOB09071  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8F2EF0)                   
 JOB08376  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8EF685)                   
 JOB08002  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC93042D)                   
 JOB07779  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8ED9E2)                   
 JOB07710  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC92CE8A)                   
 JOB07551  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC92B3B6)                   
 JOB07432  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8ECF2A)                   
 JOB07287  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8EC5C1)
 JOB07263  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC927E12)                   
 JOB07046  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC92633F)                   
 JOB06746  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC922D9B)                   
 JOB06679  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC9212C8)                   
 JOB06300  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC91DD22)                   
 JOB06201  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC91C250)                   
 JOB05890  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC918CAD)                   
 JOB05629  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC9171D9)                   
 JOB05210  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC913C35)                   
 JOB04920  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC912161)                   
 JOB04421  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC90EBBE)                   
 JOB04296  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC90D0EA)                   
 JOB03876  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC909B46)                   
 JOB03736  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC908072)                   
 JOB03101  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC904ACF)                   
 JOB02094  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC900C8C)                   
 JOB02700  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC902FFB)
 JOB01476  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8FFA56)                   
 JOB01012  $HASP250 AAFSNSTC PURGED -- (JOB KEY WAS DC8FDF87)

Para excluir todos os jobs AAFS é só dar o comando abaixo com *
$PO JQ,JM=AAFS*

Display dos Jobs de Output com mais de 30 dias na Fila

Quais jobs estão a 30 dias na fila - Comando
$DO JQ,AGE>30 

Resultado
 STC01746  $DO JQ,AGE>30                                                        
 STC00483  $HASP686 OUTPUT(TSO)                                                 
 STC00483  $HASP686 OUTPUT(TSO)       OUTGRP=1.1.1,BURST=NO,FCB=****,           
 STC00483  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 STC00483  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 STC00483  $HASP686                   QUEUE=A,RECORDS=(18 OF 18),               
 STC00483  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 STC00483  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=TSO,         
 STC00483  $HASP686                   WRITER=                                   
 STC04353  $HASP686 OUTPUT($TJ1033) 
 STC04353  $HASP686 OUTPUT($TJ1033)   OUTGRP=1.1.1,BURST=NO,FCB=****,           
 STC04353  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 STC04353  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 STC04353  $HASP686                   QUEUE=A,RECORDS=(16 OF 16),               
 STC04353  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 STC04353  $HASP686                   TSOAVAIL=YES,UCS=****,                    
 STC04353  $HASP686                   USERID=USERSTC,WRITER=                   
 STC09681  $HASP686 OUTPUT($TJ7777)                                             
 STC09681  $HASP686 OUTPUT($TJ7777)   OUTGRP=1.1.1,BURST=NO,FCB=****,           
 STC09681  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 STC09681  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 STC09681  $HASP686                   QUEUE=A,RECORDS=(16 OF 16),               
 STC09681  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 STC09681  $HASP686                   TSOAVAIL=YES,UCS=****,                    
 STC09681  $HASP686                   USERID=USERSTC,WRITER= 

Excluir os Jobs com mais de 30 dias na Fila

Este comando vai deletar os jobs que estão a x dias na fila - o comando abaixo vai deletar os jobs que estão a 30 dias na fila
$PO JQ,AGE>30 

Display dos Jobs aekpr00* com mais de uma semana

Quais jobs de saída pertencem ao AEKPR00* e também têm uma semana ($DO S e $do S) - Comando
$DO JQ,JM=AEKPR00*,A>7 

Resultado
 STC01746  $DO JQ,JM=AEKPR00*,A>7                                               
 JOB00571  $HASP686 OUTPUT(AEKPR006)                                            
 JOB00571  $HASP686 OUTPUT(AEKPR006)  OUTGRP=1.1.1,BURST=NO,FCB=****,
 JOB00571  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB00571  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB00571  $HASP686                   QUEUE=A,RECORDS=(1060 OF 1060),           
 JOB00571  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB00571  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB00571  $HASP686                   WRITER=                                   
 JOB00665  $HASP686 OUTPUT(AEKPR008)                                            
 JOB00665  $HASP686 OUTPUT(AEKPR008)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB00665  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB00665  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB00665  $HASP686                   QUEUE=A,RECORDS=(1135 OF 1135),           
 JOB00665  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB00665  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB00665  $HASP686                   WRITER=                                   
 JOB02407  $HASP686 OUTPUT(AEKPR005)                                            
 JOB02407  $HASP686 OUTPUT(AEKPR005)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB02407  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),
 JOB02407  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB02407  $HASP686                   QUEUE=A,RECORDS=(662 OF 662),             
 JOB02407  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB02407  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB02407  $HASP686                   WRITER=                                   
 JOB02548  $HASP686 OUTPUT(AEKPR006)                                            
 JOB02548  $HASP686 OUTPUT(AEKPR006)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB02548  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB02548  $HASP686                   OUTDISP=HOLD,PRIORITY=7,PRMODE=LINE,      
 JOB02548  $HASP686                   QUEUE=A,RECORDS=(1255 OF 1255),           
 JOB02548  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB02548  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB02548  $HASP686                   WRITER=                                   
 JOB02609  $HASP686 OUTPUT(AEKPR008)                                            
 JOB02609  $HASP686 OUTPUT(AEKPR008)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB02609  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB02609  $HASP686                   OUTDISP=HOLD,PRIORITY=7,PRMODE=LINE,
 JOB02609  $HASP686                   QUEUE=A,RECORDS=(1316 OF 1316),           
 JOB02609  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB02609  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB02609  $HASP686                   WRITER=                                   
 JOB04949  $HASP686 OUTPUT(AEKPR005)                                            
 JOB04949  $HASP686 OUTPUT(AEKPR005)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB04949  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB04949  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 JOB04949  $HASP686                   QUEUE=A,RECORDS=(577 OF 577),             
 JOB04949  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB04949  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB04949  $HASP686                   WRITER=                                   
 JOB05093  $HASP686 OUTPUT(AEKPR006)                                            
 JOB05093  $HASP686 OUTPUT(AEKPR006)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB05093  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB05093  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB05093  $HASP686                   QUEUE=A,RECORDS=(893 OF 893),
 JOB05093  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB05093  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB05093  $HASP686                   WRITER=                                   
 JOB05119  $HASP686 OUTPUT(AEKPR002)                                            
 JOB05119  $HASP686 OUTPUT(AEKPR002)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB05119  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB05119  $HASP686                   OUTDISP=HOLD,PRIORITY=8,PRMODE=LINE,      
 JOB05119  $HASP686                   QUEUE=A,RECORDS=(1031 OF 1031),           
 JOB05119  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,                 
 JOB05119  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB05119  $HASP686                   WRITER=                                   
 JOB05134  $HASP686 OUTPUT(AEKPR002)                                            
 JOB05134  $HASP686 OUTPUT(AEKPR002)  OUTGRP=1.1.1,BURST=NO,FCB=****,           
 JOB05134  $HASP686                   FLASH=****,FORMS=STD,HOLD=(NONE),         
 JOB05134  $HASP686                   OUTDISP=HOLD,PRIORITY=9,PRMODE=LINE,      
 JOB05134  $HASP686                   QUEUE=A,RECORDS=(242 OF 242),             
 JOB05134  $HASP686                   ROUTECDE=LOCAL,SECLABEL=,
 JOB05134  $HASP686                   TSOAVAIL=YES,UCS=****,USERID=MAQ0001,     
 JOB05134  $HASP686                   WRITER=

Excluir os Jobs com mais de dois dias

Deletar os jobs de output com o nome AAASMF que estão parados na fila em 2 dias (vai ser excluido o setimo dia somente)
$PO JQ,JM=AAASMF,A>2

Resultado
 STC01746  $PO JQ,JM=AAASMF,A>2                                                 
 STC03618  $HASP686 OUTPUT(AAASMF)    OUTGRP=1.1.1 CANCELLED                    
 STC06502  $HASP686 OUTPUT(AAASMF)    OUTGRP=1.1.1 CANCELLED                    
 STC06709  $HASP686 OUTPUT(AAASMF)    OUTGRP=1.1.1 CANCELLED                    
 STC09955  $HASP686 OUTPUT(AAASMF)    OUTGRP=1.1.1 CANCELLED                    
 STC09955  $HASP250 AAASMF PURGED -- (JOB KEY WAS DC8FA7FD)                     
 STC06709  $HASP250 AAASMF PURGED -- (JOB KEY WAS DC921C6E)                     
 STC06502  $HASP250 AAASMF PURGED -- (JOB KEY WAS DC8E9BF2)                     
 STC03618  $HASP250 AAASMF PURGED -- (JOB KEY WAS DC907532)


Leia Mais