O Common Language Business- Oriented , COBOL , oferece uma variedade de maneiras de acessar dados na memória. Em COBOL , você define os elementos de dados , tais como registros , contadores e variáveis matemáticas temporárias em uma área chamada de seção de armazenamento de trabalho da Divisão de Dados. Uma vez definido , você pode usar as variáveis simplesmente referindo-se a eles pelo nome. Se você precisar fazer referência a um byte dentro de uma variável , defina uma variável posterior usando COBOL do " REDEFINE " cláusula. Se você criar a nova variável como uma matriz, você pode fazer referência a qualquer byte único na primeira variável. Instruções
1
Crie uma variável de memória de armazenamento de trabalho, como no exemplo a seguir :
WORKING- STORAGE SECTION.01 DISPLAY- VARIABLES.05 DISPLAY- AREA PIC X (30) .
Isso configura uma variável chamada " DISPLAY- área".
2
Defina uma nova variável após o primeiro uso da cláusula redefine . Esta variável é uma matriz. Ele faz referência os mesmos dados que a primeira variável usando o novo nome .
05 DISPLAY-BY TES REDEFINE DISPLAY- AREAOCCURS 30 vezes indexados pelo DISPLAY- INDEXPIC X (1).
O " indexados por " cláusula define uma variável de índice. Você não defini-lo em outro lugar de armazenamento de trabalho , pois isso irá gerar um erro . O tamanho do campo original , DISPLAY- AREA, é o mesmo que DISPLAY- bytes, que redefine -lo. Um campo que tem um byte que ocorre 30 vezes é o mesmo que um campo de 30 bytes.
3
Configurar um campo de um byte de armazenamento de trabalho na qual deseja receber os dados, como este exemplo ilustra :
05 SINGLE-BYT E- CAMPO PIC X (1)
4
mover alguns dados para a primeira variável no "Procedimento de divisão " do seu programa, como no . seguinte exemplo:
MOVER INPUT- registro para exibir -AREA
5
Defina o valor do índice de matriz para escolher o byte que você deseja. . Esta linha deve seguir o anterior em seu programa de Procedimento Divisão . Em COBOL , ao contrário da maioria dos outros idiomas além do Fortran , o primeiro elemento tem um índice de um, não zero. Então, se você quiser fazer referência ao primeiro byte no campo, definir o índice a um, como mostrado no exemplo a seguir : .
SET DISPLAY- INDEX TO 1
6
Mover o byte que acabou selecionado para o campo que configurado para receber os dados. Para fazer isso, você especificar o campo de matriz e seu índice associado como no seguinte declaração:
MOVER DISPLAY- bytes ( DISPLAY- índice) para SINGLE- BYTE - CAMPO
.