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
Gli stessi byte possono essere letti come packed o come zoned: qui trovi entrambe le letture, quando sono valide. Spazi, minuscole e prefissi 0x sono accettati.
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.