Pages

OracleEBSpro is purely for knowledge sharing and learning purpose, with the main focus on Oracle E-Business Suite Product and other related Oracle Technologies.

I'm NOT responsible for any damages in whatever form caused by the usage of the content of this blog.

I share my Oracle knowledge through this blog. All my posts in this blog are based on my experience, reading oracle websites, books, forums and other blogs. I invite people to read and suggest ways to improve this blog.


Tuesday, August 18, 2015

Query to get the Defaulting rules defined in Order Managment

SELECT d.database_object_display_name,
       d.attribute_display_name,
       d.precedence,
       d.display_name,
       d.system_flag,
       d.enabled_flag,
       k.sequence_no,
       l.meaning,
       DECODE (
          src_type,
          'API', src_api_pkg || '.' || src_api_fn,
          'CONSTANT', src_constant_value,
          'SYSTEM', src_system_variable_expr,
          'SEQUENCE', src_sequence_name,
          'DATABASE', src_database_object_name || '.' || src_attribute_code,
          'WAD_ATTR', ' ',
          'WAD_OBJATTR', ' ',
          src_constant_value)
          source,
       src_type,
       k.attribute_code
  FROM oe_def_attr_condns_v d, oe_lookups l, oe_def_attr_rules_v k
 WHERE     d.database_object_name = k.database_object_name
       AND d.attr_def_condition_id = k.attr_def_condition_id
       AND d.condition_id = k.condition_id
       AND d.attribute_code = k.attribute_code
       AND k.src_type NOT IN
              ('RELATED_RECORD', 'SAME_RECORD', 'PROFILE_OPTION')
       AND l.lookup_type = 'DEFAULTING_SOURCE_TYPE'
       AND (k.src_type = l.lookup_code
            OR (k.src_type = k.attribute_code AND l.lookup_code = 'CONSTANT'))
UNION
SELECT d.database_object_display_name,
       d.attribute_display_name,
       d.precedence,
       d.display_name,
       d.system_flag,
       d.enabled_flag,
       k.sequence_no,
       l.meaning,
       a.object_name || '.' || a.name source,
       src_type,
       k.attribute_code
  FROM oe_def_attr_condns_v d,
       oe_lookups l,
       oe_def_attr_rules_v k,
       ak_object_attributes_vl a
 WHERE     d.database_object_name = k.database_object_name
       AND d.attr_def_condition_id = k.attr_def_condition_id
       AND d.condition_id = k.condition_id
       AND d.attribute_code = k.attribute_code
       AND a.database_object_name(+) = k.src_database_object_name
       AND a.attribute_code(+) = k.src_attribute_code
       AND l.lookup_type = 'DEFAULTING_SOURCE_TYPE'
       AND k.src_type = l.lookup_code
       AND k.src_type = 'RELATED_RECORD'
UNION
SELECT d.database_object_display_name,
       d.attribute_display_name,
       d.precedence,
       d.display_name,
       d.system_flag,
       d.enabled_flag,
       k.sequence_no,
       l.meaning,
       a.name source,
       src_type,
       k.attribute_code
  FROM oe_def_attr_condns_v d,
       oe_lookups l,
       oe_def_attr_rules_v k,
       ak_object_attributes_vl a
 WHERE     d.database_object_name = k.database_object_name
       AND d.attr_def_condition_id = k.attr_def_condition_id
       AND d.condition_id = k.condition_id
       AND d.attribute_code = k.attribute_code
       AND a.database_object_name(+) = k.database_object_name
       AND a.attribute_code(+) = k.src_attribute_code
       AND l.lookup_type = 'DEFAULTING_SOURCE_TYPE'
       AND k.src_type = l.lookup_code
       AND k.src_type = 'SAME_RECORD'
UNION
SELECT d.database_object_display_name,
       d.attribute_display_name,
       d.precedence,
       d.display_name,
       d.system_flag,
       d.enabled_flag,
       k.sequence_no,
       l.meaning,
       a.user_profile_option_name source,
       src_type,
       k.attribute_code
  FROM oe_def_attr_condns_v d,
       oe_lookups l,
       oe_def_attr_rules_v k,
       fnd_profile_options_vl a
 WHERE     d.database_object_name = k.database_object_name
       AND d.attr_def_condition_id = k.attr_def_condition_id
       AND d.condition_id = k.condition_id
       AND a.profile_option_name(+) = k.src_profile_option
       AND l.lookup_type = 'DEFAULTING_SOURCE_TYPE'
       AND k.src_type = l.lookup_code
       AND k.src_type = 'PROFILE_OPTION';

References:
http://oracleappsscriptsandtips.blogspot.ca/2012/09/query-to-get-defaulting-rules-defined.html

Tuesday, August 4, 2015

Accessing Approval Management Engine (AME) - Roles and Grants

Accessing Approval Management Engine (AME) is not possible as we access other responsibility / functions in Oracle Applications like Order Management / Application Developer etc.

AME is controlled by RBAC (Role Based Access Control). So in this case even you assign responsibility to the user but if user don't have the appropriate roles then you will not be able to access Approval Management functions.

There are two seeded responsibility for AME :-
  • Approvals Management Administrator
  • Approvals Management Business Analyst
Let's assign the responsibility directly to user and see what happens.

 Login with respective user.
Chose Approval Management Responsibility
You will receive below error.
With the screen shots above we can see that even though the responsibility is assigned to user while trying to access it, It says There is no valid navigation for this responsibility.

Accessing AME is two step process :-
  • Assign the required roles to the user : This will give user access to use Approval Management functions.
  • Grant access to respective AME transaction type : This will provide access to AME transaction type. If we don't perform this step then we will be able to access AME responsibility but will not be able to access any transaction types.
We have following seeded roles provided by Oracle that can be used to access AME.
  • Approvals Management Administrator
  • Approvals Management Business Analyst
  • Approvals Management Process Owner
  • Approvals Management System Administrator
  • Approvals Management System Viewer
Step -1 : Assign the Roles
  • Login with administrator sysadmin user.
  • Navigate to User Management -> User.
  • Enter User Name and click on Go to find the user.
  • Click on Update button
  • Click on Assign Roles button.
  • Search the role 'Approval Management Administrator' from LOV and select it.
  • Based on the role chosen you will see number of functions added under users roles.
Step -2 : Grant Access to Transaction Types
  • Login with administrator sysadmin user.
  • Navigate to Functional Administrator -> Grants -> Create Grants.
  • Enter a name and description for the Grant
  • Enter effective from date and optionally effective to date.
  • Select Grantee Type from Security Context region
    • All Users : The grant will be applied to all the users and all users will be given same right / privileges that is part of this grant. 
    • Group Of Users : The grant will be applied to users those are part of the group.
    • Specific User : Grant will be applicable of specific set of users that you select.
  • I have opted for specific user.
  • In addition to this you can also choose Operating Unit and Responsibility to make is more secure. Say you want to provide a user to AME access to US operating Unit only. In that case you can choose operating unit. If there is not such restriction required then leave it blank.
  • From Data Security region select an object. In our case it will be 'AME Transaction Types'
  • Click Next
  • In the Data Context Type select 'All Rows'.
  • Select 'AME Calling Applications' as permission set and click Next to review the setup.
  • Finish to complete.
Now you are good to use AME and setup approvals. Happy Setups...

References:
http://www.oracleappsnfusion.com/2014/01/accessing-ame.html
http://mtalmasri.blogspot.com/2012/04/oracle-ebs-repairing-xxx-is-not-valid.html