COBOL - Exemplos simples - STRING - www.cadcobol.com.br



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

COBOL - Exemplos simples - STRING (01)
IDENTIFICATION DIVISION.
PROGRAM-ID.  STRING.
AUTHOR.      DORNELLES CARLOS ALBERTO.

ENVIRONMENT DIVISION.                                            
CONFIGURATION SECTION.                                           
SPECIAL-NAMES.                                                   
    DECIMAL-POINT IS COMMA. 

DATA DIVISION.
WORKING-STORAGE SECTION.

01  WS-AUXILIARES.
    05  WS-DEL              PIC X(001)       VALUE '&'. 
    05  PT1                 PIC 9(005)       VALUE 1. 
    05  CAMPO-1             PIC X(006)       VALUE 'AB*CD'. 
    05  CAMPO-2             PIC X(006)       VALUE 'JKL*MN'. 
    05  CAMPO-3             PIC X(006)       VALUE 'S*TUV'. 
    05  CAMPO-123           PIC X(020)       VALUE SPACES.
    05  WS-NOME-01          PIC X(020)       VALUE 'Carlos'.
    05  WS-NOME-02          PIC X(020)       VALUE 'Alberto'.
    05  WS-NOME-03          PIC X(020)       VALUE 'Dornelles'.
    05  WS-NOME-04          PIC X(020)       VALUE '- Brasilia'.
    05  WS-NOME-COMPLETO    PIC X(080)       VALUE SPACES.

PROCEDURE DIVISION.

001-INICIO.

    STRING                                                    
          WS-NOME-01 DELIMITED BY SPACES ' ' DELIMITED BY SIZE 
          WS-NOME-02 DELIMITED BY SPACES ' ' DELIMITED BY SIZE 
          WS-NOME-03 DELIMITED BY SPACES ' ' DELIMITED BY SIZE 
          WS-NOME-04                       
      INTO  
          WS-NOME-COMPLETO                                     
    END-STRING
    DISPLAY 'Nome completo: ' WS-NOME-COMPLETO

* Resultado do teste:

* Nome completo: Carlos Alberto Dornelles - Brasilia

    STRING CAMPO-1 CAMPO-2 CAMPO-3 
           DELIMITED BY "*" 
      INTO CAMPO-123
    END-STRING
    DISPLAY 'CAMPO-123: ' CAMPO-123

* Resultado do teste:

* CAMPO-123: ABJKLS         

    STRING CAMPO-1 CAMPO-2 CAMPO-3 
           DELIMITED BY "*" 
      INTO CAMPO-123 
           POINTER PT1
    END-STRING
    DISPLAY 'CAMPO-123: ' CAMPO-123
    DISPLAY 'PT1      : ' PT1

* Resultado do teste:

* CAMPO-123: ABJKLS              
* PT1      : 00007

    STRING CAMPO-1 CAMPO-2 CAMPO-3 
           DELIMITED BY "*" 
      INTO CAMPO-123 
           POINTER PT1
    END-STRING
    DISPLAY 'CAMPO-123: ' CAMPO-123
    DISPLAY 'PT1      : ' PT1

* Resultado do teste:

* CAMPO-123: ABJKLSABJKLS                      
* PT1      : 00013

    MOVE SPACES   TO CAMPO-123 
    MOVE 'AB&XYZ' TO CAMPO-1
    MOVE 'LMN&OP' TO CAMPO-2
    MOVE 'ST&V  ' TO CAMPO-3

    STRING CAMPO-1 CAMPO-2 CAMPO-3 
           DELIMITED BY WS-DEL 
      INTO CAMPO-123
    END-STRING
    DISPLAY 'CAMPO-123: ' CAMPO-123

* Resultado do teste:
* CAMPO-123: ABLMNST             

    STOP RUN.

Veja também: Outros exemplos


COBOL - Exemplos simples - STRING (02)
IDENTIFICATION DIVISION.
PROGRAM-ID. STRING.
AUTHOR.     DORNELLES CARLOS ALBERTO.

DATA DIVISION.
FILE SECTION.

WORKING-STORAGE SECTION.

01          WS-DATAHORA.
    05      WS-FUNCTION-CURRENT-DATE PIC X(14).

01          WS-DATAHORA-FORMATADA.
    05      WS-DATA-FORMATADA        PIC X(10).
    05      WS-HORA-FORMATADA        PIC X(08).

PROCEDURE DIVISION.

    MOVE FUNCTION CURRENT-DATE TO WS-FUNCTION-CURRENT-DATE
    DISPLAY "WS-DATAHORA - " WS-FUNCTION-CURRENT-DATE
	
    STRING
           WS-FUNCTION-CURRENT-DATE (07:2) "/"
           WS-FUNCTION-CURRENT-DATE (05:2) "/"
           WS-FUNCTION-CURRENT-DATE (01:4)
      INTO WS-DATA-FORMATADA	
    END-STRING
	     
    STRING
           WS-FUNCTION-CURRENT-DATE (09:2) ":"
           WS-FUNCTION-CURRENT-DATE (11:2) ":"
           WS-FUNCTION-CURRENT-DATE (13:2)
      INTO WS-HORA-FORMATADA
    END-STRING

    DISPLAY "WS-DATA-FORMATADA : " WS-DATA-FORMATADA
    DISPLAY "WS-HORA-FORMATADA : " WS-HORA-FORMATADA

    STOP RUN.

Resultado:

WS-DATAHORA - 20220302011708 WS-DATA-FORMATADA : 02/03/2022 WS-HORA-FORMATADA : 01:17:08