ITOPACK: Conversione di un numero intero binario grande in un formato decimale compresso

Come:

Lingue disponibili: reporting, Maintain

La funzione ITOPACK converte un valore intero binario di grandi dimensioni, in una origine dati non-FOCUS, in un formato decimale compresso.

Alcune lingue di programmazione e alcuni sistemi di memorizzazione dati non-FOCUS usano formati di valori interi binari a parola-doppia. Questi formati sono simili ai valori interi binari a parola singola usati da FOCUS, ma consentono numeri di dimensioni più grandi. Tuttavia, i valori interi binari di grandi dimensioni (lunghi più di 4 byte) non sono supportati nel file principale, quindi richiedono la conversione nel formato decimale compresso.

È necessario specificare quanti byte all'estrema destra nel campo d'immissione sono significativi. Il risultato è un campo decimale compresso di 8 byte fino a 15 posizioni numeriche significative (per esempio, P15 o P16.2).

Limite: Per un campo definito come 'PIC 9(15) COMP' o l'equivalente (15 cifre significative), il numero massimo da convertire è 167,744,242,712,576.


Inizio pagina

x
Sintassi: Come convertire un numero intero binario grande in un formato decimale compresso
ITOPACK(maxbytes, infield, output)

dove:

maxbytes

Numerico

Numero massimo di byte nel campo di immissione binario da 8 byte con dati numerici significativi, incluso il segno binario.

I valori validi sono:

  • 5 ignora i 3 byte sull'estrema sinistra (fino a 11 posizioni significative).
  • 6 ignora i 2 byte sull'estrema sinistra (fino a 14 posizioni significative).
  • 7 ignora il byte sull'estrema sinistra (fino a 15 posizioni significative).
infield

A8

Campo che contiene il numero binario. I formati USAGE e ACTUAL del campo devono essere A8.

emissione

Numerico

Nome del campo che contiene il risultato o il formato del valore di emissione racchiuso tra virgolette singole. Il formato deve essere Pn o Pn.d.



Esempio: Conversione di un numero intero binario grande in un formato decimale compresso

Supporre che un numero binario in un file esterno presenti il seguente formato COBOL:

PIC 9(8)V9(4) COMP

Tale funzione è definita nel file principale EUROCAR come campo chiamato BINARYFLD. I formati campo della funzione sono USAGE=A8 e ACTUAL=A8, poiché la sua lunghezza è maggiore di 4 byte.

La seguente richiesta converte il campo in formato decimale compresso:

DEFINE FILE EUROCAR
PACKFLD/P14.4 = ITOPACK(6, BINARYFLD, PACKFLD);
END
TABLE FILE EUROCAR
PRINT PACKFLD BY CAR
END

WebFOCUS