0% found this document useful (0 votes)
1K views

Query To Get Inventory Material Aging at Oracle Cloud

This query provides an inventory material aging report by selecting data from various Oracle Cloud tables to summarize inventory quantities, costs, and aging metrics like last receiving date by item, organization, and subinventory. Key information selected includes item details, quantities on hand, unit costs, total value, and columns calculating quantities and amounts in different aging periods (less than 90 days, 90-180 days, etc.) based on the last receiving date. It joins data from cost, quantity, and receiving date tables to provide a comprehensive aging analysis of inventory.

Uploaded by

Nader Fanous
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views

Query To Get Inventory Material Aging at Oracle Cloud

This query provides an inventory material aging report by selecting data from various Oracle Cloud tables to summarize inventory quantities, costs, and aging metrics like last receiving date by item, organization, and subinventory. Key information selected includes item details, quantities on hand, unit costs, total value, and columns calculating quantities and amounts in different aging periods (less than 90 days, 90-180 days, etc.) based on the last receiving date. It joins data from cost, quantity, and receiving date tables to provide a comprehensive aging analysis of inventory.

Uploaded by

Nader Fanous
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 9

Query to Get Inventory Material Aging at Oracle Cloud

SELECT
HRO.Org_Code Org_Code,
--HRO.name Store,
REPLACE (HRO.name,'‫'مخزن‬,NULL) Store,
QTY.subinventory_code,
ITEMS.item_number Item_Code,
ITEMS.description Item_Description,
ITEMS.Category_Code,
ITEMS.Category_Name,
ITEMS.CAT_Level1,
ITEMS.CAT_Level2,
ITEMS.CAT_Level3,
QTY.total_quantity Quantity,
COST.uom_code UOM,
ROUND (COST.unit_cost,2) Unit_Cost,
ROUND ((QTY.total_quantity * COST.unit_cost),2) Amount,
SYSDATE Report_Date,
RECEIVING.Last_Receiving_Date,
RECEIVING.Last_Receiving_Source,
TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date)
Last_Receiving_Age,
MOVE.Last_Transaction_Date Last_Movement_Date,
TRUNC (SYSDATE) - TRUNC (MOVE.Last_Transaction_Date)
Last_Transaction_Age,
CASE
WHEN TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) < 90
THEN QTY.total_quantity
ELSE NULL
END QtyLess90, --Less90
CASE
WHEN TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) >=
90 AND TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) < 180
THEN QTY.total_quantity
ELSE NULL
END QtyLess180, --90+
CASE
WHEN TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) >=
180 AND TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) < 270
THEN QTY.total_quantity
ELSE NULL
END QtyLess270, --180+
CASE
WHEN TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) >=
270 AND TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) < 360
THEN QTY.total_quantity
ELSE NULL
END QtyLess360, --270+
CASE
WHEN TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) >=
360
THEN QTY.total_quantity
ELSE NULL
END QtyMore360, --360+
CASE
WHEN TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) < 90
THEN ROUND ((QTY.total_quantity * COST.unit_cost),2)
ELSE NULL
END AmountLess90, --Less90
CASE
WHEN TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) >=
90 AND TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) < 180
THEN ROUND ((QTY.total_quantity * COST.unit_cost),2)
ELSE NULL
END AmountLess180, --90
CASE
WHEN TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) >=
180 AND TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) < 270
THEN ROUND ((QTY.total_quantity * COST.unit_cost),2)
ELSE NULL
END AmountLess270, --180
CASE
WHEN TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) >=
270 AND TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) < 360
THEN ROUND ((QTY.total_quantity * COST.unit_cost),2)
ELSE NULL
END AmountLess360, --270
CASE
WHEN TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date) >=
360
THEN ROUND ((QTY.total_quantity * COST.unit_cost),2)
ELSE NULL
END AmountMore360 --360

FROM
(SELECT OP.organization_id, --HRO
OP.legal_entity_id legal_entity,
--REPLACE (HOU.name,'‫'مخزن‬,NULL) name,
HOU.name name,
OP.organization_code Org_Code
--LOC.location_code
FROM
HR_ALL_ORGANIZATION_UNITS_X HOU,
INV_ORG_PARAMETERS OP
--HR_LOCATIONS_ALL_F_VL LOC
WHERE
OP.organization_id = HOU.organization_id)
--AND HOU.location_id = LOC.location_id
HRO,

(SELECT -- COST
cost_org_id,
cost_book_id,
val_unit_id,
inventory_item_id,
cost_element_id,
SUM (onhand_value) onhand_value,
DECODE (MAX (cost_method_code),'STANDARD', SUM (unit_cost),
MAX (unit_cost)) unit_cost,
MAX (uom_code) uom_code,
MAX (currency_code) currency_code,
MAX (cost_method_code) cost_method_code,
MAX (snapshot_date) snapshot_date
FROM
CST_COSTED_VU_COSTS_V
WHERE
(SYSDATE) BETWEEN snapshot_date AND (eff_to_date - 1)
AND cost_book_id = 300000002539593
GROUP BY
cost_org_id,
cost_book_id,
val_unit_id,
inventory_item_id,
cost_element_id)
COST,

(SELECT --QTY
cost_org_id,
cost_book_id,
val_unit_id,
inventory_item_id,
inventory_org_id,
subinventory_code,
SUM (quantity) total_quantity,
SUM (CTLQUANTITY) - SUM (quantity) non_intra_vu_txns_qty,
--It will indicate non_intra_vu_txns_qty when ignore_intravu_flag is 'Y'
MAX (vu_quantity) vu_quantity
FROM
CST_COSTED_ATTR_ONHAND_V
WHERE
(SYSDATE) BETWEEN snapshot_date AND (eff_to_date - 1)
AND cost_book_id = 300000002539593
GROUP BY
cost_org_id,
cost_book_id,
val_unit_id,
inventory_item_id,
inventory_org_id,
subinventory_code)
QTY
LEFT JOIN --RECEIVING
(SELECT
IMT.INVENTORY_ITEM_ID,
IMT.ORGANIZATION_ID,
IMT.SUBINVENTORY_CODE,
CASE
WHEN PO_REC.PO_Count > 0 THEN PO_REC.PO_Last_Date
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count > 0
THEN INTER_REC.Inter_Last_Date
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count IS
NULL AND OPEN_REC.Open_Count > 0 Then OPEN_REC.Open_Last_Date
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count IS
NULL AND OPEN_REC.Open_Count IS NULL AND SUB_REC.PO_Org_Count > 0 THEN
SUB_REC.PO_Org_Last_Date
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count IS
NULL AND OPEN_REC.Open_Count IS NULL AND SUB_REC.PO_Org_Count IS NULL AND
SUB_REC.Inter_Org_Count > 0 THEN SUB_REC.Inter_Org_Last_Date
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count IS
NULL AND OPEN_REC.Open_Count IS NULL AND SUB_REC.PO_Org_Count IS NULL AND
SUB_REC.Inter_Org_Count IS NULL AND SUB_REC.Open_Org_Count > 0 THEN
SUB_REC.Open_Org_Last_Date
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count IS
NULL AND OPEN_REC.Open_Count IS NULL AND SUB_REC.PO_Org_Count IS NULL AND
SUB_REC.Inter_Org_Count IS NULL AND SUB_REC.Open_Org_Count IS NULL AND
MISC_REC.Misc_Count > 0 THEN MISC_REC.Misc_Last_Date
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count IS
NULL AND OPEN_REC.Open_Count IS NULL AND SUB_REC.PO_Org_Count IS NULL AND
SUB_REC.Inter_Org_Count IS NULL AND SUB_REC.Open_Org_Count IS NULL AND
MISC_REC.Misc_Count IS NULL AND SUB_REC.Misc_Org_Count > 0 THEN
SUB_REC.Misc_Org_Last_Date

END Last_Receiving_Date,
CASE
WHEN PO_REC.PO_Count > 0 THEN 'PO_Receiving'
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count > 0
THEN 'Inventory_Transfer'
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count IS
NULL AND OPEN_REC.Open_Count > 0 THEN 'Opening_Balance'
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count IS
NULL AND OPEN_REC.Open_Count IS NULL AND SUB_REC.PO_Org_Count > 0 THEN
'Outside_PO_Receiving'
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count IS
NULL AND OPEN_REC.Open_Count IS NULL AND SUB_REC.PO_Org_Count IS NULL AND
SUB_REC.Inter_Org_Count > 0 THEN 'Outside_Inventory_Transfer'
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count IS
NULL AND OPEN_REC.Open_Count IS NULL AND SUB_REC.PO_Org_Count IS NULL AND
SUB_REC.Inter_Org_Count IS NULL AND SUB_REC.Open_Org_Count > 0 THEN
'Outside_Opening_Balance'
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count IS
NULL AND OPEN_REC.Open_Count IS NULL AND SUB_REC.PO_Org_Count IS NULL AND
SUB_REC.Inter_Org_Count IS NULL AND SUB_REC.Open_Org_Count IS NULL AND
MISC_REC.Misc_Count > 0 THEN 'Return_From_Project'
WHEN PO_REC.PO_Count IS NULL AND INTER_REC.Inter_Count IS
NULL AND OPEN_REC.Open_Count IS NULL AND SUB_REC.PO_Org_Count IS NULL AND
SUB_REC.Inter_Org_Count IS NULL AND SUB_REC.Open_Org_Count IS NULL AND
MISC_REC.Misc_Count IS NULL AND SUB_REC.Misc_Org_Count > 0 THEN
'Outside_Return_From_Project'

END Last_Receiving_Source

FROM
(SELECT DISTINCT --IMT Sub Query
IMT.ORGANIZATION_ID,
IMT.SUBINVENTORY_CODE,
IMT.INVENTORY_ITEM_ID
FROM
INV_MATERIAL_TXNS IMT)
IMT
LEFT JOIN --PO_REC Sub Query
(SELECT
IMT1.INVENTORY_ITEM_ID,
IMT1.ORGANIZATION_ID,
IMT1.SUBINVENTORY_CODE,
COUNT (IMT1.TRANSACTION_TYPE_ID) PO_Count,
MAX (TRUNC (IMT1.TRANSACTION_DATE)) PO_Last_Date
FROM
INV_MATERIAL_TXNS IMT1
WHERE
IMT1.TRANSACTION_TYPE_ID = 18
AND IMT1.TRANSACTION_DATE <= SYSDATE
GROUP BY
IMT1.INVENTORY_ITEM_ID,
IMT1.ORGANIZATION_ID,
IMT1.SUBINVENTORY_CODE)
PO_REC
ON IMT.ORGANIZATION_ID = PO_REC.ORGANIZATION_ID
AND IMT.SUBINVENTORY_CODE = PO_REC.SUBINVENTORY_CODE
AND IMT.INVENTORY_ITEM_ID = PO_REC.INVENTORY_ITEM_ID
LEFT JOIN --INTER_REC Sub Query
(SELECT
IMT2.INVENTORY_ITEM_ID,
IMT2.ORGANIZATION_ID,
IMT2.SUBINVENTORY_CODE,
COUNT (IMT2.TRANSACTION_TYPE_ID) Inter_Count,
MAX (TRUNC (IMT2.TRANSACTION_DATE)) Inter_Last_Date
FROM
INV_MATERIAL_TXNS IMT2
WHERE
IMT2.TRANSACTION_TYPE_ID = 12
AND IMT2.TRANSACTION_DATE <= SYSDATE
GROUP BY
IMT2.INVENTORY_ITEM_ID,
IMT2.ORGANIZATION_ID,
IMT2.SUBINVENTORY_CODE)
INTER_REC
ON IMT.ORGANIZATION_ID = INTER_REC.ORGANIZATION_ID
AND IMT.SUBINVENTORY_CODE = INTER_REC.SUBINVENTORY_CODE
AND IMT.INVENTORY_ITEM_ID = INTER_REC.INVENTORY_ITEM_ID
LEFT JOIN --OPEN_REC Sub Query
(SELECT
IMT3.INVENTORY_ITEM_ID,
IMT3.ORGANIZATION_ID,
IMT3.SUBINVENTORY_CODE,
COUNT (IMT3.TRANSACTION_TYPE_ID) Open_Count,
MAX (TRUNC (IMT3.TRANSACTION_DATE)) Open_Last_Date
FROM
INV_MATERIAL_TXNS IMT3
WHERE
IMT3.TRANSACTION_TYPE_ID = 300000002539895
AND IMT3.TRANSACTION_DATE <= SYSDATE
GROUP BY
IMT3.INVENTORY_ITEM_ID,
IMT3.ORGANIZATION_ID,
IMT3.SUBINVENTORY_CODE)
OPEN_REC
ON IMT.ORGANIZATION_ID = OPEN_REC.ORGANIZATION_ID
AND IMT.SUBINVENTORY_CODE = OPEN_REC.SUBINVENTORY_CODE
AND IMT.INVENTORY_ITEM_ID = OPEN_REC.INVENTORY_ITEM_ID
LEFT JOIN --MISC_REC Sub Query
(SELECT
IMT4.INVENTORY_ITEM_ID,
IMT4.ORGANIZATION_ID,
IMT4.SUBINVENTORY_CODE,
COUNT (IMT4.TRANSACTION_TYPE_ID) Misc_Count,
MAX (TRUNC (IMT4.TRANSACTION_DATE)) Misc_Last_Date
FROM
INV_MATERIAL_TXNS IMT4
WHERE
IMT4.TRANSACTION_SOURCE_TYPE_ID = 6
AND IMT4.TRANSACTION_ACTION_ID = 27
AND IMT4.TRANSACTION_TYPE_ID <> 300000002539895
AND IMT4.TRANSACTION_DATE <= SYSDATE
GROUP BY
IMT4.INVENTORY_ITEM_ID,
IMT4.ORGANIZATION_ID,
IMT4.SUBINVENTORY_CODE)
MISC_REC
ON IMT.ORGANIZATION_ID = MISC_REC.ORGANIZATION_ID
AND IMT.SUBINVENTORY_CODE = MISC_REC.SUBINVENTORY_CODE
AND IMT.INVENTORY_ITEM_ID = MISC_REC.INVENTORY_ITEM_ID
LEFT JOIN --SUB_REC Sub Query
(SELECT
SUB_TFR.ORGANIZATION_ID,
SUB_TFR.SUBINVENTORY_CODE,
SUB_TFR.INVENTORY_ITEM_ID,
SUB_TFR.SUB_Count,
SUB_TFR.SUB_Last_Date,
PO_Org_REC.PO_Org_Count,
PO_Org_REC.PO_Org_Last_Date,
INTER_Org_REC.Inter_Org_Count,
INTER_Org_REC.Inter_Org_Last_Date,
OPEN_Org_REC.Open_Org_Count,
OPEN_Org_REC.Open_Org_Last_Date,
MISC_Org_REC.Misc_Org_Count,
MISC_Org_REC.Misc_Org_Last_Date
FROM
(SELECT --SUB_TFR Sub Query from SUB_REC
IMT5.ORGANIZATION_ID,
IMT5.SUBINVENTORY_CODE,
IMT5.INVENTORY_ITEM_ID,
COUNT (IMT5.TRANSACTION_TYPE_ID) SUB_Count,
MAX (TRUNC (IMT5.TRANSACTION_DATE))
SUB_Last_Date
FROM
INV_MATERIAL_TXNS IMT5
WHERE
IMT5.TRANSACTION_TYPE_ID = 2
AND IMT5.TRANSACTION_QUANTITY > 0
AND IMT5.TRANSACTION_DATE <= SYSDATE
GROUP BY
IMT5.ORGANIZATION_ID,
IMT5.SUBINVENTORY_CODE,
IMT5.INVENTORY_ITEM_ID)
SUB_TFR
LEFT JOIN -- PO_Org_REC Sub Query from SUB_REC
(SELECT
IMT6.INVENTORY_ITEM_ID,
IMT6.ORGANIZATION_ID,
COUNT (IMT6.TRANSACTION_TYPE_ID) PO_Org_Count,
MAX (TRUNC (IMT6.TRANSACTION_DATE))
PO_Org_Last_Date
FROM
INV_MATERIAL_TXNS IMT6
WHERE
IMT6.TRANSACTION_TYPE_ID = 18
AND IMT6.TRANSACTION_DATE <= SYSDATE
GROUP BY
IMT6.INVENTORY_ITEM_ID,
IMT6.ORGANIZATION_ID)
PO_Org_REC
ON SUB_TFR.ORGANIZATION_ID =
PO_Org_REC.ORGANIZATION_ID
AND SUB_TFR.INVENTORY_ITEM_ID =
PO_Org_REC.INVENTORY_ITEM_ID
LEFT JOIN -- INTER_Org_REC Sub Query from SUB_REC
(SELECT
IMT7.INVENTORY_ITEM_ID,
IMT7.ORGANIZATION_ID,
COUNT (IMT7.TRANSACTION_TYPE_ID)
Inter_Org_Count,
MAX (TRUNC (IMT7.TRANSACTION_DATE))
Inter_Org_Last_Date
FROM
INV_MATERIAL_TXNS IMT7
WHERE
IMT7.TRANSACTION_TYPE_ID = 12
AND IMT7.TRANSACTION_DATE <= SYSDATE
GROUP BY
IMT7.INVENTORY_ITEM_ID,
IMT7.ORGANIZATION_ID)
INTER_Org_REC
ON SUB_TFR.ORGANIZATION_ID =
INTER_Org_REC.ORGANIZATION_ID
AND SUB_TFR.INVENTORY_ITEM_ID =
INTER_Org_REC.INVENTORY_ITEM_ID
LEFT JOIN -- OPEN_REC Sub Query from SUB_REC
(SELECT
IMT8.INVENTORY_ITEM_ID,
IMT8.ORGANIZATION_ID,
COUNT (IMT8.TRANSACTION_TYPE_ID)
Open_Org_Count,
MAX (TRUNC (IMT8.TRANSACTION_DATE))
Open_Org_Last_Date
FROM
INV_MATERIAL_TXNS IMT8
WHERE
IMT8.TRANSACTION_TYPE_ID = 300000002539895
AND IMT8.TRANSACTION_DATE <= SYSDATE
GROUP BY
IMT8.INVENTORY_ITEM_ID,
IMT8.ORGANIZATION_ID)
OPEN_Org_REC
ON SUB_TFR.ORGANIZATION_ID =
OPEN_Org_REC.ORGANIZATION_ID
AND SUB_TFR.INVENTORY_ITEM_ID =
OPEN_Org_REC.INVENTORY_ITEM_ID
LEFT JOIN -- MISC_Org_REC Sub Query from SUB_REC
(SELECT
IMT9.INVENTORY_ITEM_ID,
IMT9.ORGANIZATION_ID,
COUNT (IMT9.TRANSACTION_TYPE_ID)
Misc_Org_Count,
MAX (TRUNC (IMT9.TRANSACTION_DATE))
Misc_Org_Last_Date
FROM
INV_MATERIAL_TXNS IMT9
WHERE
IMT9.TRANSACTION_SOURCE_TYPE_ID = 6
AND IMT9.TRANSACTION_ACTION_ID = 27
AND IMT9.TRANSACTION_TYPE_ID <> 300000002539895
AND IMT9.TRANSACTION_DATE <= SYSDATE
GROUP BY
IMT9.INVENTORY_ITEM_ID,
IMT9.ORGANIZATION_ID)
MISC_Org_REC
ON SUB_TFR.ORGANIZATION_ID =
MISC_Org_REC.ORGANIZATION_ID
AND SUB_TFR.INVENTORY_ITEM_ID =
MISC_Org_REC.INVENTORY_ITEM_ID)
SUB_REC
ON IMT.ORGANIZATION_ID = SUB_REC.ORGANIZATION_ID
AND IMT.SUBINVENTORY_CODE = SUB_REC.SUBINVENTORY_CODE
AND IMT.INVENTORY_ITEM_ID = SUB_REC.INVENTORY_ITEM_ID)
RECEIVING
ON QTY.inventory_org_id = RECEIVING.organization_id
AND QTY.subinventory_code = RECEIVING.subinventory_code
AND QTY.inventory_item_id = RECEIVING.inventory_item_id
LEFT JOIN -- ITEMS
(SELECT
ESIT.inventory_item_id,
ESIT.organization_id,
ESIB.item_number,
Replace (ESIT.description,CHR(10),' ') Description,
ECB.category_code Category_Code,
ECT.category_name Category_Name,
SUBSTR(ECT.category_name,1,INSTR(ECT.category_name,'>>',1)-
1) CAT_Level1,
SUBSTR((REGEXP_SUBSTR(ECT.category_name,'>>[^>>]+')),3)
CAT_Level2,
SUBSTR (ECT.category_name, INSTR (ECT.category_name,
'>>',1,2)+2) CAT_Level3
FROM
EGP_SYSTEM_ITEMS_TL ESIT,
EGP_SYSTEM_ITEMS_B ESIB,
EGP_CATEGORIES_B ECB,
EGP_CATEGORIES_TL ECT,
EGP_ITEM_CAT_ASSIGNMENTS EICA
WHERE
1 = 1
AND ESIT.inventory_item_id = ESIB.inventory_item_id
AND ESIT.organization_id = ESIB.organization_id
AND ESIT.LANGUAGE = 'US'
AND ESIB.organization_id = 300000002519184
AND ECB.CATEGORY_ID = ECT.CATEGORY_ID
AND ECT.LANGUAGE = 'US'
AND ESIB.INVENTORY_ITEM_ID = EICA.INVENTORY_ITEM_ID
AND EICA.CATEGORY_ID = ECB.CATEGORY_ID)
ITEMS
ON QTY.inventory_item_id = ITEMS.inventory_item_id
--AND QTY.inventory_org_id = ITEMS.organization_id
LEFT JOIN --MOVE
(SELECT
INVENTORY_ITEM_ID,
ORGANIZATION_ID,
SUBINVENTORY_CODE,
MAX (TRUNC (TRANSACTION_DATE)) Last_Transaction_Date
FROM
INV_MATERIAL_TXNS IMT
WHERE
TRUNC (TRANSACTION_DATE) <= SYSDATE
GROUP BY
INVENTORY_ITEM_ID,
ORGANIZATION_ID,
SUBINVENTORY_CODE)
MOVE
ON QTY.inventory_item_id = MOVE.inventory_item_id
AND QTY.inventory_org_id = MOVE.organization_id
AND QTY.subinventory_code = MOVE.SUBINVENTORY_CODE

WHERE
HRO.organization_id = QTY.inventory_org_id
--AND HRO.organization_id = QTY.cost_org_id
--AND HRO.organization_id = COST.cost_org_id
--AND HRO.organization_id = ITEMS.organization_id
AND QTY.cost_org_id = COST.cost_org_id
AND QTY.inventory_item_id = COST.inventory_item_id
--AND COST.cost_org_id = ITEMS.organization_id
AND COST.inventory_item_id = ITEMS.inventory_item_id
AND QTY.total_quantity <> 0
AND ('ALL' IN (:P_Store || 'ALL') OR HRO.name IN (:P_Store))
AND ('ALL' IN (:P_Category || 'ALL') OR ITEMS.Category_Name IN (:P_Category))
AND ('ALL' IN (:P_Major_Category || 'ALL') OR ITEMS.CAT_Level1 IN
(:P_Major_Category))
AND ('ALL' IN (:P_Minor_Category || 'ALL') OR ITEMS.CAT_Level2 IN
(:P_Minor_Category))
AND ('ALL' IN (:P_Sub_Minor_Category || 'ALL') OR ITEMS.CAT_Level3 IN
(:P_Sub_Minor_Category))
--AND (TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date)) >= 90
AND (TRUNC (SYSDATE) - TRUNC (RECEIVING.Last_Receiving_Date)) > :P_MIN_AGE

ORDER BY 1,3,6,4

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy