QuestDirect.org WELLS FARGO UPLOAD PROCESS Session: 101890.
-
Upload
leonard-sherman -
Category
Documents
-
view
223 -
download
0
description
Transcript of QuestDirect.org WELLS FARGO UPLOAD PROCESS Session: 101890.
QuestDirect.org
WELLS FARGO UPLOAD PROCESS
Session: 101890
QuestDirect.org
Wells Fargo & Company• Wells Fargo & Company (NYSE: WFC) Wells Fargo & Company is a
diversified financial services company providing banking, insurance, investments, mortgage, and consumer and commercial finance through more than 9,000 stores and more than 12,000 ATMs and the Internet (wellsfargo.com) across North America and internationally serving over 70 million customers.
• We employ over 280,000 team members in more than 35 countries across our 80+ businesses
• Current population consists of • 265,000 full-time employees• 16,000 part-time employees• 1300 flexible employees
QuestDirect.org
PeopleSoft Installations• Operate on a DB2 platform• Initially installed PeopleSoft version 2.0 in 1993 (HR/Payroll/Benefits)• Multiple upgrades to 4.5, 6.0, 7.5, and 8.3 throughout the years• Installed home grown version of Manager Self-Service (Staff Management) in
2003• 3rd party Time & Attendance System (Time Tracker)• Installed Benefits Administration in 2002• Installed Automated Terminations Processing in 2006• Upgraded to PS version 8.9 in 2007
Future Plans• Upgrade to version 9.2 projected go live May 2014
QuestDirect.org
Issue• Many different types of Payroll uploads• HR wanted new upload created for repetitive
JOB tasks (i.e. Leave processing)• Current approach cumbersome, specialized for
each upload• Better auditing support• Speed of implementing upload
QuestDirect.org
Use Excel to CI• Why not?
– Cumbersome for the technologically challenged user
– Audit/Security issues with login since we don’t maintain passwords in PS
• Having another id with a password violated Wells Fargo security standards
– Auditability issues
QuestDirect.org
Solution• Build a custom uploads process
– Make it reusable– Include audit capabilities– Make it configurable– Include data validation– Decouple the upload using messaging and CI’s to insert the data– Decrease time required to create a new upload
• Solution allowed us to create a new W2C upload and move it to Production in 2 weeks
– Allow the business to upload using an Excel spreadsheet
QuestDirect.org
Upload Process Flow
Import Spreadsheet
Edit data while loading to the staging table
Submit for upload processing
App Engine processes staging
record rows
Create message to process row of
data
Execute Process_DB_Loa
d method in upload Class
Edit data again using the Load
status
Create message for the CI to load
data into the system
Execute CI to load data into the
system
Email to the submitter when the transactions
are loaded
QuestDirect.org
• Audit required no changes be made to the Excel file in order to upload– PS Excel read needs MS Office installed on the app servers. Security plan at Wells
didn’t allow this.– Instead we used the MS Access engine Excel API’s to convert the file to .csv using a
custom .NET app, then the .csv is loaded to the staging table• The original Excel file is retained in an attachment field for the request• The process will have code to edit the Excel data as it’s loaded to the staging
table– This allows corrections to be made before the data is loaded to the system by
deleting the upload, correcting the Excel file and reloading• The Excel file should be specific for the upload, only fields pertaining to the
current upload should be on the file
Excel Upload Requirements
QuestDirect.org
Online Pages – File Layout• Create File Layouts that store
configuration information about the upload – Identify the Staging record– Identify the Pre-Edit App Class used
for editing the data as it’s loaded– Identify the Load App Class used to
process the system load– List fields being uploaded. Only
fields used on spreadsheet– Allows creation of Excel template
for the Business to use
QuestDirect.org
Online Pages - Upload Request page• Stores the upload request
information• View Layout is where the Excel
template for the business can be downloaded
• Displays staging table record count and the number of records in each status
• If errors are encountered in the edits on the spreadsheet upload it can be deleted, the spreadsheet corrected, and re-uploaded
QuestDirect.org
Staging Table Page• Each Staging Table page is
specific for the upload• Displays fields dynamically based
on file layout– This allows multiple uploads to use
the same staging record– Page doesn’t need to be updated if
a field is added to the upload• Data is edited during the system
upload– Errors are stored in a common table
and accessed through the Error link
QuestDirect.org
Staging Tbl Page – Upload Complete• Displays audit
information• Tracks when the
upload was created and when it was last updated
• No changes allowed after the upload is complete
QuestDirect.org
Staging Table Setup• Staging records contains
2 standard sub records– Upload Keys SBR– Audit and Status SBR
• The staging record can be shared with multiple uploads – the file layouts
determine which specific fields are used for the upload
QuestDirect.org
App Package PeopleCode• Shared code is stored in an App Package• Uploads_Utilities is a class used by all the
uploads– Contains load utilities like the system load code
for messaging and record edits (field type, length, etc) used during load
• Each upload area also has it’s own class for code specific to that particular upload
• There are a set of standard Methods needed that the upload uses
• These can be coded for a group of uploads and use different private methods for specific uploads
QuestDirect.org
Upload Edits• Each upload group can
have it’s own edits• If specific code is needed
for an upload the file layout can determine which upload is being run
• Errors are loaded to a common error record that all uploads share
QuestDirect.org
Load App Engine• A shared App Engine is used to
submit the upload request for processing
• Uses the information on the File Layout page– Creates the edit and load App Class– Sets the staging record
• Gets the rows in the staging table using SQL.Fetch
• Executes the load with the Edit_and_Load method that creates a message (asynchronous approach)
QuestDirect.org
Using a Message to load data• This is called from the
Edit_and_Load method in the specific upload Class
• Copy data from the staging record into the message record
• Create and publish an asynchronous message for each row of data
QuestDirect.org
Message Code• OnNotify Message
PeopleCode is generic and used by all uploads
• Uses the File Layout setup to identify the staging record and App Classes
• Uses the Process_DB_Load method that is in the upload class
QuestDirect.org
Load PeopleCode• Called from the OnNotify method of the
message• The load PeopleCode is specific to each
upload area to allow specific processing• Execute the Edits again to make sure
the data is still valid– We do this to save processing time. It’s
quicker to edit outside the CI than during the CI
• Calls the CI to upload the data into the system
• Insert any errors into the common error record
QuestDirect.org
Message for CI load• The message can be
specific for each upload or a more generic one for a common component
• The message executes the CI that loads the data into the system
QuestDirect.org
Upload Process Flow
Import Spreadsheet
Edit data while loading to the staging table
Submit for upload processing
App Engine processes staging
record rows
Create message to process row of
data
Execute Process_DB_Loa
d method in upload Class
Edit data again using the Load
status
Create message for the CI to load
data into the system
Execute CI to load data into the
system
Email to the submitter when the transactions
are loaded
QuestDirect.org
Wrap Up• Code modules kept small
– Allows greater flexibility on what standard code you can use and what you want to replace with code specific for the upload
• Messaging allows processing to be controlled• CI enforces online edits• The Staging table is a group of uploads with some commonality
– The file layouts are the specific upload fields– This allows multiple uploads to use the same staging table (we have 3
separate Job uploads sharing a staging table)– Each upload spreadsheet can then contain only the fields necessary for that
upload
QuestDirect.org
Upload Statistics• Implemented first upload using the new process late
April 2012 since then:– 789 Upload Requests that loaded
• 53,863 Position rows uploaded• 2,011 Benefit rows uploaded• 7,600 Garnishment rows uploaded• 15,134 Job rows uploaded• 8,004 Officer Codes uploaded• 8,163 Tax Overrides uploaded• 22,031 W2C’s uploaded
QuestDirect.org
Contacts• [email protected]
– (612) 667-6836• [email protected]
– (612) 667-4668
Please complete your evaluation: Session 101890
Thank you!
QuestDirect.org
Upcoming Wells Fargo SessionsSession Time Room
Leveraging Integration Broker To Increase Availability
Th 10:30 Rosemont 1
PeopleSoft Total Cost of Ownership Roundtable Th 11:30 Directors B
Automating Benefits Reprocessing at Wells Fargo Th 2:30 Rosemont 3
QuestDirect.org
APRIL 7-11, 2014Sands Expo and Convention CenterLas Vegas, Nevada
Save the Date
QuestDirect.org/COLLABORATE
COLLABORATE 14- Quest Forum is THE source for PeopleSoft roadmaps & news. It matters where you register! All PeopleSoft education and events run through Quest