La classe Mainframe contiene filtri che possono convertire, in forme differenti, file di testo elaborati da sistemi mainframe.
![]()
I filtri della classe Mainframe sono progettati per lavorare su file in codifica EBCDIC.  | 
I filtri ASCII to EBCDIC e EBCDIC to ASCII consentono di convertire un file di testo dalla codifica ASCII alla codifica EBCIDIC e viceversa. Essi utilizzano le tabelle standard di conversione dei 256 caratteri di ciascuna codifica.
![]()
Alcuni caratteri non possono essere convertiti mediante i filtri ASCII to EBCDIC e EBCDIC to ASCII, in quanto esistono solo nel codice ASCII o solo nel codice EBCDIC.  | 
Spesso testi e documenti elaborati da mainframe contengono campi numerici di tipo Packed Decimal o Zoned Decimal. Si tratta di rappresentazioni numeriche peculiari della codifica EBCDIC, che risultano illeggibili se convertite direttamente in formato ASCII.
![]()
APPROFONDIMENTI: PACKED DECIMAL e ZONED DECIMAL In formato Packed Decimal ogni byte, tranne l'ultimo a destra, rappresenta due cifre decimali. L'ultimo byte a destra rappresenta, invece, una cifra decimale ed il segno, positivo o negativo, del numero originario. In formato Zoned Decimal ogni byte rappresenta un singolo numero decimale. In particolare, ogni byte è suddiviso in due parti da quattro bit ciascuna: la zone portion e la digit portion. La zone portion dell'ultimo byte a destra contiene il segno, positivo o negativo, del numero originario.  | 
I filtri Expand packed decimal e Expand zoned decimal consentono di convertire campi di tipo Packed Decimal o Zoned Decimal nel formato numerico standard.
Il numero delle eventuali cifre decimali di un valore è implicito nel formato Packed Decimal e Zoned Decimal. Pertanto questi filtri richiedono di specificare quante siano le cifre decimali del numero da convertire, nel campo Implied decimal point.
![]()
I filtri Expand packed decimal e Expand zoned decimal devono essere preceduti da un filtro Restrict, in modo da permettere ai filtri di processare un numero alla volta.  | 
In caso i numeri in formato Packed Decimal siano privi di segno, la loro conversione in formato numerico standard avviene mediante i filtri Expand unsigned (even-legth) packed decimal e Expand unsigned (odd-legth) packed decimal.
Il primo è utilizzato in caso il numero decimale, in output, sia costituito da un numero pari di cifre. Viceversa, il secondo è utilizzato in caso il numero decimale, in output, sia costituito da un numero dispari di cifre.
![]()
Analogamente al filtro Expand packed decimal, questi filtri richiedono di specificare il numero di cifre decimali del numero da convertire, nel campo Implied decimal point.
I filtri Compress to Packed Decimal e Compress to Zoned Decimal consentono di convertire un numero decimale in codifica EBCIDC in formato Packed Decimal o Zoned Decimal.
I filtri Expand Binary Number to EBCDIC ed Expand Binary Number to ASCII permettono di convertire un numero dal formato binario al formato tipico, rispettivamente, della codifica ASCII o della codifica EBCDIC.
Il filtro Copybook permette di convertire, mediante un opportuno copybook, un export tabellare da mainframe in un file di testo:
✓ a campi delimitati da caratteri speciali, quali virgole, tab o pipe;
✓ a campi di ampiezza fissa;
✓ XML.
![]()
Per copybook intendiamo un file di testo particolare, contenente: ✓ la struttura di un file elaborato da sistemi mainframe; ✓ informazioni di rappresentazione dei dati in esso contenuti, quali il tipo dato (i.e. numerico o stringa) ed il formato dei numeri decimali (i.e. Packed o standard).  | 
Il filtro Copybook richiede di:
✓ copiare il testo del copybook da utilizzare per la lettura del testo in input, nell'editor di testo Paste COBOL Copybook (format) here;
✓ selezionare il tipo di file generato in output dal filtro mediante il campo Output Format.
Il campo Output Format può assumere i valori:
✓ Fixed width, file con campi ad ampiezza fissa;
✓ CSV (comma-delimited), file con campi separati da virgole;
✓ Semi-colon delimited, file con campi separati da punti e virgola;
✓ Tab delimited, file con campi separati dal carattere speciale tab;
✓ Pipe delimited, file con campi separati dal carattere speciale pipe;
✓ XML, file in formato XML.
Infine l'output di un filtro Copybook può essere ulteriormente personalizzato, attivando le seguenti opzioni:
✓ Assume adjacent comp fields are overlapped identifica eventuali caratteri superflui, aggiunti per gestire la conversione, in formato Unsigned Packed Decimal, di numeri decimali con un numero dispari di cifre;
✓ Trim leading spaces and zeros from the output file rimuove eventuali zeri non significativi o spazi iniziali da ogni campo del testo in input;
✓ Allow Comp-3 to be unsigned considera ogni numero in formato Packed Decimal privo di segno;
✓ Only handle numeric fields espone in output i soli campi numerici del testo in input;
✓ Remove Filler fields rimuove i campi, identificati come Filler dal copybook utilizzato per la lettura del testo in input;
✓ Add field name header espone in output le intestazioni dei campi, indicate dal copybook utilizzato per la lettura del testo in input.
![]()
I campi Filler di un copybook corrispondono a caratteri riempitivi oppure a informazioni di corredo superflue.  |