| Format of the reconciliation file:
C tableid rowcount ;
S field1 dollaramount ;
S field2 dollaramount ;
E checksum ;
The character '#' and everything following it on that line is ignored. Whitespace characters are tab and space.
A 'C' 'S' or 'E' must be the first character on a line unless the line is entirely whitespace or a comment. The case of these
three codes is not significant.
Semi-colons are required before any possible comments on C S or E lines. Any amount of whitespace delimits the elements of C, S
and E lines. (If an S line contains field1+field2 for the field element, take care NOT to put any whitespace between the
'field1', the '+' and the 'field2'.)
Tableid is an arbitrary identifier for the record
Rowcount must be a non-negative integer. Fieldn is the technical fieldname(s) in the target database. Case *is* significant,
since this must match the database name(s) exactly.
Dollaramount may be negative; the check is significant to 4 decimal places.
The checksum on line E is the number of C and S lines. A C line and a terminating E line are mandatory; S lines are optional.
There may be more than one C-E block per metadata file.
In general, this implementation of the parser attempts to be error tolerant. It primarily looks at the C-E block that is being
looked for, by ignoring all other C-E blocks. A C-E block is "looked for" when the table ID of the C line is passed in as a
parameter of
ReconciliationParserServiceImpl.parseReconciliationData(Reader,String) . However, if the C lines of any blocks before the looked for block
are incorrect, then it is likely to cause undesired behavior.
|