2. • 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
3. 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
4. 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
5. 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
6. • 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
7. Where do you work?
Student
Accounts
Office
IT Department
8. • 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
10. 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
11. 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
15. 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
16. Cycle Through a Set of Data Within One Equation
Looping in Equations
#heug33449
17. 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
18. 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
19. 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
23. 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
29. Target Your Data in a Quick and Easy Way
Equation SQL Routines
#heug33449
30. 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
31. 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
33. 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
35. 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
36. Calling an SQL Routine
• Pass parameters to the SQL in the order that the
bind variables are presented in the SQL Statement
#heug33449
37. 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
46. Troubleshoot Error
• Check your Global Variable names
• NCSFGETTRMST – Called Equation
• NCSFLTRGSQL – Calling Equation
Does Not
Match!!
#heug33449
47. Troubleshoot Error
• Change the Global Variable name to match the
variable name in the Called Equation
• Compile the Equation
#heug33449
50. • Erik Siradas
• E-mail: erik_siradas@unc.edu
• Linkedin: www.linkedin.com/in/eriksiradas/
• Twitter: @ErikSiradas
Contact Info
51. Presentations from previous meetings are also available
This presentation and all
Alliance 2014 presentations are
available for download from the
Conference site at
www.alliance-conference.com