alliance2014 pp sf_equationengine_eriksiradas
TRANSCRIPT
Simplifying Advanced Equation Engine Development for Student Financials
Session #33449
March 10, 2014
• Erik Siradas• Assistant Director, Student Accounts and
University Receivables• 7 Years PeopleSoft Experience, 13 Years in Higher
Education• 1 Year Anniversary in UNC Student Accounts
TODAY!!!• SF PAG Newbie
Your Presenter
University Of North Carolina at Chapel Hill
• Established in 1789
• Large Research University
• 78 bachelor’s, 112 master’s, 68 doctorate and seven professional degree programs• Student enrollment: 29,278 (fall 2012)• Faculty: 3,608 (fall 2012)• Staff: 8,292 (fall 2012)
• www.unc.edu
University Of North Carolina at Chapel Hill & Oracle
In Production: PS Campus Solutions 9.0, PS Interactive Hub 9.1, PeopleTools 8.52:
Academic Advisement Admissions & Recruiting
Campus Community Campus Self-Service
Financial Aid Student Financials
Student Records
PS Interactive Hub 9.1, PeopleTools 8.52 PS Enterprise Financials 9.0
eProcurement
Implementing:
Financials 9.1
HCM 9.1
PeopleTools 8.53
Questions via Twitter• You can tweet your
questions before or during the presentation using this session’s special hashtag.
• I’ll try to answer the questions we’ve received at the end of the presentation.
#heug33449
• Review advanced configuration in Equation Engine using real world business scenario
• Put logic of equations into plain English• Review syntax and discuss meaning behind
logic• Discuss approaches to equation development• How to test your equation through online
tuition calculation
Agenda/Contents
#heug33449
• Use of Equation Engine promotes the alignment of IT and the business of the Student Accounting Office
• Taking advantage of its more complex features allows for a more streamlined approach to development of tuition calculation rules
• Knowing configuration and data structure is equally important
• Best approach to learning is to start simple and build upon knowledge of tool. Keep it simple!
Overview
#heug33449
Equations as Functions
• Think of “functions” in PL/SQL• Bits of code that can be reused to do same
task• Enforces consistency on how data is
retrieved• Streamlines development of equations
#heug33449
Global vs. Local Variables• Local Variables
• Local variables may only be used within the equation in which it is defined
• What ever you define as a variable in the active equation stays in that equation
• You will get an “Uninitialized Variable” error if you try to use a local variable outside the equation that you initialized it
• Global Variables• Can be used across calling equations and procedures• They may be initialized by the user in the equation, or may
passed from directly from tuition calculation• There are predefined global variables utilized by these
processes that may be used in equation development
#heug33449
Calling the Equation
• Initialize Global Variables (A_SELECT = N)• Call section to invoke callable equations
#heug33449
Late Registration Fee
• Apply $20 Fee through Tuition Calculation for any student that adds a class after the term start date.
• Term Fee attached to all applicable tuition groups• Use Equation to:
• Retrieve term start date (TERM_TBL.TERM_BEGIN_DT)• Retrieve enrollment add date (STDNT_ENRL.ENRL_ADD_DT)• If enrollment add date > term start date, return (Y)es and apply the
charge
#heug33449
Looping Purpose and Use• Use to process through multiple rows of data within
a single call to an equation
• Permits a block of statements to be executed repetitively
• May be used to treat equation engine as a standalone program
• Consider the creation of a view to increase performance and accuracy of equation
#heug33449
Structure of Looping in Equation
• Find First
• Loop (Begin)
• Statements to process data
• If-Else
• Callable Equations
• Callable SQL
• Find Next
• Terminating If-Else statement
• If True, Exit Loop
• End Loop#heug33449
Find First in Looping
• The FIND FIRST keyword positions the equation in the first row of the specified table for the given key values and key relational operators
• If looping through a student transaction table, initialize non-provided global variable to 0
• In Find First statement, use “Keyed Global (or Local) Greater” condition to retrieve initial record
#heug33449
Test Data and FIND NEXT• Moves to the next row within that previously specified set
of key values and key relational operators
• Positioned at the end of the loop statement, and before the test for termination of the loop
• Use the local variable initialized in the FIND NEXT condition to test for record found
• If record is found, then the loop is continued with next record found in the set of key values
• If record is not found, then EXIT LOOP
#heug33449
Purpose and Use
• Can be used for updates, inserts, deletes, and select retrievals (<10000 rows)
• May replace the use of “Find First” if users are more comfortable using SQL to select data for processing within equations
• Similar use as callable equations, in that a user may call SQL to retrieve data
• Allows for extremely targeted data retrieval
#heug33449
Creating Equation SQL Routines
• Create the SQL statement
• You may want to use PS Query to build the foundation statement (View SQL Tab)
• Test in SQL Plus or PL/SQL before pasting into Equation Callable SQL configuration page
#heug33449
Security Configuration
• Set Up SACR > Security > Equation Tree Security > Callable SQL
• Add SQL Routine name and make sure it has the appropriate authorization level
• “Read” is default, but change to appropriate level if SQL does insert/updates/deletes.
#heug33449
Calling an SQL Routine• Move global
variables to local variable for Callable SQL
• Callable SQL will only recognize local variables.
• Initialize Stem Variable for return value from SQL
#heug33449
Calling an SQL Routine
• Pass parameters to the SQL in the order that the bind variables are presented in the SQL Statement
#heug33449
Test for Successful Return
• SQL_RC will have value of 1 if the SQL failed• SQL_ROWS will have > 0 row(s) indicating that it
returned something.
#heug33449
Online Tuition Calculation
• Select a student to test and navigate to Tuition Calculation Page. Execute Tuition Calculation
Troubleshoot Error• Check your Global Variable names• NCSFGETTRMST – Called Equation
• NCSFLTRGSQL – Calling EquationDoes Not Match!!
#heug33449
Troubleshoot Error• Change the Global Variable name to match the
variable name in the Called Equation
• Compile the Equation
#heug33449
• Erik Siradas• E-mail: [email protected]• Linkedin: www.linkedin.com/in/eriksiradas/• Twitter: @ErikSiradas
Contact Info