Oggi mi è successo uno strano problema, ho ricompilato dei PRTF (printer file) per fare degli aggiornamenti su AS400 e provando a stampare uscivano degli strani caratteri stampando valute e numeri. Dopo aver fatto un po’ di diagnostica ho capito qual’era il problema e voglio scrivere un appunto come promemoria, dunque:
Nei printer si possono editare i numeri con dei codici di editazione (per esempio EDTCDE(2)) da qui si guida il programma a stampare con la virgola per i decimali o stampando il meno con il carattere ‘-‘. I codici da 1 a 4 sono gestiti dal sistema, i codici da 5 a 9 sono a disposizione dell’utente, nel mio caso usavo EDTCDE(5) come spesso viene usato dalle ACG di IBM.
Il comportamento di queste maschere è descritto in oggetti di tipo *EDTD in QSYS, e qui vengo al dunque, qualche tempo fa ho fatto un cambio macchina e questi oggetti in QSYS sono stati cambiati dalla release si OS dalla 5.3 alla 5.4. Non avendo mai ricompilato nessun printer fino ad ora con i codici di editazione variati non ho mai cambiato il comportamento in stampa ma oggi ricompilando in massa vari printer avevo un sacco di errori. Ho risolto il problema rieditando questi codici e ripersonalizzarli con il comando WRKEDTD EDTD(*ALL). Raccomando a tutti di controllare questi oggetti in caso di cambio macchina o aggiornamento di release.