Release 12 introduces a new module, Subledger Accounting (SLA), for managing
accounting across subledger transactions. With the introduction of SLA, Payables will
no longer create accounting entries, but will instead rely on the central SLA engine to
do so. During the upgrade, accounting options and their settings, and the existing
accounting entries in the Payables data model are moved to the new SLA accounting
data model. Also during the upgrade, Payables sets up SLA to replicate the accounting
created by Payables in Release 11i.

The new SLA architecture requires Payables to maintain specific data relating to
transactions. SLA uses this data to generate accounting entries. In order to achieve this
it was determined that both payment distributions and prepayment application
distributions would be introduced into the Payables data model. Unlike invoice
distributions that can be entered by the user, payment distributions will be generated
automatically and will be associated with each accounted payment.

During the upgrade, all accounting events, headers and lines from the 11i data model
are upgraded to the new Subledger Accounting events, headers and lines data model,
regardless of the number of periods you specify when submitting the upgrade. If the
Global Accounting Engine (AX) is enabled for the set of books associated with a given
Operating Unit, then the upgrade migrates the AX accounting events, headers and lines
to SLA instead of those in Payables. The payment distributions and prepayment
application distributions are upgraded based on time periods you specify during the
submission of the upgrade. During the upgrade, Payables creates payment distributions
and prepayment application distributions for existing transactions in the periods you
specify for upgrade and creates links between these new distributions and the original
invoice distributions.

If you have customizations based on the 11i AP accounting tables, you need to
transition them to use the SLA data model. Also note, if you use Oracle Projects,
Projects uses SLA in Release 12 and creates accounting entries for adjustments rather
than using Payables to create those entries as in prior releases. If you have any
customizations based on Project adjustments, you will need to transition them to the
SLA data model.

The Deferred Expenses feature, supported with Global Descriptive Flexfields at the
invoice distribution level in Release 11i, has been replaced by the Multi-Period
Accounting feature in SLA.

Upgrading Payables Accounting Entries to Subledger Accounting

The following table displays the mapping from 11i entities to new Release 12 entities.

Source 11i Entity
Release 12 Entity
AP/AX Accounting Events, Headers, Lines
SLA Accounting Events, Headers, Lines
AP Payment History, Invoice Payments and
Invoice Distributions
AP Payment History and AP Payment
Distributions
AP Prepayment History and Invoice
Distributions
AP Prepayment Application Distributions
AP Accounting Lines and Invoice
Distributions
AP Distribution Links

Upgrading Payables System Options to SLA

The following table displays the mapping from 11i system option settings to the new
accounting setup entities and settings.

Source 11i Window and Field
Release 12 Window and Field
Payables Options: Primary Accounting
Method
GL Accounting Setup: Sub-ledger Accounting
Method
Payables Options: Secondary Accounting
Method
GL Accounting Setup: Sub-ledger Accounting
Method
Payables Options: Primary Set of Books
GL Accounting Setup: Primary Ledger
Payables Options: Secondary Set of Books
GL Accounting Setup: Secondary Ledger
Payables Options: Prevent Prepayment
Application Across Balancing Segment
Obsolete. Supported by SLA inter-company
Balancing.
Payables Options: Relieve Future Dated
Payment Liability When:
• Payment is Issued
• Payment Matures
• Payment Clears
Obsolete. Supported by Payments bills
payable feature.

Creating Payment Distributions and Prepayment Application Distributions

During the upgrade, Payables creates payment distributions for existing payments,
links those distributions with the original invoice distributions and adds payment,
payment adjustment and payment cancellation information to the payment history
records. Since you control the periods that are upgraded (by setting them during the
SLA upgrade), Payables also adds an indicator to mark which historical data has been
upgraded.

Also during the upgrade, Payables creates prepayment application distributions for
existing prepayment invoices, links those distributions with the original prepayment
distributions and adds a prepayment history entity to track historical prepayment
application and non-application entries. Since you control the periods that are
upgraded (by setting them during the SLA upgrade), Payables also adds an indicator to
mark which historical data has been upgraded.

After the upgrade, if you find that you need to adjust a historical payment or need to
unapply a prepayment application that did not have its data upgraded, you can run the
SLA postupgrade process to upgrade the entries for that record.

Creating Distribution Links

During the upgrade, Payables migrates invoice distribution links, prepayment
application distribution links and payment distribution links into the SLA distribution
links entity for the data that has been populated in the payment distributions and
prepayment application distributions table for the periods you selected to upgrade.

Populating the Initial Balances for the Open Account Balances Listing Report

As part of the Subledger Accounting introduction, a new report, the Open Account
Balances Listing, replaces the 11i Payables Trial Balance. During the upgrade, Payables
and SLA populate the initial liability balances by ledger, formerly “set of books,” based
on Payables transactions as of the periods you selected to upgrade.

The following table displays the mapping from 11i standard reports to the new
SLA-based reports.

Obsolete 11i Standard Reports
Release 12 SLA Report
Accounts Payable Trial Balance
Accounts Payable Trial Balance
Payables Accounting Entries Report
Journal Entries Report (SLA)
Payables Account Analysis Report
Account Analysis Report (SLA)
Multiple Organizations Access Control is an enhancement to the Multiple
Organizations feature of Oracle Applications. Multiple Organizations Access Control
allows a user to access data from one or many Operating Units while within a given
responsibility. Data security is maintained using the Multiple Organizations Security
Profile, defined in Oracle HRMS, which specifies a list of operating units and
determines the data access privileges for a user.

In Release 12, several controls are moved from the Payables Options or Financials Options forms to a new setup form that is common for Oracle Payables across all
operating units, the Payables System Setup form. If the upgrade finds conflicts in the
settings across multiple operating units, it will choose the most frequently occurring
setting.

Oracle Applications will not automatically create security profiles during the Release 12
upgrade. If you want to use Multiple Organizations Access Control, you will first need
to define security profiles, then link them to responsibilities or users.
I tried to explain the steps involved in Procure to Pay Cycle. This is a pure functional Stuff and helps you to understand the navigation steps.
I tried to keep as simple as Possible for clear understanding. The screenshots given below are taken from R12.1.1 apps instance.
Stage 1: Choosing an Item
Let us choose an item to be procured in our example.
Go to Purchasing Responsibility and follow the below navigation to check for the suitable item.


The item picked for our example should be purchasable item as above. Click on tools and choose “Categories” to view the below screen.

Stage 2: Creation of Requisition
Follow the below Navigation to reach Requisition Form.

Create a new Requisition for the item viewed in Stage 1.

Click on Distributions to View the charge Account.

Save and Submit for Approval

Now note down the Requisition number and open the “Requisition Summary Form” to view the status of it. For our Example, Requisition number is: 14855

Stage 3 : Checking the Status of Requisition

Query for the Requisition Number and click Find.

Here for our example purpose, I kept the submitted and approved person has same and hence it shows the status as approved.

To see the approval status, please follow the below navigation.

Stage 4 : Creation of Purchase Order
For creating a Purchase order, let us use the “Autocreate Documents” Form. Follow the below Navigation


Query for the Requisition

Click on Automatic as shown in the above figure to create a Purchase Order

Click on “Create” button to create a Purchase order

View the shipment screen to change the “Match Approval Level” to “2-Way”.

Click the “Receiving Controls” to make sure that the “Routing” is made as “Direct Routing”

Click Save and submit for Approval.


Note down the PO Number.

Stage 5: Creation of Receipts


Query with the Purchase order created in the above stage.

Check the check box near to the lines that are received and click save.

Click the “Header Button” to view the Receipt Number.

Stage 6: Checking the On Hand
Go to any Inventory Responsibility and follow the below Navigation

Query for our Receipt and make sure the Organization is the same as we received.

Below screen will show that our inventory has been increased by 5 quantities.

Stage 7: Check the Material Transactions
Follow the below Navigation to reach “Material Transactions” Form


Query for the item and date as below


Below screen shows the source and transaction Type

Below screen shows you the Serial Numbers of the items received.

Stage 8: Creation of Invoice
Navigate to any Purchasing Responsibility and view à Requests
Submit the below requests by providing the Receipt number as Parameter to create an invoice.

Check the status of the program.

Stage 9: Checking the Invoice
Change to any Payables Responsibility and open the invoices Form.
Query for the Purchase order as below,


Click “Actions” Button then tick the “Validate Check Box” and press “Ok” to validate the invoice

Below screenshot will give you the status of the invoice

Stage 10: Creation of Accounting and Payment
Once invoice got approved, we can “Create Accounting” and “Create Payments” via “Action” Button in the “Invoice Form” as we validated the invoice.

The following query will fetch the Parameter List and associated Value Sets of a Concurrent Program.

SELECT
        fcpl.user_concurrent_program_name “Concurrent Program Name”,
        fcp.concurrent_program_name “Short Name”,
        fdfcuv.column_seq_num “Column Seq Number”,
        fdfcuv.end_user_column_name “Parameter Name”,
        fdfcuv.form_left_prompt “Prompt”,
        fdfcuv.enabled_flag ” Enabled Flag”,
        fdfcuv.required_flag “Required Flag”,
        fdfcuv.display_flag “Display Flag”,
        fdfcuv.flex_value_set_id “Value Set Id”,
        ffvs.flex_value_set_name “Value Set Name”,
        flv.meaning “Default Type”,
        fdfcuv.DEFAULT_VALUE “Default Value”

FROM
        fnd_concurrent_programs fcp,
        fnd_concurrent_programs_tl fcpl,
        fnd_descr_flex_col_usage_vl fdfcuv,
        fnd_flex_value_sets ffvs,
        fnd_lookup_values flv

WHERE
        fcp.concurrent_program_id = fcpl.concurrent_program_id
        AND    fcpl.user_concurrent_program_name = :conc_prg_name
        AND    fdfcuv.descriptive_flexfield_name = ‘$SRS$.’
                 || fcp.concurrent_program_name
        AND    ffvs.flex_value_set_id = fdfcuv.flex_value_set_id
        AND    flv.lookup_type(+) = ‘FLEX_DEFAULT_TYPE’
        AND    flv.lookup_code(+) = fdfcuv.default_type
        AND    fcpl.LANGUAGE = USERENV (‘LANG’)
        AND    flv.LANGUAGE(+) = USERENV (‘LANG’)

ORDER BY fdfcuv.column_seq_num;
 

Below is the script to get the Concurrent Program Request details by Various Users in a Particular Day.

select
request_id,
parent_request_id,
fcpt.user_concurrent_program_name Request_Name,
fcpt.user_concurrent_program_name program_name,
DECODE(fcr.phase_code,
‘C’,’Completed’,
‘I’,’Incactive’,
‘P’,’Pending’,
‘R’,’Running’) phase,
DECODE(fcr.status_code,
‘D’,’Cancelled’,
‘U’,’Disabled’,
‘E’,’Error’,
‘M’,’No Manager’,
‘R’,’Normal’,
‘I’,’Normal’,
‘C’,’Normal’,
‘H’,’On Hold’,
‘W’,’Paused’,
‘B’,’Resuming’,
‘P’,’Scheduled’,
‘Q’,’Standby’,
‘S’,’Suspended’,
‘X’,’Terminated’,
‘T’,’Terminating’,
‘A’,’Waiting’,
‘Z’,’Waiting’,
‘G’,’Warning’,’N/A’) status,
round((fcr.actual_completion_date – fcr.actual_start_date),3) * 1440 as Run_Time,
round(avg(round(to_number(actual_start_date – fcr.requested_start_date),3) * 1440),2) wait_time,
fu.User_Name Requestor,
fcr.argument_text parameters,
to_char (fcr.requested_start_date, ‘MM/DD HH24:mi:SS’) requested_start,
to_char(actual_start_date, ‘MM/DD/YY HH24:mi:SS’) ACT_START,
to_char(actual_completion_date, ‘MM/DD/YY HH24:mi:SS’) ACT_COMP,
fcr.completion_text
From
apps.fnd_concurrent_requests fcr,
apps.fnd_concurrent_programs fcp,
apps.fnd_concurrent_programs_tl fcpt,
apps.fnd_user fu
Where 1=1
— and fu.user_name = ‘DJKOCH’ ‘
— and fcr.request_id = 1565261
— and fcpt.user_concurrent_program_name = ‘Payables Open Interface Import”
and fcr.concurrent_program_id = fcp.concurrent_program_id
and fcp.concurrent_program_id = fcpt.concurrent_program_id
and fcr.program_application_id = fcp.application_id
and fcp.application_id = fcpt.application_id
and fcr.requested_by = fu.user_id
and fcpt.language = ‘US’
and fcr.actual_start_date like sysdate
— and fcr.phase_code = ‘C’
— and hold_flag = ‘Y’
— and fcr.status_code = ‘C’
GROUP BY
request_id,
parent_request_id,
fcpt.user_concurrent_program_name,
fcr.requested_start_date,
fu.User_Name,
fcr.argument_text,
fcr.actual_completion_date,
fcr.actual_start_date,
fcr.phase_code,
fcr.status_code,
fcr.resubmit_interval,
fcr.completion_text,
fcr.resubmit_interval,
fcr.resubmit_interval_unit_code,
fcr.description
Order by 1 desc;