Pular para o conteúdo principal
Módulo 4 · Lição 1 de 27/10 no curso~12 min
Lições do módulo (1/2)

Itens e registros de grupo

No COBOL, variáveis ​​elementares podem ser agrupadas em uma estrutura hierárquica chamada item de grupo ou registro. Isso permite tratar um conjunto de dados relacionados como uma entidade única (por exemplo, para copiá-los ou exibi-los) ou como campos individuais.

Números de nível e relações hierárquicas

Para definir um registro, você usa números de nível em DATA DIVISION:

  • Nível 01: Define o registro principal (o nome do grupo). Não possui cláusula própria PICTURE porque seu tamanho é determinado pela soma de seus campos internos.
  • Níveis subordinados (05, 10, 15, etc.): Identifique os campos subordinados pertencentes ao grupo de nível superior. Podem ser variáveis ​​elementares (com cláusula PIC) ou, por sua vez, outros itens de grupo (sub-registros).
COBOL
01 WS-EMPLOYEE-RECORD.
    05 WS-EMP-ID       PIC 9(5).
    05 WS-EMP-NAME     PIC X(20).
    05 WS-EMP-SALARY   PIC 9(6)V99.

Neste exemplo, WS-EMPLOYEE-RECORD é uma estrutura de grupo que contém três campos subordinados. Se fizermos referência a WS-EMPLOYEE-RECORD, lemos ou escrevemos todos os 5 + 20 + 8 = 33 caracteres do registro de uma vez.

A instrução MOVE e os itens do grupo

Podemos atribuir valores a campos elementares individuais:

COBOL
MOVE 10023 TO WS-EMP-ID.
MOVE "JOHN DOE" TO WS-EMP-NAME.

Ou podemos copiar um registro inteiro para outro registro compatível em uma única operação:

COBOL
MOVE WS-EMPLOYEE-RECORD TO WS-EMPLOYEE-BACKUP.

Experimente você mesmo

Exercício#cobol.m4.l1.e1
Tentativas: 0Carregando…

Declare uma estrutura de grupo 01 denominada WS-STUDENT-RECORD contendo três subcampos do nível 05: WS-STUDENT-ID (numérico de 5 dígitos), WS-STUDENT-NAME (alfanumérico de 15 caracteres) e WS-STUDENT-GPA (numérico com 1 dígito inteiro e 2 decimais).

Carregando editor…
Mostrar dica

Use a sintaxe: 01 WS-STUDENT-RECORD. (com ponto e sem PIC), seguido nas próximas linhas pelo nível 05 WS-STUDENT-ID PIC 9(5)., 05 WS-STUDENT-NAME PIC X(15). e 05 WS-STUDENT-GPA PIC 9(1)V99.

Solução disponível após 3 tentativas

Exercício#cobol.m4.l1.e2
Tentativas: 0Carregando…

Conclua PROCEDURE DIVISION movendo o valor 10023 para WS-EMP-ID, o texto 'JOHN DOE' para WS-EMP-NAME e, finalmente, exiba a estrutura de grupo WS-EMPLOYEE-RECORD usando DISPLAY.

Carregando editor…
Mostrar dica

Use MOVE 10023 PARA WS-EMP-ID. e MOVER 'JOHN DOE' PARA WS-EMP-NAME. para atribuir valores e escreva DISPLAY WS-EMPLOYEE-RECORD. e finalmente PARE DE EXECUÇÃO.

Solução disponível após 3 tentativas