Questions and Answers What are multiple approval chains? A: Multiple approval chains (chains of authority) means there can be more than one approval hierarchy for a single expense report. For example, if all expenses are charged to two cost centers, there could be two approval chains with the cost center owners as the starting point for each approval hierarchy. [top] How can I enable multiple approval chains? A: You must implement Oracle Approvals Management (AME) to enable multiple approval chains. [top] Can managers approve or reject individual expenses? A: No. Managers can only approve or reject expenses as a group. This is true whether the manager is responsible for approving the entire expense report, or just a subset of the expenses. [top] What are the different approval hierarchies I can use for multiple approval chains? A: You can enable multiple approval chains for cost center approvals, project approvals, and award approvals. [top] What steps are necessary to implement multiple approval chains? A: In addition to what is documented in the March, 2003 Oracle Internet Expenses Implementation and Administration Guide (Mini-pack G), at a minimum, you must perform the following steps: Determine if your requirements are for cost center-based approvals, or for projects-based approvals: Cost center-based approvals: Two suggested approaches exist. Either define cost center owners or cost center business managers. For either approach, you will first need to create cost center organizations in Oracle Human Resources (See Oracle HRMS Supplement for Implementing Auto Orgs for setup steps). NOTE: "HR: GL Cost Center Synchronization Options" is a new profile option introduced in HRMS Family Pack G. This profile option is not available in HRMS Family Pack E and earlier. Projects-based approvals: You must implement Oracle Projects (See Oracle Projects User Guide Release 11i for setup steps). Define the default (primary) approval managers: Cost center owners: Define cost center owners in Oracle Human Resources (See Selecting and Viewing Managers for Organizations on page 20 in Oracle HRMS Supplement for Implementing Auto Orgs for setup steps)
Cost center business managers: Define cost center business managers in Oracle Human Resources (See Question # 7 for setup steps) Project managers: Define project managers in Oracle Projects (See Key Members section on page 2-46 in Oracle Projects User Guide Release 11i for details of setting up a Project Manager). Define job levels in Oracle Human Resources (See Defining a Job on page 4-28 in Using Oracle HRMS - The Fundamentals for details) Define queries for all mandatory and necessary non-mandatory attributes. Important: For the LINE_ITEM_STARTING_POINT_PERSON_ID attribute, define a query to obtain the appropriate manager based on the entered cost center (See Question # 9 for details). Define conditions. Conditions are used by AME rules to determine whether the rules apply to a transaction. Define one or more line-level rules. Perform the following steps in AME under the Rules tab: Step 1: For Rule Type, select either list-creation rule or list-creation exception Step 2: For Approval Type, select 'one job-level chain of authority per line item' (Note: only job level authority is available for line level approvals) Step 3: For Approval, select the desired level of approval Step 4: For Ordinary-Condition Line-Item Attributes, select the attribute per your requirements (typically this would be an expense line amount attribute) Step 5: For Ordinary Line-Item Conditions, select the appropriate condition. [top] Why would I use cost center business managers as the primary approver instead of using the cost center owners? A: One reason would be to free up the time of cost center owners to perform more value-added activities. Therefore, if your enterprise defines separate cost center business or finance managers to approve expense reports and other transactions, you can define them as the primary or default approver. [top] How can I define cost center business managers? A: To define cost center business managers, it is recommended that you use the cost center organization's descriptive flexfields (DFF's). To do this, perform the following (see Question # 5 for related setup steps): In the Oracle HRMS Descriptive Flexfields Segments window, query the Add'l Organization Information segment Title. Then, define a context code. We suggest using the following name: Organization Name Alias (same name as the context code used for the cost center owners flexfield). In the Segments window, define a segment called Business Manager (recommended query assumes the Column is ATTRIBUTE2). To validate the manager names, select HR_COST_CENTER_MANAGER as the value set. Complete the DFF setup (freeze flexfield definition, and click Compile) In the Organization window, query the organization for which you need to define the cost center business manager. For the Company Cost Center classification, click the Others button and select Reporting Information. In the Additional Organization Information window, click in the DFF field and enter the business manager information. In AME, for the LINE_ITEM_STARTING_POINT_PERSON_ID attribute, define a query to obtain the cost center manager based on the entered cost center.
[top] Are all necessary attributes created and defined in AME? A: In 11i.OIE.E, 11i.OIE.F and 11i.OIE.G, you must create and define the transaction type and all non-mandatory attributes. You must also define the mandatory attributes provided by AME. In 11i.OIE.H, OIE seeds the transaction type and definitions for all mandatory attributes. In addition, OIE seeds non-mandatory attributes based on product management's understanding of OIE customer's approval requirements. [top] Do you have any examples of line-level attributes and the related queries? A: At an absolute minimum, you must define the LINE_ITEM_STARTING_POINT_PERSON_ID attribute, and an attribute for the expense reimbursable amounts. Here is the list of recommended line-level attributes (If you are using 11i.OIE.H or a later release, you do not need to configure the EXPENSE_LINE_AMOUNT, EXPENSE_TYPE, AND EXPENSE_COST_CENTER query): LINE_ITEM_STARTING_POINT_PERSON_ID: Three different queries can be used depending on your requirements (Note: In 11i.OIE.H, this attribute is seeded with a query to a new function. Therefore, you do not need to use the suggested queries). For cost center owners, see Cost Center Owner Approvals for a suggested query For cost center business managers, see Cost Center Business Manager Approvals for a suggested query For Project Managers, see Project Manager Approvals for a suggested query. EXPENSE_LINE_AMOUNT: Define this attribute to capture the reimbursable amount for expense lines. (See Expense Line Amount for a suggested query.) EXPENSE_TYPE: Define this attribute if you use exception rules to route expenses for special approvals. For example, if you need to obtain approval from the purchasing department for expensing hand-held devices. (See Expense Type for a suggested query.) EXPENSE_COST_CENTER: Define this attribute if you use exception rules depending on the cost center. For example, if charges are to a "clearing" cost center for such purchases as supplies, approvals may either be automatic, or approvals may be required from someone other than the employee's manager or cost center owner. (See Expense Cost Center for a suggested query.) TOTAL_PER_COST_CENTER: Define this attribute if you want to define approval rules based on the total amount charged to cost centers (See Total Per Cost Center for a suggested query. Also: See item 2 in Question # 14 for related information). TOTAL_PER_PROJECT: Define this attribute if you want to define approval rules based on the total amount charged to projects (See Total Per Project for a suggested query. Also: See item 2 in Question # 14 for related information). [top] Do I need to configure the LINE_ITEM_STARTING_POINT_PERSON_ID query for my implementation? A: If you are using 11i.OIE.H or a later release, you do not need to configure the LINE_ITEM_STARTING_POINT_PERSON_ID query. If you are on an earlier release, the query assumes the cost center segment is the 2nd segment in your organization's accounting flexfield structure. If the cost center segment is in a different
position, change the position reference in the following query line: AND GLCC.SEGMENT2 = FLEX_CONCATENATED. (Note: If you use project manager approvals, you do not need to configure the query since it does not reference your accounting flexfield structure.) [top] What happens if I do not define the query for the LINE_ITEM_STARTING_POINT_PERSON_ID attribute but I define line-level rules? A: The rules will be ignored when AME builds the approvals chain since the attribute will always be null. [top] Do I need to define supervisor hierarchies in Oracle HRMS? A: It depends on your requirements. If your cost center owners or business managers always have sufficient signing authority based on their job levels, you do not need to define supervisors or supervisor hierarchies for them. Important: For employees who submit expense reports, you need to at least define supervisors. However, it's not necessary to define the employee/supervisor hierarchies unless supervisor approvals for other AME rules are necessary. For example, if supervisors need to approve the entire expense report before cost center owners approve, you need to define the employee/supervisor hierarchies with sufficient job levels to cover your approval rules. [top] Can I use AME approval groups instead of using employee/supervisor hierarchies to define line-level rules? A: No. Line-level rules can only be used with list-creation rule and list-creation exception rule types. [top] Are there any functional enhancements in process in terms of multiple approval chains? A: The following enhancements are currently under development: Parallel approvals: AME development is enhancing the product so separate, parallel approval chains can be built for the different groupings of expense lines. Currently a single approval chain is built for all line-level approvers and therefore approvals are sequential. To illustrate the current behavior, if say cost center approval rules are used, initially just the first cost center manager is sent a notification. Once approvals are complete for that cost center, only then is the next cost center owner sent an approval notification (see enhancement request # 2632884). Aggregate Expenses for Approvals: AME development is enhancing the product so approval rules can be based on total amounts charged to item classes such as cost centers or projects. Currently AME does not group expense lines for approval purposes so each expense line is evaluated separately before the approval chains
are built. The practical implications are as follows: First, when you define approval conditions, you should do so based on expense line amounts. Second, a single approver will only be included once in the approval chain. Therefore, if many business expenses are charged to a single cost center, the largest expense (in monetary terms) will determine what job level is required for the approval to be successful (see enhancement request # 2910667). (See Question # 9 for two attributes you can define as a workaround.) Line items on Approval Notifications: AME development is working on an enhancement to the approval notifications so that just the expense lines that need to be approved by managers are displayed. Currently approval notifications show all business expenses, whether or not they are charged to the cost center. Note that while all approvers see all business expenses, their approvals are still based just on the expenses charged to their cost center (see enhancement request # 2632884). Reject status for line items: AME development will provide the ability to track the status of rejected expense lines. Practically, this will allow you to either return the entire expense report when one or more expense lines are rejected, or return just the rejected expense lines on a new expense report. Currently when a line-level approver rejects, the entire expense report is returned to employees see enhancement request # 2603465). [top] What is the release schedule for the enhancements mentioned in Question # 14? A: AME development plans to deliver these features, along with other enhancements, as a standalone patch. The patch will be compatible with 11.5.9, and will be part of the 11.5.10 release. Before customers can take advantage of the new AME features, OIE development will need to perform some design and coding activities to uptake the features. OIE development has not yet scheduled the uptake of these enhancements. Parallel approvals: see enhancement request # 3947660 (OIE INTEGRATION OF AME ENHANCEMENT 2632884) Aggregate Expenses for Approvals: see enhancement request # 3947673 (OIE INTEGRATION OF AME ENHANCEMENT 2910667) Line items on Approval Notifications: see enhancement request # 3947689 (OIE INTEGRATION OF AME ENHANCEMENT 2632884) Reject status for line items: see enhancement request # 3947704 (OIE INTEGRATION OF AME ENHANCEMENT 2603465) [top] Are there any other resources I can use to help with my implementation? A: The following resources are available or will be available in the future: In addition to the documents listed earlier, the following additional documentation is available: AME implementation guide Setup questions and assistance: Contact Oracle Consulting Future documentation: A white paper will be made available which will provide more details on how to implement AME with OIE. [top] Line-Level Attributes and SQL Queries Cost Center Owner Approvals Suggested query for the LINE_ITEM_STARTING_POINT_PERSON_ID attribute for cost
center owner approvals: SELECT distinct hoip.org_information2 owner_id, lines.distribution_line_number FROM gl_code_combinations glcc, hr_organization_information hoip, hr_organization_information hoic, hr_organization_information hoi, per_all_people_f pp, ap_expense_report_lines_all lines WHERE sysdate between nvl(effective_start_date, sysdate) and nvl(effective_end_date, sysdate) and enabled_flag = 'Y' and glcc.segment2 = flex_concatenated and lines.distribution_line_number in :lineItemIdList and lines.report_header_id = :transactionId and chart_of_accounts_id = ( SELECT gs.chart_of_accounts_id FROM ap_system_parameters_all s, gl_sets_of_books gs, ap_expense_report_headers_all erh WHERE gs.set_of_books_id = s.set_of_books_id and s.org_id = erh.org_id and erh.report_header_id = :transactionId) and company_cost_center_org_id is not null and hoi.org_information_context = 'CLASS' and hoi.org_information1 = 'CC' and hoic.organization_id = hoi.organization_id and upper(hoic.org_information_context) = 'COMPANY COST CENTER' and glcc.company_cost_center_org_id = hoic.organization_id and hoic.organization_id = hoip.organization_id and upper(hoip.org_information_context) = 'ORGANIZATION NAME ALIAS' and pp.person_id = hoip.org_information2 ORDER BY lines.distribution_line_number [top] Cost Center Business Manager Approvals Suggested query for the LINE_ITEM_STARTING_POINT_PERSON_ID attribute for cost center business manager approvals: SELECT distinct hoip.attribute2 owner_id, lines.distribution_line_number FROM gl_code_combinations glcc, hr_organization_information hoip, hr_organization_information hoic, hr_organization_information hoi, per_all_people_f pp, ap_expense_report_lines_all lines WHERE sysdate between nvl(effective_start_date, sysdate) and nvl(effective_end_date, sysdate) and enabled_flag = 'Y' and glcc.segment2 = flex_concatenated and lines.distribution_line_number in :lineItemIdList and lines.report_header_id = :transactionId and chart_of_accounts_id = ( SELECT gs.chart_of_accounts_id FROM ap_system_parameters_all s, gl_sets_of_books gs, ap_expense_report_headers_all erh WHERE gs.set_of_books_id = s.set_of_books_id and s.org_id = erh.org_id
and erh.report_header_id = :transactionId ) and company_cost_center_org_id is not null and hoi.org_information_context = 'CLASS' and hoi.org_information1 = 'CC' and hoic.organization_id = hoi.organization_id and upper(hoic.org_information_context) = 'COMPANY COST CENTER' and glcc.company_cost_center_org_id = hoic.organization_id and hoic.organization_id = hoip.organization_id and upper(hoip.org_information_context) = 'ORGANIZATION NAME ALIAS' and pp.person_id = hoip.attribute2 ORDER BY lines.distribution_line_number [top] Project Manager Approvals Suggested query for the LINE_ITEM_STARTING_POINT_PERSON_ID attribute for project manager approvals: SELECT ppp.person_id, lines.distribution_line_number FROM pa_project_players ppp, per_assignments_f pa, per_assignment_status_types past, ap_expense_report_lines_all lines WHERE ppp.project_id = lines.project_id and lines.report_header_id = :transactionId and lines.distribution_line_number in :lineItemIdList and ppp.project_role_type = 'PROJECT MANAGER' and ppp.person_id = pa.person_id and trunc(sysdate) between pa.effective_start_date and nvl(pa.effective_end_date, trunc(sysdate)+1) and pa.assignment_status_type_id= past.assignment_status_type_id and past.per_system_status = 'ACTIVE_ASSIGN' and trunc(sysdate) between ppp.start_date_active and nvl(ppp.end_date_active, trunc(sysdate)+1) ORDER BY lines.distribution_line_number [top] Expense Line Amount Attribute: Suggested query for the EXPENSE_LINE_AMOUNT attribute: SELECT fnd_number.number_to_canonical(erl.amount), (erl.currency_code), nvl(erl.exchange_rate_type,asp.default_exchange_rate_type) FROM ap_expense_report_lines_all erl, ap_system_parameters_all asp WHERE report_header_id = :transactionId and erl.org_id = asp.org_id and distribution_line_number in :lineItemIdList ORDER BY distribution_line_number [top] Expense Type Attribute Suggested query for the EXPENSE_TYPE attribute: SELECT web_parameter_id FROM ap_expense_report_lines_all WHERE report_header_id = :transactionId and distribution_line_number in :lineItemIdList ORDER BY distribution_line_number [top] Expense Cost Center Attribute
Suggested query for the EXPENSE_COST_CENTER attribute: SELECT nvl(flex_concatenated, 0) FROM ap_expense_report_lines_all WHERE report_header_id = :transactionId and distribution_line_number in :lineItemIdList ORDER BY distribution_line_number [top] Total Per Cost Center Attribute Suggested query for the TOTAL_PER_COST_CENTER attribute: SELECT sum(erl.amount) FROM ap_expense_report_lines_all erl, ap_system_parameters_all asp WHERE report_header_id = :transactionId and erl.org_id = asp.org_id and erl.flex_concatenated in (SELECT flex_concatenated FROM ap_expense_report_lines_all WHERE report_header_id = :transactionId and distribution_line_number in :lineItemIdList) ORDER BY erl.distribution_line_number [top] Total Per Project Attribute Suggested query for the TOTAL_PER_PROJECT attribute: SELECT sum(erl.amount) FROM ap_expense_report_lines_all erl, ap_system_parameters_all asp WHERE report_header_id = :transactionId and erl.org_id = asp.org_id and erl.project_id in (SELECT project_id FROM ap_expense_report_lines_all WHERE report_header_id = :transactionId and distribution_line_number in :lineItemIdList) ORDER BY erl.distribution_line_number