Tuesday, September 25, 2018

Concurrent Processes to Import Suppliers in Oracle Fusion

After  inserting data into Interface tables Supplier Interface Tables in Oracle Fusion the following concurrent processes must be run to import the supplier profile data in Oracle Fusion Suppliers:

  • Import Suppliers
  • Import Supplier Addresses
  • Import Supplier Sites
  • Import Supplier Site Assignments
  • Import Supplier Contacts
  • Import Supplier Business Classifications
  • Import Supplier Products and Services Categories
  • Import Supplier Attachments
Above Import Processes are executed by the Enterprise Scheduler Service (ESS), which manages all concurrent processes. Enterprise Scheduler Service allows you to monitor the status of each process and provides access to output reports. 

Below are the Supplier import processes parameters:

Import Options: 
  • All
  • New and 
  • Rejected
Import Options are used to determine if the import process should attempt to import new, rejected, or all rows from the respective open interface tables.

Report Exceptions Only: 
  • Yes 
  • No. 
Used to determine if the Import Process Reports prints success and rejected information, or just the rejected information. 

When the processes are complete, a .pdf report is generated detailing the status of the records that were imported. If a record could not be imported, then the status is set to Rejected. 

The supplier import processes are used to create new entities, and to update or delete existing supplier profile data. Creation can be done only with attachments. Deletion can be done only with contact addresses, business classifications, and products and service categories.

Supplier import supports supplier numbering of characters that are not numeric to allow supplier records from legacy systems to retain their unique identifier.

Update supports updating the functional key attributes. The columns ending with _NEW are specifically earmarked for updates. Use this only if the underlying functional key attributes must be updated. To update functional keys, the new value should be provided in the _NEW column.

Supplier Interface Tables in Oracle Fusion


  • POZ_SUPPLIERS_INT
  • POZ_SUP_ADDRESSES_INT
  • POZ_SUPPLIER_SITES_INT
  • POZ_SITE_ASSIGNMENTS_INT
  • POZ_SUP_CONTACTS_INT
  • POZ_SUP_CONTACT_ADDRESSES_INT
  • POZ_SUP_BUS_CLASS_INT
  • POZ_SUP_PROD_SERV_INT
  • POZ_SUP_ATTACHMENTS_INT

Monday, September 24, 2018

Supplier, Address and Site Creation in Oracle Fusion

Login to Oracle Fusion Application àSelect Procurement as shown in below screenshot


It will give below options like Purchase Requisitions, Purchase Agreements, Purchase Orders, My Receipts, Negotiations, Catalogs, Suppliers and Supplier Qualification. Here select Suppliers page  as shown in below screenshot.


Select Create Supplier from Task Panel Tab as shown in below screenshot.


You will get below screenshot.


Enter information as shown below

Field Name
Value
Supplier
XX Test Supplier
Business Relationship
Spend Authorized
Tax Organization Type
Corporation
Tax Country
United States
Tax Registration Number
XXTAXREGNUM
Taxpayer ID
XYZTAX1234
D-U-N-S Number
123456789


Note: You must enter 9 digits or 13 digits for D-U-N-S Number.

Click on Create button.


Profiles Details:-

As shown in above screenshot under Profile Details click on Transaction Tax tab. Select the Allow tax applicability check box as shown in below screenshot.


Click on Save button.

Supplier Address & Site Creation:-

Click the Addresses tab.



Click on Create Icon as shown in above screenshot.



Enter below information to create address.

Field Name
Value
Address Name
XX Supplier Site
Country
United States
Address Line 1
XX Main Street
City
Atlanta
State
GA
Postal Code
12345
Language
American English
Address Purpose
Ordering & Remit to
Phone
12345
Fax
Email
xxtestsuppliersite@xyz.xyz


Click on Save button.

In the Address Details section and on the Sites tab, click Add Icon as shown in below screenshot.


You will get below screenshot.


Enter below information

Field Name
Value
Procurement BU
XX Business Unit
Site
XX Supplier Sit
Site Purpose
Purchasing, Pay & Primary Pay


Click on Save and Close button

You will get confirmation as shown in below screenshot.


Creating a Site Assignment:-

Click the Sites tab as shown in below screenshot.

You will get below screen


Click the Site name link as shown in above screenshot. You will get below screen

Click Site Assignments Tab 


Click on Add icon as shown in above screenshot.


Select Client BU and Bill to BU as shown in below screenshot. Click on Save and Close button


You will get below confirmation message. Click on Ok Button.


Friday, September 21, 2018

Invoices in Oracle Fusion Payables


  • An Invoice is a list of goods or Services rendered from the Supplier. 
  • Oracle Fusion Payables allows us to capture all the attributes of the real-life invoice documents you receive from the suppliers.
  • A Payables invoice consists of the following components: 
  1. Header
  2. Lines
  3. Distributions and 
  4. Installments. 
Login to Oracle Fusion ApplicationàSelect on Payables as shown in below screenshot

You will be able to see below screen


Click on Invoices. Invoice page will open with existing information such as Recent 24 Hours, Holds, Approvals and Prepaid details summary.

Select any invoice record to view the details.

  • The Invoice Header has common information, such as Invoice Number and Invoice date, Invoice Type, Supplier Information, Payment Terms..etc.
  • Invoice Lines has information about the goods and services.
  • Distributions have invoice accounting details.
  • Installments consist of payment due and discount information.

Thursday, September 20, 2018

Invoice Types in Oracle Fusion Payables


  • Standard:- An invoice from a supplier that represents an amount due for goods or services rendered.
  • Prepayment:-An advance payment to a supplier.
  • Credit Memo:- A document that extends a credit amount from a supplier for goods or services rendered.
  • Debit Memo:- A credit from a supplier that does not send you a credit memo.
  • Withholding Tax:- An invoice to a tax authority for withholding tax that is automatically generated. You can create withholding tax invoices manually if the option Allow manual withholding is enabled.
  • Interest:- An invoice for interest on overdue invoices that is automatically generated.
  • Standard invoice request:- An invoice submitted without a purchase order by a supplier through Oracle Fusion Supplier Portal that is pending review and approval by the appropriate persons within the deploying company.
  • Credit memo invoice request:- A credit submitted without a purchase order by a supplier through Oracle Fusion Supplier Portal that is pending review and approval by the appropriate persons within the deploying company.
  • Payment request:- A request from Oracle Fusion Expense or Oracle Fusion Receivables to disburse funds to a payee that is not defined as a supplier.

Implementation Users in Oracle Fusion

Implementation Users will manage the implementation of Oracle Human Capital Management Cloud (Oracle HCM Cloud).
• Administer Oracle HCM Cloud users and security, both during and after implementation.
• Set up basic enterprise structures for an Oracle HCM Cloud service.
Implementation users have the necessary access for both initial implementation of the Oracle HCM Cloud service and its
ongoing maintenance. You're recommended to create at least one implementation user.

Wednesday, September 19, 2018

Function Security Privileges in Oracle Fusion HCM


  • Each Function Security Privilege secures the code resources that make up the relevant page, such as the Promote Worker page.
  • If the predefined security reference implementation doesn't fully represent your enterprise, then you can make changes. For example, the predefined Line Manager abstract role includes compensation management duties. 
  • If some of your line managers don't handle compensation, then you can create a custom line manager role without those duties. 
  • Alternatively, if a predefined job role is too narrowly defined, then you can create a job role with a greater range of duties than its predefined equivalent.

Data Security Policies in Oracle Fusion HCM

Data Security Policy combines:

  • A Duty role. Ex:- Worker Promotion Duty.
  • A business object being accessed. Ex:- Person Assignment.
  • The condition that must be met for access to be granted. Ex:- Human Resource Specialists can promote workers whose person and assignment records are identified in their person and assignment security profiles. 
  • A Data Security Privilege that defines the action being performed. Ex:- Promote Worker.

Duty Roles in Oracle Fusion HCM


  • Duty Roles are associated with Function Security Privileges(FSV) and Data Security Policies(DSP).
  • In the above screenshot Worker Promotion Duty Role is associated with one Function Security Privilege and two Data Security Policies.
  • The FSP Promote Worker secures access to the Promote Worker page. 
  • The DSP Promote Worker Data determines the workers whom users with this duty role can promote.
  • The DSP Choose Position Data determines the positions into which users with this duty role can promote workers.

Role Inheritance in Oracle Fusion HCM


  • Each Role is a Hierarchy of other Roles.
  • HCM Data Roles inherit Job or Abstract Roles.
  • Job and Abstract Roles inherit Duty Roles.
  • Duty Roles inherit other Duty Roles.
  • When you assign both Data and Abstract roles to users, they inherit the data and function security associated with those roles.

In above screenshot User ABC has 2 Roles.
  1. HR Specialist Vision Corporation which is a data role.
  2. Employee which is an abstract role.
  • Role HR Specialist Vision Corporation inherits the job role Human Resource Specialist which in turn inherits the duty roles that provide access to the tasks and functions that a human resource specialist performs. The security profile assigned to the data role provides the data access for the role.
  • Role Employee inherits the duty roles that provide access to all tasks and functions, unrelated to a specific job, that every employee performs. The security profile assigned to the abstract role provides the data access for the role.

Monday, September 17, 2018

How to call another oracle Form with Parameters

1)Develop both forms and register in application.

2)Place the Button in first from 

3)Write the following code in WHEN-BUTTON-PRESSED Trigger.


fnd_funCtion.execute(function_name => 'second_form_function_name',

             open_flag     => 'Y'    ,             

                     OTHER_PARAMS  => 'P1 = '||:XXAP_SUPPLIERS.VENDOR_ID);

 

P1 is Second form parameter

 

4)Open the Second form and define the Parmaeter called P1


5)goto PRE-QUERY trigger and write the following code to change the query dynamically.


 :XXAP_SUPPLIER_SITES_ALL.VENDOR_ID  := :PARAMETER.P1;

 --:blockname.fieldname := :PARAMETER.Parametername; 

  

6) Goto the WHEN-NEW-FORM-INSTANCE Trigger at form level. write the following code 

    GO_BLOCK('XXAP_SUPPLIER_SITES_ALL');

EXECUTE_QUERY;


Wednesday, September 12, 2018

Different Types of roles in Oracle Fusion Human Capital Management(HCM)

There are 4 different types of roles in Oracle Fusion HCM.

  • Data roles
  • Abstract roles
  • Job roles
  • Duty roles

Data Roles:- Data Roles combine a worker's job and the data that users with the job must access. For example, the HCM data role Payroll Administrator Payroll US combines a job i.e. Payroll Administrator with a data scope i.e. Payroll US. You define the data scope of a data role in one or more HCM security profiles.

Abstract Roles:- Abstract roles represent a worker's role in the enterprise independently of the job  that you hire the worker to do. There are 3 abstract roles which are predefined in Oracle Fusion HCM:
  1. Employee
  2. Contingent worker
  3. Line manager
You can also create custom abstract roles. All workers are likely to have at least one abstract role through which they access standard functions, such as managing their own information and searching the worker directory. You assign abstract roles directly to users.

Job Roles:- Job roles represent the job that you hire a worker to perform. Human Resource Analyst and Payroll Manager are examples of predefined job roles. You can also create custom job roles in Oracle Fusion HCM. Typically, you include job roles in data roles and assign those data roles to users. The IT Security Manager and Application Implementation Consultant predefined job roles are exceptions to this general rule because they're not considered HCM job roles. Also, you don't define their data scope in HCM security profiles.

Duty Roles:- Duty roles represent the individual duties that users perform as part of their job. They grant access to work areas, dashboards, task flows, application pages, reports, batch programs, ..etc.  Both Job roles and abstract roles inherit duty roles. Duty roles can also inherit other duty roles. They're part of the security reference implementation, and are the building blocks of custom job and abstract roles. You can also create custom duty roles. You don't assign duty roles directly to users.

Tuesday, September 11, 2018

Few Predefined HCM Roles in Oracle Fusion

In Oracle Fusion Human Capital Management many Job and Abstract roles are predefined . Below are the few of main predefined HCM Roles

• Benefits Administrator
• Benefits Manager
• Benefits Specialist
• Compensation Administrator
• Compensation Analyst
• Compensation Manager
• Compensation Specialist
• Contingent Worker
• Employee
• Human Capital Management Application Administrator
• Human Resource Analyst
• Human Resource Manager
• Human Resource Specialist
• Human Resource VP
• Line Manager
• Payroll Administrator
• Payroll Manager

Monday, September 10, 2018

Profile Options used in Pricing Data Bulk Loader in Oracle APPS

Below are the Profile Options need to be set:

QP: Pricing Transaction Entity:- When the Pricing Data Bulk Loader API is called, the price list data is picked up from the interface table when the Pricing Transaction Entity attribute or column is either: NULL or same as the Profile Value.

QP: Source System Code:- When the Pricing Data Bulk Loader API is called, the price list data is picked up from the interface table when the Source System Code attribute or column is either NULL or same as the Profile Value.

QP: Batch Size for Bulk Import:- This profile value determines the number of records loaded into the memory for processing. For improved performance, set an appropriate value for this profile based on your hardware configuration. If the profile value is set too high, then the system may "hang." The default value is 1000.

Pricing Interface Tables in Oracle APPS

QP_INTERFACE_LIST_HEADERS
QP_INTERFACE_LIST_LINES
QP_INTERFACE_QUALIFIERS
QP_INTERFACE_PRICING_ATTRIBS
QP_INTERFACE_ERRORS

Saturday, September 8, 2018

Can you map multiple Oracle Categories to a single Catalog Category?

Multiple Oracle Categories can be mapped to a single Catalog (iProc) Category. This determines which Catalog (iProc) Category used for the item when creating the requisition in iProc. Once the item is on an iProc requisition it is the mapping of the Catalog category done in "Special Order Mapping" which determines the category that gets put onto a requisition in the core Purchasing application.

How the current Category Mapping be removed in iProc?

From the Map Categories page, select an asterisked (*) Catalog Category; an asterisk is appended to catalog categories that have already been mapped. The current mapping for the category is displayed in the Current Mapping field. To proceed, click the Remove button. Note that all your mappings to the selected catalog category will be removed and that mappings cannot be selectively removed.

How can you determine if a Catalog Category has already been mapped in iProc?

An asterisk mark is appended to the Catalog Category to indicate that it has already been mapped.

How can the Current Category maps be viewed in Map Categories in iProc?

To view the current mapping for a Catalog Category, select it from the Catalog Category list in Map Categories. The Oracle Applications category to which it is mapped is indicated in the Current Mapping field.

How are Oracle Categories mapped to Catalog Categories in iProc?

From the Map Categories page, select the Oracle Applications category on the left-hand side of the window, choose the catalog category or categories that need to be mapped on the right-hand side of the window, and click the Map button.

Note that you cannot map to a category that contains subcategories (denoted with a '+' besides it); however, you can select a '+' marked category and click the Open Entry button to map to categories within it.

What does Map Special Order do in iProc?

Catalog Categories are mapped to Oracle Categories.

What does Map Categories do in iProc?

Oracle Categories are mapped to Catalog Categories.

Why should Oracle Purchasing Categories be mapped to Catalog Categories in iProc?


  • Category mapping enables you to map Categories defined in Oracle Applications to Catalog Categories defined in iProc. 
  • Catalog Categories are created using the Schema Editor page or uploaded through XML or spreadsheet catalog files. 
  • These Catalog Categories do not necessarily match the categories created in Oracle Applications, however, Oracle Purchasing will not process orders against Catalog Categories unless they are mapped to Categories defined in Oracle Applications. 
  • If you or a supplier uploads catalog data that contains categories that are not defined in Oracle Applications, they must be mapped before they can be used on a purchase order or agreement.

Can a category be assigned to multiple Table of Contents entries in iProc?

Yes - A Category that was previously assigned to one Table of Contents may be
assigned to another Table of Contents entry.

What is a Table of Contents in iProc?

The Table of Contents presents a hierarchical view of the catalog. Use the Table of Contents to view and create hierarchies of categories. You may find or create categories of any of the following levels in the Table of Contents:

  • Master categories: a category containing one or more intermediate or genus categories
  • Intermediate categories: a category containing one or more genus categories
  • Genus categories: a category containing items Sets of genus categories may be grouped together in sub-category groupings for both master and intermediate category levels. These categories can be edited at any time by clicking the associated Edit button. Genus categories cannot be edited. The changes you make to the Table of Contents are visible immediately in the online catalog.

What are the various ways that Catalog Information can be uploaded in iProc?

Catalog information can be uploaded from various sources:

  • XML file
  • Text file exported from a spreadsheet
  • Catalog Extractor accessible from the Catalog Server Loader Values window in Oracle Purchasing. This extractor imports the following items from Oracle Applications into the online Catalog: 
  • Item Master Items
  • Requisition Templates
  • Blanket agreements and quotations created in Oracle Purchasing
  • Blanket agreements and quotations imported through the Purchasing Documents Open Interface.

What are the types of Category Descriptors and how can they be created and modified in iProc?

There are two types of Descriptors:

  • Base 
  • Local.

Base descriptors, such as 'Supplier', apply to all items or services in the catalog. Local descriptors, such as 'Ink Color', apply only to items within a specific category, and thus can vary from one category to another. However it is possible for categories to share a local descriptor.

To create and edit Dase Descriptors:

  • In the Schema Editor page, make sure that a category is not selected; otherwise, you will be creating a local descriptor.
  • Click Edit Base Descriptors. The Descriptor Editor opens.
  • If you are creating a new descriptor:
  1. Enter a new descriptor name in the New Descriptor field
  2. Select a descriptor type of 'String' if the descriptor is all text, or 'Numeric' if it contains numbers
  3. Select 'Visible' or 'Hidden' to control whether the descriptor displays in the Search Results page when searching for items
  4. Click the Create button. The new descriptor will be listed in the Descriptors scroll box; furthermore, a new field is added with a null value for all items in the category.
  5. If you are editing an existing Descriptor:
  • Select the descriptor in the scroll box
  • Use the Rename, Delete, or Set buttons to modify the descriptor.Select 'Visible' or 'Hidden' to control whether the descriptor displays in the Search Results page when searching for items
To create and edit Local Descriptors:

  • In the Schema Editor page, search for and select a category.
  • Click Edit Local Descriptors for this category. The Descriptor Editor appears; any local descriptors that already exist for the category will be listed at this time.
  • If you are creating a new descriptor:
  1. Enter a new descriptor name in the New Descriptor field.
  2. Select a descriptor type of 'String' if the descriptor is all text, or 'Numeric' if it contains numbers. 
  3. Select 'Visible' or 'Hidden' to control whether the descriptor displays in the Search Results page when searching for items. 
  4. Click the Create button. The new descriptor will be listed in the Descriptors scroll box; furthermore, a new field is added with a null value for all items in the category.
  5. If you are editing an existing Descriptor:
  • Select the descriptor in the scroll box. 
  • Use the Rename, Delete, or Set buttons to modify the descriptor.
  • Select 'Visible' or 'Hidden' to control whether the descriptor displays in the Search Results page when searching for items.

How can a category be deleted in iProc?

From the Schema Editor page, search for the category you want to delete and
click the Delete button. When a category is deleted, each item belonging to
the category is removed as well.

How can a category be renamed in iProc?

From the Schema Editor page, search for the category you want to rename and
click the Rename button. When you rename a category, all of its descriptors
and properties are retained.

How can a new Category be created or viewed in iProc?

Use the Create button on the Schema Editor page to create a new category. A new category, once created, inherits all the base descriptors (supplier, supplier item number, etc.) for the catalog. Additional based descriptors can be defined and existing ones can be modified, and local descriptors for the category can be added as well.

How can you search for a category using the Schema Editor in iProc?

Before modifying or creating a new category the Catalog must be checked to see if that category  already exists. By clicking the Search button on the Schema Editor page without entering any search criteria, you will see all the categories that currently exist in the online catalog. This will return
all the categories that currently exist in the online Catalog. To search with specific criteria do the following:

  • Enter the criteria in the box beside the Search button.
  • The drop-down menu box on the right contains 4 choices -
  1. 'Begins with': Returns only those categories that contain that begin with the string
  2. 'Contains this text': Returns only those categories that contain that text string
  3. 'Suggest a category for this text': Returns an intelligent match based on the text string
  4. 'Exact match only': Returns an exact match on the text string

Click on the Search button to start the search for a matching category.

Where do the Categories in the Schema Editor come from in iProc?

The categories in the Catalog come from several sources:

  • Categories created in Oracle Applications and extracted to the online catalog
  • Categories that suppliers have created and uploaded to the online catalog using XML or a spreadsheet text file
  • Categories that have already been created using the Schema Editor.

How does the Schema Editor get started in iProc?

The Responsibility required is Internet Procurement Catalog Administration.
The navigation to the Schema Editor is eContent Manager --> Schema Editing.

What is the Schema Editor used for in iProc?

The Schema Editor can be used to:

  • Create a new category
  • Search to modify, rename or delete a category or to edit the local descriptors for an existing Category
  • Edit base descriptors

What is a Catalog Schema in iProc?

The schema of a catalog refers to the structure and organization of the catalog. A schema consists of categories and descriptors. A category classifies items, a descriptor describes items or categories.

There are two types of descriptors:

  • Base 
  • Local. 

Base descriptors apply to all items or services in the catalog. 'Supplier' is an example of a base descriptor.

Local descriptors apply only to items within a specific category. 'Ink color' is an example of a local descriptor for the category of 'Pens'.

How to create Local Blanket Purchase Agreement from Buyer Work Center?

Creating a Blanket Purchase Agreement (GBPA) from Buyer Work Center is always Global.
To create a Local Blanket Purchase Agreement  go to Purchase Orders Form.

Friday, September 7, 2018

What is meant by Pick Slip Grouping Rules in Oracle APPS?

Pick Slip Grouping Rules organize how released order lines are grouped on Pick Slips
for ease of picking. For Example: By using the Pick Slip Grouping Rule "Sub-
Inventory" the user can reduce the number of trips to a particular subinventory by
grouping all lines for that sub-inventory on to one Pick Slip.

What is meant by Picking Rules in Oracle APPS?

Picking Rules are created and maintained in Inventory, suggests which material to use, based on inventory controls such as Revision control, Lot control, FIFO (first in first out) or subinventory/locator picking numbers.

Picking Rule is an Item Attribute. Create a variety of picking rules and associate them with the  appropriate items. If there isn’t a Picking Rule associated with the item, the system will use the Organization’s default Picking Rule which is found on the Shipping Organization’s Parameters.

What is meant by Release Sequence Rules in Oracle APPS?

Release Sequence Rules determines the order in which inventory is allocated to
sales orders. Users can choose to allocate by order, outstanding Invoice value,
Scheduled Date, Departure Date & Shipment Priority.

The order in which sales orders are filled could be very important. If a company has
a problem of running out of material before all of their orders have been filled it is
very important that they have filled their most important orders first.

What is Release Rules in Oracle APPS?

Release Rules define the criteria to be used during Pick Release. Only orders which
meet the criteria and are eligible will be Released. An Order line is eligible if it has
completed the prerequisite workflow activities, such as Schedule - Line or Create
Supply.

Fixed Assets few useful Queries in Oracle APPS

 SELECT *
   FROM fa_additions_b
  WHERE asset_number = p_asset_number;

SELECT *
   FROM fa_additions_tl
  WHERE asset_id = p_asset_id
    AND LANGUAGE = USERENV('LANG');

  SELECT *
    FROM fa_transaction_headers
   WHERE asset_id = p_asset_id
     AND book_type_code = p_book_type_code
ORDER BY book_type_code, date_effective;

SELECT *
  FROM fa_asset_history
 WHERE asset_id = p_asset_id;

 SELECT *
   FROM fa_adjustments
  WHERE asset_id = p_asset_id;

  SELECT *
    FROM fa_books
  WHERE asset_id = p_asset_id;

  SELECT *
    FROM fa_deprn_summary
   WHERE asset_id = p_asset_id
     AND book_type_code = p_book_type_code
  ORDER BY deprn_run_date;

SELECT *
    FROM fa_deprn_summary_h
   WHERE asset_id = p_asset_id;

SELECT *
    FROM fa_deprn_detail
   WHERE asset_id = p_asset_id
  ORDER BY book_type_code, deprn_run_date;

SELECT *
    FROM fa_deprn_detail_h
  WHERE asset_id = p_asset_id;


  SELECT *
    FROM fa_deprn_events
   WHERE asset_id = p_asset_id
ORDER BY book_type_code, deprn_run_date;

SELECT *
  FROM fa_asset_invoices
 WHERE asset_id = p_asset_id;

SELECT *
  FROM fa_invoice_transactions
 WHERE invoice_transaction_id IN (SELECT DISTINCT invoice_transaction_id_in
                                    FROM fa_asset_invoices
                                   WHERE asset_id = p_asset_id);

  SELECT *
    FROM fa_books_summary
   WHERE asset_id = p_asset_id
ORDER BY book_type_code, period_counter;

  SELECT *
    FROM fa_deprn_periods
   WHERE book_type_code = (SELECT DISTINCT book_type_code
                             FROM fa_deprn_detail_h
                            WHERE asset_id = p_asset_id)
ORDER BY period_counter;

SELECT *
  FROM fa_mass_additions
 WHERE asset_number = p_asset_number;

SELECT *
  FROM fa_massadd_distributions
 WHERE mass_addition_id IN (SELECT DISTINCT mass_addition_id
                              FROM FA_MASS_ADDITIONS
                             WHERE asset_number = p_asset_number);

SELECT *
  FROM fa_book_controls
 WHERE book_type_code = (SELECT DISTINCT book_type_code
                           FROM fa_deprn_detail_h
                          WHERE asset_id = p_asset_id);

SELECT *
  FROM fa_book_controls_history
 WHERE book_type_code = (SELECT DISTINCT book_type_code
                           FROM fa_deprn_detail_h
                          WHERE asset_id = p_asset_id
                          );

SELECT *
  FROM fa_categories_b
 WHERE category_id IN (SELECT DISTINCT asset_category_id
                         FROM fa_additions_b
                        WHERE asset_number = p_asset_number);

SELECT *
  FROM fa_categories_tl
 WHERE category_id IN (SELECT DISTINCT asset_category_id
                         FROM fa_additions_b
                        WHERE asset_number = p_asset_number
                        );

SELECT *
  FROM fa_category_books
 WHERE category_id IN (SELECT DISTINCT asset_category_id
                         FROM fa_additions_b
                        WHERE asset_number = p_asset_number
                            )
   AND book_type_code = (SELECT DISTINCT book_type_code
                           FROM fa_deprn_detail_h
                          WHERE asset_id = p_asset_id
                          );

SELECT *
  FROM fa_category_book_defaults
 WHERE category_id IN (SELECT DISTINCT asset_category_id
                         FROM fa_additions_b
                        WHERE asset_number = p_asset_number
                      )
   AND book_type_code = (SELECT DISTINCT book_type_code
                           FROM fa_deprn_detail_h
                          WHERE asset_id = p_asset_id
                        );

SELECT *
  FROM fa_calendar_periods
 WHERE calendar_type =
          (SELECT deprn_calendar
             FROM fa_book_controls
            WHERE book_type_code = (SELECT DISTINCT book_type_code
                                      FROM fa_deprn_detail_h
                                     WHERE asset_id = p_asset_id
                                     )
          );

SELECT *
  FROM fa_conventions
 WHERE prorate_convention_code =
          (SELECT DISTINCT prorate_convention_code
             FROM fa_category_books
            WHERE category_id IN (SELECT DISTINCT asset_category_id
                                    FROM fa_additions_b
                                   WHERE asset_number = p_asset_number
                                     )
              AND book_type_code = (SELECT DISTINCT book_type_code
                                      FROM fa_deprn_detail_h
                                     WHERE asset_id = p_asset_id
                                    )
          );

SELECT *
  FROM fa_methods
 WHERE     method_code =
              (SELECT DISTINCT deprn_method
                 FROM fa_category_book_defaults
                WHERE     category_id IN (SELECT DISTINCT asset_category_id
                                            FROM fa_additions_b
                                           WHERE asset_number =p_asset_number
                                         )
                  AND book_type_code = (SELECT DISTINCT book_type_code
                                              FROM fa_deprn_detail_h
                                             WHERE asset_id = p_asset_id
                                             )
              )
       AND life_in_months =
              (SELECT DISTINCT life_in_months
                 FROM fa_category_book_defaults
                WHERE     category_id IN (SELECT DISTINCT asset_category_id
                                            FROM fa_additions_b
                                           WHERE asset_number =
                                                    p_asset_number)
                      AND book_type_code = (SELECT DISTINCT book_type_code
                                              FROM fa_deprn_detail_h
                                             WHERE asset_id = p_asset_id
                                             )
            );


SELECT *
    FROM xla_events
   WHERE event_id IN (SELECT DISTINCT event_id
                        FROM fa_transaction_headers
                       WHERE asset_id = p_asset_id
                         AND book_type_code = p_book_type_code
                      UNION ALL
                      SELECT DISTINCT event_id
                        FROM fa_deprn_summary
                       WHERE asset_id = p_asset_id
                         AND book_type_code = p_book_type_code
                      UNION ALL
                      SELECT DISTINCT event_id
                        FROM fa_deprn_summary_h
                       WHERE asset_id = p_asset_id
                         AND book_type_code = p_book_type_code)
ORDER BY event_date;

SELECT *
    FROM ( (SELECT *
              FROM xla_transaction_entities
             WHERE source_id_int_1 IN (SELECT DISTINCT
                                                  transaction_header_id
                                         FROM fa_transaction_headers
                                        WHERE asset_id = p_asset_id
                                          AND book_type_code = p_book_type_code
                                          AND event_id IS NOT NULL
                                       )
               AND source_id_char_1 = p_book_type_code
             )
          UNION ALL
          (SELECT *
             FROM xla_transaction_entities
            WHERE     source_id_int_3 IN (SELECT DISTINCT deprn_run_id
                                            FROM fa_deprn_summary
                                           WHERE asset_id = p_asset_id
                                             AND book_type_code = p_book_type_code
                                             AND event_id IS NOT NULL
                                             )
                  AND source_id_char_1 = p_book_type_code
                  AND source_id_int_1 = p_asset_id
           )
          UNION ALL
          (SELECT *
             FROM xla_transaction_entities
            WHERE source_id_int_3 IN (SELECT DISTINCT deprn_run_id
                                            FROM fa_deprn_summary_h
                                           WHERE asset_id = p_asset_id
                                             AND book_type_code = p_book_type_code
                                             )
             AND source_id_char_1 = p_book_type_code
             AND source_id_int_1 = p_asset_id
                  )
       )
ORDER BY creation_date;


SELECT *
    FROM xla_ae_headers
   WHERE event_id IN (SELECT DISTINCT event_id
                        FROM fa_transaction_headers
                       WHERE asset_id = p_asset_id
                         AND book_type_code = p_book_type_code
                      UNION ALL
                      SELECT DISTINCT event_id
                        FROM fa_deprn_summary
                       WHERE asset_id = p_asset_id
                         AND book_type_code = p_book_type_code
                      UNION ALL
                      SELECT DISTINCT event_id
                        FROM fa_deprn_summary_h
                       WHERE asset_id = p_asset_id
                         AND book_type_code = p_book_type_code
                       )
ORDER BY accounting_date;

Query To Fetch AP Invoice Details From SO Number(Doc ID 2949013.1)

SELECT dh.source_order_number       ,df.source_line_number as so_line_number   ,df.fulfill_line_number    ,ddr.doc_user_key as po_number...