Como: |
Linguagens Disponíveis: Reporting, Maintain
A função ITOPACK converte um inteiro binário grande em uma fonte de dados não FOCUS em formato decimal compactado.
Algumas linguagens de programação e sistemas de armazenamento de dados não FOCUS utilizam formatos de inteiro binários comduas palavras. Estes são parecidos com os inteiros binários de uma palavra utilizados pelo FOCUS, mas permitem números mais altos. No entanto, inteiros binários grandes (mais de 4 bytes de comprimento) não possuem suporte no Arquivo Master, portanto necessitam de conversão para o formato decimal compactado.
Você deve especificar quantos dos bytes mais à direita no campo de entrada são significativos. O resultado é um campo decimal compactados de 8 bytes e com até 15 posições numéricas significativas (por exemplo, P15 ou 16.2).
Limite: Para um campo definido como 'PIC 9(15) COMP' ou o equivalente (15 dígitos significativos), o número máximo que pode ser convertido é 167.744.242.712.576.
ITOPACK(maxbytes, infield, output)
onde:
Numérico
É o número máximo de bytes no campo de entrada binário de 8 bytes com dados numéricos importantes, incluindo o sinal binário.
Valores válidos são:
A8
É o campo que contém o número binário. Ambos os formatos USAGE e ACTUAL do campo devem ser A8.
Numérico
É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples. O formato deve ser Pn ou Pn.d.
Suponha que um número binário em um arquivo externo possua o seguinte formato COBOL:
PIC 9(8)V9(4) COMP
É definido no Arquivo Master EUROCAR como um campo com nome BINARYFLD. Seus formatos de campo são USAGE=A8 e ACTUAL=A8, já que seu comprimento é maior que 4 bytes.
A solicitação a seguir converte o campo no formato de decimal compactado:
DEFINE FILE EUROCAR
PACKFLD/P14.4 = ITOPACK(6, BINARYFLD, PACKFLD);
END
TABLE FILE EUROCAR
PRINT PACKFLD BY CAR
END
Information Builders |