The report archives are contained in .inp files with the following naming convention: crYYMMDD.inp, where YY is the last 2 digits of the calendar year, MM is the numeric month, and DD is the day.
For example: cr990728.inp translates to July 28, 99. I'm assuming they make some attempt to be Y2K compliant here.
The files themselves are bar-delimited ASCII text. An example:
01|97.2|07/14/1999|HEC,CIRC|PK3958 K69 Z4614 2001|The Art of
Patella
Removal / J. Hoffa ; illustrations by Yanni.|1123581321|ORG CRIME
513|06/29/1999
The first field (at least of this version) is a numeric value defining the type of the record, or which report it will appear on. Valid types are:
00 - Reserved Items Active
01 - Reserved Items Expired
02 - Hold Shelf Expired
03 - Missing in Transit
04 - Circulation Statistics
05 - Item Related Exceptions
06 - Patron Related Exceptions
07 - Transaction Related Exceptions
08 - Global Circulation Statistics
The second field of all records is a version number. I've been working with 97.2; I would assume Endeavor changes this when they update the structure of the report file.
Each type of record can have a different number of fields, ranging from 8 to 11. The format of each follows, with required fields marked with a "*":
00 - Reserved Items Active:
*TYPE|*VER|DATE_RUN|*LOC_CODE|CALL_NUM|*TITLE|ITEM_ID|COURSE_NAME|*EFF_DATE
01 - Reserved Items Expired:
*TYPE|*VER|DATE_RUN|*LOC_CODE|CALL_NUM|*TITLE|ITEM_ID|COURSE_NAME|*EXP_DATE
02 - Hold Shelf Expired:
*TYPE|*VER|DATE_RUN|*LOC_CODE|CALL_NUM|*TITLE|ITEM_ID|*EXP_DATE
03 - Missing in Transit:
*TYPE|*VER|DATE_RUN|*LOC_CODE|CALL_NUM|*TITLE|ITEM_ID|TARGET_LOC|*TRANSIT_DATE
04 - Circulation Statistics:
*TYPE|*VER|DATE_RANGE|*LOC_CODE|*OPERATOR_ID|CHARGES|DISCHARGES|RENEWALS|FINES
05 - Item Related Exceptions:
*TYPE|*VER|DATE_RANGE|*LOC_CODE|EXCEPTION_DESC|*TITLE|ITEM_ID|*EXC_DATE|*OPERATOR_ID
06 - Patron Related Exceptions:
*TYPE|*VER|DATE_RANGE|*LOC_CODE|EXCEPTION_DESC|*PATRON_NAME|PATRON_ID|*EXC_DATE|*OPERATOR_ID
07 - Transaction Related Exceptions:
*TYPE|*VER|DATE_RANGE|*LOC_CODE|EXCEPTION_DESC|*PATRON_NAME|PATRON_ID|*TITLE|ITEM_ID|*EXC_DATE|*OPERATOR_ID
08 - Global Circulation Statistics:
*TYPE|*VER|DATE_RANGE|*LOC_CODE|*OPERATOR_ID|CHARGES|DISCHARGES|RENEWALS|FINES
Records with the wrong number of fields, invalid types, or a different version number will cause Reporter to crash. If Reporter encounters empty required fields it will simply display an error message and refuse to run the reports. The Reporter file editor will fix these errors.