Comment : |
Langages disponibles : reporting, Maintain
La fonction ITOPACK convertit un entier binaire de taille importante de votre source de données en un format décimal condensé.
Certains langages de programmation et systèmes de stockage de données utilisent un format entier binaire double mot. Ceux-ci sont similaires aux entiers binaires de mot unique utilisés par FOCUS, mais ils permettent les nombres de taille importante. Toutefois, les entiers binaires de taille importante (supérieurs à 4 octets) ne sont pas pris en charge par le fichier maître et doivent donc être convertis au format décimal condensé.
Vous devez indiquer combien d'octets le plus à droite du champ d'entrée sont importants. Cela a pour résultat un champ au format décimal condensé à 8 octets contenant au maximum 15 positions numériques significatives (par exemple, P15 ou P16.2).
Limites : Pour un champ désigné comme 'PIC 9(15) COMP' ou l'équivalent (15 chiffres significatifs), le nombre maximal qui peut être converti est 167744242712576.
ITOPACK(maxbytes, infield, output)
où :
Numérique
est le nombre maximum d'octets dans le champ d'entrée 8 octets binaire qui ont des données numériques significatives, y compris le signe binaire.
Voici les valeurs valables :
A8
est le champ qui contient le nombre binaire. Les formats USAGE et ACTUAL du champ doivent être A8 tous les deux.
Numérique
est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples. Le format doit être Pn ou Pn.d.
Supposez que le nombre binaire dans un fichier externe est au format COBOL suivant :
PIC 9(8)V9(4) COMP
Elle est définie dans le fichier maître EUROCAR comme un champ nommé BINARYFLD. Ses formats de champs sont USAGE=A8 et ACTUAL=A8, puisque sa longueur est supérieure à 4 octets.
La requête suivante convertit le champ en format condensé :
DEFINE FILE EUROCAR
PACKFLD/P14.4 = ITOPACK(6, BINARYFLD, PACKFLD);
END
TABLE FILE EUROCAR
PRINT PACKFLD BY CAR
END
WebFOCUS |