COBOL - Comando STRING - www.cadcobol.com.br
*----------------------------------------------------------------- WORKING-STORAGE SECTION. *----------------------------------------------------------------- 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(060) VALUE SPACES. *----------------------------------------------------------------- PROCEDURE DIVISION. *----------------------------------------------------------------- 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 DELIMITED BY SPACES INTO WS-NOME-COMPLETO END-STRING
*----------------------------------------------------------------- WORKING-STORAGE SECTION. *----------------------------------------------------------------- 01 WS-AUXILIARES. 05 DATE-TEXT PIC X(40) VALUE SPACES. 01 SYS-CORRENTE-DATA. 05 SYS-COR-SECULO-ANO. 10 SYS-CORRENTE-SECULO PIC 9(2) VALUE ZEROES. 10 SYS-CORRENTE-ANO PIC 9(2) VALUE ZEROES. 05 SYS-ANO-INTEIRO REDEFINES SYS-COR-SECULO-ANO PIC 9(4). 05 SYS-CORRENTE-MES PIC 9(2) VALUE ZEROES. 05 SYS-CORRENTE-DIA PIC 9(2) VALUE ZEROES. 05 SYS-CORRENTE-HORA PIC 9(2) VALUE ZEROES. 05 SYS-CORRENTE-MINUTOS PIC 9(2) VALUE ZEROES. 05 SYS-CORRENTE-SEGUNDO PIC 9(2) VALUE ZEROES. 05 SYS-CORRENTE-SEC PIC 9(2) VALUE ZEROES. 05 SYSTEM-CURRENT-GMT. 10 SYSTEM-GMT-TIME-DIFFERNTIAL PIC X VALUE ZEROES. 10 SYSTEM-GMT-HOUR-DIFFERNITAL PIC 9(2) VALUE ZEROES. 10 SYSTEM-GMT-MINUTE-DIFFERENTIAL PIC 9(2) VALUE ZEROES. 01 TAB-NOME-MES. 05 TAB-NOME-MES VALUE "JANEIRO FEVEREIROMARCO ABRIL MAIO JUNHO JU - "LHO AGOSTO SETEMBRO OUTUBRO NOVEMBRO DEZEMBRO ". 10 NOME-MES PIC X(009) OCCURS 12 TIMES. 01 NOME-DIA-SEMANA. 05 SEMANA-DIA-NOME VALUE "SEGUNDATERCA QUARTA QUINTA SEXTA SABADO DOMINGO". 10 SEMANA-DIA-NOME PIC X(007) OCCURS 07 TIMES. *----------------------------------------------------------------- PROCEDURE DIVISION. *----------------------------------------------------------------- MOVE FUNCTION CURRENT-DATE TO SYS-CORRENTE-DATA STRING "Brasilia, " DELIMITED BY SIZE SYS-CORRENTE-DIA DELIMITED BY SIZE " de " DELIMITED BY SIZE NOME-MES ( SYS-CORRENTE-MES ) DELIMITED BY SPACES " de " DELIMITED BY SIZE SYS-COR-SECULO-ANO DELIMITED BY SIZE " - " DELIMITED BY SIZE SEMANA-DIA-NOME ( SISTEMA-DIA-DA-SEMANA ) DELIMITED BY SPACES INTO DATE-TEXT END-STRING
STRING PRI-NOME DELIMITED BY " " " " DELIMITED BY SIZE ULT-NOME DELIMITED BY " " INTO NOME-COMPETO END-STRING
STRING CAMPO-1 CAMPO-2 CAMPO-3 DELIMITED BY SIZE INTO CAMPO-123 END-STRING
STRING CAMPO-1 CAMPO-2 CAMPO-3 DELIMITED BY "*" INTO CAMPO-123 END-STRING
STRING CAMPO-1 CAMPO-2 CAMPO-3 DELIMITED BY "*" INTO CAMPO-123 POINTER PT1 END-STRING
STRING FLDA FLDB FLDX DELIMITED BY WS-DEL INTO FLDABC END-STRING
FLDA = AB&XYZ FLDB = LMN&OP FLDC = ST&V WS-DEL = & Resultado: FLDABC = ABLMNST