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. 0x
00009184950C 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