Purpose: To create a module to generate text files containing fees/fines that need to be transferred to Cornell's bursar's office.
Story: As the FOLIO system, I need to generate fixed-length formatted text files containing fees/fines to send to Cornell's bursar's office.
The bursar's office needs two files per run, a charge file and a credit file. The charge file contains one fee/fine charge per line.The credit file is for refunding charges and contains one credit per line.
The naming convention for charge files is:
lib_[date]a.dat (where [date] is in yymmdd format, for example: lib_201016a.dat for October 16, 2020)
The naming convention for credit files is:
lib_[date]b.dat (for example: lib_201016b.dat) (see above for the date format)
The fixed-format content of the files is:
Each file begins with the library code heading "LIB02" (with no quotes), followed by a hard return. Then:
Positions 1-11 = the patron's 7-digit Cornell ID (EmplID), right-padded with blanks. This ID is available in the patron's FOLIO User record, as the last 7 digits of their External System ID.
12-20 = the dollar amount, 000000.00 format, where the period separates dollars and cents
21-32 = the item type, 000000000000 format (Cornell will need to provide a list of standard bursar item types)
33-38 = the transaction date, MMDDYY format
39-41 = “SFS”
42-45 = blanks for our purposes, if we were submitting a term value (i.e. 2783 for Spring 2021) it would go here
46-75 = override for default item type description, right-padded with blanks
A sample charge file might contain:
3680071 000075.00072000000916100520SFS Olin/Kr/Anx Book Cost
3790482 000015.00072000000916100520SFS Olin/Kr/Anx Book Cost
A sample credit file is identically formatted, and might contain:
3335900 000013.84072100000919110819SFS Law Lib Overdue Fine
- It is 4:00 AM, time to run the bursar feed. A scheduled process queries FOLIO for charges / credits to transfer to the bursar, then generates charge and credit files with the given file naming conventions. A subsequent process sends the files to a central SFTP site for Bursar processing.