OM
Open Backlog Orders 
  SELECT A.HEADER_ID,
         A.ORG_ID,
         A.ORDER_NUMBER,
         A.ORDER_TYPE_ID,
         A.ORDER_CATEGORY_CODE,
         A.FLOW_STATUS_CODE,
         A.SHIP_FROM_ORG_ID,
         D.INVENTORY_ITEM_ID,
         B.LINE_NUMBER,
         B.SCHEDULE_SHIP_DATE,
         C.NAME,
         B.ORDERED_QUANTITY,
         B.CANCELLED_QUANTITY,
         B.SHIPPED_QUANTITY,
         B.SCHEDULE_SHIP_DATE
    FROM
OE_ORDER_HEADERS_ALL A,
         OE_ORDER_LINES_ALL B,
         HR_ALL_ORGANIZATION_UNITS C,
         MTL_SYSTEM_ITEMS_B D
   WHERE     A.HEADER_ID = B.HEADER_ID
         AND
A.FLOW_STATUS_CODE NOT LIKE 'CLOSED'
         AND
A.SHIP_FROM_ORG_ID(+) = C.ORGANIZATION_ID
         AND
A.INVENTORY_ITEM_ID = D.INVENTORY_ITEM_ID
         AND
A.ORG_ID = :P_ORG_ID
         AND
B.SCHEDULE_SHIP_DATE < SYSDATE
GROUP BY A.HEADER_ID,
         A.ORG_ID,
         A.ORDER_NUMBER,
         A.ORDER_TYPE_ID,
         A.ORDER_CATEGORY_CODE,
         A.FLOW_STATUS_CODE,
         A.SHIP_FROM_ORG_ID,
         B.INVENTORY_ITEM_ID,
         B.LINE_NUMBER,
         B.SCHEDULE_SHIP_DATE,
         C.NAME,
         B.ORDERED_QUANTITY,
         B.CANCELLED_QUANTITY,
         B.SHIPPED_QUANTITY,
         B.SCHEDULE_SHIP_DATE
ORDER BY B.LINE_NUMBER
SELECT DISTINCT m.segment1 AS item,
                h.order_number,
                h.flow_status_code,
                l.ordered_quantity
  FROM
oe_order_headers_all h, oe_order_lines_all l, mtl_system_items_b m
 WHERE     l.HEADER_ID = h.header_id
       AND
l.INVENTORY_ITEM_ID = m.INVENTORY_ITEM_ID
       AND
l.inventory_item_id NOT IN (SELECT inventory_item_id FROM mtl_onhand_quantities)
       AND
h.flow_status_code NOT IN ('CLOSED', 'CANCELLED')
OM
Backloc Repoer For All Operating Units 
       a.ordered_date,
       a.transactional_curr_code "currency",
       a.order_category_code "order_type",
       soldfrom (a.sold_from_org_id) "sold_from",
       soldto (A.SOLD_TO_ORG_ID) "Customer",
       shipfrom (a.ship_from_org_id) "shiipping_from",
       organizations (b.org_id) "operating_unit",
       b.ordered_item "item_name",
       b.OPEN_FLAG "so_status_open"
  FROM
OE_ORDER_HEADERS_all a, OE_ORDER_LINES_all b
 WHERE     a.header_id = b.header_id
       AND
a.OPEN_FLAG = 'Y'
       AND
b.open_flag = 'Y'
       AND
A.SOLD_TO_ORG_ID = :SOLD_TO
       AND
A.SHIP_FROM_ORG_ID = :SHIP_FROM
OM
Related Queries 
SELECT NVL (SUM (NVL (moq.transaction_quantity, 0) * (NVL (cic.item_cost, 0))),0)
  FROM
mtl_onhand_quantities moq,
       cst_item_costs cic,
       te_inv_org_operating_units_v inv_ou
 WHERE     cic.inventory_item_id = moq.inventory_item_id
       AND
cic.cost_type_id = :g_num_cost_type_id
       AND
cic.organization_id = moq.organization_id
       AND
moq.inventory_item_id = :in_num_inventory_item_id
       AND
inv_ou.org_id = NVL ( :in_num_operating_unit, inv_ou.org_id)
       AND
inv_ou.organization_id = moq.organization_id
SELECT UNIQUE rct.trx_number, rct.trx_date, rctt.TYPE
SELECT UNIQUE rct.trx_number, rct.trx_date, rctt.TYPE
  FROM
oe_order_headers_all oha,
       ra_customer_trx_lines_all rctl,
       ra_customer_trx_all rct,
       ra_cust_trx_types_all rctt
 WHERE     rctl.interface_line_context = 'ORDER ENTRY'
       AND
rctl.interface_line_attribute1 = oha.order_number
       AND
rctl.customer_trx_id = rct.customer_trx_id
       AND
rctt.cust_trx_type_id = rct.cust_trx_type_id
       AND
oha.header_id = :in_num_header_id
       AND
rct.trx_date =
              (SELECT MAX (TRX_DATE)
                 FROM ra_customer_trx_lines_all rctla,
                      ra_customer_trx_all rcta
                WHERE     rctla.interface_line_context =
                             'ORDER
                         ENTRY'
                      AND rctla.interface_line_attribute1 = oha.order_number
                      AND rcta.customer_trx_id = rctla.customer_trx_id)
       AND rct.trx_number =
              (SELECT MAX (TRX_number)
                 FROM ra_customer_trx_lines_all rctla,
                      ra_customer_trx_all rcta
                WHERE     rctla.interface_line_context ='ORDER ENTRY'
                      AND rctla.interface_line_attribute1 = oha.order_number
                      AND rcta.customer_trx_id = rctla.customer_trx_id)
The same functionality can be provided by re writing the SQL as follows, in the process the cost gets reduced to almost half of the first query.
SELECT MAX (rct.trx_number), MAX (rct.trx_date), MAX (rctt.TYPE)
The same functionality can be provided by re writing the SQL as follows, in the process the cost gets reduced to almost half of the first query.
SELECT MAX (rct.trx_number), MAX (rct.trx_date), MAX (rctt.TYPE)
  FROM
oe_order_headers_all oha,
       ra_customer_trx_all rct,
       ra_cust_trx_types_all rctt
 WHERE     rct.interface_header_context = 'ORDER ENTRY'
       AND
rct.interface_header_attribute1 = oha.order_number
       AND
rctt.cust_trx_type_id = rct.cust_trx_type_id
       AND
oha.header_id = :in_num_header_id
  SELECT haou.organization_id,
         haou.name,
         hca.cust_account_id,
         hp.party_name,
         hca.account_number,
         hp.category_code,
         hca.sales_channel_code,
         hca.attribute1,
         SUBSTR (hca.attribute2, 5, 3),
         hp.country,
         haou.attribute1,
         MAX
(ola.actual_shipment_date) shp_dte
    FROM
hz_cust_accounts hca,
         hz_parties hp,
         oe_order_headers_all oha,
         oe_order_lines_all ola,
         hr_all_organization_units haou,
         ra_customers rac,
         ra_addresses_all raa
   WHERE     hp.party_id = hca.party_id(+)
         AND
oha.header_id(+) = ola.header_id
         AND
ola.sold_to_org_id(+) = hca.cust_account_id
         AND
haou.TYPE(+) = 'OU'
         AND
raa.party_id = hp.party_id
         AND
rac.party_id = raa.party_id
         AND
hca.status = 'A'
         AND
raa.org_id = haou.organization_id
         AND
EXISTS
                (SELECT 1
                   FROM RA_CUSTOMER_TRX_ALL RCTA
                  WHERE     HCA.cust_account_id
= RCTA.bill_to_customer_id
                        AND RCTA.ORG_ID = haou.organization_id)
GROUP BY haou.name,
         haou.organization_id,
         hca.cust_account_id,
         hp.party_name,
         hca.account_number,
         hca.sales_channel_code,
         hca.attribute2,
         hp.country,
         hca.attribute1,
         hp.category_code,
         haou.attribute1
ORDER BY shp_dte DESC
  SELECT - (SUM (ordered_quantity *
unit_selling_price)),
         -
(SUM (shipped_quantity *
unit_selling_price))
    INTO
out_num_ordered_amt, out_num_shipped_amt
    FROM
oe_order_lines_all
   WHERE header_id = in_num_header_id AND booked_flag = 'Y'
GROUP BY header_id;
SELECT NVL (SUM ( (oela.ordered_quantity, NVL (oela.shipped_quantity, 0))),0)
  FROM
oe_order_headers_all oeha, oe_order_lines_all oela
 WHERE     oela.header_id = oeha.header_id
       AND
oela.org_id = NVL ( :in_num_operating_unit, oela.org_id)
       AND
oela.inventory_item_id = NVL ( :in_num_inventory_item_id, oela.inventory_item_id)
       AND
oela.open_flag = 'Y'
       AND
oela.cancelled_flag = 'N'
       AND
oela.booked_flag = 'Y'
       AND
oeha.header_id = 1234
  SELECT --+choose
        oela.header_id
HEADER_ID,
         oela.line_id LINE_ID,
         oela.inventory_item_id INVENTORY_ITEM_ID,
         oeha.order_number ORDER_NUMBER,
         TRUNC (oeha.ordered_date) ORDERED_DATE,
         DECODE (
            oela.option_number,
            NULL, oela.line_number || '.' || oela.shipment_number,
               oela.line_number
            ||
'.'
            ||
oela.shipment_number
            ||
'.'
            ||
oela.option_number)
            LOGICAL_LINE_NUMBER,
         te_inventory_inq_pkg.get_line_status (oela.flow_status_code, oela.line_id)
            LINE_FLOW_STATUS,
         SUBSTRB (hp.party_name, 1, 50) CUSTOMER_NAME,
         oela.ordered_quantity ORDERED_QUANTITY,
         oela.shipped_quantity SHIPPED_QUANTITY,
         oeha.sold_to_org_id SOLD_TO_ORG_ID,
         oeha.cust_po_number CUST_PO_NUMBER,
         oeha.request_date REQUESTED_DATE,
         oela.actual_shipment_date ACTUAL_SHIPMENT_DATE,
         oela.schedule_ship_date SCHEDULE_SHIP_DATE,
         oela.ship_from_org_id SHIP_FROM_ORG_ID,
         mp.organization_code
ORGANIZATION_CODE,
         oela.org_id ORG_ID,
         DECODE (mp.attribute1, 'LAGOS', wnd.attribute1, wnd.name) DELIVERY_NAME
    FROM
mtl_parameters mp,
         oe_order_headers_all oeha,
         oe_order_lines_all oela,
         wsh_delivery_details wdd,
         wsh_delivery_assignments wda,
         hz_cust_accounts hca,
         hz_parties hp,
         wsh_new_deliveries wnd
   WHERE     hp.party_id = hca.party_id
         AND
oeha.sold_to_org_id = hca.cust_account_id
         AND
oela.ship_from_org_id = mp.organization_id
         AND
oeha.header_id = oela.header_id
         AND
oela.line_id = wdd.source_line_id
         AND
wdd.delivery_detail_id = wda.delivery_detail_id(+)
         AND
wda.delivery_id = wnd.delivery_id(+)
GROUP BY oela.header_id,
         oela.line_id,
         oela.inventory_item_id,
         oeha.order_number,
         oeha.ordered_date,
         oela.line_number,
         oela.shipment_number,
         oela.option_number,
         oela.flow_status_code,
         hp.party_name,
         oeha.sold_to_org_id,
         oeha.cust_po_number,
         oela.ordered_quantity,
         oela.shipped_quantity,
         oeha.ordered_date,
         oeha.request_date,
         oela.actual_shipment_date,
         oela.schedule_ship_date,
         oela.ship_from_org_id,
         mp.organization_code,
         oela.org_id,
         mp.attribute1,
         wnd.attribute1,
         wnd.name;
OM
Cancelled Orders With Reasons 
  SELECT TO_CHAR (oolh.hist_creation_date, 'YYYY-MM-DD'),
         usr.description,
         oolh.reason_code,
         COUNT (DISTINCT oolh.header_id) Orders
    FROM
apps.oe_order_lines_history oolh, apps.fnd_user usr
   WHERE     oolh.hist_creation_date > TRUNC (SYSDATE) - 90
         AND
oolh.hist_type_code = 'CANCELLATION'
         AND
oolh.last_updated_by = usr.user_id
GROUP BY TO_CHAR (hist_creation_date, 'YYYY-MM-DD'),
         usr.description,
         reason_code
ORDER BY 1
OM
HOLDS Information 
  SELECT /*+ use_nl (ooh hld
ohs ohd ohr) */
        ooh.order_number
"Order
Number",
         ooh.ordered_date
"Ordered
Date",
         ooh.flow_status_code
"Order
Status",
         ooh.credit_card_approval_code
"Credit Card
Approval Code",
         ohd.name "Hold Name",
         ohs.released_flag
"Hold Release
Flag",
         ohr.release_reason_code
"Hold Release
Reason",
         ohr.creation_date
"Hold Release
Date",
         ooh.payment_type_code
"Payment Type
Code"
    FROM
apps.oe_order_headers_all ooh,
         apps.oe_order_holds_all hld,
         apps.oe_hold_sources_all ohs,
         apps.oe_hold_definitions ohd,
         apps.oe_hold_releases ohr
   WHERE     ooh.ordered_date BETWEEN TO_DATE ('10-sep-2008 04:40:00','dd-mon-yyyy hh24:mi:ss')
                                  AND TO_DATE ('10-sep-2008 10:40:00', 'dd-mon-yyyy hh24:mi:ss')
         AND
ooh.order_category_code = 'ORDER'
         -- Add some other conditions to filter desired orders
         AND
hld.header_id(+) = ooh.header_id
         AND
ohs.hold_source_id(+) = hld.hold_source_id
         AND
ohd.hold_id(+) = ohs.hold_id
         -- Add hold name if your are looking for specific holds
         --  and
def.name  = 'Time Out for Credit Card
Auth'
         AND
ohr.hold_release_id(+) = ohs.hold_release_id
ORDER BY ooh.order_number
OM AND
AR Link Query 
SELECT ooha.order_number,
       oola.line_number
so_line_number,
       oola.ordered_item,
       oola.ordered_quantity
* oola.unit_selling_price
so_extended_price,
       rcta.trx_number
invoice_number,
       rcta.trx_date,
       rctla.line_number
inv_line_number,
       rctla.unit_selling_price
inv_unit_selling_price
  FROM
oe_order_headers_all ooha,
       oe_order_lines_all oola,
       ra_customer_trx_all rcta,
       ra_customer_trx_lines_all rctla
 WHERE     ooha.header_id = oola.header_id
       AND
rcta.customer_trx_id = rctla.customer_trx_id
       AND
rctla.interface_line_attribute6 = TO_CHAR (oola.line_id)
       AND
rctla.interface_line_attribute1 = TO_CHAR (ooha.order_number)
       AND
order_number = :p_order_number
SELECT ooh.order_number,
       hp_bill.party_name,
          hl_ship.address1
       ||
DECODE (hl_ship.address2, NULL, '', CHR (10))
       ||
hl_ship.address2
       ||
DECODE (hl_ship.address3, NULL, '', CHR (10))
       ||
hl_ship.address3
       ||
DECODE (hl_ship.address4, NULL, '', CHR (10))
       ||
hl_ship.address4
       ||
DECODE (hl_ship.city, NULL, '', CHR (10))
       ||
hl_ship.city
       ||
DECODE (hl_ship.state, NULL, '', ',')
       ||
hl_ship.state
       ||
DECODE (hl_ship.postal_code, '', ',')
       ||
hl_ship.postal_code
          ship_to_address,
          hl_bill.address1
       ||
DECODE (hl_bill.address2, NULL, '', CHR (10))
       ||
hl_bill.address2
       ||
DECODE (hl_bill.address3, NULL, '', CHR (10))
       ||
hl_bill.address3
       ||
DECODE (hl_bill.address4, NULL, '', CHR (10))
       ||
hl_bill.address4
       ||
DECODE (hl_bill.city, NULL, '', CHR (10))
       ||
hl_bill.city
       ||
DECODE (hl_bill.state, NULL, '', ',')
       ||
hl_bill.state
       ||
DECODE (hl_bill.postal_code, '', ',')
       ||
hl_bill.postal_code
          bill_to_address,
       ooh.transactional_curr_code
currency_code,
       mp.organization_code,
       ooh.fob_point_code,
       ooh.freight_terms_code,
       ooh.cust_po_number
  FROM
oe_order_headers_all ooh,
       hz_cust_site_uses_all hcs_ship,
       hz_cust_acct_sites_all hca_ship,
       hz_party_sites hps_ship,
       hz_parties hp_ship,
       hz_locations hl_ship,
       hz_cust_site_uses_all hcs_bill,
       hz_cust_acct_sites_all hca_bill,
       hz_party_sites hps_bill,
       hz_parties hp_bill,
       hz_locations hl_bill,
       mtl_parameters mp
 WHERE     1 = 1
       AND
header_id = :p_header_id
       AND
ooh.ship_to_org_id = hcs_ship.site_use_id
       AND
hcs_ship.cust_acct_site_id = hca_ship.cust_acct_site_id
       AND
hca_ship.party_site_id = hps_ship.party_site_id
       AND
hps_ship.party_id = hp_ship.party_id
       AND
hps_ship.location_id = hl_ship.location_id
       AND
ooh.invoice_to_org_id = hcs_bill.site_use_id
       AND
hcs_bill.cust_acct_site_id = hca_bill.cust_acct_site_id
       AND
hca_bill.party_site_id = hps_bill.party_site_id
       AND
hps_bill.party_id = hp_bill.party_id
       AND
hps_bill.location_id = hl_bill.location_id
       AND
mp.organization_id(+) = ooh.ship_from_org_id
RA
Customer Query 
SELECT hp.party_name,
       hp.party_number,
       hca.account_number,
       hca.cust_account_id,
       hp.party_id,
       hps.party_site_id,
       hps.location_id,
       hl.address1,
       hl.address2,
       hl.address3,
       hl.city,
       hl.state,
       hl.country,
       hl.postal_code,
       hcsu.site_use_code,
       hcsu.site_use_id,
       hcsa.bill_to_flag
  FROM
hz_parties hp,
       hz_party_sites hps,
       hz_locations hl,
       hz_cust_accounts_all hca,
       hz_cust_acct_sites_all hcsa,
       hz_cust_site_uses_all hcsu
 WHERE     hp.party_id = hps.party_id
       AND
hps.location_id = hl.location_id
       AND
hp.party_id = hca.party_id
       AND
hcsa.party_site_id = hps.party_site_id
       AND
hcsu.cust_acct_site_id = hcsa.cust_acct_site_id
       AND
hca.cust_account_id = hcsa.cust_account_id
       AND
hca.account_number = :customer_number
OM SO Query
SELECT ooha.order_number,
       oola.line_number
so_line_number,
       oola.ordered_item,
       oola.ordered_quantity
* oola.unit_selling_price
so_extended_price,
       rcta.trx_number
invoice_number,
       rcta.trx_date,
       rctla.line_number
inv_line_number,
       rctla.unit_selling_price
inv_unit_selling_price
  FROM
oe_order_headers_all ooha,
       oe_order_lines_all oola,
       ra_customer_trx_all rcta,
       ra_customer_trx_lines_all rctla
 WHERE     ooha.header_id = oola.header_id
       AND
rcta.customer_trx_id = rctla.customer_trx_id
       AND
rctla.interface_line_attribute6 = TO_CHAR (oola.line_id)
       AND
rctla.interface_line_attribute1 = TO_CHAR (ooha.order_number)
       AND
order_number = :p_order_number
   SELECT rac.customer_name,
          rac.customer_number,
          ara.address1,
          ara.address2,
          ara.address3,
          ara.address4,
          ara.city,
          ara.county,
          ara.country,
          ara.state,
          ara.postal_code,
          ara.concatenated_address,
          bil.contact_name bill_contact,
          shp.contact_name ship_contact,
          bil.primary_flag,
          shp.payment_term_name,
          phn.phone_number,
          phn.phone_type_meaning,
          DECODE (phn.status, 'A', 'Active', 'Inactive') status,
          phn.country_code
     FROM
ra_customers rac,
          ar_addresses_v ara,
          hz_site_uses_v bil,
          hz_site_uses_v shp,
          ar_phones_v phn
    WHERE     rac.customer_id = ara.customer_id(+)
          AND
ara.address_id = bil.address_id(+)
          AND
ara.address_id = shp.address_id(+)
          AND
bil.site_use_code(+) = 'BILL_TO'
          AND
shp.site_use_code(+) = 'SHIP_TO'
          AND
ara.party_site_id = phn.owner_table_id(+)
--      and rac.customer_name like 'AEGON%';
 

 
 Get Flower Effect
Get Flower Effect
2 comments:
can you give details explanation of o2c cycle flow with all affected tables including interface tables step by step
Check out the below link for O2C process:
http://oracleapps88.blogspot.in/2014/06/oracle-order-to-cash-o2c-life-cycle.html
Post a Comment