quarta-feira, agosto 12, 2026

BACKUP SÓ É BACKUP QUANDO PODE SER RESTAURADO

No ambiente de produção, não basta apenas realizar o backup e verificar se o processo foi concluído com sucesso. É fundamental testar se esse backup realmente pode ser restaurado. Sempre que possível, procuro executar um teste de restauração para confirmar se o backup está íntegro e se os dados armazenados podem, de fato, ser recuperados quando houver necessidade. Afinal, um backup que foi gerado corretamente, mas que apresenta problemas no momento da restauração, pode dar uma falsa sensação de segurança. Na prática, não adianta olhar apenas para o resultado do job e verificar que terminou com RC=0 ou que o arquivo de backup foi criado. Isso confirma que o processo foi executado conforme o esperado, mas não garante, por si só, que teremos uma recuperação bem-sucedida quando precisarmos dos dados. O teste de restauração permite identificar antecipadamente possíveis problemas, como arquivos de backup corrompidos, falhas durante a gravação, inconsistências nos dados, problemas com mídias, parâmetros incorretos ou dificuldades no próprio procedimento de recuperação. Outro ponto importante é que o teste não deve validar apenas o arquivo de backup, mas todo o processo de recuperação. É necessário saber onde o backup está armazenado, como localizá-lo, quais procedimentos devem ser executados, quais parâmetros precisam ser utilizados e, principalmente, quanto tempo será necessário para concluir a restauração.

No ambiente Mainframe, onde temos sistemas e bancos de dados que permanecem em produção por muitos anos, essa validação se torna ainda mais importante. Um backup pode permanecer armazenado durante meses ou até anos, mas somente descobriremos se ele realmente é confiável quando tentarmos utilizá-lo. Por isso, considero o teste de restauração uma etapa tão importante quanto a própria execução do backup. Backup realizado é apenas o primeiro passo. Backup restaurado e validado é o que realmente nos dá confiança de que os dados poderão ser recuperados quando forem necessários. Afinal, o pior momento para descobrir que um backup não funciona é justamente quando precisamos dele para recuperar o ambiente de produção.

Backup

O backup rodou
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.31.18 STC08609 ---- TUESDAY,   11 AUG 2026 ----                             
 18.31.18 STC08609  IEF677I WARNING MESSAGE(S) FOR JOB ADAB0080 ISSUED          
 18.31.18 STC08609  IEF695I START ADAB0080 WITH JOBNAME ADAB0080 IS ASSIGNED TO USER ADA0001 , GROUP STCGRP                                                     
 18.31.18 STC08609  $HASP373 ADAB0080 STARTED                                   
 18.31.18 STC08609  IEF403I ADAB0080 - STARTED - TIME=18.31.18                  
 18.31.19 STC08609  +BACKUP DO BANCO - ADAB0080                                 
 18.31.19 STC08609 @83 REPLY C TO CONTINUE PROCESSING OR R TO REPEAT DISPLAY    
 18.31.21 STC08609  R 83,C                                                      
 18.31.22 STC08609 *IEF233A M 089B,PRIVAT,SL,ADAB0080,SAVE,  170                
    170                     ADABAS.C.SAVE.DB080.DIA.G4315V00            
 18.31.24 STC08609  IEC705I TAPE ON 089B,VC1312,SL,COMP,ADAB0080,SAVE,ADABAS.C.SAVE.DB080.DIA.G4315V00,MEDIA4                                           
 18.31.24 STC08609  ADAU14 00080 ADASAV-Run with save tape 8758                 
 18.31.49 STC08609  IEC205I DDSAVE1,ADAB0080,SAVE,FILESEQ=1, COMPLETE VOLUME LIST,  184                                                                         
    184             DSN=ADABAS.C.SAVE.DB080.DIA.G4315V00,VOLS=VC1312,   
    184             TOTALBLOCKS=5621                                            
 18.31.51 STC08609  ADAU14 00080 ADASAV-Run with save tape 8759                 
 18.32.06 STC08609  IEC205I DDSAVE1,ADAB0080,SAVE1,FILESEQ=2, COMPLETE VOLUME LIST,  193                                                                        
    193             DSN=ADABAS.C.SAVE.SIASIP.DB080.DIA.G3275V00,VOLS=VC1312,    
    193             TOTALBLOCKS=5621                                            
 18.32.23 STC08609  IEF234E K 089B,VC1312,PVT,ADAB0080                          
 18.32.23 STC08609  IEF404I ADAB0080 - ENDED - TIME=18.32.23                    
 18.32.23 STC08609  $HASP395 ADAB0080 ENDED                                     
0------ JES2 JOB STATISTICS ------   
-  11 AUG 2026 JOB EXECUTION DATE    
-            2 CARDS READ            
-        1,259 SYSOUT PRINT RECORDS  
-            0 SYSOUT PUNCH RECORDS  
-           60 SYSOUT SPOOL KBYTES   
-         1.07 MINUTES EXECUTION TIME

Esse é o layout que ficou em cada cartucho os files do banco Adabas;
____________________________________________________________________________________________________________________________________
*  A D A S A V                                   DB PROD 80 SIAFEM                                                         PAG. 0001
__________________________________________________________________________________________________________________________  11/08/26

  111      111     00000    88888    22222     666        TTTTTTT  EEEEEEE  RRRRRR     CCCCCC   AAAAA                               
 1111     1111    000 000  888 888  22  222   666           TTT    EEE      RRR RRR   CCC      AAA AAA                              
11111    11111    000 000  888 888     222   666            TTT    EEE      RRR RRR   CCC      AAA AAA                              
  111      111    000 000   88888     222    666666         TTT    EEEEEEE  RRRRRR    CCC      AAAAAAA                              
  111      111    000 000  888 888   222     666 666        TTT    EEE      RRRRRR    CCC      AAA AAA                              
  111      111    000 000  888 888  222      666 666        TTT    EEE      RRR RRR    CCCCCC  AAA AAA                              
1111111  1111111   00000    88888   2222222   66666         TTT    EEEEEEE  RRR  RRR    CC     AAA AAA                              
VOLSER-Table:                                                                                                                       
-------------                                                                                                                       
 I No. I Type I VOLSER I Device I     High   I Tape  I  Size in I                                                                   
 I     I      I        I        I     RABN   I Drive I  Tracks  I                                                                   
 I-----I------I--------I--------I------------I-------I----------I                                                                   
 I   1 I ASSO I ADS030 I  8391  I     722868 I    1  I    6305  I                                                                   
 I   2 I DATA I ADS030 I  8391  I     449995 I    1  I   23502  I                                                                   
 ----------------------------------------------------------------                                                                   
 A D A S A V   Processing Statistics:                                                                                               
 -------------------------------------                                                                                              
   Ended at                        2026-08-11 18:32:04                                                                              
   Input read from database          00080     (DB.S080.OFFICE)                                                                   
 File list written to output volumes:                                                                                               
 I VOLSER I Contents                                                   I Tape I                                                     
 I--------I------------------------------------------------------------I------I                                                     
 I VC1312 I ASSO 007 - 011 , 015 , 019 , 021 - 036 , 038 - 052         I    1 I                                                     
 I        I ASSO 064 - 074 , 081 - 087 , 089 - 099 , 109               I    1 I                                                     
 I        I ASSO 111 - 114 , 116 - 119 , 121 - 132 , 134 - 138         I    1 I                                                     
 I        I ASSO 149 - 171 , 190 - 192 , 200 , 233 - 234 , 236         I    1 I                                                     
 I        I ASSO 238 - 255                                             I    1 I                                                     
 I VC1312 I DATA 007 - 011 , 015 , 019 , 021 - 036 , 038 - 052         I    1 I                                                     
 I        I DATA 064 - 074 , 081 - 087 , 089 - 099 , 109               I    1 I                                                     
 I        I DATA 111 - 114 , 116 - 119 , 121 - 132 , 134 - 138         I    1 I                                                     
 I        I DATA 149 - 171 , 190 - 192 , 200 , 233 - 234 , 236         I    1 I                                                     
 I        I DATA 238 - 255                                             I    1 I                                                     
 I        I Protection Log  PLOGNUM=8739, SYN1=17703, SYN2=17706       I      I                                                     
 I--------I------------------------------------------------------------I------I                                                     
    To restore any file from this tape use the RESTONL-Function.                                                                    
 RABN ranges as written to the output:                                                                                              
 I VOLSER I Contents                                                   I Tape I                                                     
 I--------I------------------------------------------------------------I------I                                                     
 I VC1312 I ASSO 000001- 001414, 001447- 426323                        I    1 I                                                     
 I        I DATA 000001- 357444                                        I    1 I                                                     
 I--------I------------------------------------------------------------I------I                                                     
 The following files have been modified while ADASAV was running:                                                                   
 I Files                                                               I                                                            
 I---------------------------------------------------------------------I                                                            
 I     019                                                             I                                                            
 I---------------------------------------------------------------------I                                                            
 A restore operation requires the Protection Log of the                                                                             
 current nucleus session.                                                                                                           
A D A S A V  Terminated normally                          2026-08-11  18:32:04                                                      


PLOG

Esse foi o PLOG que vamos utilizar
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                                                                               
 13.54.13 JOB03149 ---- WEDNESDAY, 12 AUG 2026 ----                             
 13.54.13 JOB03149  IRR010I  USERID ADAB0080 IS ASSIGNED TO THIS JOB.           
 13.54.13 JOB03149  ICH70001I ADAB0080 LAST ACCESS AT 20:14:53 ON SATURDAY, AUGUST 1, 2026                                                                      
 13.54.13 JOB03149  $HASP373 PLOGP080 STARTED - INIT K    - CLASS S - SYS CPAC  
 13.54.14 JOB03149  IEF403I PLOGP080 - STARTED - TIME=13.54.14                  
 13.54.15 JOB03149 *IEF233A M 0894,PRIVAT,SL,PLOGP080,PLOGDB,ADABAS.C.DB080.PLOG.G0247V00                                                                       
 13.54.19 JOB03149  IEC705I TAPE ON 0894,VC0551,SL,COMP,PLOGP080,PLOGDB,ADABAS.C.DB080.PLOG.G0247V00,MEDIA4                                                     
 13.54.31 JOB03149  IEC205I DDSIAUS1,PLOGP080,PLOGDB,FILESEQ=1, COMPLETE VOLUME LIST,  245                                                                      
    245             DSN=ADABAS.C.DB080.PLOG.G0247V00,VOLS=VC0551,TOTALBLOCKS=1016                                                                               
 13.54.33 JOB03149  IEF234E K 0894,VC0551,PVT,PLOGP080,PLOGDB                   
 13.54.33 JOB03149  -                                              --TIMINGS (MINS.)--            -----PAGING COUNTS----                                        
 13.54.33 JOB03149  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  WORKLOAD  PAGE  SWAP   VIO SWAPS                                        
 13.54.33 JOB03149  -PLOGDB               00   6311   3995    .02    .00     .3   194K  BATCH        0     0     0     0                                        
 13.54.33 JOB03149  IEF404I PLOGP080 - ENDED - TIME=13.54.33                    
 13.54.33 JOB03149  -PLOGP080 ENDED.  NAME-DBA                  TOTAL TCB CPU TIME=    .02 TOTAL ELAPSED TIME=    .3                                            
 13.54.33 JOB03149  $HASP395 PLOGP080 ENDED                                     
0------ JES2 JOB STATISTICS ------                                              
-  12 AUG 2026 JOB EXECUTION DATE    
-           29 CARDS READ            
-          198 SYSOUT PRINT RECORDS  
-            0 SYSOUT PUNCH RECORDS  
-            9 SYSOUT SPOOL KBYTES   
-         0.33 MINUTES EXECUTION TIME

Informações importantes do PLOG
1                                                                               
 A D A R E S   V7.4  SM4   DBID = 00080  Started           2026-08-12  13:54:14 
                                                                                
                                                                                
                                                                                
 Parameters:                                                                    
 -----------                                                                    
                                                                                
                                                                                
 ADARES PLCOPY                                                                  
                                                                                
                                                                                
                                                                                
                                                                                
 DDSIAUS1 Output Volume=VC0551, Session NR=8739                                 
                                FROMBLK=       1, FROMTIME=2026-08-01 20:14:53  
                                TOBLK=     19430, TOTIME=  2026-08-12 13:54:12  
                                                                                
                                                                                
      The copy operation was successful, and the                                
      sequential output dataset has been closed.                                
                                                                                     
                                                                               
                                                                               
 ADARES (PLCOPY): 19430 blocks copied from DDPLOGR1 to DDSIAUS1/2.             
                  Protection Log Number = 8739                                 
                                                                               
                                                                               
 A D A R E S  Terminated normally                          2026-08-12  13:54:32

Restore

Esse é o JCL que vamos utilizar para fazer a restauração;
//AAFPREST JOB (ABBP,DIBD),SUPORTE,CLASS=S,MSGCLASS=A TYPRUN=HOLD   
//*UQ ALLOW                                                         
//*-----------------------------------------------------------------
//*                    RESTORE DO BANCO 141 ONLINE                  
//*-----------------------------------------------------------------
//RESTORE  EXEC AAFAU141,TIME=1440                                  
//DDREST1   DD DSN=ADABAS.C.SAVE.DB080.DIA.G4315V00,        
//          DISP=OLD,UNIT=CVRT,LABEL=(1,SL),VOL=SER=VC1312          
//* ----------------------------------------------------------------
//DDPLOG    DD DSN=ADABAS.C.DB080.PLOG.G0247V00,                    
//           DISP=OLD,UNIT=AFF=DDREST1,VOL=SER=VC0551               
//*-----------------------------------------------------------------
//DDCARD    DD *                                                    
ADARUN PROG=ADASAV,DBID=141                                         
//DDKARTE   DD *                                                    
ADASAV RESTONL FMOVE=28,30,31,32,33,34,35,36,38,43,47,50,65         
ADASAV         FMOVE=66,67,70,96,109,116,192,243,246,250            
ADASAV         PLOGNUM=8739,SYN1=17703,OVERWRITE
/*                                                                  

Foi restaurado com sucesso
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 
 14.05.30 JOB03290 ---- WEDNESDAY, 12 AUG 2026 ----
 14.05.30 JOB03290  ICH70001I DBAP055  LAST ACCESS AT 14:04:39 ON WEDNESDAY, AUGUST 12, 2026
 14.05.30 JOB03290  $HASP373 AAFPREST STARTED - INIT K    - CLASS S - SYS CPAC
 14.05.30 JOB03290  IEF403I AAFPREST - STARTED - TIME=14.05.30
 14.05.31 JOB03290 *IEF233A M 0891,VC1312,,AAFPREST,AAFAU141,  151
    151                     ADABAS.C.SAVE.DB080.DIA.G4315V00
 14.06.07 JOB03290  IEC502E K 0891,VC1312,SL,AAFPREST,AAFAU141
 14.06.07 JOB03290 *IEC501A M 0891,VC0551,SL,,AAFPREST,AAFAU141.RESTORE,ADABAS.C.DB080.PLOG.G0247V00
 14.06.17 JOB03290  IEF234E K 0891,VC0551,PVT,AAFPREST,AAFAU141
 14.06.17 JOB03290  -                                              --TIMINGS (MINS.)--            -----PAGING COUNTS----
 14.06.17 JOB03290  -STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  WORKLOAD  PAGE  SWAP   VIO SWAPS
 14.06.17 JOB03290  -RESTORE  AAFAU141    00   7057   6293    .06    .01     .7   505K  BATCH        0     0     0     0
 14.06.17 JOB03290  IEF404I AAFPREST - ENDED - TIME=14.06.17
 14.06.17 JOB03290  -AAFPREST ENDED.  NAME-SUPORTE              TOTAL TCB CPU TIME=    .06 TOTAL ELAPSED TIME=    .7
 14.06.17 JOB03290  $HASP395 AAFPREST ENDED
0------ JES2 JOB STATISTICS ------                                                                                                   
-  12 AUG 2026 JOB EXECUTION DATE                                                                                                    
-           21 CARDS READ                                                                                                            
-        1,449 SYSOUT PRINT RECORDS                                                                                                  
-            0 SYSOUT PUNCH RECORDS                                                                                                  
-           60 SYSOUT SPOOL KBYTES                                                                                                   
-         0.78 MINUTES EXECUTION TIME 

Restaurado os files
 A D A S A V   V7.4  SM4   DBID = 00141  Started           2026-08-12  14:05:31                                          
                                                                                                                         
                                                                                                                         
                                                                                                                         
 Parameters:                                                                                                             
 -----------                                                                                                             
                                                                                                                         
                                                                                                                         
 ADASAV RESTONL FMOVE=28,30,31,32,33,34,35,36,38,43,47,50,65                                                             
 ADASAV         FMOVE=66,67,70,96,109,116,192,243,246,250                                                                
 ADASAV         PLOGNUM=8739,SYN1=17703,OVERWRITE
                                                                                                                         
                                                                                                                         
                                                                                                                         
                                                                                                                         
                                                                                                                         
 Function to be executed:                                                                                                
 ------------------------                                                                                                
                                                                                                                         
    RESTONL FILE(S)  ONLINE                                                                                              
                                                                                                                         
    Restore tape from Database    80  (DB.S080.OFFICE)                                                                 
         Loading into Database   141  (DB.S141.OFFICE)                                                                 
                                                                                                                         
                                                                                                                         
 File Number 28 is already present and will be overwritten.                                                              
 File Number 30 is already present and will be overwritten.                                                              
 File Number 31 is already present and will be overwritten.                                                              
 File Number 32 is already present and will be overwritten.                                                              
 File Number 33 is already present and will be overwritten.                                                              
 File Number 34 is already present and will be overwritten.                                                              
 File Number 35 is already present and will be overwritten.                                                              
 File Number 36 is already present and will be overwritten.                                                              
 File Number 38 is already present and will be overwritten.                                                              
 File Number 43 is already present and will be overwritten.                                                              
 File Number 47 is already present and will be overwritten.                                                              
 File Number 50 is already present and will be overwritten.                                                              
 File Number 65 is already present and will be overwritten.                                                              
 File Number 66 is already present and will be overwritten.                                                              
 File Number 67 is already present and will be overwritten.                                                              
 File Number 70 is already present and will be overwritten.                                                              
 File Number 96 is already present and will be overwritten.                                                              
 File Number 109 is already present and will be overwritten.                                                             
 File Number 116 is already present and will be overwritten.                                                             
 File Number 192 is already present and will be overwritten.                                                             
 File Number 243 is already present and will be overwritten.                                                             
 File Number 246 is already present and will be overwritten.                                                             
 File Number 250 is already present and will be overwritten.                                                             
Leia Mais

NAT3072 User queue overflow

O erro apresentado no ambiente Natural/Adabas está relacionado principalmente à ocorrência da mensagem NAT3072 – User queue overflow. Essa ocorrência está diretamente associada à User Queue do Adabas, estrutura utilizada para armazenar informações temporárias relacionadas à sessão, ao usuário e ao processamento em execução. Quando a capacidade disponível nessa área é atingida, ocorre um overflow (estouro da User Queue), fazendo com que o ambiente não consiga armazenar novas informações necessárias para a continuidade do processamento. Como consequência, a execução do programa pode ser interrompida e a sessão pode entrar em um estado inconsistente. A partir dessa condição, pode ocorrer também a mensagem NAT0856 – Automatic logon with invalid logon data, indicando uma falha durante o processo de logon automático. Nesse cenário, o Natural pode tentar utilizar informações de sessão que ficaram inconsistentes ou incompletas em decorrência do problema ocorrido anteriormente na User Queue. Na sequência, também pode ser apresentada a mensagem NAT9982 – Error occurred during session termination. Esse erro ocorre quando o Natural tenta finalizar a sessão, normalmente como consequência da falha anterior, mas encontra estruturas ou informações inconsistentes que impedem o encerramento normal do ambiente. Dessa forma, as mensagens NAT3072, NAT0856 e NAT9982 podem ser entendidas como parte de uma mesma cadeia de eventos. O problema tem como origem principal o esgotamento da User Queue no Adabas, que provoca uma falha no processamento, compromete o estado da sessão e, posteriormente, pode gerar erros relacionados ao logon automático e ao encerramento da sessão. Em resumo, trata-se de uma condição que começa com o overflow da User Queue, afetando diretamente a sessão do usuário e podendo provocar uma sequência de erros no Natural até a interrupção ou encerramento forçado do processamento.

 IEF142I AAFSNATB NATURAL DB230 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB240 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB110 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB210 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB140 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB141 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB150 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB160 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB170 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB180 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB190 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB130 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB120 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB100 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB241 - STEP WAS EXECUTED - COND CODE 0000            
 IEF142I AAFSNATB NATURAL DB020 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB030 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB040 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB050 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB060 - STEP WAS EXECUTED - COND CODE 0008            
 IEF142I AAFSNATB NATURAL DB070 - STEP WAS EXECUTED - COND CODE 0000            
--------------------------------------------------------------------------------
OP=S CL=ALL IN=ALL JB=AAFSNATB,02616 DS=3 SI=CC LR=1 LL=80 PP=0 DC= RL=999999   
AD=S DE= SC= PT= SQ=C RR=0 OC= SD=2000   25.08.2023, 11:17:34 

NAT3072 User queue overflow

Banco id 150
1NAT3072 User queue overflow. DB/FNR/Subcode 150/15/7.                          
 NAT0856 Automatic logon with invalid logon data; logon failed.                 
 NAT3072 User queue overflow. DB/FNR/Subcode 150/0/7.                           
1NAT9982 Error occurred during session termination                              
UQS0009 - END OF DATA SET.                                                      

Descrição do Erro

A recomendação é aumentar o parametro NU;
 12:31:48               ***** NATURAL HELP UTILITY *****              25/08/2023
 Library SUPORTE2      - Natural System Message NAT3072 -             Page 1    
                                                                                
    User queue overflow. DB/FNR/Subcode :1:/:2:/:3:.                            
                                                                                
 Tx *** Short Text ***                                                          
                                                                                
    User queue overflow. DB/FNR/Subcode .../.../....                            
                                                                                
 Ex *** Explanation ***                                                         
                                                                                
    An overflow occurred in the user queue or the user file list pool.          
                                                                                
 Ac *** Recommended Action ***                                                  
                                                                                
    Ask your database administrator to increase the value                       
    used for the NU parameter.                                                  
                                                                                
                                                                                
                                                                                
                                                                                
                                                                    Last Page   
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help  Menu  Exit        Print                                     Canc   

High Water Marks

Pelo Sysaos opção (A/U/H - banco 150) o parametro NU atingiu 100% caraca;
  11:25:03          ***** A D A B A S  BASIC  SERVICES *****          2023-08-25
  DBID 150                    -  High Water Marks  -                  PACUH02   
                                                                                
                                                                                
   Pool / Queue       I    Size    I    Used    I %Used I   Date       Time   I 
 ------------------------------------------------------------------------------ 
 Attached Buffer(NAB) I     655360 I      32768 I   5,0 I                     I 
 Command Queue  (NC)  I      15360 I        192 I   1,2 I 2023-08-25 11:25:02 I 
 Format Pool    (LFP) I    1024000 I     100948 I   9,8 I 2023-08-23 16:08:15 I 
 Hold Queue     (NH)  I      84056 I        252 I   0,2 I 2023-08-22 09:30:46 I 
 ISN-List Table (LI)  I      80000 I       1064 I   1,3 I 2023-08-23 15:30:00 I 
 Seq. Cmd. Table(LQ)  I      50000 I       1116 I   2,2 I 2023-08-21 12:27:21 I 
 User Queue     (NU)  I     112112 I     112112 I 100,0 I 2023-08-25 10:03:12 I 
 Unique DE Pool (DUQ) I      50000 I          0 I   0,0 I                     I 
 Security Pool  (LCP) I       2000 I          0 I   0,0 I                     I 
 UQ File List   (UQF) I      33960 I      25344 I  74,6 I 2023-08-25 10:03:12 I 
 ATM Trans. IDs (XID) I          0 I          0 I   0,0 I                     I 
 Work Pool      (LWP) I    1024000 I     333716 I  32,5 I 2023-08-23 11:22:01 I 
 Redo Pool      (LRDP)I          0 I          0 I   0,0 I                     I 
                                                                                
                                                                                
  PF1----- PF2------ PF3------ PF4------ PF6----- PF7----- PF8----- PF12-----   
  Help               Exit      Refresh                              Menu   

Alterando Parametro

Vamos alterar o parametro de NU de 350 para 1000
MEMBER=ADAP150  000062 REC SAVE:04.07.2013 07:47 BY   USERID DBAP124  R=00000021
DSN=AAB.DIBD.ADAPARM                             LIB=S1 VOL=PRL303 UNIT=1526    
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
ADARUN LOGSB=NO         <=== LOG SEARCH BUFFER                                  
ADARUN LOGVB=NO         <=== LOG VALUE BUFFER                                   
ADARUN LP=10000         <=== LENGTH OF DATA PROTECTION AREA*10000               
ADARUN LQ=50000         <=== LENGTH OF SEQUENTIAL COMMAD TABLE                  
ADARUN LS=300032        <=== LENGTH OF SORT AREA *                              
ADARUN LU=65535         <=== LENGTH OF INTERMEDIATE USER BUFFER * 44000         
ADARUN LWP=1024000      <=== LENGTH OF ADABAS WORK POOL * 1500000 04/99 96      
ADARUN LWKP2=1200       <=== LENGTH WORK PART-2 * NEW                           
* ADARUN MIRROR=NO        <=== DATA BASE MIRRORING                              
ADARUN NAB=160          <=== NUMBER OF ATTACHED BUFFERS * 25                    
ADARUN NC=80            <=== NUMBER OF COMMAND QUEUE ELEMENTS                   
ADARUN NH=3000          <=== NUMBER OF HOLD QUEUE ELEMENTS                      
ADARUN NISNHQ=750       <=== NUMBER OF ISNS IN HOLD QUEUE F/USER        /97     
ADARUN NONDES=NO        <=== DISALOW SEARCHES USING NONDESCRIPTORS 9/3/4/97     
ADARUN NQCID=75         <=== NUMBER OF CID PER USER * 10                        
ADARUN NSISN=250        <=== NUMBER OF ISNS PER TBI ELEMENT * 200               
ADARUN NT=3             -<=== NUMBER OF THREADS * 13 - 15/02/2000               
ADARUN NU=350           <=== NUMBER OF USER QUEUE ELEMENTS                      
ADARUN OPENRQ=NO        <=== OPEN COMMAND REQUIRED                              
* ADARUN PLOGMIR=NO       <=== PROTECTION LOG MIRRORING  

Parando e Colocar no Ar o Banco

Este banco 150 não tem ninguem acessando.
1                       J E S 2  J O B  L O G  --  S Y S T E M  C P A C  --  N O
0                                                                               
 23.56.52 STC06497 ---- THURSDAY,  10 AUG 2023 ----                             
 23.56.52 STC06497  IEF695I START DBA00150 WITH JOBNAME DBA00150 IS ASSIGNED TO 
 23.56.52 STC06497  $HASP373 DBA00150 STARTED                                   
 23.56.52 STC06497  IEF403I DBA00150 - STARTED - TIME=23.56.52                  
 23.56.52 STC06497  ADAN02 00150 Nucleus run without protection log             
 23.56.52 STC06497  ADAL01 00150 2023-08-10 23:56:51 CLOG not active            
 23.56.52 STC06497  ADAN03 00150 ADABAS coming up                               
 23.56.53 STC06497  ADAN19 00150 Buffer flush is  a s y n c h r o n o u s       
 23.56.53 STC06497  ADAN01 00150 A D A B A S  V7.4.4  is active                 
 23.56.53 STC06497  ADAN01 00150 MODE = MULTI                                   
 23.56.53 STC06497  ADAN01 00150 Running without recovery log                   
 11.45.30 STC06497 ---- FRIDAY,    25 AUG 2023 ----                             
 11.45.30 STC06497  ADAN51 00150 2023-08-25 11:45:30 Operator type-in: ADAEND   
 11.45.30 STC06497  ADAN42 00150 2023-08-25 11:45:30 Function accepted          
 11.45.30 STC06497  ADAM97 00150 This ASCB/initiator will be terminated by MVS a
 11.45.31 STC06497  IEF404I DBA00150 - ENDED - TIME=11.45.31                    
 11.45.31 STC06497  IEF352I ADDRESS SPACE UNAVAILABLE                           
 11.45.31 STC06497  $HASP395 DBA00150 ENDED                                     
0------ JES2 JOB STATISTICS ------                                              
--------------------------------------------------------------------------------
OP=S CL=ALL IN=ALL JB=DBA00150,06497 DS=1 SI=SM LR=1 LL=80 PP=0 DC= RL=999999   
AD=J DE= SC= PT= SQ=C RR=0 OC= SD=2000   25.08.2023, 12:13:47                   

Colocando o Banco

Colocando no ar o banco;
1                       J E S 2  J O B  L O G  --  S Y S T E M  C P A C  --  N O
0                                                                               
 11.45.42 STC03163 ---- FRIDAY,    25 AUG 2023 ----                             
 11.45.42 STC03163  IEF695I START DBA00150 WITH JOBNAME DBA00150 IS ASSIGNED TO 
 11.45.42 STC03163  $HASP373 DBA00150 STARTED                                   
 11.45.42 STC03163  IEF403I DBA00150 - STARTED - TIME=11.45.42                  
 11.45.42 STC03163  ADAN02 00150 Nucleus run without protection log             
 11.45.42 STC03163  ADAL01 00150 2023-08-25 11:45:42 CLOG not active            
 11.45.42 STC03163  ADAN03 00150 ADABAS coming up                               
 11.45.42 STC03163  ADAN19 00150 Buffer flush is  a s y n c h r o n o u s       
 11.45.42 STC03163  ADAN01 00150 A D A B A S  V7.4.4  is active                 
 11.45.42 STC03163  ADAN01 00150 MODE = MULTI                                   
 11.45.42 STC03163  ADAN01 00150 Running without recovery log                   
UQS0009 - END OF DATA SET.                                                      
        1 //DBA00150 JOB MSGLEVEL=1                                             
        2 //STARTING EXEC DBA00150                                              
        3 XXDBA00150 PROC ADA=N,LOG=P                                           
          XX*UQ ALLOW                                                           
          XX*             ADA=N --> NORMAL (ADAP150N)                           
          XX*             ADA=A --> ABEND  (ADAP150A)                           
          XX*             LOG=P --> C/PLOG (ADA150PP)                           
--------------------------------------------------------------------------------
OP=S CL=ALL IN=ALL JB=DBA00150,03163 DS=1 SI=SM LR=1 LL=80 PP=0 DC= RL=999999   
AD=J DE= SC= PT= SQ=C RR=0 OC= SD=2000   25.08.2023, 12:14:57                   
Depois de aumentar esse parametro nunca mais deu erro
Leia Mais

Criando Sistemas em Natural/Adabas - Infoprint

Neste post vou apresentar a estrutura inicial de um sistema desenvolvido em Natural/Adabas, criado para disponibilizar diversas rotinas de suporte, consulta, manutenção e administração do InfoPrint Server dentro do ambiente Mainframe. A ideia deste sistema é reunir, em um único ponto de acesso, várias funcionalidades que fazem parte do dia a dia da equipe responsável pelo suporte ao ambiente de impressão. Em vez de o operador precisar executar diferentes programas de forma independente ou conhecer individualmente cada rotina disponível, o sistema apresenta um menu principal, organizado de maneira simples e objetiva, facilitando o acesso às funcionalidades. A primeira tela apresentada ao operador é justamente esse menu. Ela funciona como a porta de entrada da aplicação, permitindo que o usuário escolha a operação que deseja executar por meio de uma opção numérica. Por trás de uma tela aparentemente simples, existe toda uma estrutura de programação. Cada opção do menu está associada a uma determinada rotina, que pode realizar consultas, alterações, criações, exclusões, processamento de informações, execução de backups ou outras tarefas relacionadas ao ambiente do InfoPrint Server.

                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFOMENU
  07:42:04 ------------------------------------------------------------ 12/08/26
                                INFOPRINT SERVER                        INFOPRIN
                                                                                
  ------------------------------------------------------------------------------
        010 - INFOPRINT LOG PRINT            050 - CRIACAO DE PICS              
        020 - CONSULTAR IMPRESSORA           060 - DELETAR PICS                 
        030 - DISPONIVEL PICS/TICS           070 - BACKUP INFOPRINT             
        040 - MODIFICAR IMPRESSORA           080 - FORMS INFOPRINT              
  ------------------------------------------------------------------------------
                                                                                
                           DIGITE A OPCAO DESEJADA 0__                          
                                                                                
                              TECLE PF3 PARA SAIR                               
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   EXIT                                            LOG   QUIT   

Programa inicial - infomenu
* ==================================================================== *
* FUNCAO: MENU DE OPCOES PARA O INFOPRINT                              *
*  AUTOR: CLAUDEMAR MARTINS DE SA                                      *
*  DATA : 15/12/2024                                                   *
* ==================================================================== *
DEFINE DATA LOCAL                                                       
1 #ARQ1 (N3)                                                            
END-DEFINE                                                              
* ==================================================================== *
FORMAT KD=ON                                                            
SET KEY                                                                 
  TREQ        NAMED ' '   /* NOVAS PFS /*                               
PF3  = PGM NAMED 'EXIT'                                                 
PF11 = 'INFO0107' NAMED 'LOG'                                           
PF12 = PGM  NAMED 'QUIT'                                                
* ==================================================================== *
REPEAT                                                                  
  INPUT (IP=OFF SG=OFF AD=MIL'_')                                       
    02T '-' (78)                                                        
    /02T *USER                                                          
        20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)                  
    72T *PROGRAM                                                        
    /02T *TIME(AL=8) 11T '-' (60) 72T  *DATE                            
    /32T 'INFOPRINT SERVER'(I) 72T *LIBRARY-ID /                        
* ==================================================================== *
    /2T '-' (78)                                                        
    /8T '010 - INFOPRINT LOG PRINT  '(I)                                
    45T '050 - CRIACAO DE PICS      '(I)                                
    /8T '020 - CONSULTAR IMPRESSORA '(I)                                
    45T '060 - DELETAR PICS         '(I)                                
    /8T '030 - DISPONIVEL PICS/TICS '(I)                                
    45T '070 - BACKUP INFOPRINT     '(I)                                
    /8T '040 - MODIFICAR IMPRESSORA '(I)                                
    45T '080 - FORMS INFOPRINT      '(I)                                
    /2T '-' (78)                                                        
* ==================================================================== *
    // 27T'DIGITE A OPCAO DESEJADA'(YE) #ARQ1(AD=MIL'_')                
    // 30T'TECLE PF3 PARA SAIR'(I)                                      
* ==================================================================== *
  IF #ARQ1 EQ  10   FETCH 'INFO0123'                                    
  IF #ARQ1 EQ  20   FETCH 'INFO0105'                                    
  IF #ARQ1 EQ  30   FETCH 'INFO0101'                                    
  IF #ARQ1 EQ  40   FETCH 'INFO0109'                                    
  IF #ARQ1 EQ  50   FETCH 'INFO0103'                                    
  IF #ARQ1 EQ  60   FETCH 'INFO0104'                                    
  IF #ARQ1 EQ  70   FETCH 'INFO0108'                                    
  IF #ARQ1 EQ  80   FETCH 'INFO0113'                                    
* ==================================================================== *
  IF *PF-KEY EQ 'PF3' OR = 'PF12' TERMINATE                             
  IF *PF-KEY EQ 'PF11' FETCH 'INFO0107'                                 
* ==================================================================== *
END                                                                     

Opção 10

Essa opção submete um job para ver o log das impressoras do Infoprint;
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0123
  07:47:27 ------------------------------------------------------------ 12/08/26
                              INFOPRINT PRINT LOG                               
                                                                                
           ------------------------------------------------------------         
                                                                                
                           TECLE ENTER PARA CONTINUAR                           
                                                                                
           ------------------------------------------------------------         
                                                                                
                                                                                
                            TECLE PF3 PARA VOLTAR                               
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   MENU                                                         

Esse é o programa Natural que submete um job
* ------------------------------------------------------------------- *
* FUNCAO: LISTAR O LOG DO INFOPRINT                                   *
*  AUTOR: CLAUDEMAR MARTINS DE SA                                     *
* ------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                      
1 #CALLER   (A4) INIT <'NAT '>                                         
1 #JOBNUM   (A8)                                                       
1 REDEFINE #JOBNUM                                                     
  2 #JOBA   (A3)                                                       
  2 #JOBN   (N5)                                                       
1 #I        (P3)                                                       
1 #RC       (B4)                                                       
1 #TOT      (B2)                                                       
1 #ARQ      (A32)                                                      
1 #DBID     (A3)                                                       
1 #FILE     (N3)                                                       
1 #ISNSIZE  (N1)                                                       
1 #NISIZE   (N9)                                                       
1 #UISIZE   (N9)                                                       
1 #DSSIZE   (N9)                                                       
1 #MAXISN   (N13)                                                    
1 #C01 (A80) INIT                                                    
    <'//AAFSNATB JOB (XXXX,OSB),XXXXXXX,CLASS=S,MSGCLASS=A'>         
1 REDEFINE #C01                                                      
  2 FILLER  2X                                                       
  2 #JOBNAME (A8)                                                    
  2 #FIL1 (A06)                                                      
  2 #ACC  (A04)                                                      
  2 #FIL2 (A06)                                                      
  2 #USER (A07)                                                      
1 #C02 (A80) INIT <'//*UQ ALLOW'>                                    
1 #C03 (A80) INIT                                                    
  <'//* -----------------------------------------------------'>      
1 #C04 (A80) INIT                                                    
  <'//*         INFOPRINT LOG DE ERRO NA SYSOUT DO JOB'>             
1 #C05 (A80) INIT                                                    
  <'//* -----------------------------------------------------'>      
1 #C06 (A80) INIT <'//STEP1    EXEC PGM=ICEGENER'>                   
1 #C07 (A80) INIT <'//SYSPRINT DD SYSOUT=A'>                         
1 #C08 (A80) INIT <'//SYSUT1   DD DSN=AOP.PRINTWAY.MSGFILE,DISP=SHR'>
1 #C09 (A80) INIT <'//SYSUT2   DD SYSOUT=G'>                            
1 #C10 (A80) INIT <'//SYSIN    DD DUMMY'>                               
1 #Y2K (A1)  INIT <'N'>                                                 
END-DEFINE                                                              
* ==================================================================== *
FORMAT KD=ON                                                            
SET CONTROL 'U'                                                         
SET KEY PF3 NAMED 'MENU'                                                
  PF8 NAMED '    ' PF9 NAMED '     '                                    
MOVE *INIT-USER TO #USER                                                
REPEAT                                                                  
  RESET INITIAL #Y2K                                                    
* ==================================================================== *
  INPUT (IP=OFF SG=OFF AD=MIL'_')                                       
    02T '-' (78)                              /                         
    02T *USER                                                           
    20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)                  
    72T  *PROGRAM                             /                         
    02T  *TIME(AL=8)                                                    
    11T '-' (60)                                                        
    72T  *DATE                                /                         
    30T 'INFOPRINT PRINT LOG' (I)   //                                  
    11T '-' (60)                              //                        
    27T 'TECLE ENTER PARA CONTINUAR' (I)      //                        
    11T '-' (60)                              //                        
*                                                                       
    /28T'TECLE PF3 PARA VOLTAR'(I)                                      
  IF *PF-KEY EQ 'PF3'                                                   
    FETCH 'INFOMENU'                                                    
  END-IF                                                                
* ==================================================================== *
  COMPUTE #TOT = 10 * 80                                                
  CALL 'RJE' #RC #C01 #TOT                                              
  CALL 'GETJOB' #JOBNUM #CALLER                                         
* ==================================================================== *
  FORMAT KD=OFF                                                         
  DEFINE WINDOW NUMJOB                                                  
    SIZE 08 * 50    BASE 08/17   TITLE ' NUMERO DO JOB '                
    FRAMED ON                                                           
  INPUT WINDOW = 'NUMJOB'                                               
    01/01 'FOI SUBMETIDO O JOB:  ' #JOBNAME  (AD=IO)                    
    02/01 'COM O NUMERO ......:'  #JOBN     (AD=IO)                     
    03/01 '                       '                                     
    04/11 'TECLE ENTER PARA VOLTAR'(I)                                  
* ==================================================================== *
  FETCH 'INFOMENU'                                                      
END-REPEAT                                                              
END                                                                     

Opção 20

Essa opção pesquisa as impressoras cadastradas no infoprint na carga que foi feita para um arquivo Adabas - essa opção é um menu para pesquisar o nome da impressora e pesquisar o IP
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0105
  07:58:25 ------------------------------------------------------------ 12/08/26
                                CONSULTANDO PICS                        INFOPRIN
                                                                                
           ------------------------------------------------------------         
                        10 - PESQUISANDO PICS DA IMPRESSORA                     
                        20 - PESQUISANDO IP DA IMPRESSORA                       
           ------------------------------------------------------------         
                                                                                
                           DIGITE A OPCAO DESEJADA 0__                          
                                                                                
                              TECLE PF3 PARA SAIR                               
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   EXIT                                            LOG   QUIT   

Esse é o programa Natural
* ==================================================================== *
* FUNCAO: MENU DE PESQUISA DE IMPRESSORA                               *
*  AUTOR: CLAUDEMAR MARTINS DE SA                                      *
*  DATA : 15/12/2024                                                   *
* ==================================================================== *
DEFINE DATA LOCAL                                                       
1 #ARQ1 (N3)                                                            
END-DEFINE                                                              
* ==================================================================== *
FORMAT KD=ON                                                            
SET KEY                                                                 
  TREQ        NAMED ' '   /* NOVAS PFS /*                               
PF3  = PGM NAMED 'EXIT'                                                 
PF11 = 'INFO0107' NAMED 'LOG'                                           
PF12 = PGM  NAMED 'QUIT'                                                
* ==================================================================== *
REPEAT                                                                  
  INPUT (IP=OFF SG=OFF AD=MIL'_')                                       
    02T '-' (78)                                                        
    /02T *USER                                                          
    /02T *USER                                                          
    20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)                  
    72T *PROGRAM                                                        
    /02T *TIME(AL=8) 11T '-' (60) 72T  *DATE                            
    /32T 'CONSULTANDO PICS'(I) 72T *LIBRARY-ID /                        
    /11T '-' (60)                                                       
    /24T '10 - PESQUISANDO PICS DA IMPRESSORA'(I)                       
    /24T '20 - PESQUISANDO IP DA IMPRESSORA'(I)                         
    /11T'-' (60)                                                        
* ==================================================================== *
    // 27T'DIGITE A OPCAO DESEJADA'(YE) #ARQ1(AD=MIL'_')                
    // 30T'TECLE PF3 PARA SAIR'(I)                                      
* ==================================================================== *
  IF #ARQ1 EQ  10   FETCH 'INFO0995'                                    
  IF #ARQ1 EQ  20   FETCH 'INFO0106'                                    
* ==================================================================== *
  IF *PF-KEY EQ 'PF3' OR = 'PF12' FETCH 'INFOMENU'                      
  IF *PF-KEY EQ 'PF11' FETCH 'INFO0107'                                 
* ==================================================================== *
END                                                                     

Pesquisando Nome da Impressora

INFO0995 - Pesquisando o nome da impressora
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0995
  08:22:54 ------------------------------------------------------------ 12/08/26
                           CONSULTANDO APLICATIVOS                              
                                                                                
           ------------------------------------------------------------         
                                                                                
                     DIGITE A PICS .................: ________                  
                                                                                
           ------------------------------------------------------------         
                                                                                
                              TECLE PF3 PARA VOLTAR                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   MENU                                            LOG          

Esse é o programa Natural
* -------------------------------------------------------------------- *
* FUNCAO ...: PESQUISAR IMPRESSORAS DO INFOPRINT                       *
* CRIADO ...: CLAUDEMAR MARTINS DE SA                                  *
* -------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                       
1 IMPRESSORA-VIEW VIEW OF AAFU-INFOPRINT-PRINTWAY                       
  2 PRINTER-NAME                                                        
  2 PRINTER-TYPE                                                        
  2 LOCATION                                                            
  2 LUNAME                                                              
  2 DESTINATION                                                         
  2 OUTPUT-CLASS                                                        
  2 PRINT-QUEUE-NAME                                                    
  2 PRINTER-IP-ADDRESS                                                  
  2 DESCRIPTION                                                         
  2 LPR-PRINT-FUNCTION                                                  
  2 LPR-MODE                                                            
  2 INCLUDE-PRINTWAY-OPTIONS                                            
* -------------------------------------------------------------------- *
1 #PICS                 (A8)                                            
1 #PRINTER-NAME         (A10/01)                                        
1 #PRINTER-TYPE         (A20/01)                                        
1 #LOCATION             (A53/01)                                        
1 #LUNAME               (A10/01)                                        
1 #DESTINATION          (A10/01)                                        
1 #OUTPUT-CLASS         (A01/01)                                        
1 #PRINT-QUEUE-NAME     (A20/01)                                        
1 #PRINTER-IP-ADDRESS   (A15/01)                                        
1 #DESCRIPTION          (A53/01)                                        
1 #LPR-PRINT-FUNCTION   (A02/01)                                        
1 #LPR-MODE             (A18/01)                                        
1 #INCLUDE-PRINTWAY-OPTIONS (A9/01)                                     
1 #CONTA                (N2)                                            
END-DEFINE                                                              
FORMAT LS=180 PS=60                                                     
* =====================================================================*
FORMAT KD=ON                                                            
SET CONTROL 'U'                                                         
SET KEY PF3 = 'INFO0105' NAMED 'MENU'                                   
REPEAT                                                                  
* ===================================================================== 
  INPUT (IP=OFF SG=OFF AD=MIL'_')                                       
    02T '-' (78)                                                        
    /       02T *USER                                                   
    20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)                  
    72T  *PROGRAM                                                       
    /       02T  *TIME(AL=8)                                            
    11T '-' (60)                                                        
    72T  *DATE                                                          
    /      27T 'CONSULTANDO APLICATIVOS' (I)                            
    //                                                                  
    11T '------------------------------------------------------------'  
    //                                                                  
    11T '          DIGITE A PICS .................:' #PICS              
    //                                                                  
    11T '------------------------------------------------------------'  
    //30T'TECLE PF3 PARA VOLTAR'(I)                                     
* ==================================================================== *
  IF *PF-KEY EQ 'PF3' FETCH 'OPERP600' END-IF                           
  IF *PF-KEY EQ 'PF4' FETCH 'OPERP602' END-IF                           
* ==================================================================== *
  FIND (1) IMPRESSORA-VIEW WITH PRINTER-NAME =  #PICS                   
    IF NO RECORDS FOUND                                                 
* ==================================================================== *
      INPUT USING MAP 'OPERM502'                                        
      FETCH 'INFO0995'                                                  
    END-NOREC                                                           
    ADD 1 TO #CONTA                                                     
* ==================================================================== *
 MOVE PRINTER-NAME                 TO #PRINTER-NAME             (#CONTA)
 MOVE PRINTER-TYPE                 TO #PRINTER-TYPE             (#CONTA)
 MOVE LOCATION                     TO #LOCATION                 (#CONTA)
 MOVE LUNAME                       TO #LUNAME                   (#CONTA)
 MOVE DESTINATION                  TO #DESTINATION              (#CONTA)
 MOVE OUTPUT-CLASS                 TO #OUTPUT-CLASS             (#CONTA)
 MOVE PRINT-QUEUE-NAME             TO #PRINT-QUEUE-NAME         (#CONTA)
 MOVE PRINTER-IP-ADDRESS           TO #PRINTER-IP-ADDRESS       (#CONTA)
 MOVE DESCRIPTION                  TO #DESCRIPTION              (#CONTA)
 MOVE LPR-PRINT-FUNCTION           TO #LPR-PRINT-FUNCTION       (#CONTA)
 MOVE LPR-MODE                     TO #LPR-MODE                 (#CONTA)
 MOVE INCLUDE-PRINTWAY-OPTIONS     TO #INCLUDE-PRINTWAY-OPTIONS (#CONTA)
* ===================================================================== 
  INPUT USING MAP 'INFO0996'                                            
  END-FIND        
  FETCH 'INFO0995'
* ===================================================================== 
END-REPEAT        
END

Pesquisando IP da Impressora

Programa INFO0106 - Pesquisando pelo IP
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0106
  08:25:38 ------------------------------------------------------------ 12/08/26
                           CONSULTANDO APLICATIVOS                              
                                                                                
           ------------------------------------------------------------         
                                                                                
                 DIGITE O IP ...................: ________________              
                                                                                
           ------------------------------------------------------------         
                                                                                
                              TECLE PF3 PARA VOLTAR                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   MENU                                            LOG           

Esse programa - abaixa vamos criar a view
* -------------------------------------------------------------------- *
* FUNCAO ...: PESQUISAR IMPRESSORAS DO INFOPRINT                       *
* CRIADO ...: CLAUDEMAR MARTINS DE SA                                  *
* -------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                       
1 IMPRESSORA-VIEW VIEW OF AAFU-INFOPRINT-PRINTWAY                       
  2 PRINTER-NAME                                                        
  2 PRINTER-TYPE                                                        
  2 LOCATION                                                            
  2 LUNAME                                                              
  2 DESTINATION                                                         
  2 OUTPUT-CLASS                                                        
  2 PRINT-QUEUE-NAME                                                    
  2 PRINTER-IP-ADDRESS                                                  
  2 DESCRIPTION                                                         
  2 LPR-PRINT-FUNCTION                                                  
  2 LPR-MODE                                                            
  2 INCLUDE-PRINTWAY-OPTIONS                                            
* -------------------------------------------------------------------- *
1 #PICS                       (A16)                                     
1 #PRINTER-NAME               (A10/11)                                  
1 #PRINTER-TYPE               (A20/11)                                  
1 #LOCATION                   (A53/11)                                  
1 #LUNAME                     (A10/11)                                  
1 #DESTINATION                (A10/11)                                  
1 #OUTPUT-CLASS               (A01/11)                                  
1 #PRINT-QUEUE-NAME           (A20/11)                                  
1 #PRINTER-IP-ADDRESS         (A15/11)                                  
1 #DESCRIPTION                (A53/11)                                  
1 #LPR-PRINT-FUNCTION         (A02/11)                                  
1 #LPR-MODE                   (A18/11)                                  
1 #INCLUDE-PRINTWAY-OPTIONS   (A9/11)                                   
1 #CONTA                      (N2)                                      
END-DEFINE                                                              
FORMAT LS=180 PS=60                                                     
* =====================================================================*
FORMAT KD=ON                                                            
SET CONTROL 'U'                                                         
SET KEY PF3 = 'INFO0105' NAMED 'MENU'                                   
REPEAT                                                                  
* ===================================================================== 
  INPUT (IP=OFF SG=OFF AD=MIL'_')                                       
    02T '-' (78)                                                        
    /       02T *USER                                                   
    20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)                  
    72T  *PROGRAM                                                       
    /       02T  *TIME(AL=8)                                            
    11T '-' (60)                                                        
    72T  *DATE                                                          
    /      27T 'CONSULTANDO APLICATIVOS' (I)                            
    //                                                                  
    11T '------------------------------------------------------------'  
    //                                                                  
    07T '          DIGITE O IP ...................:' #PICS              
    //                                                                  
    11T '------------------------------------------------------------'  
    //30T'TECLE PF3 PARA VOLTAR'(I)                                     
* ==================================================================== *
  IF *PF-KEY EQ 'PF3' FETCH 'INFO0105' END-IF                           
  IF *PF-KEY EQ 'PF4' FETCH 'INFO0105' END-IF                           
* ==================================================================== *
  FIND IMPRESSORA-VIEW WITH PRINTER-IP-ADDRESS =  #PICS                 
    IF NO RECORDS FOUND                                                 
* ==================================================================== *
      INPUT USING MAP 'OPERM502'                                        
      FETCH 'INFO0995'                                                  
    END-NOREC                                                           
    ADD 1 TO #CONTA                                                     
* ==================================================================== *
 MOVE PRINTER-NAME                 TO #PRINTER-NAME             (#CONTA)
 MOVE PRINTER-TYPE                 TO #PRINTER-TYPE             (#CONTA)
 MOVE LOCATION                     TO #LOCATION                 (#CONTA)
 MOVE LUNAME                       TO #LUNAME                   (#CONTA)
 MOVE DESTINATION                  TO #DESTINATION              (#CONTA)
 MOVE OUTPUT-CLASS                 TO #OUTPUT-CLASS             (#CONTA)
 MOVE PRINT-QUEUE-NAME             TO #PRINT-QUEUE-NAME         (#CONTA)
 MOVE PRINTER-IP-ADDRESS           TO #PRINTER-IP-ADDRESS       (#CONTA)
 MOVE DESCRIPTION                  TO #DESCRIPTION              (#CONTA)
 MOVE LPR-PRINT-FUNCTION           TO #LPR-PRINT-FUNCTION       (#CONTA)
 MOVE LPR-MODE                     TO #LPR-MODE                 (#CONTA)
 MOVE INCLUDE-PRINTWAY-OPTIONS     TO #INCLUDE-PRINTWAY-OPTIONS (#CONTA)
* ===================================================================== 
  PRINT                                                                 
/                                                                       
 'PRINTER-NAME .........: ' PRINTER-NAME           /                    
 'PRINTER-TYPE .........: ' PRINTER-TYPE           /                    
 'DESTINATION ..........: ' DESTINATION            /                    
 'LOCATION .............: ' LOCATION               /                    
 'OUTPUT-CLASS .........: ' OUTPUT-CLASS           /                    
 'PRINT-QUEUE-NAME .....: ' PRINT-QUEUE-NAME       /                    
 'PRINTER-IP-ADDRESS ...: ' PRINTER-IP-ADDRESS     /                    
 'DESCRIPTION ..........: ' DESCRIPTION            /                    
 'LPR-PRINT-FUNCTION ...: ' LPR-PRINT-FUNCTION     /                    
 'LPR-MODE .............: ' LPR-MODE                                    
/                                                                       
* -------------------------------------------------------------------- *
  END-FIND                                                              
* -------------------------------------------------------------------- *
WRITE TITLE LEFT                                                        
  *TIME(AL=8) 27T 'CONSULTANDO PICS' (I) 71T *DATE                      
AT END OF PAGE                                                          
  INPUT ' '                                                             
  IF *PF-KEY EQ 'PF3'                                                   
   FETCH 'INFOMENU'                                                     
  END-IF                                                                
END-ENDPAGE                                                             
  FETCH 'INFO0106'                                                      
END-REPEAT                                                              
* -------------------------------------------------------------------- *
END                                                                     

A view criada para fazer essa consulta
 08:53:35               ***** NATURAL LIST COMMAND *****              12/08/2026
 User DBAP055         - List DDM AAFU-INFOPRINT-PRINTWAY -      Library INFOPRIN
                                                                                
 DDM DBID 0      DDM FNR 492   VSAM Name          Default Sequence     Page   1 
                                                                                
 T L  DB  Name                             F Leng  S D Remark                   
 - -  --  -------------------------------- - ----  - - ------------------------ 
 *        Generation started                                                    
 *        at 2025-06-19 10:30:27                                                
 *        by user DBAP055                                                       
 *                                                                              
   1  AA  LINE                             A   80  N                            
   1  AB  PRINTER-NAME                     A   10  N D                          
   1  AC  PRINTER-TYPE                     A   20  N                            
   1  AD  LOCATION                         A   53  N                            
   1  AE  LUNAME                           A   10  N                            
   1  AF  DESTINATION                      A   10  N                            
   1  AG  OUTPUT-CLASS                     A    1  N                            
   1  AH  PRINT-QUEUE-NAME                 A   20  N                            
   1  AI  PRINTER-IP-ADDRESS               A   15  N D                          
   1  AJ  DESCRIPTION                      A   53  N 
   1  AK  LPR-PRINT-FUNCTION               A    2  N 
   1  AL  LPR-MODE                         A   18  N 
   1  AM  INCLUDE-PRINTWAY-OPTIONS         A    9  N 

 Top of List.                                                                   
 Command ===>                                                                   
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help  Print Exit  Short       --    -     +     ++                Canc   

Opção 30

Essa opção vamos criar um controle id da impressora e terminal disponivel para cadastro - tem uma view criada no Adabas
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0101
  08:48:36 ------------------------------------------------------------ 12/08/26
                                INFOPRINT SERVER                        INFOPRIN
                                                                                
                          LIVRE.....: PICS2698                                  
                          USUÁRIO...: SUP0169                                   
                          DATA/HORA.: 18/11/25 15:49:01                         
                                                                                
                          LIVRE.....: TICS6828                                  
                          USUÁRIO...: DBAP055                                   
                          DATA/HORA.: 20/01/25 11:03:23                         
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                         +TICS                   +PICS             LOG          

Programa Natural
* -------------------------------------------------------------------- *
* PROGRAMA : INFO0490                                                  *
* OBJETIVO : EXIBIR PICS/TICS LIVRES                                   *
* NATURAL  : 4.1.4                                                     *
* -------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                       
01 CADASTRO VIEW OF AAFU-LUNAME-TCPIP-INFOPRINT                         
   02 AAF-LUNAME                                                        
   02 AAF-MODEL                                                         
   02 AAF-USER                                                          
   02 AAF-DATA                                                          
   02 AAF-HORA                                                          
01 #RESULTADO  (A08)                                                    
01 #DATAHORA   (A17)                                                    
END-DEFINE                                                              
* -------------------------------------------------------------------- *
FORMAT LS=132 PS=21 KD=ON                                               
SET KEY PF3 PF4 PF8 = ' '                                               
PF4 = PGM NAMED '+TICS'                                                 
PF8 = PGM NAMED '+PICS'                                                 
  WRITE TITLE LEFT                                                      
    02T '-' (78)                                                        
    /02T *USER                                                          
    20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)                  
    72T *PROGRAM                                                        
    /02T *TIME(AL=8) 11T '-' (60) 72T  *DATE                            
    /32T 'INFOPRINT SERVER'(I) 72T *LIBRARY-ID /                        
* -------------------------------------------------------------------- *
FIND CADASTRO                                                           
  WITH AAF-MODEL = 'PICS'                                               
    OR AAF-MODEL = 'TICS'                                               
  SORTED BY AAF-LUNAME                                                  
* -------------------------------------------------------------------- *
  COMPRESS AAF-MODEL AAF-LUNAME                                         
      INTO #RESULTADO LEAVING NO                                        
* -------------------------------------------------------------------- *
  COMPRESS AAF-DATA AAF-HORA                                            
      INTO #DATAHORA                                                    
* -------------------------------------------------------------------- *
WRITE NOTITLE                                                           
   26T 'LIVRE.....:' #RESULTADO                                         
 / 26T 'USUôRIO...:' AAF-USER                                           
 / 26T 'DATA/HORA.:' #DATAHORA                                          
 /                                                                      
* -------------------------------------------------------------------- *
  AT END OF PAGE                                                        
     INPUT ' '                                                          
     DECIDE ON FIRST VALUE OF *PF-KEY                                   
        VALUE 'PF4'                                                     
           FETCH 'INFO0500'                                             
        VALUE 'PF8'                                                     
           FETCH 'INFO0600'                                             
        NONE VALUE                                                      
           FETCH 'INFOMENU'                                             
* -------------------------------------------------------------------- *
     END-DECIDE                                                         
  END-ENDPAGE                                                           
END-FIND                                                                
* -------------------------------------------------------------------- *
* END-IF                                                                
END

INFO0500 - Programa adicionando id de terminal
* -------------------------------------------------------------------- *
* FUNCAO .: ATUALIZA A ULTIMA TICS CADASTRADA PARA CONTROLE            *
* AUTOR ..: CLAUDEMAR MARTINS                                          *
* -------------------------------------------------------------------- *
DEFINE DATA                                                             
LOCAL                                                                   
01 LUNAME VIEW OF AAFU-LUNAME-TCPIP-INFOPRINT                           
  02 AAF-LUNAME                                                         
  02 AAF-MODEL                                                          
  02 AAF-USER                                                           
  02 AAF-DATA                                                           
  02 AAF-HORA                                                           
01 #INCREMENTO-LUNAME (N04)                                             
01 #USUARIO (A09)                                                       
01 #DATA    (A08)                                                       
01 #HORA    (A08)                                                       
END-DEFINE                                                              
* -------------------------------------------------------------------- *
FORMAT LS=250 PS=60                                                     
* -------------------------------------------------------------------- *
FIND LUNAME WITH AAF-MODEL = 'TICS'                                     
  ON ERROR                                                              
    WRITE 'Erro ao tentar localizar o registro TICS.'                   
    ESCAPE ROUTINE                                                      
  END-ERROR                                                             
* -------------------------------------------------------------------- *
  IF *COUNTER > 0                                                       
* -------------------------------------------------------------------- *
* INICIALIZA O INCREMENTO COM O VALOR ATUAL E CALCULA O NOVO VALOR      
* -------------------------------------------------------------------- *
    MOVE AAF-LUNAME          TO #INCREMENTO-LUNAME                      
    ADD 1                    TO #INCREMENTO-LUNAME                      
    MOVE #INCREMENTO-LUNAME  TO AAF-LUNAME                              
    MOVE *INIT-USER          TO AAF-USER                                
    MOVE *DATE               TO AAF-DATA                                
    MOVE *TIMX               TO AAF-HORA                                
* -------------------------------------------------------------------- *
* ATUALIZA O REGISTRO ENCONTRADO                                        
* -------------------------------------------------------------------- *
    UPDATE (0210)                                                       
    IF *ERROR EQ 0                                                      
      WRITE 'Registro TICS atualizado com sucesso: ' AAF-LUNAME         
      END TRANSACTION                                                   
      FETCH 'INFO0101'                                                  
    ELSE                                                                
      BACKOUT TRANSACTION                                               
      WRITE 'Erro ao tentar atualizar o registro TICS.'                 
    END-IF                                                              
  ELSE                                                                  
* -------------------------------------------------------------------- *
* REGISTRO TICS NãO ENCONTRADO                                          
* -------------------------------------------------------------------- *
    WRITE 'Registro TICS não encontrado no arquivo.'                    
  END-IF                                                                
END-FIND                                                                
* -------------------------------------------------------------------- *
END                                                                     

INFO0600 - Programa adicionando id da impressora
* -------------------------------------------------------------------- *
* FUNCAO .: ATUALIZA A ULTIMA PICS CADASTRADA PARA CONTROLE            *
* AUTOR ..: CLAUDEMAR MARTINS                                          *
* -------------------------------------------------------------------- *
DEFINE DATA                                                             
LOCAL                                                                   
01 LUNAME VIEW OF AAFU-LUNAME-TCPIP-INFOPRINT                           
  02 AAF-LUNAME                                                         
  02 AAF-MODEL                                                          
  02 AAF-USER                                                           
  02 AAF-DATA                                                           
  02 AAF-HORA                                                           
01 #INCREMENTO-LUNAME (N04)                                             
01 #USUARIO (A09)                                                       
01 #DATA    (A08)                                                       
01 #HORA    (A08)                                                       
END-DEFINE                                                              
* -------------------------------------------------------------------- *
FORMAT LS=250 PS=60                                                     
* -------------------------------------------------------------------- *
FIND LUNAME WITH AAF-MODEL = 'PICS'                                     
  ON ERROR                                                              
    WRITE 'Erro ao tentar localizar o registro PICS.'                   
    ESCAPE ROUTINE                                                      
  END-ERROR                                                             
* -------------------------------------------------------------------- *
  IF *COUNTER > 0                                                       
* -------------------------------------------------------------------- *
* INICIALIZA O INCREMENTO COM O VALOR ATUAL E CALCULA O NOVO VALOR      
* -------------------------------------------------------------------- *
    MOVE AAF-LUNAME          TO #INCREMENTO-LUNAME                      
    ADD 1                    TO #INCREMENTO-LUNAME                      
    MOVE #INCREMENTO-LUNAME  TO AAF-LUNAME                              
    MOVE *INIT-USER          TO AAF-USER                                
    MOVE *DATE               TO AAF-DATA                                
    MOVE *TIMX               TO AAF-HORA                                
* -------------------------------------------------------------------- *
* ATUALIZA O REGISTRO ENCONTRADO                                        
* -------------------------------------------------------------------- *
    UPDATE (0210)                                                       
    IF *ERROR EQ 0                                                      
      WRITE 'Registro PICS atualizado com sucesso: ' AAF-LUNAME         
      END TRANSACTION                                                   
      FETCH 'INFO0101'                                                  
    ELSE                                                                
      BACKOUT TRANSACTION                                               
      WRITE 'Erro ao tentar atualizar o registro PICS.'                 
    END-IF                                                              
  ELSE                                                                  
* -------------------------------------------------------------------- *
* REGISTRO TICS NãO ENCONTRADO                                          
* -------------------------------------------------------------------- *
    WRITE 'Registro PICS não encontrado no arquivo.'                    
  END-IF                                                                
END-FIND                                                                
* -------------------------------------------------------------------- *
END                                                                     

View criada foi essa
 08:50:16               ***** NATURAL LIST COMMAND *****              12/08/2026
 User DBAP055       - List DDM AAFU-LUNAME-TCPIP-INFOPRINT -    Library INFOPRIN
                                                                                
 DDM DBID 0      DDM FNR 431   VSAM Name          Default Sequence     Page   1 
                                                                                
 T L  DB  Name                             F Leng  S D Remark                   
 - -  --  -------------------------------- - ----  - - ------------------------ 
 *        Generation started                                                    
 *        at 2025-01-20 08:22:08                                                
 *        by user DBAP055                                                       
 *                                                                              
   1  AA  AAF-MODEL                        A    4  N D                          
   1  AB  AAF-LUNAME                       N  4,0  N D                          
   1  AC  AAF-USER                         A    9  N                            
   1  AD  AAF-DATA                         A    8  N                            
   1  AE  AAF-HORA                         A    8  N                            
                                                                                
                                                                                
                                                                                
                                                                                
 End of List.                                                                   
 Command ===>                                                                   
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Help  Print Exit  Short       --    -     +     ++                Canc   

Tela 40

Essa são as opções disponiveis - Alterar IP e alterar o Form (essa opção altera o formato paisagem/retrato)
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0109
  10:12:16 ------------------------------------------------------------ 12/08/26
                            ALTERACAO DE IMPRESSORAS                    INFOPRIN
                                                                                
           ------------------------------------------------------------         
                        10 - ALTERAR IP IMPRESSORA                              
                        20 - ALTERAR FORM IMPRESSORA                            
           ------------------------------------------------------------         
                                                                                
                           DIGITE A OPCAO DESEJADA 0__                          
                                                                                
                              TECLE PF3 PARA SAIR                               
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   EXIT                                            LOG   QUIT   

Programa Natural
* ==================================================================== *
* FUNCAO: MENU DE ALTERACAO DE IMPRESSORAS                             *
*  AUTOR: CLAUDEMAR MARTINS DE SA                                      *
*  DATA : 14/10/2025                                                   *
* ==================================================================== *
DEFINE DATA LOCAL                                                       
1 #ARQ1 (N3)                                                            
END-DEFINE                                                              
* ==================================================================== *
FORMAT KD=ON                                                            
SET KEY                                                                 
  TREQ        NAMED ' '   /* NOVAS PFS /*                               
PF3  = PGM NAMED 'EXIT'                                                 
** PF11 = 'INFO0107' NAMED 'LOG'                                        
PF12 = PGM  NAMED 'QUIT'                                                
* ==================================================================== *
REPEAT                                                                  
  INPUT (IP=OFF SG=OFF AD=MIL'_')                                       
    02T '-' (78)                                                        
    /02T *USER                                                          
    20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)                  
    72T *PROGRAM                                                        
    /02T *TIME(AL=8) 11T '-' (60) 72T  *DATE                            
    /28T 'ALTERACAO DE IMPRESSORAS' (I) 72T *LIBRARY-ID /               
*    /                             72T *LIBRARY-ID /                    
    /11T '-' (60)                                                       
    /24T '10 - ALTERAR IP IMPRESSORA'(I)                                
    /24T '20 - ALTERAR FORM IMPRESSORA'(I)                              
    /11T'-' (60)                                                        
* ==================================================================== *
    // 27T'DIGITE A OPCAO DESEJADA'(YE) #ARQ1(AD=MIL'_')                
    // 30T'TECLE PF3 PARA SAIR'(I)                                      
* ==================================================================== *
  IF #ARQ1 EQ  10   FETCH 'INFO0102'                                    
  IF #ARQ1 EQ  20   FETCH 'INFO0110'                                    
* ==================================================================== *
  IF *PF-KEY EQ 'PF3' OR = 'PF12' FETCH 'INFOMENU'                      
* ==================================================================== *
END

Alterar IP da Impressora

Essa é o menu para alterar o IP da impressora
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0102
  10:14:53 ------------------------------------------------------------ 12/08/26
                               ALTERAR IP IMPRESSORA                    INFOPRIN
                                                                                
           ------------------------------------------------------------         
                                                                                
             PICS ................ :  ________                                  
                                                                                
             NUMERO DO IP ........ :  ___________________                       
                                                                                
           ------------------------------------------------------------         
                                                                                
                              TECLE PF3 PARA VOLTAR                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   EXIT                                            LOG          

Programa Natural
* ------------------------------------------------------------------- *
* FUNCAO: MUDAR O IP DE UMA IMPRESSORA NO INFOPRINT                   *
* ------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                      
1 #CALLER   (A4) INIT <'NAT '>                                         
1 #JOBNUM   (A8)                                                       
1 REDEFINE #JOBNUM                                                     
  2 #JOBA   (A3)                                                       
  2 #JOBN   (N5)                                                       
1 #I   (P3)                                                            
1 #RC  (B4)                                                            
1 #TOT (B2)                                                            
1 #ARQ (A32)                                                           
1 #PICS (A08)                                                          
1 #IP   (A19)                                                          
1 #C01 (A80) INIT                                                      
 <'//AAFSNATB JOB (XXXX,OSB),XXXXXXX,CLASS=S,MSGCLASS=A,TYPRUN=HOLD'>  
1 REDEFINE #C01                                                        
  2 FILLER  2X                                                         
  2 #JOBNAME (A8)                                                      
  2 #FIL1 (A06)                                                   
  2 #ACC  (A04)                                                   
  2 #FIL2 (A06)                                                   
  2 #USER (A07)                                                   
1 #C02 (A80) INIT <'//*UQ ALLOW'>                                 
1 #C03 (A80) INIT <'//* ----------------------------------------'>
1 #C04 (A80) INIT <'//* ALTERAR O IP DA IMPRESSORA #PICS        '>
1 #C05 (A80) INIT <'//* ----------------------------------------'>
1 #C06 (A80) INIT <"//PIDU     EXEC PGM=AOPBATCH,PARM='pidu'">    
1 #C07 (A80) INIT <"//STDOUT   DD  SYSOUT=*">                     
1 #C08 (A80) INIT <"//STDERR   DD  SYSOUT=*">                     
1 #C09 (A80) INIT <"//STDIN    DD  *">                            
1 #C10 (A80)                                                      
1 #C11 (A80)                                                      
**                                                                
1 #C12 (A80) INIT <'//IFABEND  IF RC EQ 0 THEN'>                  
1 #C13 (A80) INIT                                                 
  <'//* GRAVANDO O LOG NO BANCO ADABAS'>                          
1 #C14 (A80) INIT                                                 
  <'//* -----------------------------------------------------'>   
1 #C15 (A80) INIT                                                       
  <'//STEP01   EXEC NATURAL,PARM1="SYS=P,MT=0,STACK=(LOG INFOPRIN)"'>   
1 #C16 (A80) INIT <'//CMWKF01  DD SYSOUT=Z'>                            
1 #C17 (A80) INIT <'//CMWKF02  DD SYSOUT=Z'>                            
1 #C18 (A80) INIT <'//CMPRT01  DD SYSOUT=Z,HOLD=YES'>                   
1 #C19 (A80) INIT <'//CMPRINT  DD SYSOUT=Z'>                            
1 #C20 (A80) INIT <'//SYSIN    DD *'>                                   
1 #C21 (A80)                                                            
1 #C22 (A80) INIT <'//FIMABEND ENDIF'>                                  
**                                                                      
1 #Y2K (A1)  INIT <'N'>                                                 
END-DEFINE                                                              
* ==================================================================== *
FORMAT KD=ON                                                            
SET KEY                                                                 
PF3  = PGM  NAMED 'EXIT'                                                
* ==================================================================== *
MOVE *INIT-USER TO #USER                                                
REPEAT                                                                  
  RESET #ARQ                                                            
  RESET INITIAL #Y2K                                                    
  INPUT (IP=OFF SG=OFF AD=MIL'_')                                       
    02T '-' (78)                                                        
    /       02T *USER                                                   
    20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)                  
    72T  *PROGRAM                                                       
    /       02T  *TIME(AL=8)                                            
    11T '-' (60)                                                        
    72T  *DATE                                                          
/    31T 'ALTERAR IP IMPRESSORA'(I) 72T *LIBRARY-ID /                   
/                                                                       
11T '-' (60)                                                            
//                                                                      
11T '  PICS ................ : ' #PICS                                  
//                                                                      
11T '  NUMERO DO IP ........ : ' #IP                                    
//                                                                      
11T '-' (60)                                                            
//30T'TECLE PF3 PARA VOLTAR'(I)                                         
* ==================================================================== *
  IF *PF-KEY EQ 'PF3'                                                   
    FETCH 'INFOMENU'                                                    
  END-IF                                                                
* ==================================================================== *
  IF #PICS = ' '                                                        
    REINPUT 'NOME DE IMPRESSORA EM BRANCO' MARK *#ARQ ALARM             
  END-IF                                                                
* ==================================================================== *
  IF #IP  = '        '                                                  
    REINPUT 'NOME DE IP EM BRANCO' MARK *#IP ALARM                      
  END-IF                                                                
* ==================================================================== *
  EXAMINE #PICS   TRANSLATE INTO UPPER CASE                             
* ==================================================================== *
  COMPRESS 'modify printer ' #PICS 'printer-ip-address = ' #IP          
  ';' INTO #C10                                                         
  COMPRESS 'display printer '#PICS                                      
  ';' INTO #C11                                                         
* ==================================================================== *
  COMPRESS 'INFO9033 ' *INIT-USER  *PROGRAM #PICS INTO #C21             
* ==================================================================== *
  COMPUTE #TOT = 22 * 80                                                
  CALL 'RJE' #RC #C01 #TOT                                              
  CALL 'GETJOB' #JOBNUM #CALLER                                         
* ==================================================================== *
FORMAT KD=OFF                                                           
DEFINE WINDOW NUMJOB                                                    
  SIZE 08 * 50    BASE 07/17   TITLE ' NUMERO DO JOB '                  
     FRAMED ON                                                          
  INPUT WINDOW = 'NUMJOB'                                               
  01/01 'FOI SUBMETIDO O JOB:  ' #JOBNAME  (AD=IO)                      
  02/01 'COM O NUMERO ......:'  #JOBN     (AD=IO)                       
  03/01 '                       '                                       
  04/11 'TECLE ENTER PARA VOLTAR'(I)                                    
* ==================================================================== *
FETCH 'INFOMENU'                                                        
END-REPEAT                                                              
END                                                                     

Alterar o Forms da Impressora

Essa é uma opção que usamos muito para alterar o formulario da impressora (retrato/paisagem);
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0110
  10:32:02 ------------------------------------------------------------ 12/08/26
                               ALTERAR FORMS IMPRESSORA                 INFOPRIN
                                                                                
           ------------------------------------------------------------         
                                                                                
                        PICS ................ :  ________                       
                                                                                
                        FORMS ............... :  FORM000_                       
                                                                                
           ------------------------------------------------------------         
                                                           FORM0007  - RETRATO  
                                                           FORM0001  - PAISAGEM 
                                                                                
                                                                                
                              TECLE PF3 PARA VOLTAR                             
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   EXIT                                            LOG           

Programa Natural
* -------------------------------------------------------------------- *
* FUNCAO: MUDAR O FORM DE UMA IMPRESSORA NO INFOPRINT                  *
* -------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                       
1 #CALLER   (A4) INIT <'NAT '>                                          
1 #JOBNUM   (A8)                                                        
1 REDEFINE #JOBNUM                                                      
  2 #JOBA   (A3)                                                        
  2 #JOBN   (N5)                                                        
1 #I        (P3)                                                        
1 #RC       (B4)                                                        
1 #TOT      (B2)                                                        
1 #ARQ      (A32)                                                       
1 #PICS     (A08)                                                       
1 #FORMS    (A08) INIT <'FORM000'>                                      
1 #C01 (A80) INIT                                                       
 <'//AAFSNATB JOB (XXXX,OSB),XXXXXXX,CLASS=S,MSGCLASS=A,TYPRUN=HOLD'>   
1 REDEFINE #C01                                                         
  2 FILLER  2X                                                          
  2 #JOBNAME (A8)                                                       
  2 #FIL1 (A06)                                                   
  2 #ACC  (A04)                                                   
  2 #FIL2 (A06)                                                   
  2 #USER (A07)                                                   
1 #C02 (A80) INIT <'//*UQ ALLOW'>                                 
1 #C03 (A80) INIT <'//* ----------------------------------------'>
1 #C04 (A80) INIT <'//* ALTERAR O IP DA IMPRESSORA #PICS        '>
1 #C05 (A80) INIT <'//* ----------------------------------------'>
1 #C06 (A80) INIT <"//PIDU     EXEC PGM=AOPBATCH,PARM='pidu'">    
1 #C07 (A80) INIT <"//STDOUT   DD  SYSOUT=*">                     
1 #C08 (A80) INIT <"//STDERR   DD  SYSOUT=*">                     
1 #C09 (A80) INIT <"//STDIN    DD  *">                            
1 #C10 (A80)                                                      
1 #C11 (A80)                                                      
**                                                                
1 #C12 (A80) INIT <'//IFABEND  IF RC EQ 0 THEN'>                  
1 #C13 (A80) INIT                                                 
  <'//* GRAVANDO O LOG NO BANCO ADABAS'>                          
1 #C14 (A80) INIT                                                 
  <'//* -----------------------------------------------------'>   
  RESET INITIAL #Y2K                                    
  INPUT (IP=OFF SG=OFF AD=MIL'_')                       
    02T '-' (78)                                        
    /       02T *USER                                   
    20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)  
    72T  *PROGRAM                                       
    /       02T  *TIME(AL=8)                            
    11T '-' (60)                                        
    72T  *DATE                                          
/    31T 'ALTERAR FORMS IMPRESSORA'(I) 72T *LIBRARY-ID /
/                                                       
11T '-' (60)                                            
//                                                      
22T '  PICS ................ : ' #PICS                  
//                                                      
22T '  FORMS ............... : ' #FORMS                 
//                                                      
11T '-' (60)                                            
/                                                       
59T  'FORM0007 ' (I) '- RETRATO'                        
/                                                                       
59T  'FORM0001 ' (I) '- PAISAGEM'                                       
/                                                                       
* 19T 'FORM0007 ' (I) '- RETRATO  / ' 'FORM0001 ' (I) '- PAISAGEM'      
//30T'TECLE PF3 PARA VOLTAR'(I)                                         
* ==================================================================== *
  IF *PF-KEY EQ 'PF3'                                                   
    FETCH 'INFOMENU'                                                    
  END-IF                                                                
* ==================================================================== *
  IF #PICS = ' '                                                        
    REINPUT 'NOME DE IMPRESSORA EM BRANCO' MARK *#ARQ ALARM             
  END-IF                                                                
* ==================================================================== *
  IF #FORMS = 'FORM000 '                                                
    REINPUT 'COMPLETE O CAMPO FORMS' MARK *#FORMS ALARM                 
  END-IF                                                                
* ==================================================================== *
  EXAMINE #PICS   TRANSLATE INTO UPPER CASE                             
  EXAMINE #FORMS  TRANSLATE INTO UPPER CASE                             
* ==================================================================== *
  COMPRESS 'modify printer ' #PICS 'include-printway-options = ' #FORMS 
  ';' INTO #C10                                                         
  COMPRESS 'display printer '#PICS                                      
  ';' INTO #C11                                                         
* ==================================================================== *
  COMPRESS 'INFO9033 ' *INIT-USER  *PROGRAM #PICS INTO #C21             
* ==================================================================== *
  COMPUTE #TOT = 22 * 80                                                
  CALL 'RJE' #RC #C01 #TOT                                              
  CALL 'GETJOB' #JOBNUM #CALLER                                         
* ==================================================================== *
FORMAT KD=OFF                                                           
DEFINE WINDOW NUMJOB                                                    
  SIZE 08 * 50    BASE 07/17   TITLE ' NUMERO DO JOB '                  
     FRAMED ON                                                          
  INPUT WINDOW = 'NUMJOB'                                               
  01/01 'FOI SUBMETIDO O JOB:  ' #JOBNAME  (AD=IO)                      
  02/01 'COM O NUMERO ......:'  #JOBN     (AD=IO)                       
  03/01 '                       '  
  04/11 'TECLE ENTER PARA VOLTAR'(I)                                    
* ==================================================================== *
FETCH 'INFOMENU'
END-REPEAT      
END             

Opção 50

Essa é o menu que vamos criar uma nova impressora no Infoprint;
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0103
  10:35:36 ------------------------------------------------------------ 12/08/26
                             CADASTRAR IMPRESSORA                       INFOPRIN
                                                                                
       --------------------------------------------------------------------     
                                                                                
       IMPRESSORA ... ________                                                  
                                                                                
       DESCRICAO .... _____________________________________________________     
                                                                                
       LOCALICACAO .. _____________________________________________________     
                                                                                
       ENDERECO IP .. ___________________                                       
                                                                                
       FORMATO ...... FORM0007  (5 - PAISAGEM OU 7 - RETRATO)                   
                                                                                
       --------------------------------------------------------------------     
                                                                                
                              TECLE PF3 PARA VOLTAR                             
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   EXIT                                            LOG          

Programa Natural
* ------------------------------------------------------------------- *
* FUNCAO: CADASTRAR UMA IMPRESSORA NO INFOPRINT                       *
* AUTOR : CLAUDEMAR MARTINS                                           *
* ------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                      
1 #CALLER         (A4) INIT <'NAT '>                                   
1 #JOBNUM         (A8)                                                 
1 REDEFINE        #JOBNUM                                              
  2 #JOBA         (A3)                                                 
  2 #JOBN         (N5)                                                 
1 #I              (P3)                                                 
1 #RC             (B4)                                                 
1 #TOT            (B2)                                                 
1 #ARQ            (A32)                                                
1 #PICS           (A08)                                                
1 #DESCRICAO      (A53)                                                
1 #LOCALIZACAO    (A53)                                                
1 #IP             (A19)                                                
1 #FORM           (A08) INIT <'FORM0007'>                              
1 #USUARIO        (A08)                                                
1 #C01 (A80) INIT                                                     
  <'//AAFSNATB JOB (XXXX,OSB),XXXXXXX,CLASS=S,MSGCLASS=A,TYPRUN=HOLD'>
1 REDEFINE #C01                                                       
  2 FILLER  2X                                                        
  2 #JOBNAME (A8)                                                     
  2 #FIL1 (A06)                                                       
  2 #ACC  (A04)                                                       
  2 #FIL2 (A06)                                                       
  2 #USER (A07)                                                       
1 #C02 (A80) INIT <'//*UQ ALLOW'>                                     
1 #C03 (A80) INIT <'//* ----------------------------------------'>    
1 #C04 (A80) INIT <'//* CADASTRAR IMPRESSORA NO INFOPRINT       '>    
1 #C05 (A80) INIT <'//* ----------------------------------------'>    
1 #C06 (A80) INIT <"//PIDU     EXEC PGM=AOPBATCH,PARM='pidu'">        
1 #C07 (A80) INIT <"//STDOUT   DD  SYSOUT=*">                         
1 #C08 (A80) INIT <"//STDERR   DD  SYSOUT=*">                         
1 #C09 (A80) INIT <"//STDIN    DD  *">                                
1 #C10 (A80)                                                          
1 #C11 (A80)                                                          
1 #C12 (A80)                                                          
1 #C13 (A80)                                                   
1 #C14 (A80)                                                   
1 #C15 (A80)                                                   
1 #C16 (A80)                                                   
1 #C17 (A80)                                                   
1 #C18 (A80)                                                   
1 #C19 (A80)                                                   
1 #C20 (A80)                                                   
1 #C21 (A80)                                                   
1 #C22 (A80)                                                   
1 #C23 (A80)                                                   
1 #C24 (A80)                                                   
1 #C25 (A80)                                                   
1 #C26 (A80)                                                   
1 #C27 (A80)                                                   
1 #C28 (A80)                                                   
1 #C29 (A80) INIT <'//IFABEND  IF RC EQ 0 THEN'>               
1 #C30 (A80) INIT                                              
  <'//* -----------------------------------------------------'>
1 #C31 (A80) INIT                                              
  <'//* GRAVANDO O LOG NO BANCO ADABAS'>                                
1 #C32 (A80) INIT                                                       
  <'//* -----------------------------------------------------'>         
1 #C33 (A80) INIT                                                       
  <'//STEP01   EXEC NATURAL,PARM1="SYS=P,MT=0,STACK=(LOG INFOPRIN)"'>   
1 #C34 (A80) INIT <'//CMWKF01  DD SYSOUT=Z'>                            
1 #C35 (A80) INIT <'//CMWKF02  DD SYSOUT=Z'>                            
1 #C36 (A80) INIT <'//CMPRT01  DD SYSOUT=Z,HOLD=YES'>                   
1 #C37 (A80) INIT <'//CMPRINT  DD SYSOUT=Z'>                            
1 #C38 (A80) INIT <'//SYSIN    DD *'>                                   
1 #C39 (A80)                                                            
1 #C40 (A80) INIT <'//FIMABEND ENDIF'>                                  
1 #Y2K (A1)  INIT <'N'>                                                 
END-DEFINE                                                              
* ==================================================================== *
FORMAT KD=ON                                                            
SET KEY                                                                 
PF3  = PGM  NAMED 'EXIT'                                                
* ==================================================================== *
MOVE *INIT-USER TO #USER                                                
REPEAT                                                               
  RESET #ARQ                                                         
  RESET INITIAL #Y2K                                                 
  INPUT (IP=OFF SG=OFF AD=MIL'_')                                    
    02T '-' (78)                                                     
    /       02T *USER                                                
    20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)               
    72T  *PROGRAM                                                    
    /       02T  *TIME(AL=8)                                         
    11T '-' (60)                                                     
    72T  *DATE                                                       
    /    29T 'CADASTRAR IMPRESSORA'(I) 72T *LIBRARY-ID /             
    /                                                                
    07T '-' (68)                                                    /
/                                                                    
    07T 'IMPRESSORA ...' #PICS                                      /
/                                                                    
    07T 'DESCRICAO ....' #DESCRICAO                                 /
/                                                                    
    07T 'LOCALICACAO ..' #LOCALIZACAO                               /
/                                                                       
    07T 'ENDERECO IP ..' #IP                                        /   
/                                                                       
    07T 'FORMATO ......' #FORM ' (5 - PAISAGEM OU 7 - RETRATO) '    /   
/                                                                       
    07T '-' (68)                                                        
    //30T'TECLE PF3 PARA VOLTAR'(I)                                     
* ==================================================================== *
  IF *PF-KEY EQ 'PF3'                                                   
    FETCH 'INFOMENU'                                                    
  END-IF                                                                
* ==================================================================== *
  IF #PICS = '        '                                                 
    REINPUT 'NOME DE IMPRESSORA EM BRANCO' MARK *#PICS ALARM            
  END-IF                                                                
* ==================================================================== *
  IF #IP  = '                  '                                        
    REINPUT 'NOME DE IP EM BRANCO' MARK *#IP ALARM                      
  END-IF                                                                
* ==================================================================== *
  EXAMINE #FORM   TRANSLATE INTO UPPER CASE                             
  EXAMINE #PICS   TRANSLATE INTO UPPER CASE                             
* ==================================================================== *
  IF #FORM EQ 'FORM0005'                                                
    COMPRESS 'create printer ' #PICS                           INTO #C10
    COMPRESS 'printer-type = ip-printway'                      INTO #C11
    COMPRESS 'lu-classes = {20}'                               INTO #C12
    COMPRESS 'location = "' #LOCALIZACAO '"'                   INTO #C13
      LEAVING NO                                                        
    COMPRESS 'luname = '     #PICS                             INTO #C14
    COMPRESS 'dcf-routing = yes'                               INTO #C15
    COMPRESS 'include-printway-options = '#FORM                INTO #C16
    COMPRESS 'destination = ' #PICS                            INTO #C17
    COMPRESS 'output-class = P'                                INTO #C18
    COMPRESS 'netspool-formatting = convert-to-pcl'            INTO #C19
    COMPRESS 'include-processing = PCL_ACENTO'                 INTO #C20
    COMPRESS 'print-queue-name = ' #PICS                       INTO #C21
    COMPRESS 'printer-ip-address = ' #IP                       INTO #C22
    COMPRESS 'description = "' #DESCRICAO '"'                  INTO #C23
      LEAVING NO                                                        
    COMPRESS 'lpr-print-function = l'                          INTO #C24
    COMPRESS 'lpr-mode = control-file-first ;'                 INTO #C25
    COMPRESS 'display printer' #PICS  ';'                      INTO #C26
    MOVE '/*'                                                TO #C27    
    MOVE '/*'                                                TO #C28    
    COMPRESS 'INFO9033 ' *INIT-USER *PROGRAM #PICS INTO #C39            
  END-IF                                                                
* ==================================================================== *
  IF #FORM EQ 'FORM0007'                                                
    COMPRESS 'create printer ' #PICS                           INTO #C10
    COMPRESS 'printer-type = ip-printway'                      INTO #C11
    COMPRESS 'lu-classes = {20}'                               INTO #C12
    COMPRESS 'location = "' #LOCALIZACAO '"'                   INTO #C13
      LEAVING NO                                                        
    COMPRESS 'luname = '     #PICS                             INTO #C14
    COMPRESS 'dcf-routing = yes'                               INTO #C15
    COMPRESS 'include-printway-options = '#FORM                INTO #C16
    COMPRESS 'destination = ' #PICS                            INTO #C17
    COMPRESS 'output-class = P'                                INTO #C18
    COMPRESS 'netspool-formatting = convert-to-pcl'            INTO #C19
    COMPRESS 'include-processing = PCL_ACENTO'                 INTO #C20
    COMPRESS 'print-queue-name = ' #PICS                       INTO #C21
    COMPRESS 'printer-ip-address = ' #IP                       INTO #C22
    COMPRESS 'description = "' #DESCRICAO '"'                  INTO #C23
      LEAVING NO                                                        
    COMPRESS 'lpr-print-function = l'                          INTO #C24
    COMPRESS 'lpr-mode = control-file-first'                   INTO #C25
    COMPRESS 'scs-maximum-line-length = 250'                   INTO #C26
    COMPRESS 'scs-right-margin = 250 ;'                        INTO #C27
    COMPRESS 'display printer' #PICS  ';'                      INTO #C28
 COMPRESS 'INFO9033 ' *INIT-USER *PROGRAM #PICS INTO #C39               
  END-IF                                                                
* ==================================================================== *
  IF #FORM NE 'FORM0005' AND #FORM NE 'FORM0007'                        
    REINPUT                                                             
    'FORMATO DIFERENTE DE FORM0005 / FORM0007' MARK *#FORM ALARM        
  END-IF                                                                
* ==================================================================== *
  COMPUTE #TOT = 40 * 80                                                
  CALL 'RJE' #RC #C01 #TOT                                              
  CALL 'GETJOB' #JOBNUM #CALLER                                         
* ==================================================================== *
  FORMAT KD=OFF                                                         
  DEFINE WINDOW NUMJOB                                                  
    SIZE 08 * 50    BASE 07/17   TITLE ' NUMERO DO JOB '                
    FRAMED ON                                                           
  INPUT WINDOW = 'NUMJOB'                                               
    01/01 'FOI SUBMETIDO O JOB:  ' #JOBNAME  (AD=IO)                    
    02/01 'COM O NUMERO ......:'  #JOBN     (AD=IO)                     
    03/01 '                       '                                     
    04/11 'TECLE ENTER PARA VOLTAR'(I)                                  
* ==================================================================== *
  FETCH 'INFOMENU'                                                      
END-REPEAT                                                              
END                                                                     

Opção 60

Essa opção deleta impressoras cadastradas no Infoprint - tela
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0104
  10:41:37 ------------------------------------------------------------ 12/08/26
                        DELETAR IMPRESSORA NO INFOPRINT                 INFOPRIN
                                                                                
           ------------------------------------------------------------         
                                                                                
                     PICS ................ :  ________                          
                                                                                
           ------------------------------------------------------------         
                                                                                
                              TECLE PF3 PARA VOLTAR                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   EXIT                                            LOG          

Programa Natural
* ------------------------------------------------------------------- *
* FUNCAO: DELETAR IMPRESSORA NO INFOPRINT                             *
* AUTOR : CLAUDEMAR MARTINS DE SA                                     *
* ------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                      
1 #CALLER   (A4) INIT <'NAT '>                                         
1 #JOBNUM   (A8)                                                       
1 REDEFINE #JOBNUM                                                     
  2 #JOBA   (A3)                                                       
  2 #JOBN   (N5)                                                       
1 #I   (P3)                                                            
1 #RC  (B4)                                                            
1 #TOT (B2)                                                            
1 #ARQ (A32)                                                           
1 #PICS (A08)                                                          
1 #IP   (A19)                                                          
1 #C01 (A80) INIT                                                      
 <'//AAFSNATB JOB (XXXX,OSB),XXXXXXX,CLASS=S,MSGCLASS=A,TYPRUN=HOLD'>  
1 REDEFINE #C01                                                        
  2 FILLER  2X                                                         
  2 #JOBNAME (A8)                                                 
  2 #FIL1 (A06)                                                   
  2 #ACC  (A04)                                                   
  2 #FIL2 (A06)                                                   
  2 #USER (A07)                                                   
1 #C02 (A80) INIT <'//*UQ ALLOW'>                                 
1 #C03 (A80) INIT <'//* ----------------------------------------'>
1 #C04 (A80) INIT <'//* ALTERAR O IP DA IMPRESSORA #PICS        '>
1 #C05 (A80) INIT <'//* ----------------------------------------'>
1 #C06 (A80) INIT <"//PIDU     EXEC PGM=AOPBATCH,PARM='pidu'">    
1 #C07 (A80) INIT <"//STDOUT   DD  SYSOUT=*">                     
1 #C08 (A80) INIT <"//STDERR   DD  SYSOUT=*">                     
1 #C09 (A80) INIT <"//STDIN    DD  *">                            
1 #C10 (A80)                                                      
1 #C11 (A80)                                                      
*                                                                 
1 #C12 (A80) INIT <'//IFABEND  IF RC EQ 0 THEN'>                  
1 #C13 (A80) INIT                                                 
  <'//* -----------------------------------------------------'>   
1 #C14 (A80) INIT                                                 

Opção 70

Essa opção vamos fazer o backup do Infoprint e carregamos as informações das impressoras em um arquivo Adabas
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0108
  10:45:48 ------------------------------------------------------------ 12/08/26
                          CARGA DO INFOPRINT NO ADABAS                  INFOPRIN
                                                                                
           ------------------------------------------------------------         
                                                                                
                            TECLE (ENTER) PARA CONTINUAR                        
                                                                                
           ------------------------------------------------------------         
                                                                                
                             SUBMETER A CARGA: _ (SIM)                          
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   EXIT                                            LOG          

Programa Natural
* ------------------------------------------------------------------- *
* FUNCAO: CARREGAR OS DADOS DO INFOPRINT NO ADABAS                    *
* AUTOR : CLAUDEMAR MARTINS                                           *
* ------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                      
1 #CALLER   (A4) INIT <'NAT '>                                         
1 #JOBNUM   (A8)                                                       
1 REDEFINE #JOBNUM                                                     
  2 #JOBA   (A3)                                                       
  2 #JOBN   (N5)                                                       
1 #I   (P3)                                                            
1 #RC  (B4)                                                            
1 #TOT (B2)                                                            
1 #ARQ (A1)                                                            
1 #PICS (A08)                                                          
1 #C01 (A80) INIT                                                      
  <'//AAFSNATB JOB (INFO,OSB),CLAUD,CLASS=S,MSGCLASS=A TYPRUN=HOLD'>   
1 REDEFINE #C01                                                        
  2 FILLER  2X                                                         
  2 #JOBNAME (A8)                                                      
  2 #FIL1 (A06)                                                   
  2 #ACC  (A04)                                                   
  2 #FIL2 (A06)                                                   
  2 #USER (A07)                                                   
1 #C02 (A80) INIT <'//*UQ ALLOW'>                                 
1 #C03 (A80) INIT <'//* ----------------------------------------'>
1 #C04 (A80) INIT <'//*      CARREGANDO OS DADOS DO INFOPRINT   '>
1 #C05 (A80) INIT <'//* ----------------------------------------'>
1 #C06 (A80)                                                      
1 #C07 (A80) INIT <'//INVENT   DD   DSN=AOP.INV.BACKUP(+1),'>     
1 #C08 (A80) INIT <'//         DISP=(NEW,CATLG),'>                
1 #C09 (A80) INIT                                                 
  <'//         DCB=(RECFM=VB,LRECL=32756,BLKSIZE=32760),'>        
1 #C10 (A80) INIT                                                 
  <'//         UNIT=SYSDA,SPACE=(CYL,(11,10),RLSE),'>             
1 #C11 (A80) INIT <'//         VOL=SER=PRD902'>                   
1 #C12 (A80) INIT <'//STDOUT   DD   SYSOUT=*'>                    
1 #C13 (A80) INIT <'//STDERR   DD   SYSOUT=*'>                    
1 #C14 (A80) INIT <'//STDENV   DD   *'>                           
1 #C15 (A80) INIT <'NLSPATH=/usr/lpp/Printsrv/En_US/%N'>          
1 #C16 (A80) INIT <'AOPCONF=/etc/Printsrv/aopd.conf'>              
1 #C17 (A80) INIT <'//* ----------------------------------------'> 
1 #C18 (A80) INIT <'//*           REFRESH NO FILE 492           '> 
1 #C19 (A80) INIT <'//* ----------------------------------------'> 
1 #C20 (A80) INIT <'//ADADBS   EXEC AAFAU240'>                     
1 #C21 (A80) INIT <'//DDCARD   DD *'>                              
1 #C22 (A80) INIT <'ADARUN PROG=ADADBS,DBID=240'>                  
1 #C23 (A80) INIT <'//DDKARTE  DD *'>                              
1 #C24 (A80) INIT <'ADADBS     REFRESH FILE=492'>                  
1 #C25 (A80) INIT <'//* ----------------------------------------'> 
1 #C26 (A80) INIT <'//*     CARREGA OS REGISTROS NO FILE 492    '> 
1 #C27 (A80) INIT <'//* ----------------------------------------'> 
1 #C28 (A80)                                                       
1 #C29 (A80) INIT <'//CMWKF01  DD DSN=AOP.INV.BACKUP(+1),DISP=SHR'>
1 #C30 (A80) INIT <'//CMWKF02  DD SYSOUT=G'>                       
1 #C31 (A80) INIT <'//CMPRT01  DD SYSOUT=G,HOLD=YES'>              
1 #C32 (A80) INIT <'//SYSIN    DD *'>                              
1 #C33 (A80) INIT <'INFO0998'>                                     
1 #Y2K (A1)  INIT <'N'>                                            
1 #CSA (A80) INIT <'//AOPBATCH EXEC PGM=AOPBATCH,PARM='>           
1 #CSB (A80) INIT <'/pidu -c '>                                         
1 #CSC (A80) INIT <'export //DD:INVENT;'>                               
1 #CSE (A80) INIT <'/pidu -c "export //DD:INVENT;"'>                    
1 #1-QUOTE (A1)                                                         
1 #2-QUOTE (A1) /* INIT <'"'>                                           
END-DEFINE                                                              
* ==================================================================== *
FORMAT KD=ON                                                            
SET KEY PF3 = 'INFOMENU' NAMED 'EXIT'                                   
OPTIONS TQMARK=OFF                                                      
* ==================================================================== *
INPUT (IP=OFF SG=OFF AD=MIL'_')                                         
  02T '-' (78)                                                          
  /       02T *USER                                                     
  20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)                    
  72T  *PROGRAM                                                         
  /       02T  *TIME(AL=8)                                              
  11T '-' (60)                                                          
  72T  *DATE                                                            
  /  26T 'CARGA DO INFOPRINT NO ADABAS'(I) 72T *LIBRARY-ID /            
/ 11T '-' (60)                                                          
  /                                                                     
  /     28T 'TECLE (ENTER) PARA CONTINUAR' (I)                          
  /                                                                     
/ 11T '-' (60)                                                          
  /                                                                     
  /29T 'SUBMETER A CARGA:'(I)#ARQ '(SIM)'                               
* ==================================================================== *
MOVE "'" TO #1-QUOTE                                                    
MOVE '"' TO #2-QUOTE                                                    
REPEAT                                                                  
* ==================================================================== *
  COMPRESS                                                              
    #CSA                                                                
    #1-QUOTE                                                            
    #CSB                                                                
    #2-QUOTE                                                            
    #CSC                                                                
    #2-QUOTE                                                            
    #1-QUOTE                                                            
    INTO #C06                                                           
    LEAVING NO                                                          
* ==================================================================== *
* COMPRESS #CSA '"' #CSB '|'  #CSC '|' '"' INTO #C06     LEAVING NO     
  COMPRESS '//STEP01   EXEC NATURAL,PARM1='                             
    "'SYS=P,MT=0,STACK=(LOG INFOPRIN)'"                                 
    INTO #C28   LEAVING NO                                              
* ==================================================================== *
  COMPUTE #TOT = 33 * 80                                                
  CALL 'RJE' #RC #C01 #TOT                                              
  CALL 'GETJOB' #JOBNUM #CALLER                                         
* ==================================================================== *
  FORMAT KD=OFF                                                         
  DEFINE WINDOW NUMJOB                                                  
    SIZE 08 * 50    BASE 07/17   TITLE ' NUMERO DO JOB '                
    FRAMED ON                                                           
  INPUT WINDOW = 'NUMJOB'                                               
    01/01 'FOI SUBMETIDO O JOB:  ' #JOBNAME  (AD=IO)                    
    02/01 'COM O NUMERO ......:'  #JOBN     (AD=IO)                     
    03/01 '                       '                                     
    04/11 'TECLE ENTER PARA VOLTAR'(I)                                  
* ==================================================================== *
  FETCH 'INFOMENU'                                                      
END-REPEAT                                                              
END                                                                     

o programa INFO0998 carrega os dados do dataset para o banco Adabas
* -------------------------------------------------------------------- *
* FUNCAO - GRAVAR NO BANCO AS INFORMACOES DAS IMPRESSORAS DO INFOPRINT *
*  AUTOR - CLAUDEMAR MARTINS DE SA                                     *
* -------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                       
1 #LINE (A80)                                                           
1 #PRINTER-NAME         (A10)                                           
1 #PRINTER-TYPE         (A20)                                           
1 #LOCATION             (A53)                                           
1 #LUNAME               (A10)                                           
1 #DESTINATION          (A10)                                           
1 #OUTPUT-CLASS         (A1)                                            
1 #PRINT-QUEUE-NAME     (A20)                                           
1 #PRINTER-IP-ADDRESS   (A15)                                           
1 #DESCRIPTION          (A53)                                           
1 #LPR-PRINT-FUNCTION   (A02)                                           
1 #LPR-MODE             (A18)                                           
1 #INCLUDE-PRINTWAY-OPTIONS (A09)                                       
1 #POS (I4)                                                             
1 IMPRESSORA-VIEW VIEW OF AAFU-INFOPRINT-PRINTWAY                       
  2 PRINTER-NAME                                                        
  2 PRINTER-TYPE                                                        
  2 LOCATION                                                            
  2 LUNAME                                                              
  2 DESTINATION                                                         
  2 OUTPUT-CLASS                                                        
  2 PRINT-QUEUE-NAME                                                    
  2 PRINTER-IP-ADDRESS                                                  
  2 DESCRIPTION                                                         
  2 LPR-PRINT-FUNCTION                                                  
  2 LPR-MODE                                                            
  2 INCLUDE-PRINTWAY-OPTIONS                                            
END-DEFINE                                                              
* -------------------------------------------------------------------- *
READ WORK FILE 1 #LINE                                                  
*                                                                       
  IF #LINE = ' '                                                        
    ESCAPE TOP                                                          
  END-IF                                                                
* -------------------------------------------------------------------- *
  IF SUBSTRING(#LINE, 1, 14) = 'create printer'                         
    MOVE SUBSTRING(#LINE,16,8) TO #PRINTER-NAME                         
    ESCAPE TOP                                                          
  END-IF                                                                
* -------------------------------------------------------------------- *
  IF SUBSTRING(#LINE, 1, 18) = '   printer-type = '                     
    MOVE SUBSTRING(#LINE, 19, 11) TO #PRINTER-TYPE                      
*   COMPRESS FULL #PRINTER-TYPE INTO #PRINTER-TYPE LEAVING NO           
  END-IF                                                                
* -------------------------------------------------------------------- *
  IF SUBSTRING(#LINE, 1, 13) = '   location = '                         
    MOVE SUBSTRING(#LINE, 15, 53) TO #LOCATION                          
  END-IF                                                                
* -------------------------------------------------------------------- *
  IF SUBSTRING(#LINE, 1,12) = '   luname = '                            
    MOVE SUBSTRING(#LINE, 13, 10) TO #LUNAME                            
  END-IF                                                                
* -------------------------------------------------------------------- *
  IF SUBSTRING(#LINE, 1,17) = '   destination = '                       
    MOVE SUBSTRING(#LINE, 18, 53) TO #DESTINATION                       
  END-IF                                                                
* -------------------------------------------------------------------- *
  IF SUBSTRING(#LINE, 1,18) = '   output-class = '                      
    MOVE SUBSTRING(#LINE, 19, 3) TO #OUTPUT-CLASS                       
  END-IF                                                                
* -------------------------------------------------------------------- *
  IF SUBSTRING(#LINE, 1,22) = '   print-queue-name = '                  
    MOVE SUBSTRING(#LINE, 23, 8) TO #PRINT-QUEUE-NAME                   
  END-IF                                                                
* -------------------------------------------------------------------- *
  IF SUBSTRING(#LINE,1,24) = '   printer-ip-address = '                 
    MOVE SUBSTRING(#LINE, 25, 15) TO #PRINTER-IP-ADDRESS                
  END-IF                                                                
* -------------------------------------------------------------------- *
  IF SUBSTRING(#LINE,1,17) = '   description = '                        
    MOVE SUBSTRING(#LINE, 18, 60) TO #DESCRIPTION                       
  END-IF                                                                
* -------------------------------------------------------------------- *
  IF SUBSTRING(#LINE,1,24) = '   lpr-print-function = '                 
    MOVE SUBSTRING(#LINE, 25, 2) TO #LPR-PRINT-FUNCTION                 
  END-IF                                                                
* -------------------------------------------------------------------- *
  IF SUBSTRING(#LINE,1,14) = '   lpr-mode = '                           
    MOVE SUBSTRING(#LINE, 15, 18) TO #LPR-MODE                          
  END-IF                                                                
* -------------------------------------------------------------------- *
  IF SUBSTRING(#LINE, 1,30) = '   include-printway-options = '          
    MOVE SUBSTRING(#LINE, 31, 9) TO #INCLUDE-PRINTWAY-OPTIONS           
  END-IF                                                                
* -------------------------------------------------------------------- *
  IF #LINE = ';'                                                        
    STORE RECORD IN IMPRESSORA-VIEW                                     
    MOVE #PRINTER-NAME         TO PRINTER-NAME                          
    MOVE #PRINTER-TYPE         TO PRINTER-TYPE                          
    MOVE #LOCATION             TO LOCATION                              
    MOVE #LUNAME               TO LUNAME                                
    MOVE #DESTINATION          TO DESTINATION                           
    MOVE #OUTPUT-CLASS         TO OUTPUT-CLASS                          
    MOVE #PRINT-QUEUE-NAME     TO PRINT-QUEUE-NAME                      
    MOVE #PRINTER-IP-ADDRESS   TO PRINTER-IP-ADDRESS                    
    MOVE #DESCRIPTION          TO DESCRIPTION                           
    MOVE #LPR-PRINT-FUNCTION   TO LPR-PRINT-FUNCTION                    
    MOVE #LPR-MODE             TO LPR-MODE                              
    MOVE #INCLUDE-PRINTWAY-OPTIONS TO INCLUDE-PRINTWAY-OPTIONS          
    END TRANSACTION                                                     
* -------------------------------------------------------------------- *
    RESET #PRINTER-NAME #PRINTER-TYPE #LOCATION #LUNAME                 
      #DESTINATION #OUTPUT-CLASS #PRINT-QUEUE-NAME                      
      #PRINTER-IP-ADDRESS #DESCRIPTION                                  
* -------------------------------------------------------------------- *
  END-IF                                                                
END-WORK                                                                
END                                                                     

Opção 80


Opção que temos para criar, alterar e pesquisar os FORMS que temos definidos na instalação
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0113
  10:51:41 ------------------------------------------------------------ 12/08/26
                                   FORMULARIOS                          INFOPRIN
                                                                                
           ------------------------------------------------------------         
                        10 - CRIAR FORMS PARA O INFOPRINT                       
                        20 - ALTERAR TIMEOUT DOS FORMS                          
                        30 - PESQUISAR OS FORMS DEFINIDOS                       
           ------------------------------------------------------------         
                                                                                
                           DIGITE A OPCAO DESEJADA 0__                          
                                                                                
                              TECLE PF3 PARA SAIR                               
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   EXIT                                            LOG   QUIT   

Programa Natural
* ==================================================================== *
* FUNCAO: MENU DE PESQUISA DE IMPRESSORA                               *
*  AUTOR: CLAUDEMAR MARTINS DE SA                                      *
*  DATA : 15/12/2024                                                   *
* ==================================================================== *
DEFINE DATA LOCAL                                                       
1 #ARQ1 (N3)                                                            
END-DEFINE                                                              
* ==================================================================== *
FORMAT KD=ON                                                            
SET KEY                                                                 
  TREQ        NAMED ' '   /* NOVAS PFS /*                               
PF3  = PGM NAMED 'EXIT'                                                 
PF11 = 'INFO0107' NAMED 'LOG'                                           
PF12 = PGM  NAMED 'QUIT'                                                
* ==================================================================== *
REPEAT                                                                  
  INPUT (IP=OFF SG=OFF AD=MIL'_')                                       
    02T '-' (78)                                                        
    /02T *USER                                                          
    20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)                  
    72T *PROGRAM                                                        
    /02T *TIME(AL=8) 11T '-' (60) 72T  *DATE                            
    /35T 'FORMULARIOS'(I) 72T *LIBRARY-ID /                             
    /11T '-' (60)                                                       
    /24T '10 - CRIAR FORMS PARA O INFOPRINT'(I)                         
    /24T '20 - ALTERAR TIMEOUT DOS FORMS'(I)                            
    /24T '30 - PESQUISAR OS FORMS DEFINIDOS'(I)                         
    /11T'-' (60)                                                        
* ==================================================================== *
    // 27T'DIGITE A OPCAO DESEJADA'(YE) #ARQ1(AD=MIL'_')                
    // 30T'TECLE PF3 PARA SAIR'(I)                                      
* ==================================================================== *
  IF #ARQ1 EQ  10   FETCH 'INFO0114'                                    
  IF #ARQ1 EQ  20   FETCH 'INFO0112'                                    
  IF #ARQ1 EQ  30   FETCH 'INFO0111'                                    
* ==================================================================== *
  IF *PF-KEY EQ 'PF3' OR = 'PF12' FETCH 'INFOMENU'                      
  IF *PF-KEY EQ 'PF11' FETCH 'INFO0107'                                 
* ==================================================================== *
END

Criar FORM

Essa opção criamos um novo form no Infoprint
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0114
  10:54:37 ------------------------------------------------------------ 12/08/26
                            CRIAR FORM NO INFOPRINT                     INFOPRIN
                                                                                
  ------------------------------------------------------------------------------
                                                                                
     NOME DO FORM ... :  ________                                               
                                                                                
     DESCRICAO ...... :  ___________________________                            
                                                                                
     COMANDO PCL .... :  ____________________________________________________   
                                                                                
     TIMEOUT ........ :  ________                                               
                                                                                
  ------------------------------------------------------------------------------
                                                                                
                              TECLE PF3 PARA VOLTAR                             
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   EXIT                                            LOG          

Programa Natural
* ------------------------------------------------------------------- *
* FUNCAO: ALTERAR O TIMEOUT DAS IMPRESSORAS DO INFOPRINT              *
* AUTOR : CLAUDEMAR MARTINS DE SA                                     *
* ------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                      
1 #CALLER   (A4) INIT <'NAT '>                                         
1 #JOBNUM   (A8)                                                       
1 REDEFINE #JOBNUM                                                     
  2 #JOBA   (A3)                                                       
  2 #JOBN   (N5)                                                       
1 #I        (P3)                                                       
1 #RC       (B4)                                                       
1 #TOT      (B2)                                                       
1 #ARQ      (A32)                                                      
1 #FORMS    (A08)                                                      
1 #DESC     (A27)                                                      
1 #PCL      (A52)                                                      
1 #TIMEOUT  (A08)                                                      
1 #IP       (A19)                                                      
1 #C01 (A80) INIT                                                      
  <'//AAFSNATB JOB (XXXX,OSB),XXXXXXX,CLASS=S,MSGCLASS=A,TYPRUN=HOLD'>
1 REDEFINE #C01                                                       
  2 FILLER  2X                                                        
  2 #JOBNAME (A8)                                                     
  2 #FIL1 (A06)                                                       
  2 #ACC  (A04)                                                       
  2 #FIL2 (A06)                                                       
  2 #USER (A07)                                                       
1 #C02 (A80) INIT <'//*UQ ALLOW'>                                     
1 #C03 (A80) INIT <'//* ----------------------------------------'>    
1 #C04 (A80) INIT <'//* ALTERAR O IP DA IMPRESSORA #PICS        '>    
1 #C05 (A80) INIT <'//* ----------------------------------------'>    
1 #C06 (A80) INIT <"//PIDU     EXEC PGM=AOPBATCH,PARM='pidu'">        
1 #C07 (A80) INIT <"//STDOUT   DD  SYSOUT=*">                         
1 #C08 (A80) INIT <"//STDERR   DD  SYSOUT=*">                         
1 #C09 (A80) INIT <"//STDIN    DD  *">                                
1 #C10 (A80)                                                          
1 #C11 (A80)                                                          
1 #C12 (A80)                                                          
1 #C13 (A80)                                                          
**                                                                      
1 #C14 (A80) INIT <'//IFABEND  IF RC EQ 0 THEN'>                        
1 #C15 (A80) INIT                                                       
  <'//* GRAVANDO O LOG NO BANCO ADABAS'>                                
1 #C16 (A80) INIT                                                       
  <'//* -----------------------------------------------------'>         
1 #C17 (A80) INIT                                                       
  <'//STEP01   EXEC NATURAL,PARM1="SYS=P,MT=0,STACK=(LOG INFOPRIN)"'>   
1 #C18 (A80) INIT <'//CMWKF01  DD SYSOUT=Z'>                            
1 #C19 (A80) INIT <'//CMWKF02  DD SYSOUT=Z'>                            
1 #C20 (A80) INIT <'//CMPRT01  DD SYSOUT=Z,HOLD=YES'>                   
1 #C21 (A80) INIT <'//CMPRINT  DD SYSOUT=Z'>                            
1 #C22 (A80) INIT <'//SYSIN    DD *'>                                   
1 #C23 (A80)                                                            
1 #C24 (A80) INIT <'//FIMABEND ENDIF'>                                  
1 #Y2K (A1)  INIT <'N'>                                                 
END-DEFINE                                                              
* ==================================================================== *
OPTIONS TQMARK=OFF                                                      
* ==================================================================== *
FORMAT KD=ON                                                            
SET KEY                                                                 
PF3  = PGM  NAMED 'EXIT'                                                
* ==================================================================== *
MOVE *INIT-USER TO #USER                                                
REPEAT                                                                  
  RESET #ARQ                                                            
  RESET INITIAL #Y2K                                                    
  INPUT (IP=OFF SG=OFF AD=MIL'_')                                       
    02T '-' (78)                                                        
    /       02T *USER                                                   
    20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)                  
    72T  *PROGRAM                                                       
    /       02T  *TIME(AL=8)                                            
    11T '-' (60)                                                        
    72T  *DATE                                                          
    /    28T 'CRIAR FORM NO INFOPRINT'(I) 72T *LIBRARY-ID /             
    /                                                                   
    02T '-' (78)                                                        
    //                                                                  
    03T '  NOME DO FORM ... : ' #FORMS                                  
    //                                                                  
    03T '  DESCRICAO ...... : ' #DESC                                   
    //                                                                  
    03T '  COMANDO PCL .... : ' #PCL                                    
    //                                                                  
    03T '  TIMEOUT ........ : ' #TIMEOUT                                
    //                                                                  
    02T '-' (78)                                                        
    //30T'TECLE PF3 PARA VOLTAR'(I)                                     
* ==================================================================== *
  IF *PF-KEY EQ 'PF3'                                                   
    FETCH 'INFO0113'                                                    
  END-IF                                                                
* ==================================================================== *
  IF #FORMS   = ' '                                                     
    REINPUT 'FORMS ESTA EM BRANCO' MARK *#FORMS   ALARM                 
  END-IF                                                                
* ==================================================================== *
  IF #DESC    = ' '                                                     
    REINPUT 'DESCRICAO ESTA EM BRANCO' MARK *#DESC    ALARM             
  END-IF                                                                
* ==================================================================== *
  IF #PCL     = ' '                                                     
    REINPUT 'PCL ESTA EM BRANCO' MARK *#PCL     ALARM                   
  END-IF                                                                
* ==================================================================== *
  IF #TIMEOUT = ' '                                                     
    REINPUT 'TIMEOUT ESTA EM BRANCO' MARK *#TIMEOUT ALARM               
  END-IF                                                                
* ==================================================================== *
  EXAMINE #FORMS  TRANSLATE INTO UPPER CASE                             
  EXAMINE #DESC   TRANSLATE INTO UPPER CASE                             
* ==================================================================== *
COMPRESS 'create printway-options ' #FORMS                              
    ';' INTO #C10                                                       
COMPRESS '   description = "' #DESC                                     
    '";' INTO #C11                                                      
COMPRESS '   document-header = "' #PCL                                  
    '";' INTO #C12                                                      
COMPRESS '   response-timeout = ' #TIMEOUT                              
    ';' INTO #C13                                                       
* ==================================================================== *
  COMPRESS 'INFO9033 ' *INIT-USER  *PROGRAM #TIMEOUT INTO #C23          
* ==================================================================== *
  COMPUTE #TOT = 25 * 80                                                
  CALL 'RJE' #RC #C01 #TOT                                              
  CALL 'GETJOB' #JOBNUM #CALLER                                         
* ==================================================================== *
  FORMAT KD=OFF                                                         
  DEFINE WINDOW NUMJOB                                                  
    SIZE 08 * 50    BASE 07/17   TITLE ' NUMERO DO JOB '                
    FRAMED ON                                                           
  INPUT WINDOW = 'NUMJOB'                                               
    01/01 'FOI SUBMETIDO O JOB:  ' #JOBNAME  (AD=IO)                    
    02/01 'COM O NUMERO ......:'  #JOBN     (AD=IO)                     
    03/01 '                       '                                     
    04/11 'TECLE ENTER PARA VOLTAR'(I)                                  
* ==================================================================== *
  FETCH 'INFO0113'                                                      
END-REPEAT  
END         

Alterar o timeout do FORM

Essa opção é bem interessante, quando a impressão é feita, o Infoprint tem um tempo para tentar imprimir, esse tempo não pode ser muito alto e nem muito baixo, um tempo que o suporte colocou foi 30 segundos
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0112
  10:56:34 ------------------------------------------------------------ 12/08/26
                            ALTERAR TIMEOUT DAS PICS                    INFOPRIN
                                                                                
           ------------------------------------------------------------         
                                                                                
                 TIMEOUT SEGUNDOS .... :  ________                              
                                                                                
           ------------------------------------------------------------         
                                                                                
                              TECLE PF3 PARA VOLTAR                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   EXIT                                            LOG          

Programa Natural
* ------------------------------------------------------------------- *
* FUNCAO: ALTERAR O TIMEOUT DAS IMPRESSORAS DO INFOPRINT              *
* AUTOR : CLAUDEMAR MARTINS DE SA                                     *
* ------------------------------------------------------------------- *
DEFINE DATA LOCAL                                                      
1 #CALLER   (A4) INIT <'NAT '>                                         
1 #JOBNUM   (A8)                                                       
1 REDEFINE #JOBNUM                                                     
  2 #JOBA   (A3)                                                       
  2 #JOBN   (N5)                                                       
1 #I        (P3)                                                       
1 #RC       (B4)                                                       
1 #TOT      (B2)                                                       
1 #ARQ      (A32)                                                      
1 #TIMEOUT  (A08)                                                      
1 #IP       (A19)                                                      
1 #C01 (A80) INIT                                                      
  <'//AAFSNATB JOB (XXXX,OSB),XXXXXXX,CLASS=S,MSGCLASS=A,TYPRUN=HOLD'> 
1 REDEFINE #C01                                                        
  2 FILLER  2X                                                         
  2 #JOBNAME (A8)                                                 
  2 #FIL1 (A06)                                                   
  2 #ACC  (A04)                                                   
  2 #FIL2 (A06)                                                   
  2 #USER (A07)                                                   
1 #C02 (A80) INIT <'//*UQ ALLOW'>                                 
1 #C03 (A80) INIT <'//* ----------------------------------------'>
1 #C04 (A80) INIT <'//* ALTERAR O IP DA IMPRESSORA #PICS        '>
1 #C05 (A80) INIT <'//* ----------------------------------------'>
1 #C06 (A80) INIT <"//PIDU     EXEC PGM=AOPBATCH,PARM='pidu'">    
1 #C07 (A80) INIT <"//STDOUT   DD  SYSOUT=*">                     
1 #C08 (A80) INIT <"//STDERR   DD  SYSOUT=*">                     
1 #C09 (A80) INIT <"//STDIN    DD  *">                            
1 #C10 (A80)                                                      
1 #C11 (A80)                                                      
1 #C12 (A80)                                                      
1 #C13 (A80)                                                      
1 #C14 (A80)                                                      
1 #C15 (A80)                                                      
1 #C16 (A80)                                                      
1 #C17 (A80)                                                         
1 #C18 (A80)                                                         
1 #C19 (A80)                                                         
1 #C20 (A80)                                                         
1 #C21 (A80)                                                         
1 #C22 (A80)                                                         
1 #C23 (A80)                                                         
1 #C24 (A80)                                                         
1 #C25 (A80)                                                         
**                                                                   
1 #C26 (A80) INIT <'//IFABEND  IF RC EQ 0 THEN'>                     
1 #C27 (A80) INIT                                                    
  <'//* GRAVANDO O LOG NO BANCO ADABAS'>                             
1 #C28 (A80) INIT                                                    
  <'//* -----------------------------------------------------'>      
1 #C29 (A80) INIT                                                    
  <'//STEP01   EXEC NATURAL,PARM1="SYS=P,MT=0,STACK=(LOG INFOPRIN)"'>
1 #C30 (A80) INIT <'//CMWKF01  DD SYSOUT=Z'>                         
1 #C31 (A80) INIT <'//CMWKF02  DD SYSOUT=Z'>                         
1 #C32 (A80) INIT <'//CMPRT01  DD SYSOUT=Z,HOLD=YES'>                
1 #C33 (A80) INIT <'//CMPRINT  DD SYSOUT=Z'>                            
1 #C34 (A80) INIT <'//SYSIN    DD *'>                                   
1 #C35 (A80)                                                            
1 #C36 (A80) INIT <'//FIMABEND ENDIF'>                                  
**                                                                      
1 #Y2K (A1)  INIT <'N'>                                                 
END-DEFINE                                                              
* ==================================================================== *
FORMAT KD=ON                                                            
SET KEY                                                                 
PF3  = PGM  NAMED 'EXIT'                                                
* ==================================================================== *
MOVE *INIT-USER TO #USER                                                
REPEAT                                                                  
  RESET #ARQ                                                            
  RESET INITIAL #Y2K                                                    
  INPUT (IP=OFF SG=OFF AD=MIL'_')                                       
    02T '-' (78)                                                        
    /       02T *USER                                                   
    20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)                  
    72T  *PROGRAM                                                       
    /       02T  *TIME(AL=8)                                            
    11T '-' (60)                                                        
    72T  *DATE                                                          
    /    28T 'ALTERAR TIMEOUT DAS PICS'(I) 72T *LIBRARY-ID /            
    /                                                                   
    11T '-' (60)                                                        
    //                                                                  
    15T '  TIMEOUT SEGUNDOS .... : ' #TIMEOUT                           
    //                                                                  
    11T '-' (60)                                                        
    //30T'TECLE PF3 PARA VOLTAR'(I)                                     
* ==================================================================== *
  IF *PF-KEY EQ 'PF3'                                                   
    FETCH 'INFO0113'                                                    
  END-IF                                                                
* ==================================================================== *
  IF #TIMEOUT = ' '                                                     
    REINPUT 'TIMEOUT ESTA EM BRANCO' MARK *#TIMEOUT ALARM               
  END-IF                                                                
* ==================================================================== *
* EXAMINE #PICS   TRANSLATE INTO UPPER CASE                             
* ==================================================================== *
COMPRESS 'modify printway-options FORM0001 response-timeout = ' #TIMEOUT
    ';' INTO #C10                                                       
COMPRESS 'modify printway-options FORM0004 response-timeout = ' #TIMEOUT
    ';' INTO #C11                                                       
COMPRESS 'modify printway-options FORM0005 response-timeout = ' #TIMEOUT
    ';' INTO #C12                                                       
COMPRESS 'modify printway-options FORM0007 response-timeout = ' #TIMEOUT
    ';' INTO #C13                                                       
COMPRESS 'modify printway-options FORM0008 response-timeout = ' #TIMEOUT
    ';' INTO #C14                                                       
COMPRESS 'modify printway-options FORM0009 response-timeout = ' #TIMEOUT
    ';' INTO #C15                                                       
COMPRESS 'modify printway-options FORM0010 response-timeout = ' #TIMEOUT
    ';' INTO #C16                                                       
COMPRESS 'modify printway-options FORM0012 response-timeout = ' #TIMEOUT
    ';' INTO #C17                                                       
COMPRESS 'display printway-options FORM0001 ;' INTO #C18                
COMPRESS 'display printway-options FORM0004 ;' INTO #C19                
COMPRESS 'display printway-options FORM0005 ;' INTO #C20                
COMPRESS 'display printway-options FORM0007 ;' INTO #C21                
COMPRESS 'display printway-options FORM0008 ;' INTO #C22                
COMPRESS 'display printway-options FORM0009 ;' INTO #C23                
COMPRESS 'display printway-options FORM0010 ;' INTO #C24                
COMPRESS 'display printway-options FORM0012 ;' INTO #C25                
* ==================================================================== *
  COMPRESS 'INFO9033 ' *INIT-USER  *PROGRAM #TIMEOUT INTO #C35          
* ==================================================================== *
  COMPUTE #TOT = 25 * 80                                                
  CALL 'RJE' #RC #C01 #TOT                                              
  CALL 'GETJOB' #JOBNUM #CALLER                                         
* ==================================================================== *
  FORMAT KD=OFF                                                         
  DEFINE WINDOW NUMJOB                                                  
    SIZE 08 * 50    BASE 07/17   TITLE ' NUMERO DO JOB '                
    FRAMED ON                                                           
  INPUT WINDOW = 'NUMJOB'                                               
    01/01 'FOI SUBMETIDO O JOB:  ' #JOBNAME  (AD=IO)                    
    02/01 'COM O NUMERO ......:'  #JOBN     (AD=IO)                     
    03/01 '                       '                                     
    04/11 'TECLE ENTER PARA VOLTAR'(I)                                  
* ==================================================================== *
  FETCH 'INFO0113'                                                      
END-REPEAT                                                              
END                                                                     

Display dos Forms

Essa tela mostra os forms criados e qual é o formato que imprimi - essa opção como não criamos forms coloquei o formularios que temos, a idéia no futuro é criar um programa natural que consulta os forms no banco de dados
                                                                                
  ------------------------------------------------------------------------------
  DBAP055           SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS           INFO0111
  11:02:12 ------------------------------------------------------------ 12/08/26
                                     FORMS                              INFOPRIN
                                                                                
           ------------------------------------------------------------         
                        RETRATO               PAISAGEM                          
           ------------------------------------------------------------         
                        FORM0004              FORM0001                          
                        FORM0005              FORM0012                          
                        FORM0007                                                
                        FORM0008                                                
                        FORM0009                                                
                        FORM0010                                                
           ------------------------------------------------------------         
                                                                                
                              TECLE ENTER PARA SAIR                             
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   EXIT                                            LOG   QUIT   

Programa Natural
* ==================================================================== *
* FUNCAO: MENU DE PESQUISA DE IMPRESSORA                               *
*  AUTOR: CLAUDEMAR MARTINS DE SA                                      *
*  DATA : 15/12/2024                                                   *
* ==================================================================== *
DEFINE DATA LOCAL                                                       
1 #ARQ1 (N3)                                                            
END-DEFINE                                                              
* ==================================================================== *
FORMAT KD=ON                                                            
SET KEY                                                                 
  TREQ        NAMED ' '   /* NOVAS PFS /*                               
PF3  = PGM NAMED 'EXIT'                                                 
PF11 = 'INFO0107' NAMED 'LOG'                                           
PF12 = PGM  NAMED 'QUIT'                                                
* ==================================================================== *
REPEAT                                                                  
  INPUT (IP=OFF SG=OFF AD=MIL'_')                                       
    02T '-' (78)                                                        
    /02T *USER                                                          
    20T 'SUPERINTENDENCIA DE SISTEMAS CORPORATIVOS' (I)                  
    72T *PROGRAM                                                        
    /02T *TIME(AL=8) 11T '-' (60) 72T  *DATE                            
    /37T 'FORMS'(I) 72T *LIBRARY-ID /                                   
    /11T '-' (60)                                                       
    /24T 'RETRATO               PAISAGEM' (I)                           
    /11T'-' (60)                                                        
    /24T 'FORM0004              FORM0001' (I)                           
    /24T 'FORM0005              FORM0012' (I)                           
    /24T 'FORM0007                      ' (I)                           
    /24T 'FORM0008                      ' (I)                           
    /24T 'FORM0009                      ' (I)                           
    /24T 'FORM0010                      ' (I)                           
    /11T'-' (60)                                                        
* ==================================================================== *
    // 30T'TECLE ENTER PARA SAIR'(I)                                    
* ==================================================================== *
  IF *PF-KEY EQ 'PF3' OR = 'PF12' FETCH 'INFOMENU'                      
  IF *PF-KEY EQ 'PF11' FETCH 'INFO0107'                                 
* ==================================================================== *
FETCH 'INFO0113'                                                        
* ==================================================================== *
END                                                                     


Leia Mais