tag:blogger.com,1999:blog-56108442024-02-20T10:14:09.816-08:00The Oracle HRMS WaysAll about Oracle HCM... Let's ShareVikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-5610844.post-15603413316484734042009-04-21T07:12:00.000-07:002009-04-21T07:17:48.735-07:00Plan Design Copy Process: The Missing PiecesThe plan design copy feature available in OAB is life saver. It really does make the setup<br />migration process a piece of cake. However, there are some things that it does not copy over and at times this can be a cause of concern. These are some of the things that I have found which were not copied over by the process<br /><br />- People group criteria attached to eligibility / variable rate profiles<br />- Some of the coverage and rate rules defined at Enrollment Period for Plan<br />- Some of the formulas attached at Enrollment Period for Plan<br />- Life events triggers<br />- Life event Collapse rules<br />- Life events not attached to the program enrollment definition<br />- Eligibility criteria Enrolled in Another plan information<br />- Eligibility criteria Covered in Another plan information<br />- I am assuming most of the related coverage based eligibility criteria<br />- Communication type setupVikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com36tag:blogger.com,1999:blog-5610844.post-2706976294026288192009-01-23T11:04:00.000-08:002009-01-23T11:13:56.393-08:00Setting OAB Conversion ProfileUse the following steps to set up the profile to prevent life events from triggering in OAB. This should generally be used when converting HR Data<br /><br />1. Log in to US Super HRMS Manager or US HRMS Manager responsibility<br />2. Navigate to Other Definitions > Action Parameters form<br />3. Create a new parameter group name called OAB Conversion (if OAB Conversion does not exist)<br />4. Add Data Migrator Mode parameter (DATA_MIGRATOR_MODE) and set it to ‘P’.<br />5. Save the changes.<br />6. Log in as Application Administrator<br />7. Navigate to System Profile Values form.<br />8. From the Find window, select User Name, enter your username, and enter profile option ‘HR:Action Parameter Group Name’. Hit the Find button.<br />9. Under your user name, select ‘OAB Conversion’.<br />10. Save the changes.<br /><br />This profile can be set at any level, setting it to user level will ensure that the life events are triggering for other users when they are making changes.Vikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com0tag:blogger.com,1999:blog-5610844.post-52300400373079825802008-12-30T13:34:00.000-08:002008-12-30T14:15:21.691-08:00COBRA Notification LetterIt is difficult to setup the COBRA Notification Letter correctly the first time. There is no comprehensive documentation around it which makes it all the more challenging. These are some of the things to keep in mind<br /><br />1. The seeded report refers to the COBRA Beneficiary tables. If a COBRA beneficiary record is not created for a participant, the report will not work. On the Program > Participation Eligibility > Life Event form, ensure that the "Applies To" field is null for the COBRA Initial life event. This field should only be setup for life events, such as Divorce, Child Becomes Ineligible etc., that allow dependents to enroll as participant in the COBRA program.<br /><br />2. Ensure that you have attached the COBRA and HIPAA regulation to the COBRA compensation objects<br /><br />3. Ensure that you have created a COBRA reporting group and included all the COBRA compensation objects to it. Also attach the COBRA regulation to it.<br /><br />4. Create an Organization for the Benefits Department and attach it to the COBRA Program. The Organization details are listed on the COBRA report generated by OAB. You should also specify the Organization Role (Name of the Person) and Organization Role Type as Administrator<br /><br />This setup will ensure that the COBRA notification letter is correctly generated.Vikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com0tag:blogger.com,1999:blog-5610844.post-37102835238828281122007-03-21T20:12:00.000-07:002007-03-21T20:44:52.488-07:00Are 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.<br /><br />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.<br /><br />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.Vikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com1tag:blogger.com,1999:blog-5610844.post-73106757235837292462007-02-28T19:14:00.000-08:002007-02-28T19:31:15.371-08:00What is Oracle BI and what is HRI?<p>Customers generally have a lot of confusion about what is Oracle BI and how is it different from HRI. Oracle Business Intelligence (BI) offering generally refers to tools that can be used for enterprises data warehouse such as Oracle Express, Discoverer, Siebel Analytics, Data Mining etc. This differs from the BI offering available with Oracle Applications including HR. There are various different reporting solutions available differntiated by the tech stacks on whcih they are built. Some of the common ones are</p><ul><li><strong>DBI (Dashboard)</strong>: New data warehousing solution with Dashboard developed using Performance Management Framework (PMF)</li><li><strong>Performance Management Viewer (PMV) Reports </strong>: Some BI reports and KPI delivered with iRec and HRI use this technology</li><li><strong>HRMSi (Discoverer)</strong>: Discoverer based operational and strategic reports.</li><li><strong>Siebel Analytic Based reports </strong>(Not sure if they are available in R12)</li><li><strong>Embedded Data Warehouse (EDW)</strong>: Old type of data warehousing solution with discoverer as the front end</li><li><strong>HTML Reports: </strong>Oracle Reports based intelligence reports (not available in R12).</li></ul><p>As far as HR is concerned, HRI is generally considered as DBI. But is reality there is a lot more avaialbe with the product then just this. When you buy a HRI license you get tonnes of Discoverer reports (150+ workbooks) along with Discoverer ad hoc business areas which can be used to create Ad Hoc reports. There are also a lot of operational Discoverer reports available for which you do not need HRI license and are available with core HR/Payroll/OAB modules. The best way to distinguish if a Discoverer report is a HRI reports or a core module report is to look at the name of the report, all HRI reports start with HRMSi where as others would have BEN or PAY or HRMS.</p>Vikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com0tag:blogger.com,1999:blog-5610844.post-2566341786066378442007-01-15T12:19:00.000-08:002007-01-15T12:39:38.097-08:00DBI for HRMS Implementation ConsiderationsDBI for HRMS has a number of components that are either derived either directly from the HRMS or using custom logic defined by the implementation teams. In this blog I am trying to illustrate some of considerations for setting up the system<span style="font-weight: bold;"><br /><br />Headcount</span>:<br />Headcount is the most important metric used in DBI for HRMS. It is used for calculating the employee count, turnover, averages and everything that has something to do with employee calculations. DBI determines headcount based on the following things<br /><ul><li>Assignment Budget Value of Headcount specified on the employee assignment record (on assignment form go to others button and select budget)</li><li>In case you don't have the ABV defined, DBI uses the seeded TEMPLATE_HEAD to calculate the headcount. The formula assigns 1 as headcount to everyone who does not have a ABV specified.</li><li>In case your company have a different approach for calculating headcount, you can define the BUDGET_HEAD formula and assign custom headcount. This formula (with same name) has to be defined in every business group. In case where the BUDGET_HEAD formula is not defined for a business group Oracle would use the TEMPLATE_HEAD formula to determine the headcount. If you don't want to specify a different formula for each business group you can define the global formula in setup business group.<br /></li></ul> <span style="font-weight: bold;">Salary:</span><br />Salary is another important data point from which the metrics such as average salary and total salary are derived. Some of the important things to take care of are<br /><ul><li>DBI uses the salary information assigned on a person's assignment record. If you store salary information in any other place, DBI will not be able to pick it up. </li><li>Because DBI uses annual salary, the salary basis on person's assignment should have an annualization factor. If the annualization factor is not available, DBI cannot determine the annual salary.<br /></li></ul><span style="font-weight: bold;">Supervisor Hierarchy:</span><br />DBI uses supervisor hierarchy for reporting purposes and for rolling up data. The hierarchy is created based on the supervisor assigned on person's assginment record. Many a time you would find that the hierarchy is not created correctly. Some of the reasons for this are<br /><ul><li><span style="font-weight: bold;">No Supervisor:</span> If a person does not have a supervisor, he is excluded from the hierarchy. So you would now have 1 less headcount. This situation should never exist as it leads to incorrect numbers in the portal</li><li><span style="font-weight: bold;">Terminated Supervisor:</span> Similar to no supervisor condition, with the only difference being that if the terminated supervisor happened to be a senior manager, you would find a significant amount of people missing from the hierarchy</li><li><span style="font-weight: bold;">Supervisor Loops:</span> Consider the scenario A reports to B, B to C and C to A. In such a situation, there is no top node for the hierarchy and it breaks the hierarchy. To determine the loops in your system, watch for the log file of the HRI Load All Supervisor Hierarchy process to see for the loops. You might have to set the profile, HRI: Enable Detailed Logging to get the required output.<br /></li></ul><span style="font-weight: bold;">Jobs:<br /></span>Since very few companies have global jobs, aggregating data based on job can be very challenging. DBI simplifies this by allowing you to set up Job Function and Job Family dimensions for each job. Job Function can be considered as equivalent of dept<br />e.g. Sale, Marketing, Accounts, HR etc. Job Family is more detailed and can include specific job e.g Manager, Clerk etc. To setup Job Family and Job Function, DBI expects you to define equivalent segments on job kff or dff. You can associate the value set used for these<br />segments to the following profile options<br /><br />HR: BIS Job Hierarchy - Job Group Level 1 (Job Family)<br />HR: BIS Job Hierarchy - Job Group Level 2 (Job Function)<br /><br /><span style="font-weight: bold;">Exclude People for Reports</span><br />There are situation when you want to exclude a specific set of people from DBI portlets e.g. Companies that have implemented contingent workers as employees with a user person type of Contingent Worker, do not want contingent workers to be included in reports. DBI allows you to define the HRI_MAP_WORKER_TYPE fast formula in the setup business group. Using this formula you can decide the people to excluded from portlets based on the combination of following properties<br /><br />system_person_type<br />user_person_type<br />primary_flag<br />employment_category<br />assignment_type<br /><br /><br /><span style="font-weight: bold;">Map Job Roles:</span><br />If you are implementing the Chief HR Officer page and want to have the HR to Staff ratio KPI, then you would need to map the jobs to determine the jobs that are assigned to HR Staff. Define the HRI_MAP_JOB_JOB_ROLE formula in the setup business group. The formula lets you to determine the HR jobs based on the combination of job family and job function. If you don't have job family and functions defined then you would not be able to use this formula.<br /><br /><span style="font-weight: bold;">Performance</span><br />Oracle HRMS allows you to perform performance reviews using the Performance Review functionality available in PUI or using the Appraisals available in SSHR. DBI collects data from both the sources, so you should not have any issues with whichever function that you use. However, the rating given on the reivew cannot be compared directly as they can carry different weightage based on the function or business group they are used with. DBI expects a normalized rating based on which various ratings can be compared. You can define the NORMALIZE_REVIEW_RATING or NORMALIZE_APPRISAL_RATING fast formulas to normalize the rating into 1 to 100 scale. DBI further classifies the normalized rating based on the seeded buckets which classifies the rating into high, medium and low.Vikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com20tag:blogger.com,1999:blog-5610844.post-37687290581343714572007-01-08T15:37:00.000-08:002007-01-08T15:40:12.033-08:00How to clear Apache Cache without bouncing the listenerI 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<br /><br /><br /><ol><li>Give yourself the "Functional Administrator" responsibility.</li><li>Once logged in to this responsibility click on the "Core Services" tab (top-right).</li><li>Click on the "Caching Framework" link in the blue menu bar.</li><li>Click on "Global Configuration" link in the left vertical menu.</li><li>In the "Cache Policy" region click on the "Clear All Cache" button.</li><li>Click the "Yes" button to confirm the action.</li><li>Click the "Apply" button to apply the changes.</li></ol><br />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.Vikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com2tag:blogger.com,1999:blog-5610844.post-43914415564127076562007-01-08T13:28:00.000-08:002007-04-01T12:25:08.327-07:00DBI for HRMSDBI for HRMS delivers some extremely powerful dashboards and reports that help managers to take strategic decisions. It uses the data stored in HRMS table to build a data repository (similiar to data warehouse, except that data sits on the same server as the OLTP system). The repository is refreshed daily to provide managers with the latest enterprise level metrics.<br /><br /><strong>What can you do with DBI</strong><br /><ol><li>Contains Dashboards, KPI's and reports for enterprise level reporting</li><li>Allows users to look at headcount, turnover, new hires, transfers, salaries by various views such as supervisor, job function, job family, performance rating, length of service, geography etc.</li><li>Uses supervisor hierarchy, allowing managers to view data only for people reporting to them</li><li>Truly enterprise reporting solution. It does not use security profiles and business groups to restrict data</li><li>Comes with extensive drill down, slicing and dicing features</li><li>Allows users to drill down to detail of every transaction. (e.g. when viewing turnover, managers can look at terminated person's details)</li><li>Allows you to refresh the repository in full and incremental mode.<br /></li></ol><p><strong>Difficulties in implementing DBI</strong></p><p>Even though I was involved in the development of the module, there are a few situations that can complicate matters (grrr...)</p><ol><li><strong>Bad Data: </strong>DBI is extremely sensitive to data, any small issue with data will be magnified when reporting through DBI. Cleaning bad data can prove to be a big task when implementing DBI</li><li><strong>Build Custom Reports: </strong>Even though oracle delivers tools to design your custom reports, but there are several limitations and would require extensive design and development effort. It would be just like any other BI project.</li><li><strong>Extend delivered reports:</strong> If you want anything other then personalizing the reports and dashboards, its going to be difficult. My suggestion is don't even attempt it. DBI uses extremely complicated data structures and SQL's to present those number.</li><li><strong>Hierarchies: </strong>DBI uses supervisor hierarchy, many of the customers might want to use either a position hierarchy or an organization hierarchy for reporting. Current version of dbi does not allow you to do that.</li><li><strong>Debugging Issues:</strong> Debugging DBI issues can be complicated. Its best you call Oracle Support and seek the help of the development team (they are extremely helpful trust me..i used to be one of them :)) </li><li><strong>Handling Contingent Workers:</strong> If you are using the CWK person type creating contingent workers, you are ok. If you have contingent workers created as Employee be ready for some fun. Even though DBI delivers functionality to handle such situations, it going to take some effort to get the number correct. </li></ol>Vikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com0tag:blogger.com,1999:blog-5610844.post-81058316066408832622006-12-26T14:21:00.000-08:002006-12-26T14:30:50.645-08:00AME - Approvals Made EasyOne 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<br /><br />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<br /><br />When attribute A has a value B then the approver should be C<br /><span style="color:#ffffff;">........... </span>--------------<br /><span style="color:#ffffff;">............</span> Attribute<br /><span style="color:#ffffff;">........... </span>------------------------<span style="color:#ffffff;">.......................... </span>---------------------------<br /><span style="color:#ffffff;">....................</span>Condition<span style="color:#ffffff;">...............................................</span>Action<br /><span style="color:#ffffff;">...........</span>-----------------------------------------------------------------------<br /><span style="color:#ffffff;">........................................................</span> Rule<br /><br />This various componets of the equation are<br /><br /><ul><li><strong>Attributes</strong>: A is a property of the transaction that dictates how AME should behave e.g. name of the workflow process involved</li><li><strong>Condition</strong>: When attribute A has a value B. e.g. When the workflow process name is HR_NEW_HIRE_PRC_JSP</li><li><strong>Action</strong>: Approver should be C. This identifies who should perform the action. e.g. The approver should be person's supervisor</li><li><strong>Rule</strong>: 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.<br /></li></ul><p>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.</p><p>So you can see that AME is very easy to setup. It simple maths.. Happy implementation</p>Vikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com3tag:blogger.com,1999:blog-5610844.post-47620414835858561812006-12-05T08:44:00.000-08:002006-12-05T08:54:33.638-08:00How to setup Interim Coverage (Coverage Restriction)<strong>Requirement: </strong><br />You want to restirct a participant's coverage, in an insurance plan, that can be selected without a certificate. Untill the person provides the certificate you want him/herto receive a restricted coverage (interim).<br /><br /><strong>Navigation:</strong><br />Plan Enrollment Requirements > General > Plan > Coverage > Coverage Restrictions<br /><br /><strong>Setup: </strong><br /><p>1. Set the Restrict Change Based On to </p><ul><li>Benefit Restrictions Applies: If the interim is to be setup based on the coverage amount selected </li><li>Option Restrictions Applies: If the interim si to be setup based on the option included in the plan (e.g. cases where coverage is setup as multiple of salary)</li></ul><p>2. Set the Change Restrictions to NULL </p>3. Define the Values based on which the restriction are to be imposed <br /><ul><li>No Min check box: Select if there is no minimum for the plan </li><li>Min: Select if you have not selected the no min check box. Enter the min coverage amount that should always be selected </li><li>Min Rule: If the min amount is determined dynamically enter the name of the rule that returns the min amount </li><li>No Max check box: Select if there is no maximum for the plan (very unlikely) </li><li>Max: If you have not selected the No Max check box, enter the max coverage amount that can be selected (without certificate) </li><li>Max Rule: If the max amount is determined dynamically enter the name of the rule that returns the max amount </li><li>Max with Certifications: Enter the max amount that a person can ever select with a certificate. </li></ul><p>4. Enter the details in the Interim region </p><ul><li>Assign Code: Controls the interim coverage that is assigned, when a person elects an amount that is more than the max amount defined in step 3.e/3.f. There are various codes available that help's in handling situations where a person is already enrolled in the plan and is increasing coverage or when a person is newly electing the benefits. E.g: If the code selected was Current Same Option in Plan, Same; New, Default. For an existing participant the interim would be same as his previous enrollment. For a new participant the default option would be set as the interim </li><li>Unsuspend Code: Select the code that determines when coverage in the interim plan ends</li></ul><p>5. Increases Region: Use only setting up Benefits Restrictions. Applies when an existing participant is increasing coverage </p><ul><li>Max: Control the maximum increase a person can make on his existing coverage. Setting this to 0 would not allow a person to increase coverage </li><li>Max with Certification: Controls the max increase allowed with certification</li></ul><p>6. Multiple Increases: Use only if you setting up Options Restrictions. Applies when an existing participant is increasing coverage </p><ul><li>Max: Controls the maximum permitted option levels jump. Level are determined based on the seq in which options are entered in a plan</li><li>Max with Certification: Controls the max option level jump allowed with certification. </li></ul><p>This setups can also be made specific to a life events by clicking on the life event button andentering the data on the form. This provides a finer control over interim coverages across life events.</p>Vikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com10tag:blogger.com,1999:blog-5610844.post-35030763147665333062006-11-10T10:40:00.000-08:002006-11-10T10:47:31.849-08:00Building Custom Processes in Self ServiceIn 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.<br /><br />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.<br /><br />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.Vikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com1tag:blogger.com,1999:blog-5610844.post-68749040494756777572006-10-27T07:37:00.000-07:002006-10-27T07:39:13.479-07:00Convert Independent / Dependent Value Set to TranslatableSomteimes, the LOV's attached to your value set displays the code values instead of the meanings and this confuses users. One of the reason is that you have a Independent / Dependent Value Set when it should have been Translatable Independent / Dependent. This happens because the translatable value field on the flex field value window is disabled for non translatable type value sets and the translatable value field for all recors is set to same as the value field. This prevents users from entering the translatable value. In order to resolve this issue you can convert the independent / dependent value set to a translatable one, which would then allow you to edit the translatable value for the records. In order to do so run <br /><br />1. $FND_TOP/sql/afffupg1.sql script<br />2. Select the option #8 'Convert an Independent/Dependent value set to a Translatable Independent/Dependent value set '.<br />3. Enter the name of the value set<br /><br />Once the script has run you can go in and change the translatable values.Vikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com0tag:blogger.com,1999:blog-5610844.post-84295210866224596792006-10-16T14:07:00.000-07:002006-10-16T14:43:54.123-07:00How to Define a Custom SSHR Menu FunctionTo include a new cutom SSHR menu option, use the following instructions.<br /><br />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<br />a. Change parameter pProcessName so that it refers to the desire workflow process<br />b. Change parameter pCalledFrom so that it includes the internal name of the function being created<br />c. Change the value passed to OAFunc (HTML Call) to include the internal name of the function being created<br /><br />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<br /><br />3. Include the newly created ESS and MSS form functions in "Global Self Service Functions Custom" menu<br /><br />4. Include the newly created ESS function in "Manager Actions Menu"<br /><br />5. If the process is required in the ESS menu Include the newly created ESS form function in the Employee Self Service Menu<br /><br />6. If the process is required in the MSS menu Include the newly created MSS form function in the Employee Self Service Menu<br /><br />Please note that these steps are only relevant for SSHR. They may not work for other modules.Vikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com0tag:blogger.com,1999:blog-5610844.post-27301425516040422006-10-16T13:48:00.000-07:002006-10-16T13:49:24.812-07:00Understanding Self Service Menu FunctionsIn 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.<br /><br />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.<br /><br />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.<br /><br />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.<br /><br />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.Vikashhttp://www.blogger.com/profile/07512375695941409035noreply@blogger.com0