Showing posts with label SSHR. Show all posts
Showing posts with label SSHR. Show all posts

Wednesday, March 21, 2007

Are AME Rules combined as an ‘AND’ or an ‘OR’ clause?

A friend of mine recently asked this question and I thought it might make a good post. The question was, How does AME behave when you have setup multiples rules for a transaction type. How does the end approval hierarchy look in such a scenario and how do you control it.

In such cases the result depends on whether the various rules that you have configured are mutually exclusive or if more than one rule can be true for an transaction. For any transaction, AME evaluates all rules defined in the functional area and merges the out of all rules into a final approver lists according to an preset rule. So the answer to the question is that the rules will result in an AND. However, if the rules have conditions which ensures that only one rule applies for an transaction then the output results in an OR.

Many a time, you would need to code complicated attributes to achieve the OR conditions. Well if design the rules carefully the desired output can be achieved by using the Priority Processing Mode. AME allows you to define relative or absolute priorities for each of the rules. When the rules are evaluated, AME automatically collapses the rule as per priority settings and generates the end approval hierarchy as per your requirement.

Monday, January 08, 2007

How to clear Apache Cache without bouncing the listener

I know that everyone using Self-Service hates Apache Cache. Every time you assign yourself a new responsibility or you change a profile option or upload a new piece of code, you need to bounce the listener. Well here is a way to get around this without actually bouncing the apache server


  1. Give yourself the "Functional Administrator" responsibility.
  2. Once logged in to this responsibility click on the "Core Services" tab (top-right).
  3. Click on the "Caching Framework" link in the blue menu bar.
  4. Click on "Global Configuration" link in the left vertical menu.
  5. In the "Cache Policy" region click on the "Clear All Cache" button.
  6. Click the "Yes" button to confirm the action.
  7. Click the "Apply" button to apply the changes.

This clears the Apache cache just like bouncing the Apache listener does, but no one is disconnected and you don't even need the DBA.

Tuesday, December 26, 2006

AME - Approvals Made Easy

One of my most interesting module that I have implemented in the recent past is AME. Its a small module but extremely powerful. It simplifies the approval process for self service based transactions. When AME is enabled SSHR uses it to route the transactions untill no approvers are found. In this note I will try to explain AME the way I think it works

AME setup comprises of 4 components called atributes, conditions, actions and rules. You setup attributes, conditions, actions and tie them together using a rule. Actually speaking, the setup is nothing but a mathematical equation, which can be expressed as

When attribute A has a value B then the approver should be C
........... --------------
............ Attribute
........... ------------------------.......................... ---------------------------
....................Condition...............................................Action
...........-----------------------------------------------------------------------
........................................................ Rule

This various componets of the equation are

  • Attributes: A is a property of the transaction that dictates how AME should behave e.g. name of the workflow process involved
  • Condition: When attribute A has a value B. e.g. When the workflow process name is HR_NEW_HIRE_PRC_JSP
  • Action: Approver should be C. This identifies who should perform the action. e.g. The approver should be person's supervisor
  • Rule: Conditions and Actions are tied together in a rule that is evaluated by AME. When all the conditions defined in a rule are met then AME notifies every person in the Action list before the transaction is approved.

When AME is invoked it evaluates all the rules that are defined for the product. It then combine the result (approver set) of all the rules and builds the final list of approvers.

So you can see that AME is very easy to setup. It simple maths.. Happy implementation

Friday, November 10, 2006

Building Custom Processes in Self Service

In my current assignment, the client wanted a custom process to be available on SS menu that is not available in the product. This process required users to update the assignment status of the employee and enter other details in a SIT. However, as there is no seeded function that would allow users to perform these two transaction at one place. Users would have had to use one screen to enter the assignment details and switch to the SIT function to enter other details. But, they would have had to move from one process to another, which can be frustrating.

This can be easily be done using the Manage Employment Events functionality in SSHR. It lets you to tie together different assignment related events using a workflow process and build a custom process for use in SS. The events that can be tied together are Assignment, Location, Work Schedule, Change Manager, Employee or Contingent Worker Termination, Employee or Contingent Worker Pay, Individual Compensation Distributions, Special Information Types and Other Employment Information.

In order to build this process I built a new workflow process to tie the events. Once the workflow was ready, I defined the required functions and added them to the menu. To get a better understanding of the menu's refer to my previous post.

Monday, October 16, 2006

How to Define a Custom SSHR Menu Function

To include a new cutom SSHR menu option, use the following instructions.

1. Create the Custom Workflow as per the business process. Create a form function (copy a seeded ESS function) for ESS process. Make the following changes to the definition
a. Change parameter pProcessName so that it refers to the desire workflow process
b. Change parameter pCalledFrom so that it includes the internal name of the function being created
c. Change the value passed to OAFunc (HTML Call) to include the internal name of the function being created

2. Create a Form function for MSS based on any seeded MSS function. Change the value of the parameter pCalledFrom so that it refers to the internal name of the ESS function

3. Include the newly created ESS and MSS form functions in "Global Self Service Functions Custom" menu

4. Include the newly created ESS function in "Manager Actions Menu"

5. If the process is required in the ESS menu Include the newly created ESS form function in the Employee Self Service Menu

6. If the process is required in the MSS menu Include the newly created MSS form function in the Employee Self Service Menu

Please note that these steps are only relevant for SSHR. They may not work for other modules.

Understanding Self Service Menu Functions

In Self Service you define two menu function for accessing the same process from within ESS and MSS menus. The ESS function allows users to perform actions on the person assigned to the logged in user. Whereas the MSS equivalent of the function allows managers to perform actions on a people in their reporting hierarchy.

The ESS function includes information about the workflow, AME and other process related details. The workflow controls the sequence of screen available in the process and AME (if enabled) manages the Approval logic for the function.

The MSS function on itself only displays the Employee Hierarchy page. It needs to be associated to an ESS function, which controls the underlying process flow and approval management. It only includes a reference to the ESS function that controls the process.

All properties of the functions are controlled by the parameter values defined in the function definition. You can control the process by changing the value of any of the parameters. For e.g. if you want to change the underlying workflow for a process, simply change the value of parameter pProcessName in the ESS function definition to view the changes. Similarly, for a MSS function, changing the value of parameter pManagerEnabled to N would prevent manager to perform action on their own records. Every parameter has a specific role and its very intuitive to guess the utility of the parameter.

It took me a while to understand on how SSHR functions behave. These details should certainly help you to understand SSHR functions. I will later explain how you can define a custom process in SSHR and include it SSHR menus.
 
Technology Blogs - Blog Top Sites