SELECT
we.wip_entity_name,
wlc.organization_id,
wlc.wip_entity_id,
wlc.inventory_item_id,
msik.concatenated_segments item,
mmt.transaction_id,
mmt.transaction_quantity,
mmt.transaction_date,
lpn.attribute4 lot_number,
lpn.license_plate_number
FROM
wip_lpn_completions wlc,
wip_entities we,
mtl_material_transactions mmt,
mtl_transaction_lot_numbers lot,
wms_license_plate_numbers lpn,
mtl_system_items_kfv msik
WHERE
we.wip_entity_id = wlc.wip_entity_id
AND we.organization_id = wlc.organization_id
AND mmt.completion_transaction_id = wlc.completion_transaction_id
AND lot.transaction_id = mmt.transaction_id
AND lpn.lpn_id = wlc.lpn_id
AND msik.inventory_item_id = wlc.inventory_item_id
AND msik.organization_id = wlc.organization_id
-- AND we.wip_entity_name = '129465'--'129502'
AND we.organization_id IN (91, 93)
AND msik.item_type = 'FG'
ORDER BY
mmt.transaction_date DESC;
Monday, 18 May 2026
Wip Completion (intellinum/Telnet) Query to Fetch Work Order, Lot and LPN Numbers Details
Tuesday, 21 October 2025
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;
Sunday, 8 June 2025
Exchange Rate Handling in Oracle Cloud
Please find below a summary regarding exchange rate handling in Oracle Cloud:
-
The exchange rate values in both
RA_CUSTOMER_TRX_ALLandGL_DAILY_RATESare identical. -
However, the Fusion UI typically displays the exchange rate rounded to 6 decimal places. To ensure consistency, it is recommended to use
ROUND(exchange_rate, 6)in custom reports or queries. -
The AutoInvoice interface (
RA_INTERFACE_LINES_ALL) does not apply rounding by default, which can result in high-precision values being inserted—particularly whenCONVERSION_TYPEis set to 'User' or a custom type.
Recommendations to Avoid High-Precision Exchange Rates:
-
Round the exchange rate in FBDI templates, APIs, or integration sources before loading data.
-
Ensure values in
GL_DAILY_RATESare stored with a consistent precision (ideally up to 6 decimal places). -
Use
ROUND(exchange_rate, 6)in all custom queries and reports to match how values are displayed in the Fusion UI.
Tuesday, 4 March 2025
Oracle EBS + Query to Find List of XML Publisher Reports
SELECT fe.executable_name,'Data Template (XML) Reports' object_type,fe.EXECUTION_FILE_NAME,
fcp.CONCURRENT_PROGRAM_NAME concurrent_program_short_name,fcpt.USER_CONCURRENT_PROGRAM_NAME,fcp.enabled_flag,DECODE (NVL(fcp.ENABLED_FLAG,'N'),'Y','Active','Inactive') active_status,
(select max(fcr.actual_start_date) from fnd_concurrent_requests fcr where fcr.concurrent_program_id = fcp.concurrent_program_id) last_execuation_date
FROM FND_EXECUTABLES FE,
FND_CONCURRENT_PROGRAMS FCP,
FND_CONCURRENT_PROGRAMS_TL FCPT
WHERE fe.execution_method_code = 'K'
AND fe.executable_name = 'XDODTEXE'
AND FE.executable_id = FCP.executable_id
AND FCP.concurrent_program_id = FCPT.concurrent_program_id
AND FCPT.language = 'US'
AND (fcpt.USER_CONCURRENT_PROGRAM_NAME LIKE 'XX%' OR fcpt.USER_CONCURRENT_PROGRAM_NAME LIKE 'LIN%' OR fcp.CONCURRENT_PROGRAM_NAME LIKE 'XX%' OR fcp.CONCURRENT_PROGRAM_NAME LIKE 'LIN%')
UNION
SELECT fe.executable_name,'PLSQL (XML) Reports' object_type,fe.EXECUTION_FILE_NAME,
fcp.CONCURRENT_PROGRAM_NAME concurrent_program_short_name,fcpt.USER_CONCURRENT_PROGRAM_NAME,fcp.enabled_flag,DECODE (NVL(fcp.ENABLED_FLAG,'N'),'Y','Active','Inactive') active_status,
(select max(fcr.actual_start_date) from fnd_concurrent_requests fcr where fcr.concurrent_program_id = fcp.concurrent_program_id) last_execuation_date
FROM FND_EXECUTABLES FE,
FND_CONCURRENT_PROGRAMS FCP,
FND_CONCURRENT_PROGRAMS_TL FCPT
WHERE fe.execution_method_code = 'I'
AND fcp.OUTPUT_FILE_TYPE = 'XML'
AND FE.executable_id = FCP.executable_id
AND FCP.concurrent_program_id = FCPT.concurrent_program_id
AND FCPT.language = 'US'
AND (fcpt.USER_CONCURRENT_PROGRAM_NAME LIKE 'XX%' OR fcpt.USER_CONCURRENT_PROGRAM_NAME LIKE 'LIN%' OR fcp.CONCURRENT_PROGRAM_NAME LIKE 'XX%' OR fcp.CONCURRENT_PROGRAM_NAME LIKE 'LIN%')
UNION
SELECT fe.executable_name,'RDF (XML) Reports' object_type,fe.EXECUTION_FILE_NAME,
fcp.CONCURRENT_PROGRAM_NAME concurrent_program_short_name,fcpt.USER_CONCURRENT_PROGRAM_NAME,fcp.enabled_flag,DECODE (NVL(fcp.ENABLED_FLAG,'N'),'Y','Active','Inactive') active_status,
(select max(fcr.actual_start_date) from fnd_concurrent_requests fcr where fcr.concurrent_program_id = fcp.concurrent_program_id) last_execuation_date
FROM FND_EXECUTABLES FE,
FND_CONCURRENT_PROGRAMS FCP,
FND_CONCURRENT_PROGRAMS_TL FCPT
WHERE fe.execution_method_code = 'P'
AND fcp.OUTPUT_FILE_TYPE = 'XML'
AND FE.executable_id = FCP.executable_id
AND FCP.concurrent_program_id = FCPT.concurrent_program_id
AND FCPT.language = 'US'
AND (fcpt.USER_CONCURRENT_PROGRAM_NAME LIKE 'XX%' OR fcpt.USER_CONCURRENT_PROGRAM_NAME LIKE 'LIN%' OR fcp.CONCURRENT_PROGRAM_NAME LIKE 'XX%' OR fcp.CONCURRENT_PROGRAM_NAME LIKE 'LIN%');
Regards,
Amar Alam
Oracle Fusion + Sales Order Audit Report Query + Sales Order Fulfillment Lines EFF Query
SELECT * FROM
(SELECT --dla.line_id,
Friday, 22 November 2024
Main Differences Between OTBI and BIP Reports - Oracle Fusion
BIP Reports are less user-friendly as they require
technical expertise to develop, whereas OTBI Reports are more
user-friendly and do not require technical expertise. OTBI reports can be
developed with just drag-and-drop functionality.
A BIP Report is a combination of two objects: Data
Model and Report, whereas an OTBI Report consists of only one
object: Analysis.
For BIP Reports, we need to write SQL queries to
extract data from Oracle Fusion. In contrast, for OTBI Reports, there is
no need to write SQL queries. Users can simply select the columns they want to
include in the report using drag-and-drop functionality.
BIP Reports are better suited for complex reports
where data must be extracted from multiple tables, while OTBI Reports
are suitable for simpler data scenarios involving one or two tables.
In BIP Reports, there is greater flexibility in terms
of data extraction, as SQL queries can be written to meet specific
requirements. In OTBI Reports, there is limited flexibility, as data can
only be extracted from predefined OTBI data sources, and no modifications can
be made to data extraction.
In OTBI Reports, SQL queries are generated
automatically based on column selection for data extraction. In contrast, for BIP
Reports, SQL statements must be written manually as per the requirements.
OTBI Reports are more focused on simple data
extraction, while BIP Reports are robust tools that allow for flexible
report layout design based on user requirements.
In OTBI Reports, complex report layouts cannot be
designed; they are limited to table-based layouts. However, BIP Reports
allow the design of any report layout as per requirements.
Statuary reports cannot be designed in OTBI Reports.
For statuary reports, the BIP Reports tool must be used.
From a user perspective, the GUI of BIP Reports is
much better compared to OTBI Reports.
OTBI Reports can be created very quickly, whereas BIP
Reports may take more time for development.
BIP Reports support the feature of report bursting,
but OTBI Reports do not.
In BIP Reports, multiple templates can be designed,
whereas OTBI Reports support only a single template layout.
OTBI Reports are tied to data roles assigned to the
user account, meaning access to data is governed by these roles in Oracle
Fusion. In BIP Reports, data access is not tied to user-assigned data
roles, allowing users to access data irrespective of their assigned roles.
In terms of security, OTBI Reports are more secure
compared to BIP Reports.
Sunday, 17 November 2024
Oracle SQL + How to split a string in Oracle using substr/instr
Table Name: GLCC
Column Name: criteria
Column Value: ALAM-**-98000-10301990-***-***************-*****-OPR**
SELECT
criteria,INSTR(criteria,'-',1,1) AS first_comma,
INSTR(criteria,'-',1,2) AS second_comma,
INSTR(criteria,'-',1,3) AS third_comma
,INSTR(criteria,'-',1,4) AS fourth_comma,
INSTR(criteria,'-',1,5) AS fifth_comma,
SUBSTR(criteria,1,INSTR(criteria,'-',1,1)-1) column1
,SUBSTR(criteria
,INSTR(criteria,'-',1,1) + 1
,INSTR(criteria,'-',1,2)
- INSTR(criteria,'-',1,1)
- 1)
AS column2
,SUBSTR(criteria
,INSTR(criteria,'-',1,2) + 1
,INSTR(criteria,'-',1,3)
- INSTR(criteria,'-',1,2)
- 1)
AS column3
,SUBSTR(criteria
,INSTR(criteria,'-',1,3) + 1
,INSTR(criteria,'-',1,4)
- INSTR(criteria,'-',1,3)
- 1)
AS column4
,SUBSTR(criteria
,INSTR(criteria,'-',1,4) + 1
,INSTR(criteria,'-',1,5)
- INSTR(criteria,'-',1,4)
- 1)
AS column5
,SUBSTR(criteria
,INSTR(criteria,'-',1,5) + 1
,INSTR(criteria,'-',1,6)
- INSTR(criteria,'-',1,5)
- 1)
AS column6
,SUBSTR(criteria
,INSTR(criteria,'-',1,6) + 1
,INSTR(criteria,'-',1,7)
- INSTR(criteria,'-',1,6)
- 1)
AS column7
,SUBSTR(criteria
,INSTR(criteria,'-',1,7) + 1)
AS column8
FROM
glcc;
