RecRef - Record Reformatter
En Record Reformatter anvendes når indgående records ikke svarer
til det ønskede outputformat. Dette vil meget ofte være tilfældet når
vi tager en datafil fra f.eks. en IBM mainframe, og skal have den
konvereret til kommasepareret fil, til brug i et regneark.
Når vi kigger på inputrecorden, ser vi ihvertfald 2 problemer :
- læsbare data er skrevet i EBCDIC tegnsæt (eksempel : 0xD489A3409581A596 = 'Mit navn')
- der forekommer pakkede felter (eksempel : 0x00009184950C) = '+00009184950')
Hvis man nu konverterede de pakkede felter via almindelig
tegnkonvertering, ville man få '<00>jdn<ff>', hvilket ikke
kan bruges til noget.
Det der skal ske, er (1) at de læsbare data konverteres via en
EBCDIC-ASCII
tabel, medens (2) ikke-læsbare data (pakkede felter, binære fælter,
floating point, kort sagt alt hvad der ikke er tegn-til-tegn
konverterbar) expanderes til noget læsbart.
Et pakket felt på f.eks. 0x00009184950C skal konverteres til 0xF0F0F0F0F9F1F8F4F9F5C0.
Hvis man så også skal konvertere en dato fra Julian format (f.eks.
11283) til dagsdato (10.11.11) bliver det meget sjovt. Ialt er der ca.
40 prædefinerede konverteringsregler i RecordReformatter.
Forside