Utilità per il browser

Strumenti

Utilità per le operazioni ricorrenti su IBM i: conversione di date e formati numerici, lettura dei dati, generazione di comandi. Funzionano nel browser, senza installazione.

I calcoli avvengono sul dispositivo in uso. I dati inseriti non vengono trasmessi al server.

Convertitore di date IBM i

Scrivi una data in qualsiasi formato e ottienila in tutti gli altri, CYYMMDD e giuliano compresi.

12607272026-07-27

Perché esiste il formato CYYMMDD?

Un campo numerico da 7 cifre in cui la prima è il secolo: 0 per il 1900, 1 per il 2000. Nacque per far entrare una data in poco spazio e superare il cambio di millennio senza ambiguità, quando due sole cifre per l'anno non bastavano più. Costa un byte in più di YYMMDD e ne fa risparmiare uno rispetto a YYYYMMDD: un compromesso che si trova ancora dentro moltissimi file in produzione. Attenzione alle sei cifre: 260727 può essere sia YYMMDD sia il giuliano CYYDDD, e solo il tracciato del file può dirlo con certezza.

Packed e zoned decimal

Come un numero viene scritto davvero sul disco, byte per byte, e quanto spazio occupa.

123.4512 34 5C

Come si leggono questi byte

Nello zoned decimal ogni cifra occupa un byte intero: il nibble alto vale F e quello basso contiene la cifra. Nel packed decimal ci stanno due cifre per byte, quindi occupa quasi la metà. In entrambi l'ultimo nibble porta il segno: C positivo, D negativo, F senza segno. Il punto decimale non viene mai memorizzato: sta solo nella definizione del campo. Serve quando si guarda un record in esadecimale con DSPPFM e F10, o per calcolare quanto peserà davvero un file prima di crearlo.

Tracciato record

Da quale byte comincia ogni campo, quanto è lungo il record e quanto peserà il file.

A(10) P(5,2)pos. 1-10, 11-13

Un campo per riga: nome, tipo, lunghezza, decimali. I tipi sono A (alfanumerico), P (packed), S (zoned). Si accetta anche la scrittura del DDS, come CODCLI 7P 0.

Da DDS a SQL

Incolla le specifiche DDS di un file fisico e ottieni la CREATE TABLE corrispondente.

A R CLIENTECREATE TABLE

Cosa copre e cosa no

Vengono lette le definizioni dei campi — nome, lunghezza, tipo, decimali — il formato record e i campi chiave. La corrispondenza dei tipi è: A in CHAR, P in DECIMAL, S in NUMERIC, L in DATE, T in TIME, Z in TIMESTAMP, B in SMALLINT, INTEGER o BIGINT a seconda della lunghezza. Un campo senza tipo esplicito è zoned se ha decimali e alfanumerico se non ne ha, come vuole il DDS. Restano fuori le parole chiave di validazione, i valori predefiniti e i campi definiti per riferimento, che vengono segnalati invece di essere indovinati: il risultato è un punto di partenza da rileggere, non da eseguire a occhi chiusi.

Manca uno strumento che useresti spesso? Segnalalo, volentieri.