Com o comando INSPECT é possível percorrer cada caractere de uma string, e assim analisar ou manipular a string. Também com este comando podemos descobrir o tamanho string dentro uma variável.
Porque descobrir o tamanho da string?
Imaginamos que no banco de dados se tenha um campo TEXTO VARCHAR (050), e no COBOL a variável que armazena o valor que irá para o DB é MENSAGEM PIC X (050). Se a movimentação for realizada de forma simples:
MOVE MENSAGEM TO VARIAVEL-DB-TEXTO.
Todos os 50 bytes serão utilizados todas as vezes, e isso não será útil (o melhor) para o DB. Pois, mesmo que a MENSAGEM tenha o valor igual a “Teste ” que somente ocupa 5 bytes no DB, a movimentação acima irá considerar até os espaços em branco (posições vazias no final da mensagem) totalizando 50 bytes para o BD.
Como movimentar somente o conteúdo da string?
MOVE MENSAGEM(1:TAM-STRING) TO VARIAVEL-DB-TEXTO.
Com a movimentação acima é considerado somente o conteúdo da 1ª posição até o final da string, de modo que o final da string é o tamanho dela, ou seja, “Teste ” tem o tamanho 5, então o final da string é na posição cinco, então TAM-STRING = 5.
Para encontrar o tamanho da string, será nos seguintes passos:
- Percorrer a string do FINAL para o começo, até que seja encontrado algum caractere;
- Com a quantidade de posições vazias encontrada, subtrair do tamanho total da variável;
- Movimentar o conteúdo fixado com os indicadores (1:TAM-STRING).
“Teste de encontrar tamanho STRING ” com tamanho 33.
Sendo que o resultado é MOVE TEXTO (1:33) TO DB. Considerando somente o conteúdo da variável.
Para Ctrl + C do código acesse aqui.
Consultar a relação de Termos e Abreviaturas acesse aqui.
Até o próximo post!
Nenhum comentário:
Postar um comentário