quarta-feira, agosto 12, 2026

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                                                                     


1 comentário:

  1. Existe uma opção para consultar, cadastrar e excluir impressoras diretamente pelo TSO. Porém acho as telas do Infoprint pouco intuitivas e, muitas vezes, confusas para realizar operações ao InfoPrint Server.

    Pensando nisso, foi desenvolvido um sistema em Natural/Adabas com o objetivo de tornar esse processo mais simples, rápido e organizado. Por meio do sistema, as principais operações de gerenciamento das impressoras podem ser realizadas de forma mais intuitiva, sem a necessidade de navegar pelas diversas telas e comandos do TSO.

    A proposta é justamente descomplicar o trabalho operacional, disponibilizando uma interface mais amigável para consultar, cadastrar e deletar impressoras, facilitando o dia a dia da equipe responsável pela administração do ambiente InfoPrint Server.

    ResponderEliminar