segunda-feira, dezembro 29, 2025

Natural - Colocando uma Variavel maiusculo

Foi criado uma rotina no Natural para adicionar impressora no Infoprint. O problema identificado é que, no Infoprint, as impressoras foram cadastradas utilizando apenas letras maiúsculas, e o sistema não aceita valores em minúsculo. Para evitar inconsistências, a variável que recebe o nome da impressora deve sempre converter o conteúdo para maiúsculo automaticamente, mesmo que o usuário digite o nome em letras minúsculas. Dessa forma, garantimos padronização, evitamos erros de comunicação com o Infoprint e mantemos a compatibilidade com os cadastros já existentes no ambiente.

                                                                                
 >                                       > +  Program     INFO0102 Lib NATURAL 
        ....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
   0760 * ==================================================================== *
   0770   EXAMINE #PICS   TRANSLATE INTO UPPER CASE                             
   0780 * ==================================================================== *
   0790   COMPRESS 'MODIFY PRINTER ' #PICS 'PRINTER-IP-ADDRESS = ' #IP          
   0800   ';' INTO #C10                                                         
   0810   COMPRESS 'DISPLAY PRINTER '#PICS                                      
   0820   ';' INTO #C11                                                         
   0830 * ==================================================================== *
   0840   COMPUTE #TOT = 11 * 80                                                
   0850   CALL 'RJE' #RC #C01 #TOT                                              
   0860   CALL 'GETJOB' #JOBNUM #CALLER                                         
   0870 * ==================================================================== *
   0880 FORMAT KD=OFF                                                           
   0890 DEFINE WINDOW NUMJOB                                                    
   0900   SIZE 08 * 50    BASE 07/17   TITLE ' NUMERO DO JOB '                  
   0910      FRAMED ON                                                          
   0920   INPUT WINDOW = 'NUMJOB'                                               
   0930   01/01 'FOI SUBMETIDO O JOB:  ' #JOBNAME  (AD=IO)                      
   0940   02/01 'COM O NUMERO ......:'  #JOBN     (AD=IO)                       
   0950   03/01 '                       '                                       
        ....+....1....+....2....+....3....+....4....+....5....+... S 100  L 76  

Essa é a parte que transforma em maisculo a variavel #PICS

EXAMINE #PICS   TRANSLATE INTO UPPER CASE

Ao colocar minisculo a impressora

                                                                                
  ------------------------------------------------------------------------------                                                    
  MASTER                        SERVICOS INTERNOS                       INFO0102
  11:48:28 ------------------------------------------------------------ 20/03/25
                               ALTERAR IP IMPRESSORA                    NATURAL
                                                                                
           ------------------------------------------------------------         
                                                                                
             PICS ................ :  print252                                  
                                                                                
             NUMERO DO IP ........ :  10.14.1.5__________                       
                                                                                
           ------------------------------------------------------------         
                                                                                
                              TECLE PF3 PARA VOLTAR                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
                   EXIT                                                         

O job colocou a impressora maisculo

MODIFY PRINTER PICS2520 PRINTER-IP-ADDRESS = 10.14.1.5 ;                         
DISPLAY PRINTER PRINT252 ;                                                      
UQS0009 - END OF DATA SET.                                                      
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
--------------------------------------------------------------------------------
OP=S CL=ALL IN=ALL JB=AAFPNATB,09027 DS=1 SI=SI LR=1 LL=80 PP=0 DC= RL=999999   
AD=J DE= SC= PT= SQ=C RR=0 OC= SD=2000   20.03.2025, 11:50:21 

0 comentários:

Enviar um comentário