Thursday 21 November 2024

Descrição

O BIF DEEDIT fornece a função incorporada DEEDIT. Ele especifica que caracteres alfabéticos e especiais são removidos de um campo de dados EBCDIC e os dígitos restantes alinhados à direita e preenchidos à esquerda com zeros, conforme necessário.

Se o campo terminar com um sinal de menos ou um retorno de carro (CR), uma zona negativa ( X'D ' ) será colocada no byte mais à direita (ordem baixa).

Se a parte da zona do byte mais à direita contiver um dos caracteres X'A ' a X'F' e a parte numérica contiver um dos dígitos hexadecimais X'0 ' a X'9' , o byte mais à direita será retornado inalterado ( veja o exemplo). Isso permite que o programa aplicativo opere em um campo numérico zonado. O valor retornado está no campo que inicialmente continha os dados não editados.

Um campo de 1 byte é retornado inalterado, não importa o que o campo contenha.

 

Opções:

FIELD(data-area)

especifica o campo a ser editado.

 

LENGTH(data-value)

especifica o comprimento do campo em bytes.

 

Condições:

22 LENGERR

Ocorre se o valor LENGTH for menor que 1.

Ação padrão: finalize a tarefa de forma anormal.

 

Exemplos:

EXEC CICS BIF DEEDIT
     FIELD(CONTG)
     LENGTH(9)

Isso remove todos os caracteres que não sejam dígitos do CONTG, um campo de 9 bytes, e retorna o resultado editado nesse campo para o programa aplicativo.

Dois exemplos do conteúdo do CONTG antes e após a execução do comando são:

Original value      Returned value
14-6704/B             00146704B
$25.68                000002568

 

Um ponto decimal é um caractere especial EBCDIC e, como tal, é removido.