Professional Documents
Culture Documents
EDAG 05 BO Business Rules MDM
EDAG 05 BO Business Rules MDM
Business Rules
Overview
Distribution
Job Title*
Ownership
The Job Title [list@YourCompany.com?Subject=Exercises for Lesson 5: Business Rules:
344617784.doc] is responsible for ensuring this document is necessary, reflects actual practice,
and supports corporate policy.
Lesson Overview
Up to now, you've learned to define a BO's data structure (i.e., you learned how to define the
elements in a BO schema). In this section, you'll learn how to set up business rules for your
business objects.
Lesson Objectives
By the end of this chapter, you will be able to:
Understand the core plug-in spots that can be used to set up business rules for a
business object
Create validation rules for a business object
Write simple validation rules using a high-level scripting language
Debug business rules written using the scripting language
Understand the performance implications of using scripting versus Java for business
object rules
Overview
During this exercise, you will use the following:
Admin Business Object (Algorithms)
Admin Script (Steps)
The tips on Admin Script
Tasks
Please break up into teams, and then look at the D1-ManualMeterInstallEvent business
object's validation plug-in.
Prepare a presentation describing what this plug-in does. At a minimum, please describe your
opinion about the usage of:
The use of system variables (e.g., BLANK or $BLANK)
The segregation of the logic into the various steps (remember, this script could have
just contained a single step with all the logic)
The use of for and if statements to iterate through the BO status options list. It uses the
goto to break the loop.
The top 5 cool things you learned about edit data syntax that were not covered in this
section's slides
Overview
Your instructor will show you how to add a new service point type using Admin Service Point
Type +. In this walk through you'll do the same thing, and then look at the server log to see what
happened on the server when you did this.
Tasks
1. Start The System In Debug Mode
If you haven't done so already, suffix ?debug=true to the URL used to start the system, for
example:
http://sf-ugbu-05:8100/spl/cis.jsp?debug=true
2. Navigate To The Service Point Type Page
Use the menu (Admin Service Point Type) to open the service point type page.
When you turn this switch on, the logging options pop-up appears:
Please turn off Trace All and all other options except for Trace Output (in other words, the
only option that should be turned on is Trace Output).
After you click the Show User Log button, a pop-up will appear that shows what happened
on the server to add the new service point type:
Overview
During the exercise we'd like you to use the following:
Admin Business Object (Main and Data Area)
The View Plug-in Script Data Area hyperlink
Tasks
Break up into teams and compare the parameters between the Information, Validation, and
Audit plug-in spots. Prepare a brief summary of the similarities and the differences.
Instructors Notes
Notice how the Information system event has a usage=output on the parm/hard/info element.
This means that this type of plug-in is intended to populate this element (all of the other
elements have usage=input which means that the framework will never use the values
populated in these elements).
Notice how the Validation plug-in has no usage=output elements. This means that validation
plug-ins can't update the BO by populating hard parms (rather, they'd have to perform BO
updates using Invoke BO steps). Also notice what the framework passes into this type of plug-
in:
<action use="input"/> This will have a value of add, update or delete.
<businessObject type="group" use="input"> This node contains the name of the BO.
<businessObjectKey type="group" use="input"> This node contains the BO's prime key.
<entityId type="group" use="input"> This node contains the MO's PK constituents. This is
sometimes needed when you have to add an entry to a log (they don't know about this yet) and
you need the MO's PK as log's are physical things.
<maintenanceObject type="group" use="input"> This node contains the name of the MO.
<newBusinessObject type="group" use="input"> This node contains how the BO's elements will
look if the update is successful.
<originalBusinessObject type="group" use="input"> This node contains how the BO's element
looked prior to the start of the logical transaction.
Notice how similar the Audit plug-in is to the Validation plug-in. The main difference is the
<changedValues type="group" use="input">, this contains the changes that were made to the
BO during the update.