Quarta, Dezembro 13, 2017

DATA DIVISION: É a terceira divisão de um programa COBOL, descreve os arquivos de entrada e saída que serão usadas pelo programa. Também define as áreas de trabalho e constantes necessárias para o processamento dos dados. É compostas das seguintes seções:

FILE SECTION Define todos os arquivos de entrada e saída;
WORKING-STORAGE SECTION Área para campos que não sejam parte da entrada e saída mas que serão exigidos no transcorrer do processamento. Incluem constantes, indicadores, variáveis, linhas de relatórios, áreas de trabalho, etc;
LOCAL-STORAGE SECTION Define todos os INCLUDE das tabelas (SQLCA, DCLGEN's) e seus CURSORES;
LINKAGE-STORAGE SECTION Descreve os parâmetros formais de entrada e de retorno de dados;
COMMUNICATION SECTION Descreve dados que servirão de interface entre o MCS e o programa.
REPORT SECTION Descreve os relatórios a serem gerados. A descrição de cada relatório começa com um RD (REPORT DESCRIPTION) e é seguido por um ou mais grupo de descrição dos mesmos;
SCREEN SECTION Descreve as telas a serem exibidas durante a execução do programa.

 

LOCAL-STORAGE SECTION:

  • Define o armazenamento que é alocado e liberado em uma base por invocação. Em cada invocação, os itens de dados definidos na LOCAL-STORAGE SECTION são realocados. Cada item de dados que possui uma cláusula VALUE é inicializado para o valor especificado nessa cláusula.
  • Para programas aninhados, os itens de dados definidos na LOCAL-STORAGE SECTION são alocados em cada invocação do programa mais externo que contém. No entanto, cada item de dados é reinicializado para o valor especificado na cláusula VALUE cada vez que o programa aninhado é invocado.
  • Para métodos, uma cópia separada dos dados definidos em LOCAL-STORAGE é alocada e inicializada em cada invocação do método. O armazenamento alocado para os dados é liberado quando o método retorna.
  • Os itens de dados definidos no LOCAL-STORAGE SECTION não podem especificar a cláusula EXTERNAL.
  • A LOCAL-STORAGE SECTION deve começar com o cabeçalho LOCAL-STORAGE SECTION, seguido de um período de separação.
  • Você pode especificar a LOCAL-STORAGE SECTION em programas recursivos, em programas não recursivos e em métodos.
  • O método LOCAL-STORAGE é o mesmo que o conteúdo do programa LOCAL-STORAGE, exceto que a cláusula GLOBAL não tem efeito (porque os métodos não podem ser aninhados).

 

LINKAGE-STORAGE SECTION: 

  • Descreve os dados disponibilizados a partir de outro programa através da instrução CALL.
  • Ele também pode ser usado para descrever o formato dos dados acessados ​​usando o registro especial ADDRESS OF.
  • As entradas de descrição de registro e as entradas de descrição de item de dados na seção de vinculação fornecem nomes e descrições do item de dados, mas não o armazenamento. O armazenamento não é reservado no programa porque a área de dados existe em outro lugar. Nomes de tipos podem ser definidos na seção LINKAGE.

Qualquer cláusula de descrição de dados pode ser usada para descrever itens na LINKAGE-SECTION, com essas exceções:

  • A cláusula VALUE não pode ser especificada para itens Nível-88 itens.
  • Se a cláusula VALUE for especificada para itens que não sejam o nível 88 na seção Linkage, ela será tratada como um comentário.
  • A cláusula EXTERNAL não pode ser especificada na seção Linkage.
  • A cláusula GLOBAL não pode ser especificada na seção Linkage.
  • A cláusula GLOBAL pode ser especificada para um nome de dado ou nome de condição na seção LINKAGE, com o número de nível 01. Quando GLOBAL é especificado em um item de dados de seção LINKAGE, um programa de origem contido pode se referir diretamente ao item pelo nome de O item de dados. Para mais informações sobre a codificação da seção de ligação, consulte o Guia do ILE COBOL Programmer .

 

COMMUNICATION SECTION:

  • Composta pelo cabeçalho de seção, seguido por entradas de descrição de comunicação consistindo de um indicador de nível (CD), um cd-name e uma série de cláusulas independentes. A entrada de descrição de comunicação é terminada por um período.
  • A entrada de descrição de registro associada à COMMUNICATION SECTION pode ser implicitamente redefinida por entradas de descrição de registro especificadas pelo usuário escritas imediatamente após a entrada de descrição de comunicação.

 

SCREEN SECTION:

  • A estrutura sintática da SCREEN SECTION se assemelha à da WORKING-STORAGE SECTION. Ou seja, consiste em um cabeçalho de seção seguido de zero, uma ou mais entradas, cada uma das quais consiste em um número de nível necessário seguido por uma série de cláusulas opcionais.
  • As entradas especificam a aparência de uma área de exibição retangular chamada tela. As dimensões horizontais e verticais máximas significativas da tela são determinadas pelas características de hardware do terminal associado com a unidade de execução. O limite comum para a dimensão horizontal é de 80 posições de caractere, eo limite comum para a dimensão vertical é de 25 linhas.
  • As entradas de tela podem ser usadas para definir toda ou qualquer parte da tela física, e toda a tela ou qualquer sub-região dela pode ser redefinida quantas vezes for necessário pelo programa.
  • Números de nível são usados ​​da mesma maneira como nas outras seções da divisão de dados. Ou seja, entradas de nível 77 são usadas para descrever itens de tela que não fazem parte de uma estrutura maior e não subdivididos em entradas subordinadas. Números de nível de 01 a 49 podem ser usados ​​para definir entradas de tela que estão organizadas em uma estrutura hierárquica: nível 01 é o mais inclusivo. Os números de nível 66 e 88 não podem ser usados ​​na SCREEN SECTION.
  • Cada entrada na SCREEN SECTION pode definir um nome de tela. As regras relativas à unicidade dos nomes de tela são as mesmas que as regras relativas à unicidade de nomes de dados nas outras seções da DATA-DIVISION. Ou seja, um nome de tela definido no nível 01 ou 77 na Seção de Tela deve ser exclusivo somente se houver uma referência a ele em outro lugar do programa. Nomes de tela subordinados (aqueles nos números de nível 02 a 49) não precisam ser únicos se podem ser tornados únicos por qualificação ou se não houver referências a eles em outras partes do programa.
  • Nomes de tela definidos na SCREEN SECTION não representam itens de dados, e eles podem ser referidos em outro lugar do programa somente em declarações ACCEPT e DISPLAY.

 

REPORT SECTION:

  • Contém uma ou mais entradas de REPORT DESCRIPTION(entradas RD), cada uma das quais forma a descrição completa de um relatório.
  • O relatório nomeado na entrada RD não é atribuído diretamente a um arquivo de saída. Em vez disso, ele está associado a um nome de arquivo na seção de arquivo e esse nome de arquivo está associado a um arquivo quando uma instrução OPEN especificando o nome do arquivo é executada. Mais de um relatório pode ser associado com o mesmo nome de arquivo ea cláusula CODE é usada para diferenciar entre os relatórios. Para um conector de arquivo externo referenciado por um nome de arquivo, programas compilados separadamente podem especificar relatórios diferentes para o mesmo nome de arquivo. Esta entrada de descrição de arquivo deve especificar o nome de uma entrada de descrição de relatório para cada relatório associado a esse nome de arquivo neste programa.
  • A entrada RD contém um conjunto de cláusulas que nomeia o relatório e fornece informações específicas sobre o formato da página impressa ea organização das subdivisões do relatório. Um código de identificação pode ser dado na entrada de RD para que cada relatório possa ser identificado separadamente em um arquivo de saída intermediário.
  • Após cada entrada de RD, há uma ou mais entradas de número de nível 01, cada uma seguida por uma estrutura hierárquica semelhante a descrições de registros COBOL. Cada entrada de número de nível 01 e suas entradas subordinadas descrevem um grupo de relatório. Cada grupo de relatórios consiste em uma ou mais linhas de impressão que são consideradas como uma unidade. Um grupo de relatórios que está a ser impressa é impresso inteiramente em uma página lógica; Ele nunca é dividido em páginas.

Vagas

Em breve estaremos divulgando vagas de COBOL/CICS/DB2

Camisetas