Exlibris: Developers Meet Developers Feb. 1-2, 2010 Voyager To NUFinancials(peoplesoft) System (for Invoice Payment) Michael North Northwestern University [email protected]
Feb 23, 2016
Exlibris: Developers Meet DevelopersFeb. 1-2, 2010
Voyager To NUFinancials(peoplesoft) System(for Invoice Payment)
Michael NorthNorthwestern University
Our Need
University financial system implemented a new Peoplesoft Financial System.
Need a method to transfer Voyager acquisition data (invoices) to this new system so Library does not have to "cut checks."
3 year project that finished last year.Programming Team: Steve DiDomenico (heavy
lifter) and Michael North.
Issues to Consider
Object Oriented Programming techniques Perl is not a OOP language but used OOP techniques - provides modularity !
Matching "payment" vendor address. (remit_sequence_nbr in line5 of payment address – matching Voyager payment address
to the address in Peoplesoft)
Accounting Chart String (peoplesoft). Stored in institution ID of FUND record.
Running Script Options Production (batch), test (no sending), Individual Invoice (or list of invoice numbers)
Allow for Memo Voucher – "do not send"Built-in Error CheckingFile LockingRunDate TrackingLog File log the xml sent to Peoplesoft server
Peoplesoft Vendor Code and Remit Seq Address Link
PS Vendor Code
Remit Seq Address
Peoplesoft Chart String Link
RunDate Tracking, File Locking, Log FileFiles other than Perl programs
• timefile.config - a configuration file containing the lastrundate and nextrundate, which determines if the script should run, and how far back it should query the database for invoices
• lockfile.lock - a lockfile which, when locked, prevents other instances of the script from running. The presence of the lockfile doesn't determine locking; the *locking* of the lockfile does.
• log.txt - a log of the script's activity
Testing Plan
Voyager Interface Process Overview
Process Overview
Perl Programs Size
Voyager to Peoplesoft Mapping
Voyager to Peoplesoft Mapping (continued)
Voyager Interface "TESTING"
Additional Perl Modules (other than those which come with Voyager install)
Installed second Perl install to minimize impact of Voyager upgrades.
Need to add the following Perl modules:XML::Writer - Perl extension for writing XML documents. XML::Writer is a helper module for Perl programs that write an XML document.
LWP::UserAgent - Web user agent class The LWP::UserAgent is a class implementing a web user agent. LWP::UserAgent objects can be used to dispatch web requests.
HTTP::Request - HTTP style request message HTTP::Request is a class encapsulating HTTP style requests, consisting of a request line, some headers, and a content body.
HTTP::Response - HTTP style response message Response objects are returned by the request() method of the LWP::UserAgent:
Component Parts of Voyager Interface
Voycafe.pl (can run as prod, test, or using a list of invoice ID's)
Café.pmVoyDatabase.pmVoucher.pmVoucherLline.pmDistribLine.pmSend.pmReport.pmtimefile.conf (stores lastrundate and nextrundate)
Log<date>.txtLockfile.lock
System Analysis Flow Chart
Peoplesoft Error Reports
Invoice Info
Payment Info
Log File – first part
Test Run – we normally have 300+ invoices with fewer errors
Log File – middle part
Log File – end part
Email Notification
Email Notification - continued
Invoice Reconciliation(used for troubleshooting "feeds")
Thank you !