Technical Tips
Inventory Sub Ledger Accounting (SLA)
After a transaction is performed in forms:
mtl_material_transactions.costed_flag = 'N'
After the Cost Manager Picks up the data and processes it:
mtl_material_transactions.costed_flag is Null
xla_events.event_status_code = 'U'
xla_events.process_status_code = 'U'
After the Create Accounting - Cost Management is run:
xla_events.event_status_code = 'P'
xla_events.process_status_code = 'P'
xla_ae_headers.gl_transfer_status_code = 'N'
xla_ae_headers.gl_transfer_date is Null
After the Transfer To GL is run:
xla_ae_headers.gl_transfer_status_code = 'Y'
xla_ae_headers.gl_transfer_date is Not Null
Queries Involved:
1.select * from mtl_material_transactions where transaction_id = '&transaction_id'
2.select * from mtl_transaction_accounts where transaction_id = '&transaction_id'
3.select * from XLA_TRANSACTION_ENTITIES_upg where source_id_int_1 = '&transaction_id'
4.select * from xla_events where entity_id in (select entity_id from XLA_TRANSACTION_ENTITIES_upg where source_id_int_1 = '&transaction_id')
5.select * from xla_distribution_links where source_distribution_type = 'MTL_TRANSACTION_ACCOUNTS' and source_distribution_id_num_1 in (select inv_sub_ledger_id from mtl_transaction_accounts where transaction_id = '&txnid')
6.select * from xla_ae_headers where ae_header_id in (select ae_header_id from xla_distribution_links where source_distribution_type = 'MTL_TRANSACTION_ACCOUNTS' and source_distribution_id_num_1 in (select inv_sub_ledger_id from mtl_transaction_accounts where transaction_id = '&txnid'))
7.select * from xla_ae_lines where ae_header_id in (select ae_header_id from xla_distribution_links where source_distribution_type = 'MTL_TRANSACTION_ACCOUNTS' and source_distribution_id_num_1 in (select inv_sub_ledger_id from mtl_transaction_accounts where transaction_id = '&txnid'))
8.select * from gl_import_references where gl_sl_link_table = 'XLAJEL' and gl_sl_link_id in ()
9.select * from gl_je_lines where je_header_id in () and je_line_num in ('')
10.select * from xla_accounting_errors where event_id in (select event_id from xla_events where entity_id in (select entity_id from XLA_TRANSACTION_ENTITIES_upg where source_id_int_1 = '&transaction_id'))
Thanks to sairamgoudmalla
R12.2.3 Suppliers Details
Import Perionalization
Step 2) Functional Administrator -> Personalization Tab -> import/Export menu
Step 3) select the Personalization xml to Export or Import
Remove Peronsalization
2. Click Receiving tab.
3.Click About this Page link on bottom left.
4. Verify and copy the value for Document Name, e.g.:
/oracle/apps/icx/por/rcv/webui/IcxPorRcvHomePG
5. Switch to Functional Administrator responsibility.
6. Click Personalization tab.
7. Enter value from step 4 in Document Path. e.g.:
/oracle/apps/icx/por/rcv/webui/IcxPorRcvHomePG
8. Mark check-box for Personalized.
9. Click Go.
10. In the results container, click 'Manage Personalizations'.
11.On Manage Personalization Levels page, mark check-box in Select column for Site Level.
12. Click the 'Delete Personalizations' button above.
13. Get Warning:
"Are you sure you want to delete personalization defined at
Site Level for Page:
/oracle/apps/icx/por/rcv/webui/IcxPorRcvHomePG ?"
14. Click: Yes
15. Personalization is now removed.
16. Go back to iProcurement responsibility.
17. Click Receiving tab.
18. See that Personalize Page link is again available.
Thanks metalink
Error Approval List could not be generated
Why isn't the approval list being built?The following message is thrown:"Error Approval List could not be generated. Please contact your System Administrator to reviewAME rules setup."Not using AME.
Solution
When not using AME, ensure that the Approval Transaction type for Purchase Requisition documenttype is NULL1. Go to Purchasing responsibility > Setup > Document Types
2. Query the requisition
3. Clear Approval Transaction type 4. Click Apply
Disable Personalization
1. Go into the responsibility: System Administrator.
1.1 System : Profile
1.2 Set the Profile "Disable Self-Service Personal" to YES.
1.3 Goto Sales User responsibility.
1.4 Leads Update Page: Personalize Page Link.
1.5 Manage Levels Button.
1.6 Delete (Or Deactivate) this personalization which was affecting the page.
Creating a C or Pro*C Standalone Concurrent Program in Oracle Applications- metalink
==========================================================================
This note describes the basic steps to set-up a Pro*C program as a Standalone concurrent program in Oracle Applications
This note has been used for Release 10.7 and Release 11 on Unix, any differences have been noted in the text.
Overview of the steps
=====================
1) Create custom application
2) Set-up concurrent program
3) Create and compile Pro*C program
4) Make the binary using adrelink
5) Run program and check results
1) Create custom application
============================
Customisations should of course be created in a seperate area in a custom application. If you have not yet created a custom application, you should follow the steps below:-
a) Modify the APPLSYS.env file
Add the following lines
PC_TOP=$APPL_TOP/pc
export PC_TOP
Add 'PC' to the APPLFULL variable for example:-
APPLFULL='PC FND AD ALR AX AK GL RG INV PO AP FA AR OE AS PA CN WH PER PAY SSP O
TA BOM MRP WIP ENG CRP RLA VEH QA CS CE EC ICX '
b) Create directories
Create the following directorys :-
$PC_TOP
$PC_TOP/$APPLLIB
$PC_TOP/bin
$PC_TOP/$APPLOUT
$PC_TOP/$APPLLOG
c) Application-->Register
Application Name = ProC Test
Short Name = PC
Basepath = PC_TOP
Abbreviation = PC (10.7 only)
Message = APP (10.7 only)
Description = ProC Test
d) Security-->Oracle-->register
Database User Name = PC
Password = PC
Privilege = Enabled
Name = STANDARD (10.7 only)
Install Group = 0
Description = ProC Test
e) Security-->Oracle-->DataGroup
Data Group = ProC
Application = ProC Test
Application User name = APPS
(You also must define AOL application against user APPS)
f) Create user in Database
Go into SQLPLUS, connect as system to the correct database and create PC user as below
create user pc identified by pc
default tablespace <data_tablespace_name>
temporary tablespace <temp_tablespace_name>
/
grant connect to pc
/
g) Security-->Responsibility-->Define
Group = ProC Test
Application = ProC Test
Code = <not entered>
Description = ProC Test
(You do not need to specify any requests in your Requests Group at this stage)
h) Application-->Menu
Menu = PROCMAINMENU
User Menu Name = ProC Main Menu
Description = ProC Main Menu
Seq = 1
Navigator Prompt = Requests
Submenu = Requests Menu - Other Responsibilities
Description = Requests
i) Security-->Responsibility-->Define
Responsibility = ProC Test
Application = ProC Test
Responsibility Key = PROCTEST (Rel 11 only)
Data Group = ProC
Application = ProC Test
Menu = ProC Main Menu
Request Group = ProC Test
Application = ProC Test
j) Security-->User-->Define
User Name = ProC
Password = <suitable password>
Responsibility = ProC Test
2) Set-up concurrent program
============================
As System Adminstrator do the following:-
a) Concurrent-->Program-->Executable
Executable = PCTEST
Application = ProC Test
Description = ProC Test
Execution Method = Spawned
Execution File Name = PCTEST
Subroutine Name = <not entered>
b) Concurrent-->Program-->Define
Program = ProC
Short name = PROC
Application = ProC Test
Description = ProC Test
Executable Name = PCTEST
Method = Spawned
(Leave all other settings as the default)
c) Security-->Responsibility-->Request
Group = ProC Test
Application = ProC Test
Code = <not entered>
Description = ProC Test
Requests Type = Program
Requests Name = ProC
Requests Application = ProC Test
3) Create C or Pro*C programs
=============================
From the Unix prompt change directory to the $PC_TOP/$APPLLIB directory.
Copy the following files from $FND_TOP/$APPLUSR:-
EX*.c
sample.mk
Rename EXMAIN.c as pctest.c
Rename EXPROG.c as pctestprog.c
Rename sample.mk as pc.mk
Modify pctest.c as below:-
#ifndef AFPUB
#include <afpub.h>
#endif
#ifndef AFCP
#include <afcp.h>
#endif
FDRCSID("$Header: pctest.c 1.0 99/05/24 09:30:00 porting ship $");
AFP_FUNCS pctest;
int main(argc, argv)
int argc;
char *argv[];
{
afsqlopt options;
return(afprcp(argc, argv, (afsqlopt *)NULL, (afpfcn *)pctest));
}
Modify pctestprog.c as below:-
#ifndef AFPUB
#include <afpub.h>
#endif
#ifndef AFCP
#include <afcp.h>
#endif
FDRCSID("$Header: pctestprog.c 1.0 99/05/24 09:30:00 porting ship $");
boolean pctest(argc, argv, reqinfo)
int argc;
text *argv[];
dvoid *reqinfo;
{
int i;
text buffer[241];
fdpwrt(AFWRT_LOG | AFWRT_NEWLINE, "Hello World.");
fdpwrt(AFWRT_LOG | AFWRT_NEWLINE, "Hello World.");
fdpwrt(AFWRT_OUT | AFWRT_NEWLINE, "This is a test! Take one.");
fdpwrt(AFWRT_OUT | AFWRT_NEWLINE, "-------------------------");
for ( i = 0; i < argc; i++ )
{
sprintf(buffer, "argv[%d]: %s", i, argv[i]);
fdpwrt(AFWRT_OUT | AFWRT_NEWLINE, buffer);
}
return(afpend(FDP_SUCCESS, reqinfo, "")); /* For successful completion */
}
Modify pc.mk as below:-
# start of makefile
PCTEST_BIN = $(PC_TOP)/$(APPLBIN)/PCTEST
PCTEST_OBJ = $(PC_TOP)/$(APPLLIB)/pctest.o
MODULES = $(PCTEST_BIN)
all: $(MODULES)
$(PCTEST_BIN): $(PCTEST_OBJ) $(LFNDLIB) $(LPCLIB)
$(CC) $(LDFLAGS) -o $@ $(PCTEST_OBJ) \
$(LPCLIB) $(LFNDLIB) $(ORACLE_LINK)
$(CHMOD) 755 $@
$(MCS) $@
# end of makefile
4) Compile programs and make the binary using adrelink
======================================================
Ensure you are in the $PC_TOP/$APPLLIB directory
a) Set up ProC generation file and process Pro*C file (if applicable)
I am sure there is a better way of doing this, but the following works for me....
Create a shell script called pcrun with contents as below:-
proc include=. include=$FND_TOP/include include=$ORACLE_HOME/rdbms/demo include=
$ORACLE_HOME/precomp/public ireclen=161 sqlcheck=none dbms=v6 $1 | tee pcrun.log
When you want to process your ProC file, you type in 'pcrun <filename>' If any messages on screen are lost, the screen output is echoed into the file called 'pcrun.log'
b) Make the C files
Run the following commands to compile the example programs
make -f pc.mk pctest.o
make -f pc.mk pctestprog.o
Check the files pctest.o and pctestprog.o exist. If there is a file called n=Read_only_strings, then there is a problem with the CFLAGS environment file. This is set-up in the $FND_TOP/$APPLUSR/devenv file and depends on the $PLATFORM environment variable being correct. Check $PLATFORM is the correct value for your system, if not change this setting in your APPLSYS.env (or equivilent) file.
c) Generate library file
We need to create a library file for the PC module as below:-
ar rv libpc.a pctestprog.o
NOTE - the file libpc.a MUST exist for adrelink to complete. If the file does not have any object files in it then Release 10.7 adrelink will fail, whereas Release 11 will just give you a warning. This step ensures there will not be any such problems.
d) Link binaries using adrelink
Now try to relink the binaries using the following command:-
adrelink force=y ranlib=y "PC PCTEST"
Check the adrelink.log file for errors, and that PCTEST exists in the $PC_TOP/bin directory.
NOTE - If you get an error similar to "UX:make: ERROR: Must be a separator on rules line 1303 (bu39)" this is usually caused by corrupt / misaligned makefile.
Are you using tabs in the makefile ?
IE :-
$(PCTEST_BIN): $(PCTEST_OBJ) $(LFNDLIB) $(LPCLIB)
<tab>$(CC) $(LDFLAGS) -o $@ $(PCTEST_OBJ) \
If you put in spaces where <tab> should be, you will get this error.
5) Test program
===============
Login to applications as the PROC username.
Run the Concurrent Program called 'ProC'
Assuming it completes succesfully, you should see the following output:-
Log file
--------
ProC Test: Version : UNKNOWN - Development
PROC module: ProC
+---------------------------------------------------------------------------+
Current system time is xx
+---------------------------------------------------------------------------+
Hello World.
Hello World.
+---------------------------------------------------------------------------+
Concurrent request completed successfully
Current system time is xx
Report file
-----------
This is a test! Take one.
This is a test! Take two.
-------------------------
argv[0]: PROC
References
==========
Manuals
-------
A57983 - Release 11 Installation Manual (Unix) - page B-8
A58187 - Release 11 Developers Guide - Chapter 19
A47542 - Release 10 Installation Manual (Unix) - page B-12
A12535 - AOL Reference manual - Chapter 9
Notes
-----
Bug 758459 - Release 11 - afcall.h missing see contents of this file below:-
Contents of afcall.h
--------------------
/*$Header: afcall.h 110.0 98/07/20 15:32:44 porting ship $*/
/*======================================================================+
| Copyright (c) 1998 Oracle Corporation Belmont, California, USA |
| All rights reserved. |
| Application Division |
+======================================================================+
| FILENAME |
| afcall.h |
| |
| DESCRIPTION |
| HISTORY |
| 07/20/98 Jin Liu Created. |
*----------------------------------------------------------------------*/
#ifndef AFCALL
#define AFCALL
#ifdef WIN32COMMON
#ifdef FNDPUBSTD
#define AF_CALL _stdcall
#else
#define AF_CALL _cdecl
#endif
#else
#define AF_CALL
#endif
#endif /* AFCALL */
How To Setup And Use AME For Purchase Requisition Approvals [ID 434143.1]
AME responsibilities in 11i.AME.A are assigned directly to the users. However, In R12 or 11i.AME.B and higher, AME responsibilities are assigned indirectly to users through roles. The roles are assigned to the users by the SYSADMIN user using the User Management responsibility. Once the roles are assigned, the AME responsibilities are automatically available to the users without specifically assigning the AME responsibilities to the users. Here are steps to assign the roles:
1. Login as System Administrator user
2. Select the responsibility "User Management". (NOTE: User Management data is stored in the UMX schema)
3. Select "Users" menu option
4. Search for the user to whom you wish to grant AME roles
5. In the results table, click on update icon
6. In the update user page, user details can be seen along with a list of roles available to user. Click on "Assign Roles"
7. Search for Approval% and Select roles from the resulting LOV. Choose the roles that are applicable (proper authority) for the user, and click the Select button.
8. Specify justification and relevant dates for the newly assigned roles, and click Apply to assign the roles to the user.
Reference Note 413300.1 Oracle Approvals Management Not Enabled? What Does It Take To Enable It?
Grant Transaction Type Access to Users
AME restricts access to transaction types using Data Security. Grant users access to the transaction types using the Grants page. Set up user access as follows: 1. Navigate to the Personal Home Page. 2. Select Functional Administrator Responsibility 3. From the Grants page, press on the Create Grant button 4. Create a grant with the following information:
Name
Grantee Type = Specific User
Grantee =
Object = AME Transaction Types
5. Click Next and select the Object Data Context
Data Context Type = All Rows
6. Click Next to define the object parameters and Select Set
Set = AME Calling Applications
7. Click Next. Review the changes and then Finish the process.
Review and Modify AME Setup
AME is designed to provide approval logic for many transaction types. Transaction types used for Purchase Requisitions include the following: Purchase Requisition Approval, Internal Requisition Approval, and Requester Change Order Approval. This whitepaper focuses on Purchase Requisition Approval, however, many of the concepts are applicable to the other two requisition transaction types as well. Likewise, some examples and comments in this paper are written in iProcurement context, but the same AME concepts apply to core apps requisitions also.
1. Navigate to the Approvals Management Business Analyst, Standard responsibility
2. Choose the Business Analyst Dashboard menu from the responsibility
3. Use the Transaction Type LOV to search and select the transaction type = Purchase Requisition Approval
4. Use the links on the right in the Approval Process Setup region to set the components (Attributes, Conditions, Action Types, Approver Groups) and rules, or to use the test workbench in AME.
1. Action Types
1. An action type is a collection of actions having similar functionality. Every action belongs to an action type. Action types are enabled or disabled for a particular transaction type. AME may give an error when attempting to enable an action type for a transaction if the transaction is not designed to allow that action type. Reference Note 293315.1 11.5.10 FAQ for Approvals Management (AME) Integration For iProcurement and Purchasing - for a list of action types allowed for requisition transactions in AME. In addition, Note 404152.1 Release Content Documents for E-Business Suite R12 - provides a link to the Procurement Family RCD which clarifies (Section 3.4.2.14) that requisition approval with Oracle Approvals Management (AME) in R12 allows use of Position Hierarchy based Approvals, Parallel Approvals, and Support for FYI Notifications.
2. To disable or enable action types for the transaction, select the Action Types link
3. The Action Types page shows the action types that are currently enabled for the transaction type (Purchase Requisition Approval). Use the Previous and Next links to scroll through the list of enabled action types. Select the Use Existing Action Type button to see other pre-defined action types available in AME. Some of these may or may not be applicable to the currently select transaction type; AME will give an error if the user tries to add a non-relevant action type for the selected transaction type.
4. Navigate to HR responsibility -> Work Structures -> Job -> Description - to assign a Level (Approval Authority) to a Job. Query up the Job and enter the appropriate Job Level in the Approval Authority field.
5. In AME, select any or all of the following Action Types for JOB BASED approvals if applicable for your business requirements:
1. absolute job level / chains of authority based on absolute job level
2. final approver only / chains of authority containing only the final job-level approver
3. manager then final approver / chain of authority includes requestor's manager and then the final approver
4. relative job level / chains of authority based on relative job level
5. supervisory level / chains of authority based on number of supervisory levels
6. In AME, select any or all of the following Action types for APPROVER GROUP approvals if applicable for your business requirements:
1. post-chain-of-authority approvals / group approvals after the chain of authority
2. pre-chain-of-authority approvals / group approvals before the chain of authority
3. approval-group chain of authority / chain of authority includes an approval group
7. In AME, select any of all of the following Action types for POSITION BASED approvals (Only in R12 and higher) if applicable for your business requirements
1. hr position / chains of authority based on a particular HR position
2. hr position level / chains of authority based on HR positions
2. Attributes
1. Attributes are the base element for an AME Rule. Attribute values are retrieved from the Oracle EBusiness Suite Applications database or derived from values in the database. AME is seeded with attributes relevant to the transaction type, and the user can create new attributes in AME for use in AME rules.
2. Select the Attributes link to view or add attributes for the selected transaction type
3. Use the Previous and Next links to scroll through the existing attributes. Some of the attributes relevant to Purchase Requisition Approval include ITEM_CATEGORY, ITEM_NUMBER, and REQUISITION_TOTAL as well as other attributes. When AME approvals is enabled for purchase requisitions, these values are retrieved for the relevant requisition while navigating through iProcurement checkout or core apps requisition create, and AME uses this information to determine the appropriate AME rule(s) to use.
4. In addition to the seeded attributes, a customized attribute can be created. DAVE_CATEGORY_SEGMENT is an example of this. This attribute uses a query to capture SEGMENT1 of the Item Category flexfield. The Item Category flexfield may be setup to use one or more segments; this customized AME attribute captures only SEGMENT1 of the flexfield. This allows the users to setup conditions and rules that are dependent on a certain value in SEGMENT1 of the ITEM Category used on the requisition. NOTE: The new attribute DAVE_CATEGORY_SEGMENT1 uses the same sql query as the seeded ITEM_CATEGORY AME attribute, except it selects mck.segment1 rather than mck.concatenated_segments.
3. Conditions
1. Conditions identify values and value ranges for some or all of the attributes available. AME rules refer to these conditions to determine if a particular rule is applicable for the specific document (requisition) being approved. For example, an AME rule can be setup to require certain approvers if $0 USD <= requisition total < $1000 USD. Since REQUISITION_TOTAL is a seeded attribute, the user can define a condition $0 USD <= requisition total < $1000 USD, and then use this condition in a rule to require certain approvers for the requisition. The rule cannot refer to this condition until it is defined in AME Conditions for the Purchase Requisition Approval transaction type.
2. Select the Conditions link from the AME Business Analyst Dashboard after specifying the Purchase Requisition Approval transaction type. Selecting the Conditions link will display the existing conditions defined for the transaction type, and also allow the user to create new conditions for the transaction.
3. Click the Create button to create a new condition
4. To define the new condition, specify whether the condition is ordinary, or an exception condition (which can only be used in an exception rule – see the online Help for details). Use the Attribute LOV to choose the attribute on which the condition is based. The condition will specify a value or range of values for the attribute, so the attribute must be selected before the value(s) can be defined.
5. Define the allowed value or value range for the selected attribute. Click Apply to complete the condition definition.
4. Approver Groups
1. Approver Groups are optional. Setup Approver Groups if additional approvers are required for particular conditions, or to specify a dynamic sql query for additional approvers. The rules defined for the transaction can be based on Approver Groups, Jobs defined in HR setup, or Positions defined in HR setup (only in R12); the rules may also use a combination of Job, Position, and Approver Group basis. (See the Rules details later in this paper for more information about the rules)
2. Select the Approver Groups link from the AME Business Analyst Dashboard.
3. View and edit existing approver groups, or Click the Create button to create a new approver group.
4. When creating the approval group specify all the mandatory values.
1. Give a name and description to the approval group.
2. Specify an order number (order number of this approver group relative to other approver groups).
3. Choose a voting regime – only Serial is supported for Purchase Requisition Approval in 11.5.10 and 11.5.9. R12 does allow other voting regimes that use parallel routing.
4. Choose Static if approvers will be selected when defining the approval group, or choose Dynamic if a sql query is used to dynamically find the approvers for this approver group when the requisition approval transaction is being processed.
5. Click the Add Another Row button to add approvers to the approval group now.
6. Click Apply to save the approver group
5. The approval group members can be added as additional approvers to the normal chain of command approvers generated by AME.
5. Rules
1. Define rules to specify approvers that should be included in the approval list under specific conditions for the requisition approval transaction.
2. Select the Rules link from the AME Dashboard after selecting the transaction type – Purchase Requisition Approval
3. Review the list of existing rules already defined for the transaction
4. Select the Create button to create a new rule for the transaction. (Optionally, if there already exists a similar rule choose the Duplicate icon or the Use Existing Rule button).
5. Step 1 of 4: Specify a name for the new rule and choose the rule type and effective dates. Rule types are explained in the AME online help pages along with examples. The most common types are List Creation, Pre List Approver Group and Post List Approver Group. (NOTE: Some rule types may not be available if the corresponding action types have not been assigned to the transaction – Purchase Requisition Approval. Use the Action Types feature to add or remove action types for the transaction)
6. Step 2 of 4: Specify one or more conditions that activate the rule. The Conditions are defined in the AME Setup, and they may be seeded conditions or user defined conditions.
7. Step 3 of 4: Choose the Action Type and then choose a specific action. The list of actions available is dependent on the Action Type selected. The actions are related to Jobs, Positions (in R12), or Approver Groups. (Action Types are discussed previously in this whitepaper)
8. Step 4 of 4: Review the rule details and click Finish to complete the rule setup, or click Back to make changes.
6. Test Workbench
1. Use the Test Workbench to determine which AME Rule(s) apply to a specific requisition, or to determine which AME Rule(s) apply for an adhoc combination of values specified at the time of the test. Select the Test Workbench link from the AME Dashboard
1. Specific Requisition test
1. Click the Run Real Transaction Test button.
2. Specify the value of REQUISITION_HEADER_ID from PO_REQUISITION_HEADERS_ALL as the Transaction Id value. Click Go to see the AME rules that apply to the requisition.
3. Adjust the rules setup to cause rules to be called differently based on the business requirements.
2. Adhoc test
1. Click the Create button on the Test Workbench page
2. Specify Name and Description for the test, and specify values for pertinent attributes (e.g. Requisition Total = $100 USD)
3. Click the Run Test Case button to see the applicable AME rules, and the resulting AME approval list that will be built based on the conditions specified for the attributes.
Enable AME for Requisition Approval
1. Navigate to Purchasing responsibility
2. Setup / Purchasing / Document Types
3. Select Purchase Requisition (or Internal Requisition) as the document type
4. Specify Approval Transaction Type = PURCHASE_REQ (or INTERNAL_REQ) to enableAME approvals for Purchase Requisitions (or Internal Requsitions) in the current operating unit
Test the Functionality
1. Create a requisition in Core Apps Purchasing or iProcurement and verify that the Approval List is built per the AME rules based on the conditions present on the requisition attributes.
View the AME Setup
1. Click the Setup Report link in the Quick Links section of the Dashboard
2. Select the appropriate transaction type (Example: Purchase Requisition Approval) and click Go.
3. Click the Printable Page button to view the complete setup for the selected transaction type (Attributes, Conditions, Rules, Approval Groups, and etc.)
4. Compare the AME setup to the requisition attributes and approval list generated for a specific requisition, or compare the AME setup to the business requirements. NOTE: This document is not considered formal documentation of the product, but is a useful tool for applying the functionality described.
MSWord Format - AME for Purchase Requisition Approval - Whitepaper
NOTE1: These same instructions are provided in MSWord document format with screenshots in the file attached to this note. Please see the attached MSWord document for more details.
NOTE2: This document is not consider formal documentation of the product, but is a useful tool for applying the functionality described.
Summary
This paper describes the setup steps for accessing AME, designating AME as the approval choice for requisitions, and using the AME approval routing for requisitions. Use this document as a guide for initial AME setup, or for validating and adjusting a current AME setup to meet changing needs. This information is also helpful for troubleshooting approval routing issues when using AME approvals. For additional troubleshooting ideas review Note:428552.1.
Please provide feedback with your comments or recommendations for improving this document.
References
NOTE:293315.1 - 11.5.10 FAQ for Approvals Management (AME) Integration For iProcurement and PurchasingNOTE:404152.1 - E-Business Suite Release 12: Release Content DocumentsNOTE:413300.1 - Oracle Approvals Management Not Enabled? What Does It Take To Enable It?NOTE:428552.1 - How To Diagnose Issues With Approvals Management Engine (AME) In Procurement
How to update Workflow Administrator Role in Oracle Applications 11i/R12
If you want to see workflow details (owned by other users) or status diagram in Oracle Applications 11i/R12 then you should belong to one of responsibilities/user listed under WF_ADMIN_ROLE. By default (in 11i & R12) this role is set to user sysadmin (In old versions 11.5.8 or prior, it used to set to *)
If you wish to change WF_ADMIN_ROLE, as per most of metalink notes either
1. Change it via Workflow Administrator Web Applications responsibility (Login as sysadmin >> Workflow Administrator Web Applications >> Administration)
or update table
2. SQL> update wf_resources set text=’&Enter_Admin_Name’ where name=’WF_ADMIN_ROLE’;
to set it to everyone, use
SQL> update wf_resources set text=’*’ where name=’WF_ADMIN_ROLE’; .
Problem with above solution- Execution of Autoconfig will override above settings. Autoconfig will pick value against parameter s_wf_admin_role (default value SYSADMIN) from context file $CONTEXT_FILE.
Correct way to set Workflow Administrator Role
1. First identify Workflow Role Name associated with User or Responsibility.
A. For setting Admin Role to specific user
SQL> select name from apps.wf_roles where DISPLAY_NAME like ‘&USER_NAME’ and ORIG_SYSTEM=’FND_USR’;
B. For setting it to a responsibility (so that all users with that responsibility can view other user’s Workflow)
SQL> select name from apps.wf_roles where DISPLAY_NAME like '&Responsibility_Name’ and ORIG_SYSTEM=’FND_RESP’;
SQL> select name from apps.wf_roles where DISPLAY_NAME like ‘System Administrator‘;
(output for System Administrator responsibility should look like) FND_RESP SYSADMIN SYSTEM_ADMINISTRATOR STANDARD
SQL> select name from apps.wf_roles where DISPLAY_NAME like ‘Application Developer‘; (output for Application Developer responsibility should look like)
FND_RESP FND APPLICATION_DEVELOPER STANDARD
2. Update context file ($CONTEXT_FILE) variable s_wf_admin_role (If you don’t see this parameter in context file then apply latest Autoconfig Patch) to value from above query
For Sysadmin User
- Set it to SYSADMIN
For System Administrator Responsibility
- Set it toFND_RESP SYSADMIN SYSTEM_ADMINISTRATOR STANDARD
For Application Developer Responsibility
- Set it to FND_RESPFNDAPPLICATION_DEVELOPERSTANDARD
3. Run Autoconfig -$OAD_TOP/admin/scripts/$CONTEXT_NAME/adautocfg.sh (11i)$ADMIN_SCRIPTS_HOME/adautocfg.sh (R12)
References
Note 453137.1 Oracle Workflow Best Practices Release 12 and Release 11i
Note 358090.1 Workflow Administrator Field Become Uneditable after Selecting System Administrator Responisibility
Bug 4185567- Wf System administrator Field Become Uneditable after selecting System Administrator
R12 Approvals Management Engine (AME)
2. AME – What is it?
i. AME is a simple to use Rules Engine for Defining Approval Policy
ii. AME is generic engine can be used where no integration currently exist, even with non EBS modules
iii. Standardizing on one engine reduces costs for customer as well as consulting since only one set of skills required
iv. None or only minimal coding required to setup rules
3. AME – When can it be used?
a. AME can be used to derive lists of approvers based on user defined rules and maintain a history of approvers statuses when: -
i. Transferring employees from one division/cost centre to another
ii. Authorizing expenses
iii. Paying invoices
iv. Approval of Purchase Requisition
v. Much more – review EBS Module Integration List
4. AME – Module Integration List
i. 11i8/9 11i10
b. E-Records (ERES) User Management iSupplier
c. Quoting ODM – BOM Sourcing
d. Accounts Payable ODM – Engineering iProcurement
e. Credit Management ODM – Inventory R12
f. iExpenses ODM – Quality Mgt E-Tax
g. Lease Management ODM – Receiving Grants
h. iRecruitment ODM – WIP Core Pay
i. Training Administration (SS) AR – Credit Memo Public Sector
j. Self Service HR (4.1) Internal Controls Mgr Proposals
k. OPM – Inventory OTA – Learner UI Distribution
l. OPM - New Product Dev OTA – Manager UI GL-Journals
m. OPM – Process Execution iAssets (Transfer) Account Planning
n. OPM – Quality Mgt. Deal Registration Service Contracts
o. Oracle Partners Mgt Referral Management Collections
p. AR – Credit Mgt PO - Requisitions Incentive Comp
5. Business Processes for Transactions and approvals Create Transaction Manage Approvals and Notifications
a. Approve
b. Reject
c. Return
6. Submit for Approval Update when approved 1 3 2 4
7. Approval Policies
– AME Rules Approval Policies translate to rules in AME and are made up of the following components: if and then Transaction Category In {Salary} Salary Increase Pct > 15 require approvals up to the first two superiors Rule Conditions Action Types Attributes require post approval from CIO
8. Setup Details – Profile Options
i. AME responsibilities can be directly assigned in 11i.AME.A. But in 11i.AME.B & R12 & higher, the responsibilities are assigned through roles.
ii. AME: Installed – Set this profile value to ‘Yes’ at required application level.
iii. HR:Defer Update After Approval: Set this profile value to ‘No’ to avoid the status ‘Pending Approval’ after transactions’ approval.
iv. AME: Append to List option on Approvers region – To control the requesters/initiators to append approvers to the approval list. If set to the value ‘No’ would not allow the users to append the list.
9. AME – How to assign the role?
a. Login as ‘System Administrator’ (not a responsibility) & navigate to ‘User Management > Users > Query the user and click Update > Search & Add the AM Admin roles as shown below
10. AME – How to grant transaction type access to users?
a. AME restricts access to transaction types using Data Security. Grant users access to the transaction types using the Grants page.
b. Login as ‘Functional Administrator’ responsibility & click on ‘Create Grant’
11. AME – How to grant transaction type access to users?
12. Setup Details – Configuration Variables
i. Important configuration variables are shown below:
ii. Please note the values for these variables can vary for each transaction type.
13. Setup Details – New Transaction Type
a. A new transaction type can be created using ‘Approvals Management Administrator’ responsibility
14. Setup Details – New Transaction Type
a. There are 4 steps in creating a new transaction type
b. The new transaction type can be created with different item classes like Header, Line Item, Cost Center, Project, etc depending on the requirement
15. Setup Details – New Transaction Type
a. There are 11 mandatory attributes whose values can be derived using SQL queries
16. Setup Details – Approval Process
a. The approval process for the newly created transaction type can be setup using ‘Approvals Management Business Analyst’ responsibility.
17. Setup Details – Attribute
a. Attributes are the base element for an AME Rule. Attribute values are retrieved from the EBS Applications database
b. AME is seeded with attributes relevant to the transaction type and the user can create new attributes in AME for use in AME rule
18. Setup Details – Condition
a. Conditions identify values and value ranges for some or all of the attributes available
b. AME rules refer to these conditions to determine if a particular rule is applicable for the specific document (requisition) being approved
c. There are 2 types of conditions – Regular & List Modifiers
19. Setup Details – Action Type
a. An action type is a collection of actions having similar functionality
b. Every action belongs to an action type. Action types are enabled or disabled for a particular transaction type
c. Voting method (or regime) decides how the responses to the action types are treated
20. Setup Details – Approver Group
a. It is an optional setup. Required only when additional approvers are required for particular conditions
The rules defined for the transaction can be based on Approver Groups, Jobs defined in HR setup, or Positions defined in HR setup Additional approvers are added here
21. Setup Details – Rule
Rules specify approvers to be included in the approval list under specific conditions Rule category can be either approver or FYI
22. Setup Details – Rule
a. Actions are added from action type associated with the transaction type
23. Setup Details – Test Workbench
a. This is used to determine which AME rules apply to a specific document (requisition)
24. Test cases with values for various attributes can be saved for repeated use
Setup Details – Test Workbench
a. For real transaction test, requisition’s header ID need to be entered as transaction ID. This would pull values for all the attributes
25. Setup Details – Test Workbench
a. Final approver list is displayed along with the applicable rules
26. Setup Report
a. A setup report can be run from Business Analyst’s dashboard which would show all the attributes, conditions, rules used in the transaction type.
b. A sample output of the report is attached below
27. Implementation Guidelines
i. Read the Implementation Guide – never go in blind, you will make mistakes
ii. Some SQL and EBS entities knowledge required if additional Attributes or Dynamic Approval Groups needed
iii. Design approval matrix / decision tree on paper and use that as basis for your rules
iv. Don’t create custom Action Types unless you really have to
v. If DFF’s need to be used in AME, then custom attributes need to be created using SQL query
vi. Purge transaction data using the concurrent program ‘Approvals Management Transaction Data Purge’
vii. In 11.5.10 AME supports only employee-supervisor hierarchy. But in R12, position hierarchy & FYI notifications are supported.
28. Implementation Guidelines – Approval Decision Tree
i. Model the decision tree based on the approval rules.
ii. Path from the root node to a leaf node represents a rule
29. Error Messages
i. Approval List could not be generated. Please contact your System Administrator to review AME rules setup.
ii. The procedure getNextPosition could not find parent position for : HR Positions: MM400.Materials Manager
30. Limitations
a. Terminations (of the initiators) are not handled efficiently though AME would rebuild the chain of approval after each approval
b. Not possible to create custom AME responsibilities because of RBAC limitations other than the 2 seeded responsibilities – ‘Approvals Management Administrator', 'Approvals Management Business Analyst'
c. It is not possible to have ‘Notification TimeOuts with Reminders’ within AME.
31. References
i. How to Create the Approval Transaction Type for AME.B or higher ( Metalink Note: 420387.1 )
ii. How To Setup And Use AME For Purchase Requisition Approvals ( Metalink Note: 434143.1 )
iii. How To Diagnose Issues in Building The Requisition Approval List ( Metalink Note: 412833.1 )
iv. How to Create the Approval Transaction Type for AME.A ( Metalink Note: 420381.1 )
v. Frequently asked Questions on AME 11i ( Metalink Note: 431815.1 )
vi. 11.5.10 FAQ for Approvals Management (AME) Integration For iProcurement and Purchasing ( Metalink Note: 293315.1 )
32. Case Study
i. Requirements / Approval Policies:
ii. If the total requisition value is more than 25,000 USD, then it requires approval from 2 positions above the requestor. If it is less than 25,000 USD, then it can be approved by the requestor himself if he has enough approval authority
iii. If any of the requisition line has an item category ‘COMPUTER.PC’, then it needs to be approved by a specific user
iv. If any of the line item has an item category ‘COMPUTER.MISC’, then ‘IT Director’ position needs to be notified
v. Let us now see in the application, how these policies are modeled - டெமோ
நன்றி தர்ம - விவேக்
Setup OA Framework
Configure the JDEV_USER_HOME environment variable.
Obtain a database connection file.
Create a desktop shortcut to JDeveloper.
Assign Toolbox responsibilities.
Launch JDeveloper and configure the database connection and user.
Test the setup.
Overview
These instructions assume you have successfully installed the JDeveloper OA Extension zip file which creates the following directory structure on your drive of choice.
Directory Description
Tip: To open any of the documentation in the jdevdoc directories, open the jdevdoc\index.htm.
jdevdoc\javadoc\fwk Includes OA Framework Javadoc.
jdevdoc\javadoc\aolj Includes AOL/J Javadoc.
jdevdoc\javadoc\bc4j Includes BC4J Javadoc.
jdevdoc\javadoc\uix Includes UIX Javadoc.
jdevdoc\toolbox Includes OA Framework ToolBox Tutorial lesson/lab documentation.
jdevdoc\devguide Includes the OA Framework Developer's Guide.
jdevbin\ Includes an extended version of the Oracle JDeveloper 10g executable and OA
Framework class libraries.
jdevhome\ Includes the OA Framework ToolBox Tutorial source and developer working
area.
Task 1: Configuring the JDEV_USER_HOME Environment Variable
Warning: This is a requirement for JDeveloper. Do not skip this task.Configure the JDEV_USER_HOME environment variable using Windows XP or Windows 2000:
1. Go to your desktop and select My Computer, right-click and select Properties.
2. On the System Properties dialog, select the Advanced tab.
3. On the Advanced page, select the Environment Variables... button.
4. On the Environment Variables dialog, select the New... button from the User variables for
5. On the New User Variable dialog, enter JDEV_USER_HOME in the Variable Name field. Set the Variable Value field to
6. Select OK in each of the dialogs you opened to save the new user environment variable.
Warning: The variable value should not contain a leading space before the drive name. If it does, your environment will not work properly.
Task 2: Obtaining a Database Connection File Obtain the FND database connection (.dbc) file from the system administrator who installed the OA Framework database where you want to do your development. Place this file in the
Task 3: Creating a Desktop Shortcut to JDeveloper To facilitate launching JDeveloper, create a desktop shortcut to jdevbin\jdev\bin\jdevw.exe.
Task 4: Assigning ToolBox Responsibilities If you have not already done so as part of your installation verification, assign the following ToolBox Tutorial
responsibilities to a test user. Refer to the Oracle Applications System Administrators Guide for information about creating users and assigning responsibilities to users.
Note: Use an existing user in your system or create a new test user.
OA Framework ToolBox Tutorial (responsibility key is FWK_TBX_TUTORIAL).
OA Framework ToolBox Tutorial Labs (responsibility key is FWK_TOOLBOX_TUTORIAL_LABS).
Task 5: Launching JDeveloper and Configuring the Database Connection and User
Use this procedure to launch JDeveloper and configure the database connection and user:
1. Select the desktop shortcut created in Task 3 to launch Oracle JDeveloper.
2. Select File > Open from the main menu, then navigate to
3. Expand the toolbox.jws in the JDeveloper System Navigator, to display its contents. Select the Tutorial.jpr project, then select Project > Project Settings.
4. Expand the Oracle Applications node, which is In the Project Settings dialog, and select Runtime Connection.
5. Locate the DBC file that you saved in Task 2 by using the Browse... button, which is In the Connection box. The file should be in the JDEV_USER_HOME>\dbc_files\secure directory.
6. Specify the User Name and Password for the test user. This is the user that you assigned the ToolBoxresponsibilities to in Task 4.Select OK.
7. Repeat Steps 3 - 6 for the LabSolutions.jpr project.
8. Expand the Connections node in the JDeveloper System Navigator and then expand the Database node. Right-click on the Database node and select New Connection... to open the Connection Wizard.
Follow the JDeveloper instructions to define a new database connection for the Oracle Applications database identified by the DBC file you selected above.
9. Select the Tutorial.jpr project In the System Navigator. Right-click and select Edit Business Components Project....
10. Select the Connection option in the Business Components Project Wizard and set the Connection Name to the connection you just defined. Select OK to save your changes.
11. Repeat steps 8 - 10 for the LabSolutions.jpr project.
Task 6: Configuring the Environment Encoding of JDeveloper
Confirm the environment encoding of your JDeveloper if it is appropriately set. To see the environment encoding, see your preferences of JDeveloper. If Encoding is not set to "UTF-8", set it to "UTF-8".
Task 7: Test your Setup Perform the following steps to test your setup:
Tip: If you want pages to look as they do in the OA Framework ToolBox Tutorial / Sample Librar, use Internet Explorer 5.0+ as your default browser.
1. Open the toolbox.jws workspace in the JDeveloper Navigator using the instructions in Task 5 above.
2. Go to the System Navigator, select toolbox.jws and then select Project > Rebuild toolbox.jws from the main menu. You should get 0 errors (warnings are okay and expected).
3. Go to the System Navigator, expand the Tutorial.jpr project again, then select Project > Show Categories from the main menu.
Note: this helps to organize the files in a large project.
4. Expand the HTML Sources category beneath Tutorial.jpr. Select test_fwktutorial.jsp, then select Run > Run test_fwktutorial.jsp from the main menu. Perform the following:
Select Hello, World! from the list of lesson links displayed on the Test Framework ToolBox Tutorial
page. This runs a very simple page.
Note: If you can't run the Hello, World! page; revisit the steps listed above to ensure that you completed everything correctly. If the problem persists, follow the support procedure described in the Release Notes accompanying this ARU.
You are now ready for hands-on experience with the Oracle JDeveloper OA Extension. The ToolBox Tutorial lessons can be launched from jdevdoc\index.htm
Customer, Consultant or Support Representative Using JDeveloper on Linux
This section contains instructions to configure and test OA Framework if you are a customer, consultant or support representative using JDeveloper on Linux. It provides an overview of the directory structure and discusses how to:
Configure the JDEV_USER_HOME and JDEV_JAVA_HOME environment variables.
Obtain a database connection file.
Assign Toolbox responsibilities.
Launch JDeveloper on Linux.
Configure the database connection and user.
Test the setup.
Overview
These instructions assume you have successfully installed the JDeveloper OA Extension zip file which creates the following directory structure on your drive of choice.
Directory Description
Tip: To open any of the documentation in the jdevdoc directories, open the jdevdoc\index.htm.
jdevdoc\javadoc\fwk Includes OA Framework Javadoc.
jdevdoc\javadoc\aolj Includes AOL/J Javadoc.
jdevdoc\javadoc\bc4j Includes BC4J Javadoc.
jdevdoc\javadoc\uix Includes UIX Javadoc.
jdevdoc\toolbox Includes OA Framework ToolBox Tutorial lesson/lab documentation.
jdevdoc\devguide Includes the OA Framework Developer's Guide.
jdevbin\ Includes an extended version of the Oracle JDeveloper 10g executable and OA
Framework class libraries.
jdevhome\ Includes the OA Framework ToolBox Tutorial source and developer working
area.
Task 1: Configuring the JDEV_USER_HOME and JDEV_JAVA_HOME Environment
Variables
Attention: These commands must be executed from the bourne shell.
1. Assign a value to the JDEV_USER_HOME variable. For example:
JDEV_USER_HOME=/home/
2. Assign a value to the JDEV_JAVA_HOME variable.
Example - OS Red Hat version 2.1:
JDEV_JAVA_HOME=/jdevbin/linux/j2sdk1.4.2_03
Example - OS Red Hat version 3.0:
JDEV_JAVA_HOME=/jdevbin/linux/j2sdk1.4.2_04
unset LD_ASSUME_KERNEL
Note: Both Red Hat versions, (2.1 and 3.0); have been tested successfully by Oracle JDeveloper OA
Extension.
3. Export the two variables:
export JDEV_USER_HOME
export JDEV_JAVA_HOME
Task 2: Obtaining a Database Connection File
Obtain the FND database connection (.dbc) file from the system administrator who installed the OA Framework
database where you want to do your development. Place this file in the
Task 3: Assigning ToolBox Responsibilities
If you have not already done so as part of your installation verification, assign the following ToolBox Tutorial
responsibilities to a test user. Refer to the Oracle Applications System Administrators Guide for information
about creating users and assigning responsibilities to users.
Note: Use an existing user in your system or create a new test user.
OA Framework ToolBox Tutorial (responsibility key is FWK_TBX_TUTORIAL).
OA Framework ToolBox Tutorial Labs (responsibility key is FWK_TOOLBOX_TUTORIAL_LABS).
Task 4: Launching JDeveloper on Linux
Run this command from the bourne shell to launch JDeveloper:
/jdevbin/jdev/bin/jdev -verbose
Task 5: Configuring the Database Connection and User
Use this procedure to configure the database connection and user:
1. Launch JDeveloper and then select File > Open from the main menu. Navigate to
(toolbox.jws).
2. Expand the toolbox.jws in the JDeveloper System Navigator, to display its contents. Select the
Tutorial.jpr project, then select Project > Project Settings.
3. Expand the Oracle Applications node, which is In the Project Settings dialog, and select Runtime
24
Connection.
4. Locate the DBC file that you saved in Task 2 by using the Browse... button, which is In the Connection
box. The file should be in the
5. Specify the User Name and Password for the test user. This is the user that you assigned the ToolBox
responsibilities to in Task 3. Select OK.
6. Repeat Steps 2 - 5 for the LabSolutions.jpr project.
7. Expand the Connections node in the JDeveloper System Navigator and then expand the Database
node. Right-click on the Database node and select New Connection... to open the Connection Wizard.
Follow the JDeveloper instructions to define a new database connection for the Oracle Applications
database identified by the DBC file you selected above.
8. Select the Tutorial.jpr project In the System Navigator. Right-click and select Edit Business
Components Project....
9. Select the Connection option in the Business Components Project Wizard and set the Connection
Name to the connection you just defined. Select OK to save your changes.
10. Repeat steps 7 - 9 for the LabSolutions.jpr project.
Task 6: Testing the Setup
Tip: To use Mozilla as your default browser, create a symbolic link. For example, netscape = local/bin/mozilla.
To test your setup:
1. Open the OA Framework ToolBox Tutorial workspace file by selecting File > Open from the main menu.
Navigate to
2. Select toolbox.jws and select Project > Rebuild toolbox.jws from the System Navigator main menu. You
should get 0 errors (warnings are okay and expected).
3. Expand the Tutorial.jpr project and then select Project > Show Categories from the System Navigator
main menu. (This helps to organize the files in a large project).
4. Expand the HTML Sources category beneath Tutorial.jpr. Select test_fwktutorial.jsp, and select Run >
Run test_fwktutorial.jsp from the main menu:
5. Select Hello, World! from a list of lesson links displayed on the Test Framework ToolBox Tutorial page,
to run a very simple page.
Note: If you can't run the Hello, World! page; revisit the steps listed above to ensure that you
completed everything correctly. If the problem persists, check the Oracle JDeveloper OA Extension
FAQ for troubleshooting tips. If it still doesn't work, send an email to the OA Framework support mail
list (see the OA Framework web site for additional information about this).