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.