Well there is no official explaination from Oracle for usage of a workflow to drive the flow of the screens. However prior to using OA Framework in Self Service HRMS, SSHR was built using PL/SQL Web Cartridges and latter AK Developer was included. Those days OA Framework did not exist in the current form. When the very first version of SSHR was built by Oracle, back then the methodology of transaction state management of web based applications was not standardised across eBusiness Suite modules. Use this link to understand how OA Framework evolved. Therefore Oracle HRMS Product Development team decided to use a "Workflow process" to keep all the loose bits of screens tied together into one single transaction. If you open the HR [HRSSA] workflow, you will notice that there are many Workflow Activities that are mapped to PL/SQL Function named HR_WORKFLOW_SERVICE.BLOCK. These activity/steps in workflow correspond to a screen. This is how user navigation from one screen to other is controller in Self Service HRMS.
How does WF Activity know which OA Framework page to open
The Workflow activity is mapped to the OA Framework page via an AK Region. In earlier days of SSHR, AK Regions were used for developing the screens in SSHR [Self Service HR]. Latter these AK Regions were migrated to OA Framework pages. A file named regionMap.xml exists in the $PER_TOP/mds where this mapping exists. regionMap.xml is also loaded into the Database into MDS. Therefore, when a user logs into SSHR page, a Workflow Process fires. Within that WF Process there is an activity with Function "HR_WORKFLOW_SERVICE.BLOCK". To this activity the AK Region name is passed as parameter. The AK region is mapped to an OA Framework page. All these steps are explained in the image below
How does Oracle know which workflow process to initiate when a user enters "Person Information" screen in SSHR
When user clicks on SSHR Menu Item, the name of the workflow process is passed as a parameter to the form function. Therefore, the sequence of events are
- User clicks on a menu in SSHR responsibility
- Form Function attached to Menu is invoked.
- This Form Function invokes AK Region HR_CREATE_PROCESS_TOP_SS [See Web HTML of Form Function HR_PERINFO_SS]
In some cases SSHR Function directly invokes an OA Framework page, specifically holds true for pages developed post-AK-Developer era
- Parameter pProcessName is read and the Workflow Process named "Personal Information" is initiated
- All these steps are illustrated in image below
How does Oracle know which AME Transaction Type to use for that screen
As shown in image above, two parameters named pAMETranType and pAMEAppId are passed as parameter to the Form Function. This tells which AME Transaction Type will be used by the SSHR screen. However the decesion of whether AME is switched ON or OFF is decided by a Wokflow Activity named "Review Page". Every SSHR Workflow Process as a step named "Review Page". As shown in image below, when you double click on activity Review Page you will notice that this Workflow Function is passed a parameter named HR_APPROVAL_REQ_FLAG. If this WF Activity parameter is Yes or "Yes - Dynamic Approval" then the AME is called for Approval processing. To change the standard Approval processing in Oracle Self Service HRMS, you can customize this property to enable or disable the Approval Processing for specific screen in HRMS.
Further details of how you can implement differing AME logic for different SSHR screens will be covered in a future article.
Note- It is in Self Service HR [HRMS] that the AME Trx Type is passed as passed as parameter to the screen function. Every calling module can have its own specific way using which the AME Trx Type to be used is configured.
For example, in iRecruitment we have the following profile options that dictate the AME Transaction Type being used
IRC: Vacancy Approval Transaction Type -Identifies the vacancy approvals transaction type to be is used.
IRC: Offer Details Approval Transaction Type -Offer Details Approval Transaction Type
IRC: Extend Offer Duration Transaction Type -Extend Offer Duration Transaction Type
Do we directly customize the Workflow Process to change the AME behaviour for a screen?
Not really. You will copy the existing workflow process and create a new workflow process. For example a new workflow process named XX will be created. The review page property within this workflow process will be modified to use/remove AME. Thereafter you will create a new custom Form Function and attach that Custom Form Function to the Menu. This Custom Form function will be passed in the parameter pProcessName with Custom Workflow Process Name. This function must also be included within the menu named "HR_GLOBAL_SS_FUNCTIONS_CUSTOM". This will facilitate usage of the custom Form Function in SSHR.
Some further info
When a user makes changes to the data via SSHR, the following tables are populated.
HR_API_TRANSACTIONS
HR_API_TRANSACTION_STEPS
HR_API_TRANSACTION_VALUES
The table HR_API_TRANSACTION_VALUES contains the old and the new values of the each possible column/attribute that was changed by the user.
Comments
Thanks for showing visually one of the complex set up. We are working exactly on the same set up. In this we are customising the HRSSA's Worker Status Change program. Some of the activities are mapped to AK regions and some of the activities are mapped to OA pages. Both the activities are using "HR Activity Type" and "HR Activity Type Value" as attibutes.
Now we needed to add some regions in a AK region mapped page. The issue here is we knew the final OA page mapped to the AK region and we created a fnd function for the page and referred it in the workflow. From front end when we navigate to that page
we get an error that the new AK region is not defined ( The new one is a function ) .
Can you pls suggest how the Framework identifies whether the page is OA or an AK based one.
Thank you,
Srikanth
Alternatel y have a look at the form function definition to know if this is AK or not
In 11.5.10, SSHR has stopped using AK
Therefore you are most likely on OAF, and not AK
I want to disable approvals in iRec.ie .When a vacancy is created i dont want any approval .I have kept this profile option blank .
While submitting the vacancy , it does not show any manager , but after submitting the vacancy , The notification goes to the manager and the Vacancy is waiting managers approval.
Than ks to explain.
Regar ds
Shweta
I have modified the HRSSA.wf file to include dynamic approvals (to yes). I have also set the required attributes, conditions and defined approver groups. All the approvers are dynamically generated. The w/f approval works perfectly for absence management (as per what I have set it up). The trouble is with Personal information. No approvers appear for any changes made in personal information (contact, qiualificaiton and so on). What could be the issue here ??
regards,
He ma
How can I clear AME cache? We are in the UAT phase and go live is on Monday.
Wheneve r I compile AME custom package (which is a copy of AME_UTIL), AME displace invalid object error in ame_exceptions_ log. It worked some times when we ran the utlrp.sql script with SYSDBA privilege. Can you please help me to find out the where to clear cached object.
Thanks in advance,
Padmaj a
RSS feed for comments to this post