Olá!
Para que não seja ultrapassado o limite da quantidade de dados que podem ser transitados entre os programas, é necessário realizar a verificação do tamanho da área de dados que está sendo utilizada pelo programa.
Em um programa que não possui lista de registros, a verificação consiste em apenas fazer o somatório dos tamanhos das variáveis que são usadas para receber e enviar dados do programa, se o resultado do somatório ultrapassar o limite suportado pela área de dados será necessário analisar a situação. Exemplo:
Área de dados:
03 REQUISICAO.
* -- OBRIGATORIOS
05 CD-ALUNO PIC 9(009) COMP.
*
03 RESPOSTA.
* -- CONTROLE DE ERRO
05 CD-ERRO PIC 9(009) COMP.
05 TX-ERRO PIC X(120).
* -- DADOS PROCESSADOS
05 NM-ALUNO PIC X(050).
Somatório = 4 + 4 + 120 + 50
Somatório = 178 bytes
Note que variáveis compactadas ocupam um espaço menor, e para o cálculo do somatório é utilizado os valores que cada variável usa/ocupa de espaço na área de dados.
Para os programas que possuem lista de registros, é necessário realizar o cálculo da seguinte forma:
Somatório = somatorioVariaveisFixas + (quantidadeDeOcorrencias * (somatorioVariaveisLista))
Área de dados com lista:
03 REQUISICAO.
* -- OBRIGATORIOS
05 CD-ALUNO PIC 9(009) COMP.
*
03 RESPOSTA.
* -- CONTROLE DE ERRO
05 CD-ERRO PIC 9(009) COMP.
05 TX-ERRO PIC X(120).
* -- DADOS PROCESSADOS
05 LS-ALUNOS OCCURS 10 TIMES.
05 NM-ALUNO PIC X(050).
05 NM-ALUNO-SOBRENOME PIC X(050).
somatorioVariaveisFixas = 4 + 4 + 120
somatorioVariaveisFixas = 128
quantidadeDeOcorrencias = 10
somatorioVariaveisLista = 50 + 50
somatorioVariaveisLista = 100
Somatório = 128 + (10 * 100)
Somatório = 1128 bytes
Repare que mesmo neste exemplo que possui variáveis com tamanhos relativamente pequenos, quando realizado o cálculo para verificar a área total utilizada para conter as informações, o resultado se apresenta maior do que o esperado, pois nenhuma variável possui o tamanho um tamanho "grande" e já está sendo usado mais de 1 MB de espaço.
Então, considerando que aplicações em cenários reais usam mais variáveis, ou até mesmo mais de uma lista na área de dados do programa, é recomendável realizar está simples verificação nos programas desenvolvidos.
Consultar a relação de Termos e Abreviaturas acesse aqui.
FELIPE BARBOSA FERREIRA
FELIPE BARBOSA FERREIRA
Até o próximo post!
Nenhum comentário:
Postar um comentário