These transit slips serve a dual purpose of creating slips for local use (book returned to University of Washington Library x can be shipped to University of Washington Library y) and used by other Summit libraries to process materials loaned from the University of Washington. If the book has been requested by a Summit library there is data in the hold notes field that is parsed and printed on the transit slip – the program determines that it is a Summit request by the number of elements split by semi-colons in the hold note field. The code makes extensive use of the java split and length functions. Fields 19 and 21 make use of the barcode function in IReports. These transit slips use an entire sheet of paper with fields 1 – 21 in the left column and field 22 and 23 in the right column Field 1 Prints - Orbis cascade Alliance for Summit or University of Washington for local transit slips. Logic - if the hold note field has more than a certain number of “;” it is a Summit slip else local $F{hold_note}.split(";").length > 4 ? "Orbis Cascade Alliance" : "University of Washington" Field 2 Prints - Summit patron last name or nothing for local Logic – checks for number of semi-colons in the hold note field if there is 6 or 7 elements it assumes a Summit request and prints appropriately else it is a local UW paging slip and prints appropriate data ($F{hold_note}.split(";").length > 6 ? ($F{hold_note}.split(";")[6]).split("\\s")[$F{hold_note}. split(";")[6].split("\\s").length-1] + "," : ($F{hold_note}.split(";").length == 6 ? ($F{hold_note}.split("\\s")[5]).split("\\s")[$F{hold_note}.split("\\s")[5] .split("\\s").length-1] + "," : "" )) Field 3 Prints – Summit patron last name or nothing for local Logic – same as Field 2 ($F{hold_note}.split(";").length > 6 ? ($F{hold_note}.split(";")[6]).split("\\s")[0] : ($F{hold_note}.split(";").length == 6 ? ($F{hold_note}.split("\\s")[5]).split("\\s")[0] : "" )) Field 4 Prints – Summit requesting location or nothing for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? $F{hold_note}.split(";")[4] : "" Field 5 Prints – Summit requesting location (detailed) or nothing for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? $F{hold_note}.split(";")[3] : "" Field 6 Prints – Please do Not Remove this Slip for Summit or nothing for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? "*PLEASE DO NOT REMOVE THIS SLIP*" : "" Field 7 Prints – Call Number for Summit or nothing for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? "CALL NO:"+ $F{v_b_call_num} : "" Field 8 Prints – Status for Summit or nothing for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? "STATUS:"+ $F{f_i_itemstat} : "" Field 9 Prints – Nothing for Summit or author for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? "" : "Author: " + $F{v_b_author} Field 10 Prints – Nothing for Summit or title for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? "" : "Title: " + $F{v_b_title} Field 11 Prints – Barcode for both Summit or UW Logic - none "Barcode: " + $F{v_i_barcode} Field 12 Prints – Nothing for Summit or volume for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? "" : "Volume: " + $F{v_i_volume} Field 13 Prints – Author for Summit or nothing for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? "Author: " + $F{v_b_author} : "" Field 14 Prints – Title for Summit or nothing for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? "Title: " + $F{v_b_title} : "" Field 15 Prints – nothing for Summit or the hold note for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? "" : "Hold note: " + $F{hold_note} Field 16 Prints – Home institution for Summit or patron name for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? "HOME INSTITUTION: " + $F{hold_note}.split(";")[2] : "Patron Name:" + $F{patron_last_name}+ $F{patron_first_name} Field 17 Prints – nothing for Summit or hold date for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? "" : "Hold date: " Field 18 Prints – borrower number for Summit or nothing for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? "Borrower:"+ $F{hold_note}.split(";")[1] : "" Field 19 Prints - borrower barcode if Summit or nothing for UW Logic – Part 1 same as Field 2 Part 2 prints out part of the hold note and strips out the B Other – uses Code39 extended, no checksum and no show text Part 1 – in the Print When expression ($F{hold_note}.split(";").length > 4) ? Boolean.TRUE : Boolean.FALSE Part 2 – in the barcode expression $F{hold_note}.split(";")[1].replace( "B", "" ) Field 20 Prints – lender number for Summit or nothing for UW Logic – tests for Summit as above $F{hold_note}.split(";").length > 4 ? "Borrower:"+ $F{hold_note}.split(";")[0] : "" Field 21 Prints - lender barcode if Summit or nothing for UW Logic – Part 1 same as Field 2 Part 2 prints out part of the hold note and strips out the L Other – uses Code39 extended, no checksum and no show text Part 1 – in the Print When expression ($F{hold_note}.split(";").length > 4) ? Boolean.TRUE : Boolean.FALSE Part 2 – in the barcode expression $F{hold_note}.split(";")[1].replace( "L", "" ) Field 22 - in right column Prints: Nothing for Summit or University of Washington for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 4 ? "" : "University of Washington" Field 23 - in right column Prints: “ILL – Summit” for Summit or local pickup unit for UW Logic – same as Field 2 $F{hold_note}.split(";").length > 5 ? "ILL - Summit" : $F{transit_dest} May 21, 2010