domingo, 18 de setembro de 2016

Verificar a quantidade de espaço usada da área de dados

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

Até o próximo post!

Nenhum comentário:

Postar um comentário