COBOL - Montagem de uma data com espacejamento perfeito - www.cadcobol.com.br


clique aqui para imprimir esta página

Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com


COBOL - montagem de uma data com espacejamento perfeito
O programa abaixo listado tem por finalidade demonstrar a montagem de uma data com espacejamento perfeito.

Código
         1         2         3         4         5         6         7   
123456789012345678901234567890123456789012345678901234567890123456789012

      *-----------------------------------------------------------------
       IDENTIFICATION DIVISION.                                         
      *-----------------------------------------------------------------
       PROGRAM-ID.    CADDATAP.                                         
       AUTHOR.        CARLOS ALBERTO DORNELLES.                         
                                                                        
      *-----------------------------------------------------------------
      * OBJETIVO      : COMO MONTAR UMA DATA PERFEITA                   
      * ANALISTA      : CARLOS ALBERTO DORNELLES                        
      * LINGUAGEM     : COBOL                                           
      * MODO OPERACAO : BATCH                                           
      *-----------------------------------------------------------------
      * VERSAO DD.MM.AAAA  HISTORICO/AUTOR                              
      * ------ ----------  ---------------                              
      *   001  05.02.2007  PROGRAMA INICIAL - DORNELLES                 
      *-----------------------------------------------------------------
                                                                        
      *-----------------------------------------------------------------
       ENVIRONMENT DIVISION.                                            
      *-----------------------------------------------------------------
                                                                        
       CONFIGURATION SECTION.                                           
       SPECIAL-NAMES.                                                   
           DECIMAL-POINT IS COMMA.                                      
                                                                        
      *-----------------------------------------------------------------
       DATA DIVISION.                                                   
      *-----------------------------------------------------------------
                                                                        
      *-----------------------------------------------------------------
       WORKING-STORAGE SECTION.                                         
      *-----------------------------------------------------------------
                                                                        
       01  WS-AUXILIARES.                                               
           05  WS-VERSAO-PROGRAMA        PIC X(009) VALUE '0001/2007'.  
           05  WS-DATA-EXTENSO           PIC X(040) VALUE SPACES.       
           05  WS-DATA-CORRENTE.                                        
               10  WS-SECULO-ANO.                                       
                   15  WS-SECULO         PIC 9(002) VALUE ZEROES.       
                   15  WS-ANO            PIC 9(002) VALUE ZEROES.       
               10  WS-ANO-INTEIRO        REDEFINES WS-SECULO-ANO        
                                         PIC 9(004).                    
               10  WS-MES                PIC 9(002) VALUE ZEROES.       
               10  WS-DIA                PIC 9(002) VALUE ZEROES.       
               10  WS-HORAS              PIC 9(002) VALUE ZEROES.       
               10  WS-MINUTOS            PIC 9(002) VALUE ZEROES.       
               10  WS-SEGUNDOS           PIC 9(002) VALUE ZEROES.       
               10  WS-MILESSIMOS         PIC 9(002) VALUE ZEROES.       
               10  FILLER                PIC X(005) VALUE SPACES.       
           05  TAB-NOME-MES              VALUE                          
               "janeiro  fevereiromarço    abril    maio     junho    ju
      -        "lho    agosto   setembro outubro  novembro dezembro ".  
               10  NOME-MES              PIC X(009) OCCURS 12 TIMES.    
                                                                        
      *-----------------------------------------------------------------
       PROCEDURE DIVISION.                                              
      *-----------------------------------------------------------------
                                                                        
           MOVE FUNCTION CURRENT-DATE TO WS-DATA-CORRENTE               
           STRING                                                       
                 'Brasilia, '          DELIMITED BY SIZE                
                 WS-DIA                DELIMITED BY SIZE                
                 ' de '                DELIMITED BY SIZE                
                 NOME-MES ( WS-MES )   DELIMITED BY SPACES              
                 ' de '                DELIMITED BY SIZE                
                 WS-ANO-INTEIRO        DELIMITED BY SIZE                
                 '.'                   DELIMITED BY SIZE                
                 INTO WS-DATA-EXTENSO                                   
           END-STRING                                                   
           DISPLAY 'Versao do programa : ' WS-VERSAO-PROGRAMA           
           DISPLAY '              '                                     
           DISPLAY 'Data do dia ...... : ' WS-DATA-EXTENSO              
           GOBACK.                                                      
                                                                        
       Resultado:

       Versao do programa : 0001/2007                           
                                                         
       Data do dia ...... : Brasilia, 01 de janeiro de 2007.  
       Data do dia ...... : Brasilia, 05 de fevereiro de 2007.  
       Data do dia ...... : Brasilia, 01 de marco de 2007.