From 7818a14b7d7ddc7e0a68b11bcb77b9f63741fc04 Mon Sep 17 00:00:00 2001 From: HasaliEdirisinghe Date: Tue, 29 Jul 2025 17:57:58 +0530 Subject: [PATCH] Quick Report Changes --- .../Average Issues Receipts per period.txt | 87 +++++ ..., Invoiced and Open Orders by customer.txt | 45 +++ .../Quick reports/Component Where Used.txt | 42 ++ .../Quick reports/Customer Shipments.txt | 26 ++ .../Customer Specific Report.txt | 362 ++++++++++++++++++ .../Encoding - Label used 1 str.txt | 26 ++ ...ed Consumption - Material (date range).txt | 81 ++++ .../Expected Consumption - Material v2.txt | 61 +++ .../Expected Consumption - Material.txt | 70 ++++ .../Expected Consumption By Shop Order.txt | 150 ++++++++ .../Expected Consumption Summary.txt | 48 +++ ...Consumption including BOM scrap factor.txt | 82 ++++ .../Quick reports/IPL Project Cost.txt | 212 ++++++++++ ...Inventory_By_Part_Purchased_Parts_Only.txt | 142 +++++++ .../Non Consecutive HU on Shop Order.txt | 62 +++ .../Open Orders Report NA_SIOP.txt | 36 ++ ..., Skids shipped per day (Dollar value).txt | 31 ++ .../Quick reports/Planning Bill Analysis.txt | 170 ++++++++ .../Quick reports/Production Changeover.txt | 150 ++++++++ .../Production Schedule CSR View.txt | 64 ++++ .../Quick reports/Project Balance Report.txt | 33 ++ .../Contract and Call-off.txt | 54 +++ ...ndling Unit - Serial Number validation.txt | 35 ++ .../IPL - Posting Proposal AP.txt | 38 ++ .../Inventory_By_Part_1000.txt | 153 ++++++++ .../OLD - Manufacturing-Rejects details.txt | 49 +++ .../OLD - Planning Bill Analysis.txt | 66 ++++ .../Posting proposal with Gl Code.txt | 1 + .../Shop Order - Hu Attached.txt | 6 + .../Resin and Additive Consumption.txt | 69 ++++ .../Quick reports/Routing_Information.txt | 44 +++ .../HasaliLK/Quick reports/Sales Report.txt | 108 ++++++ .../Skids per day per order puller.txt | 44 +++ .../Quick reports/Top 10 Customers.txt | 17 + .../Quick reports/Top 10 Products.txt | 9 + ...er month by Location (Sales $ MTD) (2).txt | 79 ++++ ...ed per month by Location Late Shipment.txt | 54 +++ .../Units shipped per month by Location.txt | 32 ++ ...ickReports_B&F Year End - Aged Inserts.xml | 57 +++ .../xml/QuickReports_B&F Year End - Dock.xml | 35 ++ ...kReports_B&F Year End - Finished Goods.xml | 42 ++ .../QuickReports_B&F Year End - Inserts.xml | 35 ++ ...d & Fletcher Year End - Finished Goods.xml | 42 ++ ...uickReports_Cust_Specific_vs_Deco_Part.xml | 73 ++++ ...kReports_Encoding - Label used _ 1 str.xml | 56 +++ ...uickReports_Maintenance Purchase Parts.xml | 47 +++ .../QuickReports_Planning Bill Analysis.xml | 215 +++++++++++ .../QuickReports_Project Balance Report.xml | 71 ++++ .../xml/QuickReports_Sales Report.xml | 154 ++++++++ .../xml/QuickReports_Top 10 Customers.xml | 46 +++ ...d per month by Location (Sales $ MTD) .xml | 126 ++++++ ...9c54-4a73-927e-dcb5e5ea474b.datasource.xml | 49 +++ ...18-7329-4b30-9386-242fbb1a7caa.element.xml | 68 ++++ 53 files changed, 3954 insertions(+) create mode 100644 REPORTS/HasaliLK/Quick reports/Average Issues Receipts per period.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Budget, Invoiced and Open Orders by customer.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Component Where Used.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Customer Shipments.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Customer Specific Report.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Encoding - Label used 1 str.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Expected Consumption - Material (date range).txt create mode 100644 REPORTS/HasaliLK/Quick reports/Expected Consumption - Material v2.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Expected Consumption - Material.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Expected Consumption By Shop Order.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Expected Consumption Summary.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Expected Consumption including BOM scrap factor.txt create mode 100644 REPORTS/HasaliLK/Quick reports/IPL Project Cost.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Inventory_By_Part_Purchased_Parts_Only.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Non Consecutive HU on Shop Order.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Open Orders Report NA_SIOP.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Parts, Skids shipped per day (Dollar value).txt create mode 100644 REPORTS/HasaliLK/Quick reports/Planning Bill Analysis.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Production Changeover.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Production Schedule CSR View.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Project Balance Report.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Removed from Cloud/Contract and Call-off.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Removed from Cloud/Handling Unit - Serial Number validation.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Removed from Cloud/IPL - Posting Proposal AP.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Removed from Cloud/Inventory_By_Part_1000.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Removed from Cloud/OLD - Manufacturing-Rejects details.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Removed from Cloud/OLD - Planning Bill Analysis.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Removed from Cloud/Posting proposal with Gl Code.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Removed from Cloud/Shop Order - Hu Attached.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Resin and Additive Consumption.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Routing_Information.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Sales Report.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Skids per day per order puller.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Top 10 Customers.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Top 10 Products.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Units shipped per month by Location (Sales $ MTD) (2).txt create mode 100644 REPORTS/HasaliLK/Quick reports/Units shipped per month by Location Late Shipment.txt create mode 100644 REPORTS/HasaliLK/Quick reports/Units shipped per month by Location.txt create mode 100644 REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Aged Inserts.xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Dock.xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Finished Goods.xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Inserts.xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/QuickReports_Burd & Fletcher Year End - Finished Goods.xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/QuickReports_Cust_Specific_vs_Deco_Part.xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/QuickReports_Encoding - Label used _ 1 str.xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/QuickReports_Maintenance Purchase Parts.xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/QuickReports_Planning Bill Analysis.xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/QuickReports_Project Balance Report.xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/QuickReports_Sales Report.xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/QuickReports_Top 10 Customers.xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/QuickReports_Units shipped per month by Location (Sales $ MTD) .xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/SC Consolidated Shipments Open - 3a775925-9c54-4a73-927e-dcb5e5ea474b.datasource.xml create mode 100644 REPORTS/HasaliLK/Quick reports/xml/Shipping Planner Outbound Consolidated Shipments Open Web - 94838018-7329-4b30-9386-242fbb1a7caa.element.xml diff --git a/REPORTS/HasaliLK/Quick reports/Average Issues Receipts per period.txt b/REPORTS/HasaliLK/Quick reports/Average Issues Receipts per period.txt new file mode 100644 index 0000000..8b2b860 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Average Issues Receipts per period.txt @@ -0,0 +1,87 @@ +Select H.Contract Site, + H.PART_NO, + IP.Description, + H.Stat_Year_NO || '-' || TO_CHAR(H.Stat_Period_No, '00') Period, + H.Beg_Balance Begenning_Balance, + H.count_abnormal_issues, + H.count_adjust, + H.count_issues, + H.count_issues_with_abnormal, + H.count_receipts, + H.mtd_abnormal_issues, + H.mtd_adjust, + H.mtd_issues, + H.mtd_issues_with_abnormal, + H.mtd_receipts, + H.qty_onhand "Qty on Hand", + IPP.SAFETY_STOCK "Safety Stock", + IPP.MIN_ORDER_QTY "Min Order Qty", + IPP.MAX_ORDER_QTY "Max Order Qty", + IPP.CF$_HU_QUANTITY "HU Qty", + IPP.CF$_MIN_SALES_QTY "Min Sales Qty", + IP.TYPE_DESIGNATION, + IP.ACCOUNTING_GROUP, + IP.PART_PRODUCT_CODE, + IP.PART_PRODUCT_FAMILY, + IP.PART_STATUS, + IP.TYPE_CODE, + PP.CF$_PURCHASE_PART_CAT_1, + PP.CF$_PURCHASE_PART_CAT_2 + + From Inventory_Part_period_hist H + inner join Inventory_Part_cfv IP + on H.Contract = IP.Contract + and H.Part_No = IP.Part_No + left join Purchase_Part_cfv PP + on H.Contract = PP.Contract + and H.Part_No = PP.Part_No + inner join INVENTORY_PART_PLANNING_cfv IPP + on H.Contract = IPP.Contract + and H.Part_No = IPP.Part_No + + Where H.CONTRACT LIKE '%&Site%' + + and (H.PART_NO LIKE NVL('&[-C--L]Part_No', '%') or + H.PART_NO in + (SELECT REGEXP_SUBSTR(d__.str, '[^;]+', 1, LEVEL) AS val_ + FROM (SELECT '&[-C--L]PART_NO' AS str FROM DUAL) d__ + CONNECT BY LEVEL <= REGEXP_COUNT(d__.str, ';') + 1)) + + and TO_DATE((H.Stat_Year_NO || '-' || TO_CHAR(H.Stat_Period_No, '00')), + 'YYYY-MM') Between TO_DATE('&From_Year_Period', 'YYYY-MM') and + TO_DATE('&To_Year_Period', 'YYYY-MM') + + and (IP.ACCOUNTING_GROUP LIKE NVL('&[-C--L]ACCOUNTING_GROUP', '%') or + IP.ACCOUNTING_GROUP in + (SELECT REGEXP_SUBSTR(d__.str, '[^;]+', 1, LEVEL) AS val_ + FROM (SELECT '&[-C--L]ACCOUNTING_GROUP' AS str FROM DUAL) d__ + CONNECT BY LEVEL <= REGEXP_COUNT(d__.str, ';') + 1)) + + and (IP.PART_PRODUCT_CODE LIKE NVL('&[-C--L]PART_PRODUCT_CODE', '%') or + IP.PART_PRODUCT_CODE in + (SELECT REGEXP_SUBSTR(d__.str, '[^;]+', 1, LEVEL) AS val_ + FROM (SELECT '&[-C--L]PART_PRODUCT_CODE' AS str FROM DUAL) d__ + CONNECT BY LEVEL <= REGEXP_COUNT(d__.str, ';') + 1)) + + and (IP.PART_PRODUCT_FAMILY LIKE NVL('&[-C--L]PART_PRODUCT_FAMILY', '%') or + IP.PART_PRODUCT_FAMILY in + (SELECT REGEXP_SUBSTR(d__.str, '[^;]+', 1, LEVEL) AS val_ + FROM (SELECT '&[-C--L]PART_PRODUCT_FAMILY' AS str FROM DUAL) d__ + CONNECT BY LEVEL <= REGEXP_COUNT(d__.str, ';') + 1)) + + and (PP.CF$_PURCHASE_PART_CAT_1 LIKE NVL('&[-C--L]PURCHASE_CAT1', '%') or + PP.CF$_PURCHASE_PART_CAT_1 in + (SELECT REGEXP_SUBSTR(d__.str, '[^;]+', 1, LEVEL) AS val_ + FROM (SELECT '&[-C--L]PURCHASE_CAT1' AS str FROM DUAL) d__ + CONNECT BY LEVEL <= REGEXP_COUNT(d__.str, ';') + 1) or + decode(PP.CF$_PURCHASE_PART_CAT_1, '', 'TRUE') = 'TRUE') + + and (PP.CF$_PURCHASE_PART_CAT_2 LIKE NVL('&[-C--L]PURCHASE_CAT2', '%') or + PP.CF$_PURCHASE_PART_CAT_2 in + (SELECT REGEXP_SUBSTR(d__.str, '[^;]+', 1, LEVEL) AS val_ + FROM (SELECT '&[-C--L]PURCHASE_CAT2' AS str FROM DUAL) d__ + CONNECT BY LEVEL <= REGEXP_COUNT(d__.str, ';') + 1) or + decode(PP.CF$_PURCHASE_PART_CAT_2, '', 'TRUE') = 'TRUE') + + Order By H.Part_No, + H.Stat_Year_NO || '-' || TO_CHAR(H.Stat_Period_No, '00') diff --git a/REPORTS/HasaliLK/Quick reports/Budget, Invoiced and Open Orders by customer.txt b/REPORTS/HasaliLK/Quick reports/Budget, Invoiced and Open Orders by customer.txt new file mode 100644 index 0000000..1f300a6 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Budget, Invoiced and Open Orders by customer.txt @@ -0,0 +1,45 @@ +SELECT + CF$_SITE as "Plant", + CF$_YEAR as "Year", + CF$_PERIOD as "Month", + CF$_CUSTOMER as "Customer Number" , + Customer_Group_API.Get_Description( CUST_ORD_CUSTOMER_API.Get_Cust_Grp(CF$_CUSTOMER)) "Cust Stat Group", + CUSTOMER_INFO_API.Get_Name ( CF$_CUSTOMER) as "Customer Name", + CF$_SALES_PART_NO as "Part Number", + Sales_Part_API.Get_Catalog_Desc(CF$_SITE, CF$_SALES_PART_NO) as "Part Description", + CF$_BUDGETED_QUANTITY as "Budget Sales (qty)", + CF$_BUDGETED_SALES_REVENUE as "Budget Sales ($)", + + + (SELECT SUM(INVOICED_QTY) from CUST_ORD_INVO_STAT stat + where EXTRACT( YEAR FROM TO_DATE(INVOICE_DATE) ) = CF$_YEAR + AND EXTRACT( MONTH FROM TO_DATE(INVOICE_DATE) )= CF$_PERIOD + AND CUSTOMER_NO = CF$_CUSTOMER + AND PART_NO = CF$_SALES_PART_NO) "Invoiced Sales (Qty)", + + (SELECT SUM(NET_AMOUNT) from CUST_ORD_INVO_STAT stat + where EXTRACT( YEAR FROM TO_DATE(INVOICE_DATE) ) = CF$_YEAR + AND EXTRACT( MONTH FROM TO_DATE(INVOICE_DATE) )= CF$_PERIOD + AND CUSTOMER_NO = CF$_CUSTOMER + AND PART_NO = CF$_SALES_PART_NO) "Invoiced Sales ($)", + + (SELECT SUM(BUY_QTY_DUE) from CUSTOMER_ORDER_JOIN stat + where EXTRACT( YEAR FROM TO_DATE(PLANNED_DELIVERY_DATE) ) = CF$_YEAR + AND EXTRACT( MONTH FROM TO_DATE(PLANNED_DELIVERY_DATE) )= CF$_PERIOD + AND CUSTOMER_NO = CF$_CUSTOMER + AND STATE NOT IN ('Cancelled','Invoiced/Closed') + AND PART_NO = CF$_SALES_PART_NO) "Open Orders (Qty)", + + (SELECT SUM(Customer_Order_Line_API.Get_Base_Sale_Price_Total(ORDER_NO, LINE_NO, REL_NO, LINE_ITEM_NO)) from CUSTOMER_ORDER_JOIN stat + where EXTRACT( YEAR FROM TO_DATE(PLANNED_DELIVERY_DATE) ) = CF$_YEAR + AND EXTRACT( MONTH FROM TO_DATE(PLANNED_DELIVERY_DATE) )= CF$_PERIOD + AND CUSTOMER_NO = CF$_CUSTOMER + AND STATE NOT IN ('Cancelled','Invoiced/Closed') + AND PART_NO = CF$_SALES_PART_NO) "Open Orders ($)" + + FROM IPL_SALES_BUDGET_CLV sbc + WHERE to_date( CF$_PERIOD ||'/' || '01' || '/' || CF$_YEAR , 'MM/DD/YYYY' ) between TO_DATE('&Valid_From', 'MM/DD/YYYY') and TO_DATE('&Valid_To', 'MM/DD/YYYY') + AND sbc.cf$_Site LIKE NVL ('&Company' , '%' ) + AND CUST_ORD_CUSTOMER_API.Get_Cust_Grp(sbc.CF$_CUSTOMER) LIKE NVL( '&CustomerStatisticsGroup' , '%') +AND sbc.CF$_CUSTOMER LIKE nvl ('&CustomerNo' , '%') +AND sbc.CF$_SALES_PART_NO LIKE NVL ('&SalesPartNo' , '%') \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Component Where Used.txt b/REPORTS/HasaliLK/Quick reports/Component Where Used.txt new file mode 100644 index 0000000..81bb9e6 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Component Where Used.txt @@ -0,0 +1,42 @@ +SELECT +MS.Contract Site +,MS.Part_No +,IP.Description "Part Descripiton" +,IP.PART_STATUS "Part Status" +,MS.Alternative_No +,MS.ENG_CHG_LEVEL +,MS.EFF_PHASE_IN_DATE +,MS.Component_Part +,IPC.Description "Component Description" +,IPC.PART_STATUS "Component Status" +,PP.STAT_GRP +,PP.CF$_PURCHASE_PART_CAT_1 "Purchase Cat1" +,PP.CF$_PURCHASE_PART_CAT_2 "Purchase Cat2" +,PP.CF$_PURCHASE_PART_CAT_3 "Purchase Cat3" +,MS.QTY_PER_ASSEMBLY +,MS.CONSUMPTION_ITEM + +FROM +MANUF_STRUCTURE MS +inner join Purchase_Part_cfv PP on MS.Component_Part=PP.Part_No and MS.Contract=PP.Contract +inner join Inventory_Part IP on MS.Part_No=IP.Part_No and MS.Contract=IP.Contract +inner join Inventory_Part IPC on MS.Component_Part=IPC.Part_No and MS.Contract=IPC.Contract + +WHERE +MS.EFF_PHASE_OUT_DATE is null +and IP.PART_STATUS in ('A','Q','D') +and MS.BOM_TYPE_DB in ('M') +and MS.CONTRACT LIKE '%&Site%' + +and Report_SYS.Parse_Parameter(MS.Component_Part , Upper('&[-C-BL]Component_Part')) = 'TRUE' + +and PP.STAT_GRP like NVL('&Purchase_Group','%') +and PP.CF$_PURCHASE_PART_CAT_1 like NVL('&Purchase_Cat1','%') +and PP.CF$_PURCHASE_PART_CAT_2 like NVL('&Purchase_Cat2','%') +and PP.CF$_PURCHASE_PART_CAT_3 like NVL('&Purchase_Cat3','%') + +Order By +MS.Contract +,PP.CF$_PURCHASE_PART_CAT_1 +,PP.CF$_PURCHASE_PART_CAT_2 +,MS.Part_No \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Customer Shipments.txt b/REPORTS/HasaliLK/Quick reports/Customer Shipments.txt new file mode 100644 index 0000000..181d902 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Customer Shipments.txt @@ -0,0 +1,26 @@ +select a.shipment_id, + a.PLANNED_SHIP_DATE, + a.PLANNED_DELIVERY_DATE, + Shipment_API.Get_Receiver_Addr_Id(a.SHIPMENT_ID) as "Address", + b.shipment_line_no, + b.SOURCE_PART_NO as "IPL Code", + Shipment_Source_Utility_API.Get_Receiver_Part_No__(a.shipment_id, + b.shipment_line_no, + b.SOURCE_REF1, + b.SOURCE_REF2, + b.SOURCE_REF3, + b.SOURCE_REF4, + b.SOURCE_REF_TYPE_DB) as "AN Code", + b.CONNECTED_SOURCE_QTY as "Qty", + round(b.CF$_NO_OF_PALLETS, 2) as "Pallets", + b.SOURCE_PART_DESCRIPTION, + b.CF$_CUSTOMER_PO_NO as "PO", + b.source_ref1 as "SO" + from shipment a + join shipment_line_CFV b + on a.shipment_id = b.shipment_id + where a.CONTRACT LIKE '%&Site%' + and a.receiver_id LIKE '%&Customer_No%' + and a.PLANNED_SHIP_DATE between to_date('&From_Date', 'DD/MM/YYYY') and + to_date('&To_Date', 'DD/MM/YYYY') + order by a.PLANNED_SHIP_DATE, a.shipment_id, b.shipment_line_no \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Customer Specific Report.txt b/REPORTS/HasaliLK/Quick reports/Customer Specific Report.txt new file mode 100644 index 0000000..6e7a333 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Customer Specific Report.txt @@ -0,0 +1,362 @@ +Select * + from (Select Customer_No, + "Customer Name", + Company, + Site, + E1.Part_No, + Label_1, + Label_2, + Description, + Status, + Cat1, + Cat2, + Decoration, + Inventory, + Incoming_Qty, + "Oldest Lot", + "Open Order", + Safety, + "SO Qty", + Qty_Not_Reserved "Qty Not Reserved", + Remaining_Issue "Rem_Issue", + PO "PO Qty", + Next_Receipt_Date "PO Next Receipt Date", + X_Ref, + "X Ref Description", + E1.Supersedes, + E1.Superseded_By, + Related_Supersedes, + Related_Superseded + from (Select D.Customer_No, + CI.Name "Customer Name", + D.Contract Site, + D.Company, + D.Part_No, + pc.Description, + Inventory_Part_Status_Par_API.Get_Description(i.part_status) Status, + D.Cat1, + Cat2.Cat2, + Deco.Decoration, + X.X_Ref, + X.CATALOG_DESC "X Ref Description", + Q.QTY Inventory, + Q.Qty - Q.Qty_Reserved Qty_Not_Reserved, + Incoming_Qty, + i.supersedes, + INVENTORY_PART_API.Get_Superseded_By(i.CONTRACT, + i.PART_NO) Superseded_By, + Q.Last_Receipt_Date "Oldest Lot", + CO.Open_Order "Open Order", + IPP.Safety_Stock Safety, + WO.QTY "SO Qty", + Remaining_Issue, + D.Label_1, + D.Label_2, + PO.PO, + PO.Next_Receipt_Date, + D.Parent, + ROW_NUMBER() over(Partition by D.Contract, D.Part_No Order By D.Cat1) as Row_Num + From (Select C.Company, + i.Contract, + i.Part_No Parent, + i.Part_No, + C6.Label_1, + C6.Label_2, + ID.Customer_No, + 'FG' as Cat1 + From Inventory_Part i + inner join COMPANY_SITE CS + on i.Contract = CS.Contract + inner join Company_Finance C + on C.Company = CS.Company + inner join (Select PART_NO, + CONTRACT, + ATTR_VALUE_ALPHA Customer_No + from INVENTORY_PART_CHAR_ALL + where CHARACTERISTIC_CODE = '00032' + and ATTR_VALUE_ALPHA = '&Customer_ID') ID + on i.Contract = ID.Contract + and i.Part_No = ID.Part_No + + left join (Select ms.Part_No, + ms.Contract, + Min(COMPONENT_PART) Label_1, + Decode(Min(COMPONENT_PART), + Max(Component_Part), + '', + Max(Component_Part)) Label_2 + From MANUF_STRUCTURE MS + inner join INVENTORY_PART_CHAR_ALL c + on ms.contract = c.contract + and ms.component_part = c.part_no + + where MANUF_STRUCT_ALTERNATE_API.Get_State(ms.contract, + ms.part_no, + ms.eng_chg_level, + ms.bom_type, + ms.alternative_no) = + 'Buildable' + and ms.ALTERNATIVE_NO = '*' + and ms.EFF_PHASE_OUT_DATE is null + and ms.BOM_TYPE_DB = 'M' + and c.CHARACTERISTIC_CODE = '00006' + and c.ATTR_VALUE_ALPHA in + ('IML', + 'PAPER INSERT', + 'HEAT TRANSFER', + 'PSL') + group by ms.Part_No, ms.Contract) C6 + on i.contract = c6.contract + and i.part_no = c6.part_no + + Where i.ENG_ATTRIBUTE in ('00008', '00010') + and i.PART_STATUS in ('A', 'D', 'Q') + + UNION + + Select A.Company, + A.Contract, + B.Part_No Parent, + B.Component_Part Part_No, + B.Component_Part Label_1, + '' as Label_2, + A.Customer_No, + 'RM' as Cat1 + from (Select C.Company, + i.Contract, + i.Part_No, + ID.Customer_No, + 'FG' as Cat1 + From Inventory_Part i + inner join COMPANY_SITE CS + on i.Contract = CS.Contract + inner join Company_Finance C + on C.Company = CS.Company + inner join (Select PART_NO, + CONTRACT, + ATTR_VALUE_ALPHA Customer_No + from INVENTORY_PART_CHAR_ALL + where CHARACTERISTIC_CODE = + '00032' + and ATTR_VALUE_ALPHA = + '&Customer_ID') ID + on i.Contract = ID.Contract + and i.Part_No = ID.Part_No + + Where i.ENG_ATTRIBUTE in ('00008', '00010') + and i.PART_STATUS in ('A', 'D', 'Q')) A + + inner join (Select Contract, Part_No, COMPONENT_PART + from MANUF_STRUCTURE M + Where M.BOM_TYPE_db = 'M' + and M.ALTERNATIVE_NO = '*' + and M.EFF_PHASE_OUT_DATE is null + and OPERATION_NO = '10' + and MANUF_STRUCT_ALTERNATE_API.Get_State(M.contract, + M.part_no, + M.eng_chg_level, + M.bom_type, + M.alternative_no) = + 'Buildable') B + on A.Company = B.Contract + and A.Part_No = B.Part_No + + inner join (Select Contract, PART_NO, ATTR_VALUE_ALPHA + from INVENTORY_PART_CHAR_ALL + where CHARACTERISTIC_CODE = '00006' + and ATTR_VALUE_ALPHA in + ('IML', + 'PAPER INSERT', + 'HEAT TRANSFER', + 'PSL')) C + on B.Contract = C.Contract + and B.Component_Part = C.Part_No + + UNION + Select ic.Contract Company, + ic.Contract, + ic.Part_No Parent, + ic.Part_No, + '' as Label_1, + '' as Label_2, + ic.ATTR_VALUE_ALPHA Customer_No, + 'XX' as Cat1 + from INVENTORY_PART_CHAR_ALL ic + inner join Inventory_Part i + on ic.Contract = i.Contract + and ic.Part_No = i.Part_No + where CHARACTERISTIC_CODE = '00032' + and ATTR_VALUE_ALPHA = '&Customer_ID' + and i.Part_Status in ('A', 'D', 'Q') + + ) D + + inner join CUSTOMER_INFO CI + on D.Customer_No = CI.Customer_ID + inner join Inventory_part i + on D.Contract = i.Contract + and D.Part_No = i.Part_No + inner join Part_Catalog pc + on D.Part_No = pc.Part_No + inner join Inventory_Part_Planning IPP + on D.Contract = IPP.Contract + and D.Part_NO = IPP.Part_No + + left join (Select Contract, + Catalog_No, + CUSTOMER_PART_NO X_Ref, + CATALOG_DESC + from SALES_PART_CROSS_REFERENCE) x + on D.Contract = X.Contract + and D.Part_No = X.Catalog_No + + left join (Select C.Part_No, + C.Contract, + sum(C.BUY_QTY_DUE - C.QTY_SHIPPED) Open_Order + From customer_order_join_cfv C + Where C.objstate in + ('Released', + 'Blocked', + 'Reserved', + 'Picked', + 'PartiallyDelivered') + and C.Customer_No not like ('W%') + Group By C.Part_No, C.Contract) CO + on D.Part_No = CO.Part_No + and D.Contract = CO.Contract + + left join (Select S.Contract, + S.Part_No, + sum(S.QTY_ONHAND) QTY, + sum(S.QTY_RESERVED) Qty_Reserved, + TO_CHAR(min(S.RECEIPT_DATE), 'yyyy-mm-dd') Last_Receipt_Date + From Inventory_part_in_stock_UIV S + inner join Inventory_Part i + on S.Contract = i.Contract + and S.Part_No = i.Part_No + Where S.QTY_ONHAND > 0 + Group by S.Contract, S.Part_No) Q + on D.Part_NO = Q.Part_NO + and D.Contract = Q.Contract + + left join (Select SOURCE_PART_NO, + CONTRACT, + sum(DISPATCH_SOURCE_QTY) Incoming_Qty + From RECEIVABLE_DISPATCH_ADV_LINE + Where STATE = 'Created' + Group by SOURCE_PART_NO, CONTRACT) r + on r.contract = d.contract + and r.SOURCE_PART_NO = d.part_no + + left join (Select Contract, + Part_No, + sum(REMAINING_NET_SUPPLY_QTY) QTY + from Shop_Ord + where State in ('Released', + 'Started', + 'Parked', + 'Reserved') + and order_code_db = 'M' + Group By Contract, Part_No) WO + on D.Contract = WO.Contract + and D.Part_No = WO.Part_No + + left join (Select Contract, + Part_No, + sum(qty_remain_to_issue) Remaining_Issue + from SHOP_MATERIAL_ALLOC_UIV + where SOSTATE in ('Released', + 'Started', + 'Parked', + 'Reserved') + and order_code_db = 'M' + Group By Contract, Part_No) SM + on D.Contract = SM.Contract + and D.Part_No = SM.Part_No + + left join (Select distinct Contract, + Part_No, + CHARACTERISTIC_TEMPLATE_API.GET_DESCRIPTION(INVENTORY_PART_API.Get_Eng_Attribute(contract, + PART_NO)) Cat2 + from INVENTORY_PART_CHAR_ALL) Cat2 + on Cat2.Contract = D.Contract + and Cat2.Part_No = D.Part_No + + left join (Select distinct Contract, + Part_No, + ATTR_VALUE_ALPHA Decoration + from INVENTORY_PART_CHAR_ALL + where CHARACTERISTIC_CODE = '00034') Deco + on Deco.Contract = D.Contract + and Deco.Part_No = D.Part_No + + left join (SELECT Contract, + part_No, + sum(CF$_REM_QTY_RECEIVE) PO, + TO_CHAR(min(PLANNED_RECEIPT_DATE), + 'yyyy-mm-dd') Next_Receipt_Date + FROM purchase_order_line_all_cfv + WHERE state in ('Released', 'Confirmed') + GROUP BY Contract, Part_No) PO + on PO.Contract = D.Contract + and PO.Part_No = D.Part_No + + ) E1 + + left join (Select Q1.*, PS2.Part_No Related_Supersedes + from (Select PS.Contract, + PS.Part_No, + PS.COMPONENT_PART, + IP.SUPERSEDES, + INVENTORY_PART_API.Get_Superseded_By(IP.CONTRACT, + IP.PART_NO) Superseded_By_Comp + From PROD_STRUCTURE PS + inner join Inventory_part_cfv IP + on PS.Contract = IP.Contract + and PS.COMPONENT_PART = IP.Part_No + Where PS.EFF_PHASE_OUT_DATE is null + and PS.BOM_TYPE_db = 'M' + and IP.CF$_PURCHASE_CAT2 in + ('RM07A - IML Label', + 'RM04P - CARDBOARD INSERT - NO COST', + 'RM07B - PSL Label')) Q1 + + inner join PROD_STRUCTURE PS2 + on Q1.Contract = PS2.Contract + and Q1.Superseded_By_Comp = PS2.Component_Part + + where PS2.EFF_PHASE_OUT_DATE is null + and PS2.BOM_TYPE_db = 'M') S1 + on E1.Part_No = S1.Part_No + and E1.Site = S1.Contract + + left join (Select Q1.*, PS2.Part_No Related_Superseded + from (Select PS.Contract, + PS.Part_No, + PS.COMPONENT_PART, + IP.SUPERSEDES, + INVENTORY_PART_API.Get_Superseded_By(IP.CONTRACT, + IP.PART_NO) Superseded_By_Comp + + from PROD_STRUCTURE PS + inner join Inventory_part_cfv IP + on PS.Contract = IP.Contract + and PS.COMPONENT_PART = IP.Part_No + + Where PS.EFF_PHASE_OUT_DATE is null + and PS.BOM_TYPE_db = 'M' + and IP.CF$_PURCHASE_CAT2 in + ('RM07A - IML Label', + 'RM04P - CARDBOARD INSERT - NO COST', + 'RM07B - PSL Label')) Q1 + inner join PROD_STRUCTURE PS2 + on Q1.Contract = PS2.Contract + and Q1.Supersedes = PS2.Component_Part + where PS2.EFF_PHASE_OUT_DATE is null + and PS2.BOM_TYPE_db = 'M') S2 + on E1.Part_No = S2.Part_No + and E1.Site = S2.Contract + + Where Row_Num = 1 + and COMPANY LIKE NVL('&COMPANY', '%') + Order By Parent, Label_1, Cat1, Site) \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Encoding - Label used 1 str.txt b/REPORTS/HasaliLK/Quick reports/Encoding - Label used 1 str.txt new file mode 100644 index 0000000..d6315b3 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Encoding - Label used 1 str.txt @@ -0,0 +1,26 @@ +Select +IP.Contract +,IP.Part_No Child +,IP.Description Child_Description +,MS2.Part_No +,P.Description Parent_Description + +,IP.TYPE_CODE +,IP.PART_STATUS +,MS.Freq + + +From Inventory_Part_cfv IP inner join INVENTORY_PART_CHAR_ALL C on IP.Part_No=C.Part_No and IP.Contract=C.Contract +inner join + +(Select Contract,COMPONENT_PART, count(COMPONENT_PART) Freq from MANUF_STRUCTURE MS where MANUF_STRUCT_ALTERNATE_API.Get_State(Ms.contract,MS.part_no,MS.eng_chg_level,MS.bom_type,MS.alternative_no)='Buildable' and MS.EFF_PHASE_OUT_DATE is null and alternative_no='*' group by Contract,Component_Part having count(COMPONENT_PART)>=2) MS on MS.COMPONENT_PART=IP.Part_No and MS.Contract=IP.Contract + +inner join MANUF_STRUCTURE MS2 on MS2.COMPONENT_PART=IP.Part_No and MS2.Contract=IP.Contract +inner join Part_Catalog P on MS2.Part_No=P.Part_No + +where C.CHARACTERISTIC_CODE='00006' and C.ATTR_VALUE_ALPHA in ('IML','PAPET INSERT','HEAT TRANSFER') +and MANUF_STRUCT_ALTERNATE_API.Get_State(Ms2.contract,MS2.part_no,MS2.eng_chg_level,MS2.bom_type,MS2.alternative_no)='Buildable' and MS2.EFF_PHASE_OUT_DATE is null and MS2.alternative_no='*' and IP.Part_No not in ('1011502','1011501') + +Order by IP.Contract +,IP.Part_No +,MS2.Part_No \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Expected Consumption - Material (date range).txt b/REPORTS/HasaliLK/Quick reports/Expected Consumption - Material (date range).txt new file mode 100644 index 0000000..bdf0ea1 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Expected Consumption - Material (date range).txt @@ -0,0 +1,81 @@ +select + Purch_Category1_Desc +,Part_NO +,Legacy +,Site +,DESCRIPTION +,Qty_required + ,Qty_Issued +, Qty_Remaining_to_Issue +, Floor_Stock +, Picking +,Qty_To_Move +,Warehouse +,Location_No +, HU +,Receipt_Date +,Location_Qty +,TTL from ( +Select to_date('&FROM','YYYY-MM-DD') AS "FROM DATE", +PP.cf$_purchase_cat1_desc Purch_Category1_Desc +,IP.Part_NO +,IP.Note_Text Legacy +,IP.Contract Site +,IP.DESCRIPTION +,sum(SMA.QTY_REQUIRED) Qty_required +,sum(SMA.QTY_ISSUED) Qty_Issued +,sum(SMA.QTY_REMAIN_TO_ISSUE) * (to_date('&TO','YYYY-MM-DD') - to_date('&FROM','YYYY-MM-DD') + 1) / decode(OP.remaining_days,0,1,OP.remaining_days) Qty_Remaining_to_Issue +,nvl(TFS.QtyOnHand,0) Floor_Stock +,nvl(TP.QtyOnHand,0) Picking +,sum(SMA.QTY_REMAIN_TO_ISSUE)- nvl(TFS.QtyOnHand,0) Qty_To_Move +,TL.Warehouse +,TL.Location_No +,TL.HANDLING_UNIT_ID HU +,TL.Receipt_Date +,TL.Location_Qty +,sum(TL.Location_Qty) over (PARTITION BY IP.Part_No ORDER BY IP.Part_NO,TL.HANDLING_UNIT_ID rows UNBOUNDED PRECEDING) TTL +From +SHOP_MATERIAL_ALLOC_uiv SMA inner join INVENTORY_PART IP on SMA.PART_NO=IP.PART_NO and SMA.CONTRACT=IP.CONTRACT left join PURCHASE_PART_cfv PP on IP.Part_No=PP.Part_No and IP.Contract=PP.Contract + + +left join (select PART_NO, CONTRACT, sum(QTY_ONHAND) QtyOnHand from Inventory_Part_in_Stock_uiv where LOCATION_TYPE_db='F' Group By Contract, PART_NO) TFS + on SMA.Part_No=TFS.PART_NO and SMA.Contract=TFS.Contract + +left join (select PART_NO, CONTRACT, sum(QTY_ONHAND) QtyOnHand from Inventory_Part_in_Stock_uiv where LOCATION_TYPE_db='PICKING' Group By Contract, PART_NO) TP + on SMA.Part_No=TP.PART_NO and SMA.Contract=TP.Contract + +left join (select PART_NO, CONTRACT, Location_No, Warehouse, RECEIPT_DATE, HANDLING_UNIT_ID, sum(QTY_ONHAND) Location_Qty from Inventory_Part_in_Stock_uiv where LOCATION_TYPE_db='PICKING' and WAREHOUSE like nvl ('&FromWarehouse','%') Group By Contract, PART_NO,Location_No, Warehouse, HANDLING_UNIT_ID, RECEIPT_DATE) TL + on TL.Part_No=SMA.PART_NO and TL.Contract=SMA.Contract + +left join (select Order_no, Release_no, Sequence_no, sum(Shop_Order_Operation_API.Get_Remaining_Mach_Hours(Order_no, Release_no, Sequence_no, Operation_no)) /24 remaining_days from SHOP_ORDER_OPERATION group by Order_no, Release_no, Sequence_no) OP + on OP.Order_No = SMA.Order_No and OP.Release_no = SMA.Release_No and OP.Sequence_no = SMA.Sequence_no +Where +IP.CONTRACT LIKE '%'||'&Contract'||'%' +and report_sys.parse_parameter(PP.cf$_purchase_part_cat_1, '&[-C-BL]PurchasedCategory') = 'TRUE' +and SMA.State not in ('Cancelled','Closed','Planned') +and trunc(SMA.DATE_REQUIRED) BETWEEN to_date('&FROM','YYYY-MM-DD') +AND to_date('&TO','YYYY-MM-DD') +Group by +IP.Part_NO +,PP.cf$_purchase_cat1_desc +,IP.Note_Text +,IP.Contract +,IP.DESCRIPTION +,TFS.QtyOnHand +,TP.QtyOnHand +,TL.Location_No +,TL.HANDLING_UNIT_ID +,TL.Warehouse +,TL.Receipt_Date +,TL.Location_Qty +,OP.remaining_days + Having +(sum(SMA.QTY_REMAIN_TO_ISSUE)- nvl(TFS.QtyOnHand,0)) >0 and TL.Location_Qty>0 +) d +where (d.TTL - d.Location_Qty) < d.Qty_To_Move + +Order by +d.Part_NO +,d.HU +,d.Receipt_Date +,d.Location_No \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Expected Consumption - Material v2.txt b/REPORTS/HasaliLK/Quick reports/Expected Consumption - Material v2.txt new file mode 100644 index 0000000..50bbd02 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Expected Consumption - Material v2.txt @@ -0,0 +1,61 @@ +Select +PP.cf$_purchase_cat1_desc Purch_Category1_Desc +,IP.Part_NO +,IP.Note_Text Legacy +,IP.Contract Site +,IP.DESCRIPTION +,sum(SMA.QTY_REQUIRED) Qty_required +,sum(SMA.QTY_ISSUED) Qty_Issued +,sum(SMA.QTY_REMAIN_TO_ISSUE) Qty_Remaining_to_Issue +,nvl(TFS.QtyOnHand,0) Floor_Stock +,nvl(TP.QtyOnHand,0) Picking +,sum(SMA.QTY_REMAIN_TO_ISSUE)- nvl(TFS.QtyOnHand,0) Qty_To_Move +,TL.Warehouse +,TL.Location_No +,TL.HANDLING_UNIT_ID HU +,TL.Receipt_Date +,TL.Location_Qty + + +From + SHOP_MATERIAL_ALLOC_uiv SMA inner join INVENTORY_PART IP on SMA.PART_NO=IP.PART_NO and SMA.CONTRACT=IP.CONTRACT left join PURCHASE_PART_cfv PP on IP.Part_No=PP.Part_No and IP.Contract=PP.Contract + + +left join (select PART_NO, CONTRACT, sum(QTY_ONHAND) QtyOnHand from Inventory_Part_in_Stock_uiv where AVAILABILITY_CONTROL_ID is null and LOCATION_TYPE_db='F' Group By Contract, PART_NO) TFS + on SMA.Part_No=TFS.PART_NO and SMA.Contract=TFS.Contract + +left join (select PART_NO, CONTRACT, sum(QTY_ONHAND) QtyOnHand from Inventory_Part_in_Stock_uiv where AVAILABILITY_CONTROL_ID is null and LOCATION_TYPE_db='PICKING' Group By Contract, PART_NO) TP + on SMA.Part_No=TP.PART_NO and SMA.Contract=TP.Contract + +left join (select PART_NO, CONTRACT, Location_No, Warehouse, RECEIPT_DATE, HANDLING_UNIT_ID, sum(QTY_ONHAND) Location_Qty from Inventory_Part_in_Stock_uiv where AVAILABILITY_CONTROL_ID is null and LOCATION_TYPE_db='PICKING' and WAREHOUSE like nvl ('&FromWarehouse','%') Group By Contract, PART_NO,Location_No, Warehouse, HANDLING_UNIT_ID, RECEIPT_DATE) TL + on TL.Part_No=SMA.PART_NO and TL.Contract=SMA.Contract + +Where +IP.CONTRACT LIKE '%&Contract%' +and report_sys.parse_parameter(PP.cf$_purchase_part_cat_1, '&[-C-BL]PurchasedCategory') = 'TRUE' +and SMA.State not in ('Cancelled','Closed','Planned') +AND trunc(SMA.DATE_REQUIRED) between TO_DATE('&DATE_FROM','YYYY-MM-DD') AND TO_DATE ('&DATE_TO','YYYY-MM-DD') + + +Group by +IP.Part_NO +,PP.cf$_purchase_cat1_desc +,IP.Note_Text +,IP.Contract +,IP.DESCRIPTION +,TFS.QtyOnHand +,TP.QtyOnHand +,TL.Location_No +,TL.HANDLING_UNIT_ID +,TL.Warehouse +,TL.Receipt_Date +,TL.Location_Qty + + +Having +(sum(SMA.QTY_REMAIN_TO_ISSUE)- nvl(TFS.QtyOnHand,0)) >0 and TL.Location_Qty>0 + +Order by +IP.Part_NO +,TL.Receipt_Date +,TL.Location_No \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Expected Consumption - Material.txt b/REPORTS/HasaliLK/Quick reports/Expected Consumption - Material.txt new file mode 100644 index 0000000..84b6061 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Expected Consumption - Material.txt @@ -0,0 +1,70 @@ +with my_cte as ( +Select +PP.cf$_purchase_cat1_desc Purch_Category1_Desc +,IP.Part_NO +,IP.Note_Text Legacy +,IP.Contract Site +,IP.DESCRIPTION +,sum(SMA.QTY_REQUIRED) Qty_required +,sum(SMA.QTY_ISSUED) Qty_Issued +,sum(SMA.QTY_REMAIN_TO_ISSUE) Qty_Remaining_to_Issue +,nvl(TFS.QtyOnHand,0) Floor_Stock +,nvl(TP.QtyOnHand,0) Picking +,sum(SMA.QTY_REMAIN_TO_ISSUE)- nvl(TFS.QtyOnHand,0) Qty_To_Move +,TL.Warehouse +,TL.Location_No +,TL.HANDLING_UNIT_ID HU +,TL.Receipt_Date +,TL.Location_Qty +,sum(TL.Location_Qty) over (PARTITION BY IP.Part_No ORDER BY IP.Part_NO,TL.HANDLING_UNIT_ID rows UNBOUNDED PRECEDING) TTL + + + +From +SHOP_MATERIAL_ALLOC_uiv SMA inner join INVENTORY_PART IP on SMA.PART_NO=IP.PART_NO and SMA.CONTRACT=IP.CONTRACT left join PURCHASE_PART_cfv PP on IP.Part_No=PP.Part_No and IP.Contract=PP.Contract + + +left join (select PART_NO, CONTRACT, sum(QTY_ONHAND) QtyOnHand from Inventory_Part_in_Stock_uiv where AVAILABILITY_CONTROL_ID is null and LOCATION_TYPE_db='F' Group By Contract, PART_NO) TFS + on SMA.Part_No=TFS.PART_NO and SMA.Contract=TFS.Contract + +left join (select PART_NO, CONTRACT, sum(QTY_ONHAND) QtyOnHand from Inventory_Part_in_Stock_uiv where AVAILABILITY_CONTROL_ID is null and LOCATION_TYPE_db='PICKING' Group By Contract, PART_NO) TP + on SMA.Part_No=TP.PART_NO and SMA.Contract=TP.Contract + +left join (select PART_NO, CONTRACT, Location_No, Warehouse, RECEIPT_DATE, HANDLING_UNIT_ID, sum(QTY_ONHAND) Location_Qty from Inventory_Part_in_Stock_uiv where AVAILABILITY_CONTROL_ID is null and LOCATION_TYPE_db='PICKING' and WAREHOUSE like nvl ('&FromWarehouse','%') Group By Contract, PART_NO,Location_No, Warehouse, HANDLING_UNIT_ID, RECEIPT_DATE) TL + on TL.Part_No=SMA.PART_NO and TL.Contract=SMA.Contract + +Where +IP.CONTRACT LIKE '%&Contract%' +and report_sys.parse_parameter(PP.cf$_purchase_part_cat_1, '&[-C-BL]PurchasedCategory') = 'TRUE' +and SMA.State not in ('Cancelled','Closed','Planned') +and trunc(SMA.DATE_REQUIRED) BETWEEN to_date( '&DATE_FROM','YYYY-MM-DD') AND to_date('&DATE_TO','YYYY-MM-DD') + + +Group by +IP.Part_NO +,PP.cf$_purchase_cat1_desc +,IP.Note_Text +,IP.Contract +,IP.DESCRIPTION +,TFS.QtyOnHand +,TP.QtyOnHand +,TL.Location_No +,TL.HANDLING_UNIT_ID +,TL.Warehouse +,TL.Receipt_Date +,TL.Location_Qty + + +Having +(sum(SMA.QTY_REMAIN_TO_ISSUE)- nvl(TFS.QtyOnHand,0)) >0 and TL.Location_Qty>0 + +) -- end my_cte + + select * from my_cte d +-- where (d.TTL - d.Location_Qty) < d.Qty_To_Move + +Order by +d.Part_NO +,d.HU +,d.Receipt_Date +,d.Location_No \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Expected Consumption By Shop Order.txt b/REPORTS/HasaliLK/Quick reports/Expected Consumption By Shop Order.txt new file mode 100644 index 0000000..43572ba --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Expected Consumption By Shop Order.txt @@ -0,0 +1,150 @@ +Select +HU1.Purch_Category1_Desc +,HU1.OP_START_DATE +,CASE WHEN lag(HU1.CF$_Lot_Batch_No,1,0) OVER (Partition BY HU1.CF$_Lot_Batch_No ORDER BY HU1.Receipt_Date)=CF$_Lot_Batch_No then '' ELSE HU1.Scheduled_Resource END "Machine" +,CASE WHEN lag(HU1.CF$_Lot_Batch_No,1,0) OVER (Partition BY HU1.CF$_Lot_Batch_No ORDER BY HU1.Receipt_Date)=CF$_Lot_Batch_No then '' ELSE HU1.Resource_Description END "Machine Description" +,CASE WHEN lag(HU1.CF$_Lot_Batch_No,1,0) OVER (Partition BY HU1.CF$_Lot_Batch_No ORDER BY HU1.Receipt_Date)=CF$_Lot_Batch_No then '' ELSE HU1.Order_No END "Order No" +,CASE WHEN lag(HU1.CF$_Lot_Batch_No,1,0) OVER (Partition BY HU1.CF$_Lot_Batch_No ORDER BY HU1.Receipt_Date)=CF$_Lot_Batch_No then '' ELSE HU1.Release_No END "Release No" +,CASE WHEN lag(HU1.CF$_Lot_Batch_No,1,0) OVER (Partition BY HU1.CF$_Lot_Batch_No ORDER BY HU1.Receipt_Date)=CF$_Lot_Batch_No then '' ELSE HU1.Sequence_No END "Sequence No" +,CASE WHEN lag(HU1.CF$_Lot_Batch_No,1,0) OVER (Partition BY HU1.CF$_Lot_Batch_No ORDER BY HU1.Receipt_Date)=CF$_Lot_Batch_No then '' ELSE HU1.Color END "Color" +,CASE WHEN lag(HU1.Part_NO,1,0) OVER (Partition BY HU1.CF$_Lot_Batch_No ORDER BY HU1.Receipt_Date)=HU1.Part_NO then '' ELSE HU1.Part_NO END "Component Part" +,CASE WHEN lag(HU1.Part_NO,1,0) OVER (Partition BY HU1.CF$_Lot_Batch_No ORDER BY HU1.Receipt_Date)=HU1.Part_NO then '' ELSE HU1.Legacy END "Legacy No" +,CASE WHEN lag(HU1.Part_NO,1,0) OVER (Partition BY HU1.CF$_Lot_Batch_No ORDER BY HU1.Receipt_Date)=HU1.Part_NO then '' ELSE HU1.DESCRIPTION END "Component Description" +,CASE WHEN lag(HU1.Part_NO,1,0) OVER (Partition BY HU1.CF$_Lot_Batch_No ORDER BY HU1.Receipt_Date)=HU1.Part_NO then '' ELSE HU1.ISSUE_TYPE END "Reserve/Issue Method" +,HU1.Picking +,HU1.Qty_To_Move +,HU1.Location_No +,HU1.HU +,HU1.Lot_Batch +,HU1.Receipt_Date +,HU1.Location_Qty +,HU1.Location_Qty_Cumul +--,HU1.Cumul_To_Move +--,HU1.QTY_REMAIN_TO_ISSUE + + +From +( +Select + F1.CF$_Lot_Batch_No + ,F1.Purch_Category1_Desc + ,F1.OP_START_DATE + ,F1.Scheduled_Resource + ,F1.Resource_Description + ,F1.Order_No + ,F1.Release_No + ,F1.Sequence_No + ,IPC.Color + ,F1.Part_NO + ,F1.Legacy + ,F1.DESCRIPTION + ,F1.ISSUE_TYPE + ,F1.Picking + ,F1.Qty_To_Move + ,F1.Location_No + ,F1.HU + ,F1.Lot_Batch + ,F1.Receipt_Date + ,F1.Location_Qty + ,F1.Location_Qty_Cumul + ,F1.Cumul_To_Move + ,F1.QTY_REMAIN_TO_ISSUE + ,ROW_NUMBER() OVER (PARTITION BY F1.HU,F1.Receipt_Date Order By F1.OP_START_DATE,F1.Part_NO,F1.Receipt_Date) CT_HU + +From + ( + +Select +Lag3.* +,lag(Lag3.Location_Qty_Cumul,1,0) OVER (Partition BY Lag3.Part_NO ORDER BY Lag3.OP_START_DATE,Lag3.Receipt_Date) PREV_LOC_CUMUL +FROM + (Select + Lag2.* + ,sum(Lag2.Location_Qty) OVER(PARTITION BY Lag2.Part_NO,Lag2.OP_START_DATE ORDER BY Lag2.OP_START_DATE,Lag2.Receipt_Date asc ROWS UNBOUNDED PRECEDING) Location_Qty_Cumul + From + (Select + Lag1.* + ,TL.Location_No + ,TL.HANDLING_UNIT_ID HU + ,TL.LOT_BATCH_NO Lot_Batch + ,TL.Receipt_Date + ,TL.Location_Qty + + From + (Select + PP.cf$_purchase_cat1_desc Purch_Category1_Desc + ,SMA.Order_No + ,SMA.Release_No + ,SMA.Sequence_No + ,SOO.CF$_Lot_Batch_No + ,SOO.PART_NO Part_No_FG + ,SOO.OP_START_DATE + ,Machine_Operation_Load_API.Get_SO_Op_Resource_Id(SOO.ORDER_NO, SOO.RELEASE_NO, SOO.SEQUENCE_NO, SOO.OPERATION_NO) Scheduled_Resource + ,WC.Description Resource_Description + ,IP.Contract + ,IP.Part_NO + ,SMA.ISSUE_TYPE + ,IP.Note_Text Legacy + ,IP.Contract Site + ,IP.DESCRIPTION + ,nvl(TP.QtyOnHand,0) Picking + ,SMA.QTY_REMAIN_TO_ISSUE- nvl(TFS.QtyOnHand,0) Qty_To_Move + ,SMA.QTY_REMAIN_TO_ISSUE + ,sum(SMA.QTY_REMAIN_TO_ISSUE) OVER(PARTITION BY IP.Part_NO ORDER BY SOO.OP_START_DATE asc ROWS UNBOUNDED PRECEDING) - nvl(TFS.QtyOnHand,0) Cumul_To_Move + + + From + SHOP_MATERIAL_ALLOC_uiv_cfv SMA + + inner join SHOP_ORDER_OPERATION_cfv SOO on SMA.Order_No=SOO.Order_No and SMA.Release_No=SOO.Release_No and SMA.Sequence_No=SOO.Sequence_No + + inner join INVENTORY_PART IP on SMA.PART_NO=IP.PART_NO and SMA.CONTRACT=IP.CONTRACT + + left join PURCHASE_PART_cfv PP on IP.Part_No=PP.Part_No and IP.Contract=PP.Contract + + left join WORK_CENTER_RESOURCE WC on WC.Contract=SOO.Contract and WC.RESOURCE_ID=Machine_Operation_Load_API.Get_SO_Op_Resource_Id(SOO.ORDER_NO, SOO.RELEASE_NO, SOO.SEQUENCE_NO, SOO.OPERATION_NO) + + left join + (select PART_NO, CONTRACT, sum(QTY_ONHAND) QtyOnHand from Inventory_Part_in_Stock_uiv where AVAILABILITY_CONTROL_ID is null and LOCATION_TYPE_db='F' and QTY_ONHAND>0 Group By Contract, PART_NO + ) TFS on SMA.Part_No=TFS.PART_NO and SMA.Contract=TFS.Contract + + left join + (select PART_NO, CONTRACT, sum(QTY_ONHAND) QtyOnHand from Inventory_Part_in_Stock_uiv where AVAILABILITY_CONTROL_ID is null and LOCATION_TYPE_db='PICKING' and QTY_ONHAND>0 Group By Contract, PART_NO + ) TP on SMA.Part_No=TP.PART_NO and SMA.Contract=TP.Contract + + + + Where + IP.CONTRACT LIKE '%&Contract%' + and report_sys.parse_parameter(PP.cf$_purchase_part_cat_1, '&[-C-BL]PurchasedCategory') = 'TRUE' + and SMA.State not in ('Cancelled','Closed','Planned') + and SMA.ISSUE_TYPE_db not in ('MANUAL') + and SMA.CF$_BACKFLUSH_PART in ('Only Floor Stock','Only Specified Location') + and SOO.OP_START_DATE<(sysdate+('&Begin_within_x_hours')/24) + and (SMA.QTY_REMAIN_TO_ISSUE- nvl(TFS.QtyOnHand,0)) >0 + -- and TL.Location_Qty>0 They d want to see shop orders for which they do not have the stock available + and SOO.Operation_No='10' + and Machine_Operation_Load_API.Get_SO_Op_Resource_Id(SOO.ORDER_NO, SOO.RELEASE_NO, SOO.SEQUENCE_NO, SOO.OPERATION_NO) LIKE NVL('%&Machine%','%') + ) Lag1 + + left join + (select PART_NO, CONTRACT, Location_No, RECEIPT_DATE, HANDLING_UNIT_ID, LOT_BATCH_NO, sum(QTY_ONHAND) Location_Qty from Inventory_Part_in_Stock_uiv where AVAILABILITY_CONTROL_ID is null and LOCATION_TYPE_db='PICKING' Group By Contract, PART_NO,Location_No, RECEIPT_DATE, HANDLING_UNIT_ID, LOT_BATCH_NO + ) TL on TL.Part_No=Lag1.PART_NO and TL.Contract=Lag1.Contract + ) Lag2 + ) Lag3 + + ) F1 + + left join + (Select Contract,Part_No, ATTR_VALUE_ALPHA Color from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00028') + ) IPC on IPC.Contract=F1.Site and IPC.Part_No=F1.Part_No_FG + +where PREV_LOC_CUMUL<=Cumul_To_Move + +) HU1 +Where CT_HU=1 -- Do not want duplicated lines having the same HU to be displayed. +Order by + HU1.OP_START_DATE + ,HU1.Part_NO + ,HU1.Receipt_Date asc + ,HU1.Location_No \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Expected Consumption Summary.txt b/REPORTS/HasaliLK/Quick reports/Expected Consumption Summary.txt new file mode 100644 index 0000000..9b66584 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Expected Consumption Summary.txt @@ -0,0 +1,48 @@ +Select PP.cf$_purchase_cat1_desc Purch_Category1_Desc, + IP.Part_NO, + IP.Note_Text Legacy, + IP.DESCRIPTION, + IP.Contract Site, + INV.Warehouse, + sum(SMA.QTY_REQUIRED) Qty_required, + nvl(INV.QtyOnHand, 0) "Qty on Hand", + nvl(INV.QtyAvailable, 0) "Qty Available" + + From SHOP_MATERIAL_ALLOC_uiv SMA + inner join INVENTORY_PART IP + on SMA.PART_NO = IP.PART_NO + and SMA.CONTRACT = IP.CONTRACT + left join PURCHASE_PART_cfv PP + on IP.Part_No = PP.Part_No + and IP.Contract = PP.Contract + + left join (select PART_NO, + CONTRACT, + Warehouse, + sum(QTY_ONHAND) QtyOnHand, + sum(QTY_ONHAND) - sum(QTY_RESERVED) QtyAvailable + from Inventory_Part_in_Stock_uiv + where AVAILABILITY_CONTROL_ID is null + Group By Contract, PART_NO, CONTRACT, Warehouse) INV + on SMA.Part_No = INV.PART_NO + and SMA.Contract = INV.Contract + + Where IP.CONTRACT LIKE '%&CONTRACT%' + and report_sys.parse_parameter(PP.cf$_purchase_part_cat_1, + '&[-C-BL]PurchasedCategory') = 'TRUE' + and SMA.State not in ('Cancelled', 'Closed', 'Planned') + and trunc(SMA.DATE_REQUIRED) between TO_DATE('&DATE_FROM', 'YYYY-MM-DD') AND + TO_DATE('&DATE_TO', 'YYYY-MM-DD') + + Group by IP.Part_NO, + PP.cf$_purchase_cat1_desc, + IP.Note_Text, + IP.Contract, + INV.Warehouse, + IP.DESCRIPTION, + INV.QtyOnHand, + INV.QtyAvailable + +Having sum(SMA.QTY_REQUIRED) > 0 + +Order by IP.Part_NO \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Expected Consumption including BOM scrap factor.txt b/REPORTS/HasaliLK/Quick reports/Expected Consumption including BOM scrap factor.txt new file mode 100644 index 0000000..3fd0ac1 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Expected Consumption including BOM scrap factor.txt @@ -0,0 +1,82 @@ +select * + from (Select PP.cf$_purchase_cat1_desc Purch_Category1_Desc, + IP.Part_NO, + IP.Note_Text Legacy, + IP.Contract Site, + IP.DESCRIPTION, + sum(SMA.QTY_REQUIRED) Qty_required, + sum(SMA.QTY_ISSUED) Qty_Issued, + sum(SMA.QTY_REMAIN_TO_ISSUE) Qty_Remaining_to_Issue, + nvl(TFS.QtyOnHand, 0) Floor_Stock, + nvl(TP.QtyOnHand, 0) Picking, + sum(SMA.QTY_REMAIN_TO_ISSUE) - nvl(TFS.QtyOnHand, 0) Qty_To_Move, + TL.Warehouse, + TL.Location_No, + TL.HANDLING_UNIT_ID HU, + TL.Receipt_Date, + TL.Location_Qty, + sum(TL.Location_Qty) over(PARTITION BY IP.Part_No ORDER BY IP.Part_NO, TL.HANDLING_UNIT_ID rows UNBOUNDED PRECEDING) TTL + From SHOP_MATERIAL_ALLOC_uiv SMA + inner join INVENTORY_PART IP + on SMA.PART_NO = IP.PART_NO + and SMA.CONTRACT = IP.CONTRACT + left join PURCHASE_PART_cfv PP + on IP.Part_No = PP.Part_No + and IP.Contract = PP.Contract + left join (select PART_NO, CONTRACT, sum(QTY_ONHAND) QtyOnHand + from Inventory_Part_in_Stock_uiv + where AVAILABILITY_CONTROL_ID is null + and LOCATION_TYPE_db = 'F' + Group By Contract, PART_NO) TFS + on SMA.Part_No = TFS.PART_NO + and SMA.Contract = TFS.Contract + left join (select PART_NO, CONTRACT, sum(QTY_ONHAND) QtyOnHand + from Inventory_Part_in_Stock_uiv + where AVAILABILITY_CONTROL_ID is null + and LOCATION_TYPE_db = 'PICKING' + Group By Contract, PART_NO) TP + on SMA.Part_No = TP.PART_NO + and SMA.Contract = TP.Contract + left join (select PART_NO, + CONTRACT, + Location_No, + Warehouse, + RECEIPT_DATE, + HANDLING_UNIT_ID, + sum(QTY_ONHAND) Location_Qty + from Inventory_Part_in_Stock_uiv + where AVAILABILITY_CONTROL_ID is null + and LOCATION_TYPE_db = 'PICKING' + and WAREHOUSE like nvl('&FromWarehouse', '%') + Group By Contract, + PART_NO, + Location_No, + Warehouse, + HANDLING_UNIT_ID, + RECEIPT_DATE) TL + on TL.Part_No = SMA.PART_NO + and TL.Contract = SMA.Contract + Where IP.CONTRACT LIKE + '%' || '&CONTRACT' || '%' + and report_sys.parse_parameter(PP.cf$_purchase_part_cat_1, + '&[-C-BL]PurchasedCategory') = + 'TRUE' + and SMA.State not in ('Cancelled', 'Closed', 'Planned') + and trunc(SMA.DATE_REQUIRED) between + to_date('&FROM', 'YYYY-MM-DD') and + to_date('&TO', 'YYYY-MM-DD') + Group by IP.Part_NO, + PP.cf$_purchase_cat1_desc, + IP.Note_Text, + IP.Contract, + IP.DESCRIPTION, + TFS.QtyOnHand, + TP.QtyOnHand, + TL.Location_No, + TL.HANDLING_UNIT_ID, + TL.Warehouse, + TL.Receipt_Date, + TL.Location_Qty + Having(sum(SMA.QTY_REMAIN_TO_ISSUE) - nvl(TFS.QtyOnHand, 0)) > 0 and TL.Location_Qty > 0) d + where (d.TTL - d.Location_Qty) < d.Qty_To_Move + Order by d.Part_NO, d.HU, d.Receipt_Date, d.Location_No \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/IPL Project Cost.txt b/REPORTS/HasaliLK/Quick reports/IPL Project Cost.txt new file mode 100644 index 0000000..d13ff5b --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/IPL Project Cost.txt @@ -0,0 +1,212 @@ +SELECT prj.Company, + ifsapp.CURRENCY_CODE_API.Get_Currency_Code(prj.COMPANY) AS "Project Currency", + prj.Site, + prj.Project_id, + prj.Name AS "Project Name", + --prj.customer_id, + prj.Date_created AS "Project Date Created", + prj.Program_id, + prj.Category1_id AS "Project Category1", + prj.State AS "Project Status", + act.Activity_seq, + pco.proj_lu_name, + pco.control_category, + CASE + WHEN pol.ORDER_NO IS NOT NULL THEN + pol.ORDER_NO + WHEN invl.PO_REF_Number IS NOT NULL THEN + invl.PO_REF_Number + ELSE + NULL + END AS "Purchase Order", + pol.Line_no AS "Purchase Line", + wo.Wo_no AS "Work Order", + pco.used AS "Project Used", + pco.Actual AS "Project Actual", + pol.state AS State_Purchase, + poi.Receipt_no Purchase_Receipt_No, + poi.qty_invoiced * poi.unit_price_paid AS purchase_invoice_amount, + glq.CURRENCY_CREDIT_AMOUNT AS "GL Currency Credit Amount", + glq.CURRENCY_DEBET_AMOUNT AS "GL Currency Debit Amount", + CASE + WHEN inv.invoice_id IS NOT NULL THEN + inv.Invoice_id + WHEN ptr1.invoice_id IS NOT NULL THEN + ptr1.invoice_id + WHEN invl.invoice_id IS NOT NULL AND + glq.CURRENCY_CREDIT_AMOUNT IS NULL THEN + invl.invoice_id + ELSE + NULL + END AS "Invoice Id", + CASE + WHEN inv.Identity IS NOT NULL THEN + inv.Identity + WHEN invl.Identity IS NOT NULL AND + glq.CURRENCY_CREDIT_AMOUNT IS NULL THEN + invl.Identity + ELSE + NULL + END AS "Supplier Id", + CASE + WHEN inv.IDENTITY IS NOT NULL THEN + ifsapp.Supplier_Info_API.Get_Name(inv.IDENTITY) + WHEN invl.IDENTITY IS NOT NULL THEN + ifsapp.Supplier_Info_API.Get_Name(invl.IDENTITY) + ELSE + NULL + END AS "Supplier Name", + CASE + WHEN inv.Currency IS NOT NULL THEN + inv.CURRENCY + WHEN invl.Currency IS NOT NULL AND + glq.CURRENCY_CREDIT_AMOUNT IS NULL THEN + invl.CURRENCY + ELSE + NULL + END AS "Invoice Currency", + CASE + WHEN inv.STATE IS NOT NULL THEN + inv.STATE + WHEN invl.STATE IS NOT NULL AND glq.CURRENCY_CREDIT_AMOUNT IS NULL THEN + invl.STATE + ELSE + NULL + END AS "Invoice Status", + + CASE + WHEN pay.DUE_DATE IS NOT NULL THEN + TO_CHAR(pay.DUE_DATE, 'YYYY-MM-DD') + WHEN payg.DUE_DATE IS NOT NULL AND + glq.CURRENCY_CREDIT_AMOUNT IS NULL then + TO_CHAR(payg.DUE_DATE, 'YYYY-MM-DD') + ELSE + NULL + END AS "Payment Due Date", + CASE + WHEN pay.Payment_date IS NOT NULL THEN + TO_CHAR(pay.Payment_date, 'YYYY-MM-DD') + WHEN payg.Payment_date IS NOT NULL AND + glq.CURRENCY_CREDIT_AMOUNT IS NULL THEN + TO_CHAR(payg.Payment_date, 'YYYY-MM-DD') + ELSE + NULL + END AS "Payment Date", + CASE + WHEN pay.STATE IS NOT NULL THEN + pay.STATE + WHEN payg.STATE IS NOT NULL AND glq.CURRENCY_CREDIT_AMOUNT IS NULL THEN + payg.STATE + ELSE + NULL + END AS "Payment Status", + ptr1.Emp_no AS "Employe Id", + + CASE + WHEN inv.voucher_No_ref IS NOT NULL THEN + to_char(inv.voucher_No_ref) + WHEN invl.voucher_No_ref IS NOT NULL THEN + to_char(invl.voucher_No_ref) + ELSE + pco.KeyRef4 + END AS "Voucher No", + + CASE + WHEN inv.voucher_date_ref IS NOT NULL THEN + inv.voucher_date_ref + WHEN invl.voucher_date_ref IS NOT NULL THEN + invl.voucher_date_ref + ELSE + glq.Voucher_date + END AS "Voucher date", + CASE + WHEN inv.accounting_year_ref IS NOT NULL THEN + inv.accounting_year_ref + WHEN invl.accounting_year_ref IS NOT NULL THEN + invl.accounting_year_ref + ELSE + glq.Accounting_year + END AS "Accounting Year", + + CASE + WHEN inv.Accounting_period_ref IS NOT NULL THEN + inv.Accounting_period_ref + WHEN invl.Accounting_period_ref IS NOT NULL THEN + invl.Accounting_period_ref + ELSE + glq.Accounting_period + END AS "Accounting Period1", + + pco.keyRef2 AS "Voucher type", + vot.Description AS "Voucher Description", + + glq.Accounting_period AS "Accounting Period", + + pco.KeyRef1 +--pco.KeyRef2, +--pco.KeyRef3, +--pco.KeyRef4, +--pco.KeyRef5 + FROM ifsapp.project prj + LEFT JOIN ifsapp.sub_project spr + ON spr.project_id = prj.project_id + LEFT JOIN ifsapp.Activity act + ON act.project_id = spr.project_id + AND act.sub_project_id = spr.sub_project_id + LEFT JOIN ifsapp.PROJECT_CONNECTIONS_OVERVIEW pco + ON pco.project_id = act.project_id + AND pco.Activity_seq = act.ACTIVITY_SEQ + AND pco.activity_no = act.activity_no + LEFT JOIN ifsapp.purchase_order_line_all pol + ON pol.ORDER_NO = pco.keyref1 + AND pol.Line_no = pco.keyref2 + AND pol.Release_no = pco.keyref3 + AND pol.company = prj.company + LEFT JOIN ifsapp.PURCHASE_ORDER_INVOICE poi + ON poi.order_no = pol.order_no + AND poi.line_no = pol.line_no + AND poi.Release_no = pol.Release_no + LEFT JOIN ifsapp.invoice inv + ON inv.Invoice_id = poi.INVOICE_ID + AND inv.company = poi.INVOICE_COMPANY + AND inv.PARTY_TYPE_DB = 'SUPPLIER' + LEFT JOIN ifsapp.GEN_LED_VOUCHER_ROW_UNION_QRY glq + ON to_char(glq.voucher_no) = pco.keyref4 + AND glq.voucher_type = pco.KEYREF2 + AND to_Char(glq.ACCOUNTING_YEAR) = pco.keyref3 + AND glq.company = pco.keyref1 + AND glq.row_no = pco.KEYREF5 + LEFT JOIN ifsapp.Voucher_type vot + ON vot.Company = glq.Company + AND vot.Voucher_type = glq.Voucher_type + LEFT JOIN ifsapp.invoice invl + ON invl.voucher_no_ref = glq.VOUCHER_NO + AND invl.VOUCHER_TYPE_REF = glq.VOUCHER_TYPE + AND invl.Accounting_year_ref = glq.ACCOUNTING_YEAR + AND invl.ACCOUNTING_PERIOD_REF = glq.ACCOUNTING_PERIOD + AND invl.company = glq.COMPANY + AND invl.PARTY_TYPE_DB = 'SUPPLIER' + LEFT JOIN ifsapp.payment_plan payg + ON payg.company = invl.COMPANY + AND payg.INVOICE_ID = invl.INVOICE_ID + AND payg."IDENTITY" = invl."IDENTITY" + AND payg.PARTY_TYPE_DB = 'SUPPLIER' + LEFT JOIN ifsapp.payment_plan pay + ON pay.company = inv.COMPANY + AND pay.INVOICE_ID = inv.INVOICE_ID + AND pay."IDENTITY" = inv."IDENTITY" + AND pay.PARTY_TYPE_DB = 'SUPPLIER' + + LEFT JOIN ifsapp.work_order wo + ON TO_CHAR(wo.wo_no) = pco.keyref1 + AND wo.project_no = pco.project_id + AND wo.activity_seq = pco.activity_seq + LEFT JOIN ifsapp.project_transaction ptr1 + ON to_char(ptr1.ACCOUNT_DATE, 'YYYYMMDD') = to_char(pco.keyref3) + AND ptr1.project_id = pco.PROJECT_ID + AND ptr1.activity_seq = pco.activity_seq + AND pco.proj_lu_name = 'PT' + + WHERE prj.Company = '&Company' --'&[MC--L]Company' + AND prj.Project_id = '&Project_id' +/* AND (pco.used IS NOT NULL OR pco.Actual IS NOT NULL) */ \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Inventory_By_Part_Purchased_Parts_Only.txt b/REPORTS/HasaliLK/Quick reports/Inventory_By_Part_Purchased_Parts_Only.txt new file mode 100644 index 0000000..7346c78 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Inventory_By_Part_Purchased_Parts_Only.txt @@ -0,0 +1,142 @@ +Select * from ( +SELECT distinct + CS.Company + ,S.Contract Site + ,S.Part_No + ,i.Description + ,i.Part_Status Status + ,TO_CHAR(S.Unit_Cost,'99,990.0000000') Unit_Cost + ,i.UNIT_MEAS "UM" + ,C.Currency_Code Curr + ,TO_CHAR(S.QTY_ONHAND,'999,999,990.00') "Qty OnHand" + ,TO_CHAR(S.QTY_ONHAND*S.UNIT_COST,'99,999,999,990.00') "Qty OnHand$" + ,d.Incoming_Dispatch "Incoming Dispatch Qty" + ,TO_CHAR(CO.Qty_to_Deliver,'9,999,990') "Open CO Qty" + ,TO_CHAR(CO.Qty_to_Deliver*S.UNIT_COST,'9,999,990.00') "Open CO (Cost)" + ,TO_CHAR(ipp.Safety_Stock,'99,999,990') "Safety Stock" + ,TO_CHAR(ipp.Safety_Stock*S.UNIT_COST,'99,999,999,990.00') "Safety Stock$" + ,TO_CHAR(TP.TPSS,'99,999,990') "TPSS" + ,TO_CHAR(TP.TPSS*S.UNIT_COST,'99,999,999,990.00') "TPSS$" + ,TO_CHAR(S.ACI_QTY,'99,999,999,990.00') "ACI Qty" + ,TO_CHAR(S.QTY_RESERVED,'99,999,999,990.00') "Qty Reserved" + ,TO_CHAR(S.Available_Qty,'99,999,999,990.00') "Available Qty" + ,TO_CHAR(HU.HU_Capacity,'999,999') "Qty per HU" + ,TO_CHAR(S.QTY_ONHAND/HU.HU_Capacity,'999,999,990.00') "Pallet count" + ,i.ACCOUNTING_GROUP + ,i.PART_PRODUCT_FAMILY + ,Inventory_Product_Family_API.Get_Description(i.PART_PRODUCT_FAMILY) "Product Family" + ,i.PART_PRODUCT_CODE + ,Inventory_Product_Code_API.Get_Description(i.PART_PRODUCT_CODE) "Product Code" + ,C150.Commodity + ,i.TYPE_DESIGNATION + ,C28.Color || ' (' || C79.Pantone || ') ' "Pantone color" + ,C13.Mold_Ref || '-' || C149.Assy_Ref "Mold and Assy 2D_Ref" + ,C159.PS_Config || ' ' || C158.Orientation "Sketch config/orientation" + ,C34.Deco Decoration + ,W.Where_Used + ,TO_CHAR(ipp.Min_ORDER_QTY,'99,999,999') Min_Lot_Size + ,TO_CHAR(ipp.Max_ORDER_QTY,'99,999,999') Max_Lot_Size + ,TO_CHAR(ipp.MUL_ORDER_QTY,'99,999,999') Mult_Lot_Size + ,C32.Customer_No "Customer" + ,CI.Name "Customer Name" + ,i.Planner_Buyer Planner + ,p.BUYER_CODE Buyer + ,p.CF$_PURCHASE_PART_CAT_1 PPC1 + ,p.CF$_PURCHASE_CAT1_DESC PURCHASE_CAT1 + ,p.CF$_PURCHASE_PART_CAT_2 PPC2 + ,p.CF$_PURCHASE_CAT2_DESC PURCHASE_CAT2 + ,p.CF$_PURCHASE_PART_CAT_3 PPC3 + ,p.CF$_PURCHASE_CAT3_DESC PURCHASE_CAT3 + ,i.C_Resin_Type Resin + ,TO_CHAR(i.C_RESIN_WEIGHT,'9,990.99990') "Part Weight" + ,i.CF$_SOURCING_OPTION "Sourcing Option" + ,i.note_text "Note Text" + ,NI.DocText "Inventory Note" + ,i.SUPERSEDES + ,TO_CHAR(i.CREATE_DATE,'yyyy-mm-dd') "Creation date" + ,TO_CHAR(S.LAST_ACTIVITY_DATE_Min,'yyyy-mm-dd hh:mi') "Last Activity date min" + ,TO_CHAR(S.LAST_ACTIVITY_DATE_Max,'yyyy-mm-dd hh:mi') "Last Activity date max" + ,TO_CHAR(S.RECEIPT_DATE_Min,'yyyy-mm-dd hh:mi') "Receipt date min" + ,TO_CHAR(S.RECEIPT_DATE_Max,'yyyy-mm-dd hh:mi') "Receipt date max" + ,TO_CHAR(AGE.Days_Old,'9,990') "Days Old" + ,case when AGE.Days_Old <90 then '[0M-3M]' + when AGE.Days_Old >=90 and AGE.Days_Old <180 then '[3M-6M]' + when AGE.Days_Old >=180 and AGE.Days_Old <270 then '[6M-9M]' + when AGE.Days_Old >=270 and AGE.Days_Old <360 then '[9M-12M]' + when AGE.Days_Old >=360 and AGE.Days_Old <450 then '[12M-15M]' + when AGE.Days_Old >=450 and AGE.Days_Old <540 then '[15M-18M]' + when AGE.Days_Old >=540 and AGE.Days_Old <630 then '[18M-21M]' + when AGE.Days_Old >=630 and AGE.Days_Old <720 then '[21M-24M]' + when AGE.Days_Old >=720 then '[+24M]' + end "AGE CLASS" + ,sysdate as TimeStamp + +FROM + (Select S.Contract, S.Part_No,S.UNIT_COST + ,sum(S.QTY_ONHAND) QTY_ONHAND + ,sum(S.QTY_RESERVED) QTY_RESERVED + ,sum(S.QTY_IN_TRANSIT) QTY_IN_TRANSIT + ,sum(S.QTY_ONHAND - S.QTY_RESERVED) Available_Qty + ,SUM(CASE WHEN s.AVAILABILITY_CONTROL_ID is not null THEN S.QTY_ONHAND ELSE 0 END) ACI_QTY + ,min(S.LAST_ACTIVITY_DATE) LAST_ACTIVITY_DATE_Min + ,max(S.LAST_ACTIVITY_DATE) LAST_ACTIVITY_DATE_Max + ,min(S.RECEIPT_DATE) RECEIPT_DATE_Min + ,max(S.RECEIPT_DATE) RECEIPT_DATE_Max + From Inventory_part_in_stock_UIV S + Where S.QTY_ONHAND>0 + Group by S.Contract, S.Part_No,S.UNIT_COST) S + + inner join COMPANY_SITE CS on S.Contract=CS.Contract + + inner join Company_Finance C on C.Company=CS.Company + + inner join inventory_part_cfv i on S.Contract = i.Contract and S.Part_No = i.Part_No + + + left join (Select contract,Part_no,BUYER_CODE,CF$_PURCHASE_PART_CAT_1,CF$_PURCHASE_PART_CAT_2,CF$_PURCHASE_PART_CAT_3,CF$_PURCHASE_CAT1_DESC,CF$_PURCHASE_CAT2_DESC,CF$_PURCHASE_CAT3_DESC + from purchase_part_cfv) p on p.contract=i.contract and p.part_no=i.part_no + + + inner join Inventory_Part_Planning ipp on S.Contract = ipp.Contract and S.Part_No = ipp.Part_No + + left join (Select Part_No,max(max_quantity_capacity) HU_Capacity from Part_Handling_unit where handling_unit_type_id in ('STACK','PALLET') group by Part_No) HU on HU.Part_No = S.Part_No + + left join (Select dt.Note_Text DocText,i.Part_No from document_text dt inner join inventory_part i on i.Note_ID=dt.Note_ID where dt.output_type='INVENTORY' ) NI on NI.Part_No=S.Part_No + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Customer_No from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE='00032') C32 + on S.Part_No=C32.PART_NO and S.Contract=C32.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Deco from INVENTORY_PART_CHAR_ALL where (CHARACTERISTIC_CODE='00034' and INVENTORY_PART_API.Get_Eng_Attribute(contract,PART_NO) in ('00008','00010')) or (CHARACTERISTIC_CODE='00063' and INVENTORY_PART_API.Get_Eng_Attribute(contract,PART_NO) ='00006') ) C34 + on S.Part_No=C34.PART_NO and S.Contract=C34.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Pantone from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00079')) C79 + on S.Part_No=C79.PART_NO and S.Contract=C79.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Color from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00028')) C28 + on S.Part_No=C28.PART_NO and S.Contract=C28.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Mold_Ref from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00013')) C13 + on S.Part_No=C13.PART_NO and S.Contract=C13.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Assy_Ref from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00149')) C149 + on S.Part_No=C149.PART_NO and S.Contract=C149.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Commodity from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00150')) C150 + on S.Part_No=C150.PART_NO and S.Contract=C150.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Orientation from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00158')) C158 + on S.Part_No=C158.PART_NO and S.Contract=C158.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA PS_Config from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00159')) C159 + on S.Part_No=C159.PART_NO and S.Contract=C159.Contract + left join CUSTOMER_INFO CI on C32.Customer_No=CI.Customer_ID + + + + left join (Select C.Part_No,C.Contract,sum(C.BUY_QTY_DUE - C.QTY_SHIPPED) Qty_to_Deliver From customer_order_join_cfv C Where C.objstate in ('Released','Blocked','Reserved','Picked','PartiallyDelivered') Group By C.Part_No, C.Contract) CO on S.Part_No=CO.Part_No and S.Contract=CO.Contract + left join (Select U.Contract,U.COMPONENT_PART,count(U.COMPONENT_PART) Where_Used + From MANUF_STRUCTURE U Where MANUF_STRUCT_ALTERNATE_API.Get_State(U.contract,U.part_no,U.eng_chg_level,U.bom_type,U.alternative_no)='Buildable' and U.EFF_PHASE_OUT_DATE is null and U.Parent_part_Status in ('A','D') and U.BOM_TYPE_DB='M' Group by U.Contract,U.COMPONENT_PART) W on W.Contract=S.Contract and W.Component_Part=S.Part_No + + inner join (Select Contract,Part_no, sum((sysdate-RECEIPT_DATE)*QTY_ONHAND) / nullif(sum(QTY_ONHAND),0) Days_Old +From INVENTORY_PART_IN_STOCK_UIV Group by Contract,Part_No) AGE on s.Part_No=AGE.Part_No and S.Contract = AGE.Contract + + left join (Select Part_No, Contract, BUILD_UP_QTY TPSS from STRATEGIC_SAFE_STOCK_PART where sysdate BETWEEN FROM_DATE and TO_DATE) TP on S.Contract = TP.Contract and S.Part_No=TP.Part_No + + left join (Select d.Contract,d.SENDER_PART_NO,sum(d.DISPATCH_SOURCE_QTY) Incoming_Dispatch From RECEIVABLE_DISPATCH_ADV_LINE d Where d.State='Created' Group by d.Contract, d.Sender_Part_No) d on S.Contract=d.Contract and S.Part_No=d.SENDER_PART_NO + + +WHERE i.PART_PRODUCT_FAMILY not in ('F0000','F0001','F0100') and CS.Company like nvl ('&Company' , '%' ) and S.CONTRACT LIKE '%&Site%' and S.Part_No like nvl ('&Part_NO','%') and i.PART_PRODUCT_FAMILY like nvl ('&Product_Family','%') and i.ACCOUNTING_GROUP like nvl ('&Accounting_Group','%') and s.part_no not in ('1087188') +) F + +where (F.PPC1 like nvl('&PURCHASE_CAT1','%') and F.PPC2 like nvl('&PURCHASE_CAT2','%') and F.PPC3 like nvl('&PURCHASE_CAT3','%')) \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Non Consecutive HU on Shop Order.txt b/REPORTS/HasaliLK/Quick reports/Non Consecutive HU on Shop Order.txt new file mode 100644 index 0000000..7204cac --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Non Consecutive HU on Shop Order.txt @@ -0,0 +1,62 @@ +Select * + from (Select SO.Contract, + SO.Part_No, + Inventory_Part_API.Get_Description(SO.Contract, SO.Part_No) Description, + SOO.RESOURCE_ID, + SO.Order_No, + SO.Release_No, + SO.Sequence_No, + lag(HU.HANDLING_UNIT_ID, 1, 0) over(Partition By SO.Order_No, SO.Release_No, SO.Sequence_No, SO.Part_No Order By SO.Order_No, SO.Release_No, SO.Sequence_No, SO.Part_No, HU.HANDLING_UNIT_ID) Previous_HU, + HU.HANDLING_UNIT_ID Next_HU + + , + HU.HANDLING_UNIT_ID - CASE + WHEN lag(HU.HANDLING_UNIT_ID, 1, 0) + over(Partition By SO.Order_No, + SO.Release_No, + SO.Sequence_No, + SO.Part_No Order By SO.Order_No, + SO.Release_No, + SO.Sequence_No, + SO.Part_No, + HU.HANDLING_UNIT_ID) = 0 then + HU.HANDLING_UNIT_ID + else + lag(HU.HANDLING_UNIT_ID, 1, 0) + over(Partition By SO.Order_No, + SO.Release_No, + SO.Sequence_No, + SO.Part_No Order By SO.Order_No, + SO.Release_No, + SO.Sequence_No, + SO.Part_No, + HU.HANDLING_UNIT_ID) + end Seq_Gap + + From Shop_Ord SO + inner join HANDLING_UNIT_EXTENDED HU + on SO.Order_No = HU.SOURCE_REF1 + and SO.Release_No = HU.SOURCE_REF2 + and SO.Sequence_No = HU.SOURCE_REF3 + inner join SHOP_ORDER_OPERATION SOO + on SOO.Order_No = SO.Order_No + and SOO.Sequence_No = SO.Sequence_No + and SOO.Release_No = SO.Release_No + + Where SO.Contract LIKE '%&Contract%' + and SO.State in ('Started') + and SOO.Operation_No = '10' + + Order By SOO.RESOURCE_ID, + SO.Order_No, + SO.Release_No, + SO.Sequence_No, + HU.HANDLING_UNIT_ID) SQ1 + + Where Seq_Gap > 1 + Order By Contract, + RESOURCE_ID, + Order_No, + Release_No, + Sequence_No, + Previous_HU \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Open Orders Report NA_SIOP.txt b/REPORTS/HasaliLK/Quick reports/Open Orders Report NA_SIOP.txt new file mode 100644 index 0000000..50dd3a4 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Open Orders Report NA_SIOP.txt @@ -0,0 +1,36 @@ +select A.contract as "Site", A.order_no as "Order", A.line_no as "Line No", A.Rel_no as "Rel No", A.line_item_no as "Line Item No", A.SUPPLY_CODE as "Supply Code", A.VENDOR_NO as "Supplier", +A.customer_no as "Customer", A.customer_name as "Customer Name", + +A.catalog_no as "Part", A.catalog_desc as "Part Description", + +B.PART_PRODUCT_FAMILY as "Product family code", +Inventory_Product_Family_API.Get_Description(B.PART_PRODUCT_FAMILY) as "Product Family Description", +B.PART_PRODUCT_CODE as "Product code", +Inventory_Product_Code_API.Get_Description(B.PART_PRODUCT_CODE) as "Product Code Description", +B.TYPE_DESIGNATION as "Type Designation", + +CUSTOMER_ORDER_API.GET_CUSTOMER_PO_NO(A.ORDER_NO) as "Customer PO No", A.order_state as "Order Status", A.state as "Status", + +TRUNC(A.WANTED_DELIVERY_DATE) as "Wanted Delivery Date", + +TRUNC((A.DELIVERY_LEADTIME + sysdate) - 1) - TRUNC(A.PROMISED_DELIVERY_DATE) as "Days Late", + +A.buy_qty_due as "Sales Qty", + +Customer_Order_Line_API.Get_Base_Sale_Price_Total(A.ORDER_NO, A.LINE_NO, A.REL_NO, A.LINE_ITEM_NO) as "Value (curr)", + +A.Currency_code as "Currency", + +PERSON_INFO_API.Get_Name(CRM_CUST_INFO_API.Get_Main_Representative_Id(A.customer_no)) as "Main Rep", + +SALES_DISTRICT_API.get_description(A.DISTRICT_CODE) as "Sales District" + +from customer_order_join_cfv A +inner join inventory_part B on A.catalog_no=B.part_no and A.contract=B.contract + +Where (A.objstate = 'Released' or A.objstate = 'Blocked' or A.objstate = 'Reserved' or A.objstate = 'Picked' or A.objstate = 'PartiallyDelivered') + + AND A.CONTRACT LIKE '%&Site%' + AND CF$_COORDINATOR LIKE '%&AuthorizeCode%' + +ORDER BY A.contract, A.promised_delivery_date \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Parts, Skids shipped per day (Dollar value).txt b/REPORTS/HasaliLK/Quick reports/Parts, Skids shipped per day (Dollar value).txt new file mode 100644 index 0000000..26194a1 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Parts, Skids shipped per day (Dollar value).txt @@ -0,0 +1,31 @@ +SELECT DATE_CREATED, + Site, + Parts as Count_of_Parts, + Quantity as Quantity_Shipped, + (NVL((SELECT COUNT(DISTINCT HANDLING_UNIT_ID) + FROM INVENTORY_TRANSACTION_HIST2 i + WHERE TRANSACTION_CODE = 'OESHIP' + AND HANDLING_UNIT_ID > 0 + AND (TRUNC(DATE_CREATED) = A.DATE_CREATED) + AND CONTRACT = A.site + AND Handling_Unit_API.Get_Top_Parent_Handl_Unit_Id(HANDLING_UNIT_ID) IS NULL + group by TRUNC(DATE_CREATED), contract), + 0) + (NVL(Parent_Skids, 0))) Skids, + + ifsapp.Ipl_Label_Util_API.Get_Value_Ship_Per_Day(DATE_CREATED, site) as Value, + Count_of_Orders as No_of_Customer_Orders_Shipped + FROM (select TRUNC(DATE_CREATED) DATE_CREATED, + contract as Site, + COUNT(DISTINCT PART_NO) as Parts, + COUNT(DISTINCT + Handling_Unit_API.Get_Top_Parent_Handl_Unit_Id(HANDLING_UNIT_ID)) as Parent_Skids, + COUNT(DISTINCT SOURCE_REF1) as Count_of_Orders, + SUM(QUANTITY) as Quantity + FROM INVENTORY_TRANSACTION_HIST2 i + WHERE TRANSACTION_CODE = 'OESHIP' + AND HANDLING_UNIT_ID > 0 + AND (TRUNC(DATE_CREATED) >= TO_DATE('&Valid_From', 'MM/DD/YYYY') AND + TRUNC(DATE_CREATED) <= TO_DATE('&Valid_To', 'MM/DD/YYYY')) + AND CONTRACT LIKE '%&CONTRACT%' + group by TRUNC(DATE_CREATED), contract + ORDER BY DATE_CREATED, CONTRACT) A \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Planning Bill Analysis.txt b/REPORTS/HasaliLK/Quick reports/Planning Bill Analysis.txt new file mode 100644 index 0000000..779b565 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Planning Bill Analysis.txt @@ -0,0 +1,170 @@ +Select +PB.COMPANY +,PB.CONTRACT +,C150.ATTR_VALUE_ALPHA "Part Commodity" +,C034.ATTR_VALUE_ALPHA "Part Decoration" +,IP.TYPE_DESIGNATION "Type Designation" +,PB.CATALOG_NO +,PB.CATALOG_DESC "Part Description" +,PB.REAL_SHIP_DATE +,PB.ORDER_NO +,PB.LINE_NO +,PB.REL_NO +,PB.CUSTOMER_NO +,PB.NAME "Customer Name" +,PB.Qty +,C150L.ATTR_VALUE_ALPHA "Level Part Commodity" +,C034L.ATTR_VALUE_ALPHA "Level Part Decoration" +,"Level" +,IP2.TYPE_DESIGNATION "Level Part Type Designation" +,PB.Level_Part_No +,IP2.Description "Level Part Description" +,PB.Qty_Extended "Qty Extended" + + + From +( +Select +CS.COMPANY +,CO.CONTRACT +,CO.CATALOG_NO +,CO.CATALOG_DESC +,CO.REAL_SHIP_DATE +,CO.ORDER_NO +,CO.LINE_NO +,CO.REL_NO +,CO.CUSTOMER_NO +,CU.NAME +,DECODE(CO.CATALOG_TYPE_DB, 'INV', CO.QTY_SHIPPED, NULL) Qty +,CO.CATALOG_NO Level_Part_No +,DECODE(CO.CATALOG_TYPE_DB, 'INV', CO.QTY_SHIPPED, NULL) Qty_Extended +,0 as "Level" + +From CUSTOMER_ORDER_LINE CO + inner join COMPANY_SITE CS on CS.CONTRACT=CO.CONTRACT and CO.STATE in ('Delivered','Partially Delivered','Invoiced/Closed') + inner join CUSTOMER_INFO CU on CU.CUSTOMER_ID=CO.CUSTOMER_NO + +Where CS.COMPANY in '&Company' and CO.Contract like nvl ('&Contract','%') and CATALOG_NO like trim(nvl ('&Part_No','%')) and trunc(CO.REAL_SHIP_DATE) BETWEEN TO_DATE('&DATE_FROM','YYYY-MM-DD') AND TO_DATE ('&DATE_TO','YYYY-MM-DD') +and length(CO.CUSTOMER_NO)>5 + + +UNION + + + +Select +CS.COMPANY +,CO.CONTRACT +,CO.CATALOG_NO +,CO.CATALOG_DESC +,CO.REAL_SHIP_DATE +,CO.ORDER_NO +,CO.LINE_NO +,CO.REL_NO +,CO.CUSTOMER_NO +,CU.NAME +,DECODE(CO.CATALOG_TYPE_DB, 'INV', CO.QTY_SHIPPED, NULL) Qty +,ML.Component_Part Level_Part_No +,DECODE(CO.CATALOG_TYPE_DB, 'INV', CO.QTY_SHIPPED, NULL)*ML.Qty_Per_Extended Qty_Extended +,Level_ as "Level" + +From CUSTOMER_ORDER_LINE CO + inner join COMPANY_SITE CS on CS.CONTRACT=CO.CONTRACT and CO.STATE in ('Delivered','Partially Delivered','Invoiced/Closed') + inner join CUSTOMER_INFO CU on CU.CUSTOMER_ID=CO.CUSTOMER_NO + inner join + ( + Select + RC.contract + ,RC.Root_Part_No + ,IP.Description "Description_Root_Part_No" + ,RC.Level_ + ,RC.PART_NO + ,substr(RC.Chemin,2,100) Structure_Path + ,RC.Component_Part + ,RC.QTY_PER_ASSEMBLY + ,RC.Qty_Per_Extended + + from ifsapp.Inventory_Part IP + inner join + + ( + Select + MS.Contract + ,CONNECT_BY_ROOT MS.PART_NO Root_Part_No + ,LEVEL Level_ + ,MS.PART_NO + ,MS.COMPONENT_PART + ,SYS_CONNECT_BY_PATH(MS.PART_NO, '_') Chemin + ,MS.QTY_PER_ASSEMBLY + ,XMLQUERY ( ('1' || SYS_CONNECT_BY_PATH (MS.QTY_PER_ASSEMBLY, '*')) + RETURNING CONTENT + ).getnumberval () AS Qty_Per_Extended + ,A.Alternative_No + + + from + ifsapp.MANUF_STRUCTURE_cfv MS + inner join ifsapp.MANUF_STRUCT_ALTERNATE A + on MS.Contract=A.Contract + and MS.PART_NO=A.PART_NO and MS.ALTERNATIVE_NO=A.ALTERNATIVE_NO + and MS.ENG_CHG_LEVEL=A.ENG_CHG_LEVEL and MS.BOM_TYPE=A.BOM_TYPE + and A.STATE='Buildable' + inner join ifsapp.INVENTORY_PART IP on IP.Contract=MS.Contract and IP.Part_No=MS.Component_Part + inner join ifsapp.INVENTORY_PART_PLANNING IPP on IPP.Contract=MS.Contract and IPP.Part_No=MS.Component_Part + + + where MS.BOM_TYPE_DB='M' + and EFF_PHASE_OUT_DATE is null + and MS.Contract like nvl ('&Contract','%') + and CONNECT_BY_ROOT MS.PART_NO like nvl ('&Part_No','%') + and MS.ALTERNATIVE_NO ='*' + and IP.TYPE_CODE_DB in ('1','2') + and IP.PART_STATUS = 'A' + and IP.ACCOUNTING_GROUP in ('MFG','COMP') + and IPP.PLANNING_METHOD in ('A','G') + and MS.COMPONENT_PART not in ('1006628','1054478') + + + CONNECT BY + PRIOR MS.COMPONENT_PART=MS.PART_NO + and PRIOR MS.component_contract = MS.contract + and PRIOR MS.ALTERNATIVE_NO=MS.ALTERNATIVE_NO + and PRIOR A.STATE=A.STATE + ) + RC on IP.Contract=RC.Contract and IP.PART_NO=RC.Root_Part_No + + + where IP.TYPE_CODE_DB in ('1','2') and IP.PART_STATUS = 'A' and IP.ACCOUNTING_GROUP in ('MFG','COMP') + ) ML on ML.Contract=CO.Contract and ML.Root_Part_No=CO.Catalog_No + + +Where CS.COMPANY in '&Company' and CO.Contract like nvl ('&Contract','%') and CATALOG_NO like trim(nvl ('&Part_No','%')) and trunc(CO.REAL_SHIP_DATE) BETWEEN TO_DATE('&DATE_FROM','YYYY-MM-DD') AND TO_DATE ('&DATE_TO','YYYY-MM-DD') +and length(CO.CUSTOMER_NO)>5 + + +) PB + +inner join INVENTORY_PART IP on IP.Contract=PB.Contract and IP.Part_No=PB.CATALOG_No +inner join INVENTORY_PART IP2 on IP2.Contract=PB.Contract and IP2.Part_No=PB.Level_Part_No + + +OUTER APPLY (SELECT ATTR_VALUE_ALPHA FROM ifsapp.INVENTORY_PART_CHAR_ALL IPC WHERE CHARACTERISTIC_CODE='00150' and IPC.Part_No= PB.CATALOG_No AND IPC.CONTRACT=PB.CONTRACT) C150 + +OUTER APPLY (SELECT ATTR_VALUE_ALPHA FROM ifsapp.INVENTORY_PART_CHAR_ALL IPC WHERE CHARACTERISTIC_CODE='00150' and IPC.Part_No= PB.Level_Part_No AND IPC.CONTRACT=PB.CONTRACT) C150L + +OUTER APPLY (SELECT ATTR_VALUE_ALPHA FROM ifsapp.INVENTORY_PART_CHAR_ALL IPC WHERE CHARACTERISTIC_CODE='00034' and IPC.Part_No= PB.CATALOG_No AND IPC.CONTRACT=PB.CONTRACT) C034 + +OUTER APPLY (SELECT ATTR_VALUE_ALPHA FROM ifsapp.INVENTORY_PART_CHAR_ALL IPC WHERE CHARACTERISTIC_CODE='00034' and IPC.Part_No= PB.Level_Part_No AND IPC.CONTRACT=PB.CONTRACT) C034L + +Where +PB.Level_Part_No || '-' || "Level" not in ('1005100-2','1005100-3','1005100-4') + + +Order BY +Contract +,REAL_SHIP_DATE +,CUSTOMER_NO +,ORDER_NO +,LINE_NO +,REL_NO +,"Level" \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Production Changeover.txt b/REPORTS/HasaliLK/Quick reports/Production Changeover.txt new file mode 100644 index 0000000..cc5fb93 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Production Changeover.txt @@ -0,0 +1,150 @@ +SELECT * from ( + +SELECT + SOO.Contract "Site" + ,SOO.DEPARTMENT_NO "Department" + ,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END "Scheduled Resource" + ,SOO2.Resource_ID + ,SOO2.PREFERRED_RESOURCE_ID + ,SOO.CF$_MOLD "Mold" + + + ,SOO.OP_START_DATE "Start Date" + ,SOO.OP_FINISH_DATE "End Date" + ,SOO.ORDER_NO "Order No" + ,SOO.RELEASE_NO "Release No" + ,SOO.SEQUENCE_NO "Sequence No" + ,SOO.CF$_LOT_BATCH_NO "Lot Batch" + ,SOO.PART_NO "Part No" + ,IP.Description + + ,SOO.CF$_COLOR "Color" + ,SOO.CF$_PANTONE "Pantone" + ,SOO.CF$_PCKG_SKETCH "Pckg Sketch" + ,SOO.CF$_DECORATION "Decoration" + ,SOO.CF$_PLATE_NO "Plate No" + ,SOO.CF$_ASSY_CONFIG "Assy Config" + + ,SOO.CF$_INSERT_CONFIG "Insert Config" + ,LastUtil.ATTR_VALUE_ALPHA "Last Insert Config" + ,LastUtil.Part_No "Last Tool Usage Part" + ,LastUtil.Description "Last Tool Usage Part Description" + + ,CASE when SOO.CF$_MOLD <> LAG(SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Mold Change" + ,CASE when SOO.CF$_MOLD <> LAG(SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_MOLD else '' end "Mold Change details" + + + ,CASE when SOO.CF$_COLOR <> LAG(SOO.CF$_COLOR,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Color Change" + ,CASE when SOO.CF$_COLOR <> LAG(SOO.CF$_COLOR,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (SOO.CF$_COLOR,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_COLOR else '' end "Color change details" + + + ,CASE when SOO.CF$_PANTONE <> LAG(SOO.CF$_PANTONE,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Pantone Change" + ,CASE when SOO.CF$_PANTONE <> LAG(SOO.CF$_PANTONE,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (SOO.CF$_PANTONE,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_PANTONE else '' end "Pantone change details" + + + ,CASE when CF$_PCKG_SKETCH <> LAG(CF$_PCKG_SKETCH,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Pckg Sketch Change" + ,CASE when CF$_PCKG_SKETCH <> LAG(CF$_PCKG_SKETCH,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (CF$_PCKG_SKETCH,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_PCKG_SKETCH else '' end "Pckg Sketch change details" + + + ,CASE when SOO.CF$_DECORATION <> LAG(SOO.CF$_DECORATION,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Decoration Change" + ,CASE when SOO.CF$_DECORATION <> LAG(SOO.CF$_DECORATION,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (SOO.CF$_DECORATION,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_DECORATION else '' end "Decoration change details" + + + ,CASE when SOO.CF$_INSERT_CONFIG <> LAG(SOO.CF$_INSERT_CONFIG,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Insert Change" + ,CASE when SOO.CF$_INSERT_CONFIG <> LAG(SOO.CF$_INSERT_CONFIG,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (SOO.CF$_INSERT_CONFIG,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_INSERT_CONFIG else '' end "Insert change details" + + + ,CASE when SOO.CF$_ASSY_CONFIG <> LAG(SOO.CF$_ASSY_CONFIG,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Assy Config Change" + ,CASE when SOO.CF$_ASSY_CONFIG <> LAG(SOO.CF$_ASSY_CONFIG,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (SOO.CF$_ASSY_CONFIG,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_ASSY_CONFIG else '' end "Assy Config change details" + + ,SOO.NEED_DATE "Need Date" + ,SOOM.Remaining_mfg_hours "Rem Hrs" + ,SOOM.Remaining_qty_to_report "Rem Qty" + ,SOO.CF$_CARTON_REMAINING "Rem Carton" + + ,CASE + WHEN SOO.CF$_MOLD <> LAG(SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) + and SOO.MACH_SETUP_TIME=0 + then 'Mold change Machine SetUp time should not be 0' + + WHEN SOO.CF$_MOLD = LAG(SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) + and SOO.MACH_SETUP_TIME<>0 + and SOO.CF$_COLOR = LAG(SOO.CF$_COLOR,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) + then 'No Machine or Color change. SetUp time should be 0' + + WHEN SOO.CF$_MOLD = LAG(SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) + and SOO.MACH_SETUP_TIME=0 + and SOO.CF$_COLOR <> LAG(SOO.CF$_COLOR,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) + then 'Color change Machine SetUp time should not be 0' + + WHEN SOO.CF$_MOLD = LAG(SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) + and SOO.MACH_SETUP_TIME>'&Color_Chg_Std_Duration' + and SOO.CF$_COLOR <> LAG(SOO.CF$_COLOR,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) + then 'Color change SetUp time higher than standard' + + else '' end "SetUp Validation" + + ,SOO.MACH_SETUP_TIME "SetUp" + ,SOO.LABOR_SETUP_TIME "Labor SetUp" + + + ,SOO.STATE "SO Status" + ,SOO.OPER_STATUS_CODE "Oper Status" + ,SOO.ROUTING_ALTERNATIVE "Alternative" + ,SOO.CF$_COMMODITY "Commodity" + ,SOO.MACH_RUN_FACTOR "PPH" + ,SOO.CREW_SIZE "Crew Size" + ,CF$_BAFFLE Baffle + ,CF$_WHEEL Wheel + ,SOO.BOM_TYPE "Shop Order Type" +,sysdate "Report execution" + +FROM + SHOP_ORDER_OPERATION_JOIN_cfv SOO + inner join Inventory_Part IP on SOO.Contract=IP.Contract and SOO.Part_No=IP.Part_No + inner join SHOP_ORDER_OPERATION SOO2 on SOO.Order_No=SOO2.Order_No and SOO.Release_No=SOO2.Release_No and SOO.Sequence_No=SOO2.Sequence_No and SOO.Operation_No=SOO2.Operation_No + left join Shop_Order_Operation_mvb SOOM on SOO.Order_No=SOOM.Order_No and SOO.Release_No=SOOM.Release_No and SOO.Sequence_No=SOOM.Sequence_No and SOO.Operation_No=SOOM.Operation_No + left join + (Select + LTU.Tool_ID + ,LTU.Contract + ,LTU.Part_No + ,IP.Description + ,C.ATTR_VALUE_ALPHA +from + (Select + LC.TOOL_ID + ,LC.Contract + ,LC.Part_No + FROM + (Select T.Tool_ID,T.Contract,T.PART_NO,T.Order_No,T.Release_No,T.Sequence_No, row_number() over (partition By Tool_ID order by REPORTED_TIME desc) RN from SHOP_ORD_OPER_TOOL_USAGE T) LC + WHERE RN=1) LTU + inner join Inventory_Part_Char_All C on C.Contract=LTU.Contract and C.Part_No=LTU.Part_No and C.CHARACTERISTIC_CODE='00013' + inner join Inventory_Part IP on IP.Contract=LTU.Contract and IP.Part_No=LTU.Part_No + ) LastUtil on LastUtil.Contract=SOO.Contract and LastUtil.Tool_ID=SOO.CF$_MOLD + +WHERE + SOO.Operation_No='10' + and SOO.STATE in ('Planned','Released','Reserved','Started','Parked') + and SOO.OPER_STATUS_CODE in ('Planned','Released','Partially Reported','Setup Started','Reserved','Setup Completed','Parked','In Process') + and SOOM.remaining_qty_to_report>0 + + and SOO.CONTRACT LIKE '%&Site%' + and SOO.DEPARTMENT_NO like nvl ('&Department' , '%' ) + and CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END like nvl( '&Scheduled_Resource','%') + + +Order By + SOO.DEPARTMENT_NO + ,CASE WHEN SOO2.Resource_ID is not null then SOO2.Resource_ID else SOO2.PREFERRED_RESOURCE_ID end + ,SOO.OP_START_DATE + ) + +WHERE + "Mold Change" like NVL('&Mold_Changeover','%') + or "Color Change" like NVL('&Color_Changeover','%') + or "Pantone Change" like NVL('&Pantone_Changeover','%') + or "Pckg Sketch Change" like NVL('&Pckg_Sketch_Changeover','%') + or "Decoration Change" like NVL('&Decoration_Changeover','%') + or "Insert Change" like NVL('&Insert_Changeover','%') + or "Assy Config Change" like NVL('&Assy_Config_Changeover','%') \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Production Schedule CSR View.txt b/REPORTS/HasaliLK/Quick reports/Production Schedule CSR View.txt new file mode 100644 index 0000000..4263be0 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Production Schedule CSR View.txt @@ -0,0 +1,64 @@ +select a.contract as Site, + a.order_no, + a.RELEASE_NO, + a.SEQUENCE_NO, + a.state as Status, + a.demand_code, + a.part_no, + Inventory_Part_API.Get_Description(a.Contract, a.Part_No) as Part_Description, + e.attr_value_alpha as Colour, + a.revised_start_date as Start_Date, + a.revised_due_date as End_Date, + Shop_Ord_Util_API.Order_Is_Tardy(a.ORDER_NO, + a.RELEASE_NO, + a.SEQUENCE_NO) as Tardy, + a.revised_qty_due as Order_Lot_Size, + a.qty_complete, + a.QTY_ON_ORDER as Pegged_Qty, + INVENTORY_PART_API.Get_Unit_Meas(a.Contract, a.PART_NO) as UoM, + c.OPERATION_NO, + c.OPERATION_DESCRIPTION, + c.WORK_CENTER_NO, + WORK_CENTER_API.Get_Description(c.contract, c.WORK_CENTER_NO) as Work_Centre_Description, + c.RESOURCE_ID, + d.TOOL_ID, + MANUF_TOOL_API.Get_Tool_Description(d.contract, d.TOOL_ID) as Tool_Description, + a.customer_no, + CUSTOMER_INFO_API.Get_Name(a.customer_no) as Customer_Name, + a.customer_order_no, + a.customer_line_no as Customer_Order_Line, + a.customer_rel_no as Customer_Order_Del_No, + b.BUY_QTY_DUE as Sales_Qty, + CUSTOMER_ORDER_API.Get_Customer_Po_No(a.customer_order_no) as Customer_PO, + b.authorize_code as Coordinator_ID, + ORDER_COORDINATOR_API.Get_Name(b.AUTHORIZE_CODE) as Coordinator_Name, + CUSTOMER_ORDER_API.Get_District_Code(a.customer_order_no) as District, + SALES_DISTRICT_API.Get_Description(CUSTOMER_ORDER_API.Get_District_Code(a.customer_order_no)) as District_Name, + a.SERIAL_BEGIN, + a.SERIAL_END, + Customer_Order_Line_Cfp.Get_Cf$_Max_Cap_Per_Pallet(a.part_no) as Qty_per_Pallet + + from IFSAPP.shop_ord a + left outer join CUSTOMER_ORDER_JOIN b + on a.customer_order_no = b.order_no + and a.customer_line_no = b.line_no + and a.customer_rel_no = b.rel_no + join SHOP_ORDER_OPERATION c + on a.order_no = c.order_no + and a.release_no = c.release_no + and a.sequence_no = c.sequence_no + left outer join SHOP_ORDER_OPER_TOOL d + on a.order_no = d.order_no + and a.release_no = d.release_no + and a.sequence_no = d.sequence_no + left outer join SALES_PART_CHARACTERISTIC e + on a.part_no = e.catalog_no + and a.contract = e.contract + + where a.objstate <> 'Closed' + and a.objstate <> 'Cancelled' + and (e.characteristic_code = '00028' or e.characteristic_code = '00005' or + e.characteristic_code = '00025') + and a.CONTRACT LIKE '%&Site%' + + order by a.contract, c.RESOURCE_ID, a.revised_start_date diff --git a/REPORTS/HasaliLK/Quick reports/Project Balance Report.txt b/REPORTS/HasaliLK/Quick reports/Project Balance Report.txt new file mode 100644 index 0000000..ce72005 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Project Balance Report.txt @@ -0,0 +1,33 @@ +SELECT C.COMPANY||SUBSTR( '&[-C--L]Company',1,0) "COMPANY", + C.PROJECT_GROUP "PROJECT GROUP" , + B.PROJECT_ID "PROJECT ID" , + ifsapp.ACCOUNT_API.Get_Logical_Account_Type_Db( b.company, b.account) accnt_type, + B.ACCOUNT "ACCOUNT" , + C.PROJECT_STATUS , + to_char(MAX( C.READY_DATE) ,'YYYY-MM-DD') "COMPLETION DATE", + D.PROJECT_TYPE "PROJECT TYPE" , + C.PROJECT_LEADER "PROJECT LEADER" , + SUM( amount_balance) "total_amount" , + SUM( DECODE( SIGN( TO_NUMBER(B.ACCOUNTING_YEAR||DECODE(SIGN(10-B.ACCOUNTING_PERIOD),1,'0'||B.ACCOUNTING_PERIOD,B.ACCOUNTING_PERIOD)) - TO_NUMBER('&[M-S--]Until_year'||DECODE(SIGN(10-'&[M-S--]From_period'),1,'0'|| '&[M-S--]From_period','&[M-S--]From_period'))),-1,0,1,b.amount_balance,0,b.amount_balance)) + DECODE('&[M-S--]until_period',1,0,0) amount_balance, + + SUM( DECODE( SIGN( TO_NUMBER(B.ACCOUNTING_YEAR||DECODE(SIGN(10-B.ACCOUNTING_PERIOD),1,'0'||B.ACCOUNTING_PERIOD,B.ACCOUNTING_PERIOD)) - TO_NUMBER('&[M-S--]Until_year'||'01')),-1,0,1,b.amount_balance,0,b.amount_balance)) until_amount_balance, + SUM( DECODE(B.BUDGET_VERSION, '&Budget_version',B.BUDGET_AMOUNT,0)) total_budget_amount, + SUM( DECODE( SIGN( TO_NUMBER(B.ACCOUNTING_YEAR||DECODE(SIGN(10-B.ACCOUNTING_PERIOD),1,'0'||B.ACCOUNTING_PERIOD,B.ACCOUNTING_PERIOD)) - TO_NUMBER( '&[M-S--]Until_year'||DECODE(SIGN(10-'&[M-S--]From_period'),1,'0'||'&[M-S--]From_period','&[M-S--]From_period'))),-1,0,1,DECODE(B.BUDGET_VERSION, '&Budget_version',B.BUDGET_AMOUNT, 0),0,DECODE(B.BUDGET_VERSION, '&Budget_version',B.BUDGET_AMOUNT, 0))) budget_amount, + SUM( DECODE( SIGN( TO_NUMBER(B.ACCOUNTING_YEAR||DECODE(SIGN(10-B.ACCOUNTING_PERIOD),1,'0'||B.ACCOUNTING_PERIOD,B.ACCOUNTING_PERIOD)) - TO_NUMBER('&[M-S--]Until_year'||'01')),-1,0,0,DECODE(B.BUDGET_VERSION, '&Budget_version', B.BUDGET_AMOUNT),1,DECODE(B.BUDGET_VERSION, '&Budget_version',B.BUDGET_AMOUNT))) until_budget_amount + FROM ifsapp.PROJECT_BALANCE_BUDGET B + inner join ifsapp.ACCOUNTING_PROJECT C on B.PROJECT_ID= C.PROJECT_ID and B.COMPANY = C.COMPANY + inner join ifsapp.ACCOUNTING_PROJECT_LEDGER D on C.PROJECT_ID= D.PROJECT_ID and C.COMPANY = D.COMPANY + + WHERE + ( C.COMPANY LIKE NVL( '&[-C--L]Company' ,'%') OR C.Company in (SELECT REGEXP_SUBSTR(d__.str, '[^;]+', 1, LEVEL) AS val_ FROM (SELECT '&[-C--L]Company' AS str FROM DUAL) d__ CONNECT BY LEVEL <= REGEXP_COUNT(d__.str, ';') + 1) ) + AND D.ledger_id IN ('*', '00') +AND B.ACTIVATE_CODE = 'COST/REV' + AND D.project_type != 'P' AND Account_API.Get_Logical_Account_Type_Db(b.company , b.account) IN ('R','C') +AND (TO_NUMBER(B.ACCOUNTING_YEAR||DECODE(SIGN(10-B.ACCOUNTING_PERIOD),1,'0'||B.ACCOUNTING_PERIOD,B.ACCOUNTING_PERIOD)) <= TO_NUMBER('&[M-S--]Until_year'||DECODE(SIGN(10-'&[M-S--]until_period'),1,'0'||'&[M-S--]until_period','&[M-S--]until_period'))) +AND ('&Project_status' = '%' OR C.PROJECT_STATUS LIKE NVL( '&Project_status','%' ) OR C.PROJECT_STATUS IS NULL) + + + GROUP BY C.COMPANY,C.PROJECT_GROUP, B.PROJECT_ID, + ifsapp.ACCOUNT_API.Get_Logical_Account_Type_Db( b.company, b.account), + B.ACCOUNT, D.PROJECT_TYPE, C.PROJECT_LEADER, C.PROJECT_STATUS + ORDER BY C.COMPANY,C.PROJECT_GROUP, B.PROJECT_ID, accnt_type DESC, B.ACCOUNT ASC \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Contract and Call-off.txt b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Contract and Call-off.txt new file mode 100644 index 0000000..bdf8f98 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Contract and Call-off.txt @@ -0,0 +1,54 @@ +SELECT + +CO.Contract "Site" + +,CO.Customer_no "Customer No" + +,Cust_Ord_Customer_API.Get_Name(CO.CUSTOMER_NO) "Customer Name" + +,CO.Order_no "BO" + +,CO.CUSTOMER_PO_NO "BO PO Number" + +,COL.DESIRED_QTY "BO Desired_Qty" + +,COL.BUY_QTY_DUE "BO Sales_Qty" + +,H.NO "CO" + +,COL2.DESIRED_QTY "CO Desired_Qty" + +,COL2.BUY_QTY_DUE "CO Sales_Qty" + +,COL2.CF$_REMAINING "CO Remaining_Qty" + +,DECODE(COL2.CATALOG_TYPE_DB, 'INV', COL2.QTY_SHIPPED, NULL) "CO Delivered_Qty" + +,C2.CUSTOMER_PO_NO "NO PO Number" + +,COL.part_no "Sales Part No" + +,COL.CUSTOMER_PART_NO "Cust Part No" + +,C2.state "CO Status" + +,C2.WANTED_DELIVERY_DATE "Wanted date" + +,COL2.REAL_SHIP_DATE"Actual Ship Date" + + +FROM customer_order_cfv CO + +INNER JOIN customer_order_line COL ON CO.order_no = COL.order_no + +inner JOIN (Select Order_No NO, SUBSTR(Message_Text, 19, 10) BO From Customer_Order_History where SUBSTR(Message_Text, 1, 17)='Copied from order') H on H.BO=CO.Order_No + +inner join customer_order_cfv C2 on C2.Order_No=H.NO + +INNER JOIN customer_order_line_cfv COL2 ON H.NO = COL2.order_no + +Where CO.Order_id IN ('BO') and C2.state not in ('Cancelled') +and CO.Contract='&Site' +and CO.CUSTOMER_PO_NO LIKE NVL('&Contract_No','%') +and COL2.STATE not in ('Cancelled') +and COL.STATE not in ('Cancelled') \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Handling Unit - Serial Number validation.txt b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Handling Unit - Serial Number validation.txt new file mode 100644 index 0000000..d5f4b1e --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Handling Unit - Serial Number validation.txt @@ -0,0 +1,35 @@ +Select distinct M.Handling_Unit_ID HU, M.LOT_BATCH_NO, M.Contract,M.Part_NO, M.Description, case when V1.OnHand is null then '' else V1.OnHand || ' vs ' || MaxCap end OnHand_vs_HU_Capacity, case when V2.Contract_Prefix is null then '' else 'More than 1 prefix' end Prefix,case when Contract_Length is null then '' else 'More than 1 serial length' end Serial_Length from +( +Select S.Contract,S.Part_No,P.Description, S.Handling_Unit_ID, S.LOT_BATCH_NO +From INVENTORY_PART_IN_STOCK_UIV S inner join PART_CATALOG P on S.Part_NO=P.Part_No inner join PART_HANDLING_UNIT H on H.Part_No=P.Part_No +Where P.RECEIPT_ISSUE_SERIAL_TRACK_DB='TRUE' and H.HANDLING_UNIT_TYPE_ID in ('STACK','PALLET') and S.QTY_ONHAND=1 ) M + +left join +(Select Q1.Contract Contract_Partial,Q1.Part_No,Q1.Handling_Unit_ID HU, sum(Q1.Qty_OnHand) OnHand, Q1.MAX_QUANTITY_CAPACITY MaxCap +from (Select * From INVENTORY_PART_IN_STOCK_UIV S inner join PART_CATALOG P on S.Part_NO=P.Part_No inner join PART_HANDLING_UNIT H on H.Part_No=P.Part_No +Where P.RECEIPT_ISSUE_SERIAL_TRACK_DB='TRUE' and H.HANDLING_UNIT_TYPE_ID in ('STACK','PALLET')) Q1 +group by Q1.Contract,Q1.Part_No,Q1.Handling_Unit_ID,Q1.MAX_QUANTITY_CAPACITY +Having Q1.MAX_QUANTITY_CAPACITY-sum(Q1.Qty_OnHand)<>0) V1 +on M.Contract=V1.Contract_partial and M.Part_No=V1.Part_No and M.Handling_Unit_ID=V1.HU + +left join +(Select Q1.Contract_Prefix,Q1.Part_NO, Q1.HU, count(Q1.Prefix) Prefix_Count,Q1.LOT_BATCH_NO +from ( +Select distinct S.Contract Contract_Prefix,S.Part_No,S.Handling_Unit_ID HU,substr(S.SERIAL_NO,1,&Prefix_Lenght) Prefix, S.LOT_BATCH_NO +From INVENTORY_PART_IN_STOCK_UIV S inner join PART_CATALOG P on S.Part_NO=P.Part_No inner join PART_HANDLING_UNIT H on H.Part_No=P.Part_No +Where P.RECEIPT_ISSUE_SERIAL_TRACK_DB='TRUE' and H.HANDLING_UNIT_TYPE_ID in ('STACK','PALLET')) Q1 +Group By Q1.Contract_Prefix,Q1.Part_NO, Q1.HU, Q1.LOT_BATCH_NO +Having count(Q1.Prefix)>1) V2 +on M.Contract=V2.Contract_prefix and M.Part_No=V2.Part_No and M.Handling_Unit_ID=V2.HU + +left join +(Select Q1.Contract_Length,Q1.Part_NO, Q1.HU, Count(Q1.Serial_Length) Serial_Different_Length, Q1.LOT_BATCH_NO +from ( +Select distinct S.Contract Contract_length,S.Part_No,S.Handling_Unit_ID HU,length(S.SERIAL_NO) Serial_Length, S.LOT_BATCH_NO + +From INVENTORY_PART_IN_STOCK_UIV S inner join PART_CATALOG P on S.Part_NO=P.Part_No inner join PART_HANDLING_UNIT H on H.Part_No=P.Part_No +Where P.RECEIPT_ISSUE_SERIAL_TRACK_DB='TRUE' and H.HANDLING_UNIT_TYPE_ID in ('STACK','PALLET') ) Q1 +Group By Q1.Contract_Length,Q1.Part_NO, Q1.HU, Q1.LOT_BATCH_NO +Having Count(Q1.Serial_Length)>1) V3 on M.Contract=V3.Contract_length and M.Part_No=V3.Part_No and M.Handling_Unit_ID=V3.HU + +where (M.Handling_Unit_ID='&HU' or M.LOT_BATCH_NO='&Lot_Batch_No') and (V1.Contract_Partial is not null or V2.Contract_Prefix is not null or Contract_Length is not null) \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Removed from Cloud/IPL - Posting Proposal AP.txt b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/IPL - Posting Proposal AP.txt new file mode 100644 index 0000000..705e6a9 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/IPL - Posting Proposal AP.txt @@ -0,0 +1,38 @@ +SELECT + ppca.code_a Account, + acct.description Account_Desc, + ppca.code_b, + ppca.code_c, + ppca.code_d, + ppca.code_e, + ppca.code_f, + ppca.code_g, + ppca.code_h, + ppca.code_i, + ppca.code_j, + ppca.company, + ppca.curr_amount, + ppca.curr_code, + ppca.curr_rate, + ppca.dom_amount, + ppca.invoice_id, + ppca.line_authorized, + ppca.line_no, + ppca.voucher_company, + ppca.voucher_type_ref + +FROM + IFSAPP.posting_proposal_cost_auth ppca + +LEFT OUTER JOIN + (SELECT + account, + description + + FROM + IFSAPP.ACCOUNT + ) acct ON ppca.code_a = acct.account + +WHERE + Voucher_Company='&Site' + AND VOUCHER_TYPE_REF IS NULL \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Inventory_By_Part_1000.txt b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Inventory_By_Part_1000.txt new file mode 100644 index 0000000..b5f7ee7 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Inventory_By_Part_1000.txt @@ -0,0 +1,153 @@ +SELECT distinct + site_api.get_company( CS.Contract) as Company + ,S.Contract Site + ,S.Part_No + ,i.Description + ,i.Part_Status Status + ,TO_CHAR(S.Unit_Cost,'99,990.0000000') Unit_Cost + ,i.UNIT_MEAS "UM" + ,C.Currency_Code Curr + ,TO_CHAR(S.QTY_ONHAND,'999,999,990.00') "Qty OnHand" + ,TO_CHAR(S.QTY_ONHAND*S.UNIT_COST,'99,999,999,990.00') "Qty OnHand$" + ,d.Incoming_Dispatch "Incoming Dispatch Qty" + ,TO_CHAR(CO.Qty_to_Deliver,'999,999,990') "Open CO Qty" + ,TO_CHAR(CO.Qty_to_Deliver*S.UNIT_COST,'999,999,990.00') "Open CO ($)" + ,TO_CHAR(COC.Qty_to_Deliver,'999,999,990') "Current Month Open CO Qty" + ,TO_CHAR(COC.Qty_to_Deliver*S.UNIT_COST,'99,999,990') "Current Month Open CO Qty ($)" + ,TO_CHAR(COW.Qty_to_Deliver,'99,999,990') "Transfer Qty" + ,TO_CHAR(ipp.Safety_Stock,'99,999,990') "Safety Stock" + ,TO_CHAR(ipp.Safety_Stock*S.UNIT_COST,'99,999,999,990.00') "Safety Stock$" + ,TO_CHAR(TP.TPSS,'99,999,990') "TPSS" + ,TO_CHAR(TP.TPSS*S.UNIT_COST,'99,999,999,990.00') "TPSS$" + ,TO_CHAR(S.ACI_QTY,'99,999,999,990.00') "ACI Qty" + ,TO_CHAR(S.QTY_RESERVED,'99,999,999,990.00') "Qty Reserved" + ,TO_CHAR(S.Available_Qty,'99,999,999,990.00') "Available Qty" + ,TO_CHAR(HU.HU_Capacity,'999,999') "Qty per HU" + ,TO_CHAR(S.QTY_ONHAND/HU.HU_Capacity,'999,999,990.00') "Pallet count" + ,i.ACCOUNTING_GROUP + ,i.PART_PRODUCT_FAMILY + ,Inventory_Product_Family_API.Get_Description(i.PART_PRODUCT_FAMILY) "Product Family" + ,i.PART_PRODUCT_CODE + ,Inventory_Product_Code_API.Get_Description(i.PART_PRODUCT_CODE) "Product Code" + ,C150.Commodity + ,i.TYPE_DESIGNATION + ,C28.Color || ' (' || C79.Pantone || ') ' "Pantone color" + ,C13.Mold_Ref || '-' || C149.Assy_Ref "Mold and Assy 2D_Ref" + ,C159.PS_Config || ' ' || C158.Orientation "Sketch config/orientation" + ,C34.Deco Decoration + ,W.Where_Used + ,TO_CHAR(ipp.Min_ORDER_QTY,'99,999,999') Min_Lot_Size + ,TO_CHAR(ipp.Max_ORDER_QTY,'99,999,999') Max_Lot_Size + ,TO_CHAR(ipp.MUL_ORDER_QTY,'99,999,999') Mult_Lot_Size + ,C32.Customer_No "Customer" + ,CI.Name "Customer Name" + ,i.Planner_Buyer Planner + ,p.BUYER_CODE Buyer + ,p.CF$_PURCHASE_CAT1_DESC PURCHASE_CAT1 + ,p.CF$_PURCHASE_CAT2_DESC PURCHASE_CAT2 + ,p.CF$_PURCHASE_CAT3_DESC PURCHASE_CAT3 + ,i.C_Resin_Type Resin + ,TO_CHAR(i.C_RESIN_WEIGHT,'9,990.99990') "Part Weight" + ,i.CF$_SOURCING_OPTION "Sourcing Option" + ,i.note_text "Note Text" + ,NI.DocText "Inventory Note" + ,i.SUPERSEDES + ,TO_CHAR(i.CREATE_DATE,'yyyy-mm-dd') "Creation date" + ,TO_CHAR(S.LAST_ACTIVITY_DATE_Min,'yyyy-mm-dd hh:mi') "Last Activity date min" + ,TO_CHAR(S.LAST_ACTIVITY_DATE_Max,'yyyy-mm-dd hh:mi') "Last Activity date max" + ,TO_CHAR(S.RECEIPT_DATE_Min,'yyyy-mm-dd hh:mi') "Receipt date min" + ,TO_CHAR(S.RECEIPT_DATE_Max,'yyyy-mm-dd hh:mi') "Receipt date max" + ,TO_CHAR(AGE.Days_Old,'9,990') "Days Old" + ,case when AGE.Days_Old <90 then '[0M-3M]' + when AGE.Days_Old >=90 and AGE.Days_Old <180 then '[3M-6M]' + when AGE.Days_Old >=180 and AGE.Days_Old <270 then '[6M-9M]' + when AGE.Days_Old >=270 and AGE.Days_Old <360 then '[9M-12M]' + when AGE.Days_Old >=360 and AGE.Days_Old <450 then '[12M-15M]' + when AGE.Days_Old >=450 and AGE.Days_Old <540 then '[15M-18M]' + when AGE.Days_Old >=540 and AGE.Days_Old <630 then '[18M-21M]' + when AGE.Days_Old >=630 and AGE.Days_Old <720 then '[21M-24M]' + when AGE.Days_Old >=720 then '[+24M]' + end "AGE CLASS" + ,Rep.Coordinator + ,sysdate as TimeStamp + +FROM + (Select S.Contract, S.Part_No,S.UNIT_COST + ,sum(S.QTY_ONHAND) QTY_ONHAND + ,sum(S.QTY_RESERVED) QTY_RESERVED + ,sum(S.QTY_IN_TRANSIT) QTY_IN_TRANSIT + ,sum(S.QTY_ONHAND - S.QTY_RESERVED) Available_Qty + ,SUM(CASE WHEN s.AVAILABILITY_CONTROL_ID is not null THEN S.QTY_ONHAND ELSE 0 END) ACI_QTY + ,min(S.LAST_ACTIVITY_DATE) LAST_ACTIVITY_DATE_Min + ,max(S.LAST_ACTIVITY_DATE) LAST_ACTIVITY_DATE_Max + ,min(S.RECEIPT_DATE) RECEIPT_DATE_Min + ,max(S.RECEIPT_DATE) RECEIPT_DATE_Max + From Inventory_part_in_stock_UIV S + Where S.QTY_ONHAND>0 + Group by S.Contract, S.Part_No,S.UNIT_COST) S + + inner join COMPANY_SITE CS on S.Contract=CS.Contract + + inner join Company_Finance C on C.Company=CS.Company + + inner join inventory_part_cfv i on S.Contract = i.Contract and S.Part_No = i.Part_No + + + left join (Select contract,Part_no,BUYER_CODE,CF$_PURCHASE_CAT1_DESC,CF$_PURCHASE_CAT2_DESC,CF$_PURCHASE_CAT3_DESC + from purchase_part_cfv) p on p.contract=i.contract and p.part_no=i.part_no + + + inner join Inventory_Part_Planning ipp on S.Contract = ipp.Contract and S.Part_No = ipp.Part_No + + left join (Select Part_No,max(max_quantity_capacity) HU_Capacity from Part_Handling_unit where handling_unit_type_id in ('STACK') or handling_unit_type_id like 'PALLET%' group by Part_No) HU on HU.Part_No = S.Part_No + + left join (Select dt.Note_Text DocText,i.Part_No from document_text dt inner join inventory_part i on i.Note_ID=dt.Note_ID where dt.output_type='INVENTORY' ) NI on NI.Part_No=S.Part_No + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Customer_No from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE='00032') C32 + on S.Part_No=C32.PART_NO and S.Contract=C32.Contract + left join (select III.Customer_ID, III.Company,III.CF$_COORDINATOR Coordinator from IDENTITY_INVOICE_INFO_cfv III) Rep on Rep.Customer_ID=C32.Customer_No and Rep.Company=CS.Company + + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Deco from INVENTORY_PART_CHAR_ALL where (CHARACTERISTIC_CODE='00034' and INVENTORY_PART_API.Get_Eng_Attribute(contract,PART_NO) in ('00008','00010')) or (CHARACTERISTIC_CODE='00063' and INVENTORY_PART_API.Get_Eng_Attribute(contract,PART_NO) ='00006') ) C34 + on S.Part_No=C34.PART_NO and S.Contract=C34.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Pantone from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00079')) C79 + on S.Part_No=C79.PART_NO and S.Contract=C79.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Color from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00028')) C28 + on S.Part_No=C28.PART_NO and S.Contract=C28.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Mold_Ref from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00013')) C13 + on S.Part_No=C13.PART_NO and S.Contract=C13.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Assy_Ref from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00149')) C149 + on S.Part_No=C149.PART_NO and S.Contract=C149.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Commodity from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00150')) C150 + on S.Part_No=C150.PART_NO and S.Contract=C150.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA Orientation from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00158')) C158 + on S.Part_No=C158.PART_NO and S.Contract=C158.Contract + left join (select PART_NO, CONTRACT, ATTR_VALUE_ALPHA PS_Config from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00159')) C159 + on S.Part_No=C159.PART_NO and S.Contract=C159.Contract + left join CUSTOMER_INFO CI on C32.Customer_No=CI.Customer_ID + + + + left join (Select C.Part_No,C.Contract,sum(C.BUY_QTY_DUE - C.QTY_SHIPPED) Qty_to_Deliver From customer_order_join_cfv C Where C.objstate in ('Released','Blocked','Reserved','Picked','PartiallyDelivered') and CUSTOMER_NO not like ('W%') Group By C.Part_No, C.Contract) CO on S.Part_No=CO.Part_No and S.Contract=CO.Contract + + left join (Select C.Part_No,C.Contract,sum(C.BUY_QTY_DUE - C.QTY_SHIPPED) Qty_to_Deliver From customer_order_join_cfv C Where C.objstate in ('Released','Blocked','Reserved','Picked','PartiallyDelivered') and TO_CHAR(PLANNED_SHIP_DATE,'yyyy-mm')=TO_CHAR(sysdate,'yyyy-mm') and CUSTOMER_NO not like ('W%') Group By C.Part_No, C.Contract) COC on S.Part_No=COC.Part_No and S.Contract=COC.Contract + + left join (Select C.Part_No,C.Contract,sum(C.BUY_QTY_DUE - C.QTY_SHIPPED) Qty_to_Deliver From customer_order_join_cfv C Where C.objstate in ('Released','Blocked','Reserved','Picked','PartiallyDelivered') and CUSTOMER_NO like ('W%') Group By C.Part_No, C.Contract) COW on S.Part_No=COW.Part_No and S.Contract=COW.Contract + + left join (Select U.Contract,U.COMPONENT_PART,count(U.COMPONENT_PART) Where_Used + From MANUF_STRUCTURE U Where MANUF_STRUCT_ALTERNATE_API.Get_State(U.contract,U.part_no,U.eng_chg_level,U.bom_type,U.alternative_no)='Buildable' and U.EFF_PHASE_OUT_DATE is null and U.Parent_part_Status in ('A','D') and U.BOM_TYPE_DB='M' Group by U.Contract,U.COMPONENT_PART) W on W.Contract=S.Contract and W.Component_Part=S.Part_No + + inner join (Select Contract,Part_no, sum((sysdate-RECEIPT_DATE)*QTY_ONHAND) / nullif(sum(QTY_ONHAND),0) Days_Old +From INVENTORY_PART_IN_STOCK_UIV Group by Contract,Part_No) AGE on s.Part_No=AGE.Part_No and S.Contract = AGE.Contract + + left join (Select Part_No, Contract, BUILD_UP_QTY TPSS from STRATEGIC_SAFE_STOCK_PART where sysdate BETWEEN FROM_DATE and TO_DATE) TP on S.Contract = TP.Contract and S.Part_No=TP.Part_No + + left join (Select d.Contract,d.SENDER_PART_NO,sum(d.DISPATCH_SOURCE_QTY) Incoming_Dispatch From RECEIVABLE_DISPATCH_ADV_LINE d Where d.State='Created' Group by d.Contract, d.Sender_Part_No) d on S.Contract=d.Contract and S.Part_No=d.SENDER_PART_NO + + +WHERE +i.PART_PRODUCT_FAMILY not in ('F0000','F0001','F0100') + + +AND CS.Contract in ('W0001','W0004','W0005','W0006','W0007','W0008','W0009','W0010','W0011','W0012') + + +and S.Part_No like nvl ('&Part_NO','%') and i.PART_PRODUCT_FAMILY like nvl ('&Product_Family','%') and s.part_no not in ('1087188') \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Removed from Cloud/OLD - Manufacturing-Rejects details.txt b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/OLD - Manufacturing-Rejects details.txt new file mode 100644 index 0000000..5e27eea --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/OLD - Manufacturing-Rejects details.txt @@ -0,0 +1,49 @@ +Select +OH.Contract Site +,WC.DEPARTMENT_NO Department +,SOO.PREFERRED_RESOURCE_ID Pref_Resource +,SOO.Cf$_MOLD Mold +,OH.Dated +,TO_CHAR(OH.Dated,'yyyy-mm') "Year-Month" +,OH.Part_No +,PC.Description +,OH.ORDER_NO +,OH.Release_No +,OH.Sequence_No +,SO.State +,Inventory_Transaction_Hist_API.Get_Reject_Code(OH.INV_TRANSACTION_ID) "Scrapping Cause" +,Scrapping_Cause_API.Get_reject_Message(Inventory_Transaction_Hist_API.Get_Reject_Code(OH.INV_TRANSACTION_ID)) "Scrapping Cause Description" +,CASE WHEN OH.TRANSACTION_CODE='UNOPFDSCP' then -OH.QTY_SCRAPPED ELSE OH.QTY_SCRAPPED END "QTY SCRAPPED" +,(CASE WHEN OH.TRANSACTION_CODE='UNOPFDSCP' then -OH.QTY_SCRAPPED ELSE OH.QTY_SCRAPPED END)*C.INVENTORY_VALUE "Qty Scrapped$" +,SO.CF$_QTY_SHOP_ORDER+SO.OPERATION_SCRAPPED "Lot Size" +,SO.QTY_COMPLETE "QTY_COMPLETE" +,SO.OPERATION_SCRAPPED "SO Scrap" +,case when SO.QTY_COMPLETE=0 then 1 else SO.OPERATION_SCRAPPED/SO.QTY_COMPLETE end "SO Scrap%" +,SO.OPERATION_SCRAPPED*C.INVENTORY_VALUE "SO Scrap$" +,OH2.LABOR_COST +,SO.ORDER_CODE_DB +,SO.ORDER_CODE +,C.INVENTORY_VALUE "Std Cost" +,SO.CF$_SHOP_ORDER_NOTE2 "Shop Order Note" +,Child.Lot_Batch_No "Child Lot Batch" +,Child.CF$_LOT_BATCH_MOLD "Child mold" +From +OPERATION_HISTORY OH +inner join Part_Catalog PC on OH.Part_No=PC.Part_No +inner join Shop_Ord_cfv SO on SO.Order_No=OH.Order_No and SO.Release_No=OH.Release_No and SO.Sequence_No=OH.Sequence_No and SO.Contract=OH.Contract +inner join SHOP_ORDER_OPERATION_JOIN_cfv SOO on SOO.ORDER_NO=OH.ORDER_NO and SOO.RELEASE_NO=OH.RELEASE_NO and SOO.Sequence_No=OH.Sequence_No and SOO.OPERATION_NO=OH.OPERATION_NO +inner join WORK_CENTER_RESOURCE WCR on WCR.RESOURCE_ID=SOO.PREFERRED_RESOURCE_ID and WCR.Contract=SOO.Contract +inner join WORK_CENTER WC on WC.Contract=WCR.Contract and WC.Work_Center_No=WCR.Work_Center_No +inner join INVENTORY_PART_UNIT_COST_SUM C on C.Part_No=OH.Part_No and C.Contract=OH.Contract + +left join (Select ORDER_NO, RELEASE_NO, SEQUENCE_NO, sum(LABOR_COST) Labor_Cost from OPERATION_HISTORY where TRANSACTION_CODE='LABOR_RPT' and OPERATION_NO='10' group by ORDER_NO, RELEASE_NO, SEQUENCE_NO) OH2 on OH2.Order_No=SO.Order_No and OH2.Release_No=SO.Release_No and OH2.Sequence_No=SO.Sequence_No + +OUTER apply (SELECT MH.TIME_STAMP,MH.LOT_BATCH_NO, MH.CF$_LOT_BATCH_MOLD, MH.order_REF1,MH.order_REF2,MH.order_REF3 +FROM MATERIAL_HISTORY_cfv MH WHERE material_history_action_db='ISSUE' AND MH.order_REF1=SO.Order_No and MH.order_REF2=SO.Release_No and MH.order_REF3=SO.Sequence_No AND rownum =1 ORDER BY MH.TIME_STAMP,MH.order_REF1,MH.order_REF2,MH.order_REF3) Child +Where +trunc(OH.Dated) Between TO_DATE('&DATE_FROM','YYYY-MM-DD') AND TO_DATE ('&DATE_TO','YYYY-MM-DD') +and SO.Contract like nvl('&Site','%') and SO.ORDER_CODE_DB like nvl('&SO_TYPE','%') and OH.QTY_SCRAPPED>0 and SOO.Operation_No='10' +and (decode('&Department','','TRUE')='TRUE' or WC.DEPARTMENT_NO like NVL ('&Department','%')) +and (decode('&Preferred_Resource','','TRUE')='TRUE' or SOO.PREFERRED_RESOURCE_ID like nvl ('&Preferred_Resource','%')) +and (decode('&Mold' ,'', 'TRUE')='TRUE' OR cf$_Mold LIKE nvl('&Mold','%')) +and OH.ORDER_NO like nvl ('&Order_No','%') \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Removed from Cloud/OLD - Planning Bill Analysis.txt b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/OLD - Planning Bill Analysis.txt new file mode 100644 index 0000000..07e8148 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/OLD - Planning Bill Analysis.txt @@ -0,0 +1,66 @@ +Select CS.COMPANY,CO.CONTRACT, CH.ATTR_VALUE_ALPHA Commodity, DECO.ATTR_VALUE_ALPHA Decoration, CO.CATALOG_NO, CO.CATALOG_DESC, CO.REAL_SHIP_DATE, CO.ORDER_NO,CO.LINE_NO,CO.REL_NO,CO.CUSTOMER_NO,CU.NAME,DECODE(CO.CATALOG_TYPE_DB, 'INV', CO.QTY_SHIPPED, NULL) Qty, CH2.LAST_LEVEL_Commodity, LAST_LEVEL, CH2.Description Last_Level_Description, DECODE(CO.CATALOG_TYPE_DB, 'INV', CO.QTY_SHIPPED, NULL)*Factor LAST_LEVEL_QTY + +From CUSTOMER_ORDER_LINE CO +inner join COMPANY_SITE CS on CS.CONTRACT=CO.CONTRACT and CO.STATE in ('Delivered','Partially Delivered','Invoiced/Closed') +inner join CUSTOMER_INFO CU on CU.CUSTOMER_ID=CO.CUSTOMER_NO +left join (select contract,part_no,ATTR_VALUE_ALPHA from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE='00150') CH on CH.Contract=CO.Contract and CH.PART_NO=CO.CATALOG_NO +left join (select contract,part_no,ATTR_VALUE_ALPHA from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE='00034') DECO on DECO.Contract=CO.Contract and DECO.PART_NO=CO.CATALOG_NO + + + +left join +( +Select distinct 1 LEVEL_NO,MS.Part_No SALES_PART,'' Level_2_PART,0 Level_2_QTY,'' Level_3_Part,0 Level_3_Qty, MS.Part_No LAST_LEVEL, 1 Factor + +From MANUF_STRUCTURE MS +inner join Inventory_Part IP on MS.Contract=IP.Contract and MS.PART_NO=IP.PART_NO +inner join INVENTORY_PART_PLANNING IPP on IPP.Contract=MS.Contract and IPP.PART_NO=MS.PART_NO +inner join ROUTING_OPERATION RO on RO.Contract=MS.Contract and RO.PART_NO=MS.PART_NO +inner join WORK_CENTER WC on WC.WORK_CENTER_NO=RO.WORK_CENTER_NO + +Where MS.BOM_TYPE_DB='M' and MANUF_STRUCT_ALTERNATE_API.Get_State(MS.contract,MS.part_no,MS.eng_chg_level,MS.bom_type,MS.alternative_no)='Buildable' and MS.EFF_PHASE_OUT_DATE is NULL and IP.TYPE_CODE_db='1' and IPP.PLANNING_METHOD not in ('P') +and RO.ALTERNATIVE_NO='*' and Routing_Alternate_API.Get_State(RO.CONTRACT,RO.PART_NO,RO.ROUTING_REVISION,RO.BOM_TYPE,RO.ALTERNATIVE_NO)='Buildable' and RO.BOM_TYPE_DB='M' and RO.OPERATION_NO='10' and WC.DEPARTMENT_NO in ('INJEC','DAIRY','BLOW') + + +UNION + +Select distinct 2 LEVEL_NO,MS.Part_No SALES_PART,MS.COMPONENT_PART Level_2_PART,MS.QTY_PER_ASSEMBLY Level_2_QTY,'' Level_3_Part,0 Level_3_Qty, MS.COMPONENT_PART LAST_LEVEL, MS.QTY_PER_ASSEMBLY Factor + +From MANUF_STRUCTURE MS +inner join Inventory_Part IP on MS.Contract=IP.Contract and MS.COMPONENT_PART=IP.PART_NO +inner join INVENTORY_PART_PLANNING IPP on IPP.Contract=MS.Contract and IPP.PART_NO=MS.COMPONENT_PART +inner join ROUTING_OPERATION RO on RO.Contract=MS.Contract and RO.PART_NO=MS.COMPONENT_PART +inner join WORK_CENTER WC on WC.WORK_CENTER_NO=RO.WORK_CENTER_NO + +Where MS.BOM_TYPE_DB='M' and MANUF_STRUCT_ALTERNATE_API.Get_State(MS.contract,MS.part_no,MS.eng_chg_level,MS.bom_type,MS.alternative_no)='Buildable' and MS.EFF_PHASE_OUT_DATE is NULL and IP.TYPE_CODE_db='1' and IPP.PLANNING_METHOD not in ('P') +and RO.ALTERNATIVE_NO='*' and Routing_Alternate_API.Get_State(RO.CONTRACT,RO.PART_NO,RO.ROUTING_REVISION,RO.BOM_TYPE,RO.ALTERNATIVE_NO)='Buildable' and RO.BOM_TYPE_DB='M' and RO.OPERATION_NO='10' and WC.DEPARTMENT_NO in ('INJEC','DAIRY','BLOW') + + +UNION + +Select distinct 3 LEVEL_NO,MS.Part_No SALES_PART,MS.COMPONENT_PART Level_2_PART,MS.QTY_PER_ASSEMBLY Level_2_QTY,MS2.COMPONENT_PART Level_3_Part,MS2.QTY_PER_ASSEMBLY Level_3_Qty,MS2.COMPONENT_PART LAST_LEVEL, MS.QTY_PER_ASSEMBLY*MS2.QTY_PER_ASSEMBLY Factor + +From MANUF_STRUCTURE MS +inner join Inventory_Part IP on MS.Contract=IP.Contract and MS.COMPONENT_PART=IP.PART_NO +inner join INVENTORY_PART_PLANNING IPP on IPP.Contract=MS.Contract and IPP.PART_NO=MS.COMPONENT_PART +inner join ROUTING_OPERATION RO on RO.Contract=MS.Contract and RO.PART_NO=MS.COMPONENT_PART +inner join WORK_CENTER WC on WC.WORK_CENTER_NO=RO.WORK_CENTER_NO +inner join MANUF_STRUCTURE MS2 on MS2.Contract=MS.Contract and MS2.PART_NO= MS.Component_Part +inner join Inventory_Part IP2 on MS2.Contract=IP2.Contract and MS2.COMPONENT_PART=IP2.PART_NO +inner join INVENTORY_PART_PLANNING IPP2 on IPP2.Contract=MS2.Contract and IPP2.PART_NO=MS2.COMPONENT_PART +inner join ROUTING_OPERATION RO2 on RO2.Contract=MS2.Contract and RO2.PART_NO=MS2.COMPONENT_PART +inner join WORK_CENTER WC2 on WC2.WORK_CENTER_NO=RO2.WORK_CENTER_NO + +Where MS.BOM_TYPE_DB='M' and MANUF_STRUCT_ALTERNATE_API.Get_State(MS.contract,MS.part_no,MS.eng_chg_level,MS.bom_type,MS.alternative_no)='Buildable' and MS.EFF_PHASE_OUT_DATE is NULL and IP.TYPE_CODE_db='1' and IPP.PLANNING_METHOD not in ('P') +and RO.ALTERNATIVE_NO='*' and Routing_Alternate_API.Get_State(RO.CONTRACT,RO.PART_NO,RO.ROUTING_REVISION,RO.BOM_TYPE,RO.ALTERNATIVE_NO)='Buildable' and RO.BOM_TYPE_DB='M' and RO.OPERATION_NO='10' and WC.DEPARTMENT_NO in ('OFFSE','ASSY') +and +MS2.BOM_TYPE_DB='M' and MANUF_STRUCT_ALTERNATE_API.Get_State(MS2.contract,MS2.part_no,MS2.eng_chg_level,MS2.bom_type,MS2.alternative_no)='Buildable' and MS2.EFF_PHASE_OUT_DATE is NULL and IP2.TYPE_CODE_db='1' and IPP2.PLANNING_METHOD not in ('P') +and RO2.ALTERNATIVE_NO='*' and Routing_Alternate_API.Get_State(RO2.CONTRACT,RO2.PART_NO,RO2.ROUTING_REVISION,RO2.BOM_TYPE,RO2.ALTERNATIVE_NO)='Buildable' and RO2.BOM_TYPE_DB='M' and RO2.OPERATION_NO='10' and WC2.DEPARTMENT_NO in ('INJEC','DAIRY','BLOW') +) LVL on CO.CATALOG_NO=LVL.SALES_PART + + +outer apply (select IPC.contract,IPC.part_no,IPC.ATTR_VALUE_ALPHA LAST_LEVEL_Commodity, IP.Description from INVENTORY_PART_CHAR_ALL IPC inner join Inventory_Part IP on IPC.Contract=IP.Contract and IPC.Part_No=IP.Part_No where IP.PART_NO=LVL.Last_Level and IPC.CHARACTERISTIC_CODE='00150' and IP.TYPE_CODE_DB='1' and IP.PART_STATUS in ('A','D') and rownum<2) CH2 + + +Where CS.COMPANY in '&Company' and trunc(CO.REAL_SHIP_DATE) BETWEEN TO_DATE('&DATE_FROM','YYYY-MM-DD') AND TO_DATE ('&DATE_TO','YYYY-MM-DD') +and length(CO.CUSTOMER_NO)>5 \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Posting proposal with Gl Code.txt b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Posting proposal with Gl Code.txt new file mode 100644 index 0000000..653d03e --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Posting proposal with Gl Code.txt @@ -0,0 +1 @@ +select code_a, code_b, code_c, code_d, code_e, code_f, code_g, code_h, code_i, code_j, company, curr_amount, curr_code, curr_rate, dom_amount, invoice_id, line_authorized, line_no, voucher_company, voucher_type_ref from IFSAPP.posting_proposal_cost_auth \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Shop Order - Hu Attached.txt b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Shop Order - Hu Attached.txt new file mode 100644 index 0000000..e0e5292 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Removed from Cloud/Shop Order - Hu Attached.txt @@ -0,0 +1,6 @@ +Select HU.SOURCE_REF1 Order_No,HU.SOURCE_REF2 Release_No ,HU.SOURCE_REF3 Sequence_No, HU.HANDLING_UNIT_ID,HU.SOURCE_REF_PART_QTY, PHU.MAX_QUANTITY_CAPACITY, SOO.Part_No,Inventory_Part_API.Get_Description(SOO.contract,SOO.part_no) Description, SOO.PREFERRED_RESOURCE_ID Machine + +From HANDLING_UNIT_EXTENDED HU inner join SHOP_ORDER_OPERATION_JOIN SOO on HU.SOURCE_REF1=SOO.Order_No and HU.SOURCE_REF2=SOO.Release_No and HU.SOURCE_REF3=SOO.Sequence_No inner join Shop_Ord SO on HU.SOURCE_REF1=SO.Order_No and HU.SOURCE_REF2=SO.Release_No and HU.SOURCE_REF3=SO.Sequence_No inner join PART_HANDLING_UNIT PHU on PHU.HANDLING_UNIT_TYPE_ID=SO.PACKING_INSTRUCTION_ID and PHU.PART_NO=SO.Part_No + +where HU.SOURCE_REF1='&Order_No' and HU.SOURCE_REF2 like nvl('&Release_No','%') and HU.SOURCE_REF3 like nvl('&Sequence_No','%') and SOO.OPERATION_NO='10' +Order by HU.SOURCE_REF1,HU.SOURCE_REF2,HU.SOURCE_REF3,HU.HANDLING_UNIT_ID \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Resin and Additive Consumption.txt b/REPORTS/HasaliLK/Quick reports/Resin and Additive Consumption.txt new file mode 100644 index 0000000..a519353 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Resin and Additive Consumption.txt @@ -0,0 +1,69 @@ +Select +T.Contract Site +,T.ACCOUNTING_GROUP +,T.C_RESIN_TYPE Resin +,T.PART_NO +,T.PART_UOM "UOM" +,T.PART_DESC +,round(sum(T.TOTAL_USE),0) "Usage" +,round(sum(T.TOTAL_SCRAP),0) "Scrap" +,round(sum(T.TOTAL_USE),0)+round(sum(T.TOTAL_SCRAP),0) "Usage and Scrap" + +from +( +Select +IPL.CONTRACT +,IP.ACCOUNTING_GROUP +,IP.C_RESIN_TYPE +,IPL.PART_NO +,IPL.PART_UOM +,IPL.PART_DESC +,IPL.TOTAL_USE +,0 "TOTAL_SCRAP" + +From +IFSINFO.IPL_SHOP_MATERIAL_USE IPL +inner join Inventory_Part IP on IPL.Contract=IP.Contract and IPL.PART_NO=IP.PART_NO + +Where +(IPL.CONTRACT LIKE '%&Site%' ) + and IPL.DATED between TO_DATE('&DATE_FROM','YYYY-MM-DD') AND TO_DATE ('&DATE_TO','YYYY-MM-DD') +1 + and IFSAPP.Technical_Object_Reference_API.Get_Technical_Class_With_Key('PartCatalog','PART_NO=' || IPL.PART_NO || '^') in ('00005','00001') + +UNION ALL + +Select +S.CONTRACT +,IP2.ACCOUNTING_GROUP +,IP2.C_RESIN_TYPE +,S.PART_NO +,S.PART_UOM +,S.PART_DESC +,0 "TOTAL_USE" +,S.TOTAL_SCRAP + +From +IFSINFO.IPL_SHOP_MATERIAL_SCRAP S +inner join Inventory_Part IP2 on S.Contract=IP2.Contract and S.PART_NO=IP2.PART_NO + +Where + +S.CONTRACT LIKE '%&Site%' + +and S.DATED between TO_DATE('&DATE_FROM','YYYY-MM-DD') AND TO_DATE ('&DATE_TO','YYYY-MM-DD') +1 + and IFSAPP.Technical_Object_Reference_API.Get_Technical_Class_With_Key('PartCatalog','PART_NO=' || S.PART_NO || '^') in ('00005','00001') +) T + +Group By +T.Contract +,T.ACCOUNTING_GROUP +,T.C_RESIN_TYPE +,T.PART_NO +,T.PART_UOM +,T.PART_DESC + +Order by +T.ACCOUNTING_GROUP desc +,T.C_RESIN_TYPE +,round(sum(T.TOTAL_USE),0)+round(sum(T.TOTAL_SCRAP),0) desc +,T.PART_NO \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Routing_Information.txt b/REPORTS/HasaliLK/Quick reports/Routing_Information.txt new file mode 100644 index 0000000..2e3c812 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Routing_Information.txt @@ -0,0 +1,44 @@ +Select Inventory_Product_Code_API.Get_Description(IP.PART_PRODUCT_CODE) Product_Code, + RO.Part_No, + INVENTORY_PART_API.Get_Description(RO.contract, RO.PART_NO) Description, + RO.Contract Site, + RO.Alternative_No Alt, + RO.BOM_Type, + RO.WORK_CENTER_NO Work_Center, + RO.MACHINE_NO Machine, + ROT.tool_id Tool, + RO.EFFICIENCY_FACTOR Efficiency, + RO.RUN_TIME_CODE, + RO.MACH_RUN_FACTOR Run_Factor, + RO.CREW_SIZE, + to_char(RO.PHASE_IN_DATE, 'yyyy-mm-dd') Phase_In, + to_Char(RO.PHASE_OUT_DATE, 'yyyy-mm-dd') Phase_Out, + IP.C_RESIN_TYPE Resin_Type, + IP.C_RESIN_WEIGHT Resin_Weight + + From Routing_Operation_Tool ROT, + MANUF_TOOL MT, + ROUTING_OPERATION RO, + Inventory_Part_cfv IP + + Where MT.Tool_Type = 'MOLD' + and ROT.Tool_id = MT.Tool_ID + and ROT.contract = MT.contract + and ROT.Contract = RO.Contract + and ROT.Part_No = RO.Part_No + and ROT.BOM_Type = RO.BOM_Type + and ROT.Alternative_No = RO.Alternative_No + and ROT.Operation_No = RO.Operation_No + and ROT.Routing_Revision = RO.Routing_Revision + and IP.CONTRACT LIKE '%&CONTRACT%' + and RO.Operation_No = '10' + and RO.Contract = IP.Contract + and RO.Part_No = IP.Part_No + and IP.PART_STATUS = 'A' + and (RO.PHASE_OUT_DATE is null or + to_Char(RO.PHASE_OUT_DATE, 'yyyy-mm-dd') >= + to_char(Sysdate, 'yyyy-mm-dd')) + + Order by Inventory_Product_Code_API.Get_Description(IP.PART_PRODUCT_CODE), + ROT.tool_id, + RO.Part_No \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Sales Report.txt b/REPORTS/HasaliLK/Quick reports/Sales Report.txt new file mode 100644 index 0000000..33c5bc0 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Sales Report.txt @@ -0,0 +1,108 @@ +Select + INV.Company + ,Company.Name + ,SS.Acct_Currency_Code as "Curr Company" + ,INV.Contract "Site" + ,INV.Catalog_No as "Part No" + ,INV.Description + ,TO_CHAR(INV.Invoice_Date, 'YYYY-MM-DD') "Date Trans" + ,TO_CHAR(INV.Invoice_Date, 'YYYY-MM') "YYYY-MM" + ,Case when Inv.Price_Adjustment='TRUE' then 0 + else Inv.Invoiced_Qty End "Invoiced Qty" + ,INV.Sale_Um UoM + ,STOCK.Part_Product_Family "Product Family" + ,STOCK.Part_Product_Code "Product Code" + ,STOCK.Type_Designation "Type Designation" + ,INV.Identity "Customer No" + ,CUST.Name "Customer Name" + ,CUST.Category "Customer Type" + ,IPP.CF$_QTY_ON_HAND "Qty on Hand" + ,IPP.Safety_Stock "Safety Stock" + ,IPP.MIN_ORDER_QTY "Min Lot Size" + ,IPP.CF$_MIN_SALES_QTY "Min Sales Qty" + ,STOCK.CF$_HU_QTY "HU Qty" + ,SS.Price_Source "Price Source" + ,SS.Price_Source_Id "Price Source ID" + ,customer_order.order_id "Order Type" + ,INV.Order_No "Order No" + ,INV.Line_No "Line No" + ,INV.Release_No "Rel No" + ,INV.Invoice_No "Invoice No" + ,cust_order_inv_head_uiv_all.DELIVERY_ADDRESS_ID "Address ID" + ,SHIP.Name "Ship Name" + ,SHIP.Country "Ship Ctry" + ,SHIP.State "Ship State" + ,SHIP.City "Ship City" + ,SS.Cf$_Main_Rep "Main Rep" + ,SS.Market_Desc "Market Desc" + ,SS.Region_Code "Region Code" + ,SS.Country_Code "Ctry Code" + ,Case when customer_order.District_Code is null then SS.District_Code + else customer_order.District_Code end as "District Code" + ,Case when customer_order.District_Code is null then SS.District_Desc + else SALES_DISTRICT.Description end as "District Description" + ,customer_order.Delivery_Terms "Delivery Terms" + ,INV.Customer_Po_No "Customer PO NO" + ,cust_order_inv_head_uiv_all.Shipment_Id "Shipment ID" + ,shipment_cfv.Cf$_Freight_Charge "Ttl Freight Cost" + ,STOCK.C_Resin_Type "Resin Type" + ,STOCK.C_Resin_Weight "Resin Weight" + ,Case when Inv.Price_Adjustment='TRUE' then 0 + else (INV.Invoiced_Qty*STOCK.C_Resin_Weight*Sales_Part.CONV_FACTOR) End "Ttl Resin Weight" + ,INV.Sale_Unit_Price "Sales Unit Price" + ,INV.Currency_Code "Currency Code" + ,INV.Net_Curr_Amount "Net Amount Curr" + ,INV.Net_Dom_Amount "Net Amount Co" + ,SS.Cost + ,Sales_Part.CONV_FACTOR "Factor UoM" + ,COJ.Supply_Code "Supply Code" + ,COJ.Supply_Site "Supply Site" + ,X.CUSTOMER_PART_NO "Customer Part No" + ,Color.ATTR_VALUE_ALPHA "Color" + ,Pant.ATTR_VALUE_ALPHA "Pantone" + ,IML.Component_Part "IML" + +from + CUSTOMER_ORDER_INV_ITEM_JOIN INV + inner join company on INV.Company = Company.Company + inner join inventory_part_cfv STOCK on INV.Catalog_No = STOCK.Part_No and INV.Contract = STOCK.Contract + left join cust_ord_cust1 CUST on INV.Identity = CUST.Customer_No + left join cust_ord_invo_stat_cfv SS on INV.Invoice_id = SS.Invoice_id and INV.Item_id = SS.Item_id + left join customer_order on INV.Order_No = customer_order.Order_No + left join cust_order_inv_head_uiv_all on INV.Invoice_No = cust_order_inv_head_uiv_all.Invoice_No and INV.Series_ID = cust_order_inv_head_uiv_all.Series_Id + left join shipment_cfv on cust_order_inv_head_uiv_all.shipment_Id = shipment_cfv.shipment_Id + left join SALES_DISTRICT on customer_order.District_Code = SALES_DISTRICT.District_Code + inner join SALES_PART on INV.Contract = SALES_PART.Contract and INV.Catalog_No = SALES_PART.Part_no + inner join CUSTOMER_INFO_ADDRESS SHIP on INV.Identity = SHIP.Customer_Id and cust_order_inv_head_uiv_all.DELIVERY_ADDRESS_ID = SHIP.Address_Id + left join CUSTOMER_ORDER_JOIN COJ on INV.Order_No = COJ.Order_No and INV.Line_No = COJ.Line_No and INV.Release_No = COJ.Rel_No + left join (Select contract, part_no, CASE WHEN substr(ATTR_VALUE_ALPHA,1,3)='DRY' THEN 'OFFFSET' else ATTR_VALUE_ALPHA end Decoration from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE='00034') C34 on INV.Contract=C34.Contract and INV.Catalog_No=C34.Part_No + inner join INVENTORY_PART_PLANNING_cfv IPP on IPP.Contract=INV.Contract and IPP.Part_No=INV.Catalog_No + left join SALES_PART_CROSS_REFERENCE X on X.Contract=INV.Contract and X.Catalog_No=INV.Catalog_No and X.CUSTOMER_NO=INV.Identity + left join (Select contract,part_no,ATTR_VALUE_ALPHA from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00025','00028')) Color on Color.Contract=INV.Contract and Color.PArt_No=INV.Catalog_No + left join (Select contract,part_no,ATTR_VALUE_ALPHA from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00079')) Pant on Pant.Contract=INV.Contract and Pant.PArt_No=INV.Catalog_No + left join ( + Select + MS.Contract + ,MS.Part_No + ,LISTAGG(MS.COMPONENT_PART ,' + ') WITHIN GROUP (Order By MS.Component_Part) Component_Part + From + MANUF_STRUCTURE MS + inner join Purchase_Part_Cfv PP on MS.Contract=PP.Contract and MS.Component_Part=PP.Part_No + + Where + PP.CF$_PURCHASE_PART_CAT_2='RM07A' + and MS.Alternative_No='*' + and MS.BOM_TYPE_DB='M' + and MANUF_STRUCT_ALTERNATE_API.Get_State(MS.contract,MS.part_no,MS.eng_chg_level,MS.bom_type,MS.alternative_no)='Buildable' + and MS.EFF_PHASE_OUT_DATE is null + + Group By MS.Contract, MS.Part_No + ) IML on IML.Contract=INV.Contract and IML.Part_No=INV.Catalog_No + +where + INV.Series_ID<>'PR' + and INV.COMPANY LIKE NVL( '&COMPANY', '%') + and INV.CONTRACT LIKE NVL('%&CONTRACT%', '%') + and TO_DATE(TO_CHAR(INV.Invoice_Date, 'YYYY-MM-DD'), 'YYYY-MM-DD') between to_date('&BeginDate', 'YYYY-MM-DD') and to_date('&EndDate', 'YYYY-MM-DD') + and INV.Identity like NVL('&Customer_No','%') + and STOCK.Type_Designation like NVL('&Type_Designation','%') \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Skids per day per order puller.txt b/REPORTS/HasaliLK/Quick reports/Skids per day per order puller.txt new file mode 100644 index 0000000..9337629 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Skids per day per order puller.txt @@ -0,0 +1,44 @@ +SELECT TRUNC(DATE_CREATED) DATE_CREATED, + CONTRACT Site, + USERID as "User Id", + NVL(COUNT(DISTINCT Handling_Unit_API.Get_Top_Parent_Handl_Unit_Id(HANDLING_UNIT_ID)),0) + NVL(((SELECT COUNT(DISTINCT HANDLING_UNIT_ID ) + FROM INVENTORY_TRANSACTION_HIST2 i + WHERE TRANSACTION_CODE = 'PICK-IN' + AND HANDLING_UNIT_ID > 0 + AND (TRUNC(DATE_CREATED)=A.DATE_CREATED) + AND CONTRACT = A.CONTRACT + AND USERID = A.USERID + AND Handling_Unit_API.Get_Top_Parent_Handl_Unit_Id(HANDLING_UNIT_ID) IS NULL + group by TRUNC(DATE_CREATED), contract ,USERID)),0) as "No of Skids Picked", + + -- COUNT(DISTINCT LOCATION_NO) as "Count of Shipments", + NVL ( (SELECT COUNT( DISTINCT he.shipment_id) from HANDLING_UNIT_SHIPMENT he where he.handling_unit_id IN + ((SELECT HANDLING_UNIT_ID + FROM INVENTORY_TRANSACTION_HIST2 i + WHERE TRANSACTION_CODE = 'PICK-IN' + AND HANDLING_UNIT_ID > 0 + AND (TRUNC(DATE_CREATED)=A.DATE_CREATED) + AND CONTRACT = A.CONTRACT + AND USERID = A.USERID + ))),0) + NVL ( (SELECT COUNT( DISTINCT he.shipment_id) from HANDLING_UNIT_HISTORY_SHPMNT he where he.handling_unit_id IN + ((SELECT HANDLING_UNIT_ID + FROM INVENTORY_TRANSACTION_HIST2 i + WHERE TRANSACTION_CODE = 'PICK-IN' + AND HANDLING_UNIT_ID > 0 + AND (TRUNC(DATE_CREATED)=A.DATE_CREATED) + AND CONTRACT = A.CONTRACT + AND USERID = A.USERID + ))) ,0) as "Count of Shipments", + + + + + COUNT(DISTINCT SOURCE_REF1) as "Count of Orders" + FROM INVENTORY_TRANSACTION_HIST2 A + WHERE TRANSACTION_CODE = 'PICK-IN' + AND HANDLING_UNIT_ID > 0 + AND (TRUNC(DATE_CREATED) >= TO_DATE('&Valid_From', 'MM/DD/YYYY') AND + TRUNC(DATE_CREATED) <= TO_DATE('&Valid_To', 'MM/DD/YYYY') ) + AND CONTRACT LIKE NVL( '&Company', '%') + GROUP BY DATE_CREATED, CONTRACT, USERID + ORDER BY DATE_CREATED, USERID \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Top 10 Customers.txt b/REPORTS/HasaliLK/Quick reports/Top 10 Customers.txt new file mode 100644 index 0000000..c802157 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Top 10 Customers.txt @@ -0,0 +1,17 @@ +SELECT CUSTOMER_NO AS Customer, + CUSTOMER_NAME, + ACCT_CURRENCY_CODE AS Currency, + SUM(NET_AMOUNT) AS Sales, + SUM(INVOICED_QTY) AS Quantity + + FROM CUST_ORD_INVO_STAT t + + Where (TRUNC(INVOICE_DATE) >= TO_DATE('&Valid_From', 'MM/DD/YYYY') AND + TRUNC(INVOICE_DATE) <= TO_DATE('&Valid_To', 'MM/DD/YYYY')) + AND COMPANY LIKE '%&Company%' + AND AUTHORIZE_CODE LIKE '%&Coordinator%' + AND CUST_GRP LIKE '%&Customer_Statistics_Group%' + + GROUP BY CUSTOMER_NO, CUSTOMER_NAME, ACCT_CURRENCY_CODE + ORDER BY Sales DESC, Quantity DESC + FETCH NEXT 10 ROWS ONLY \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Top 10 Products.txt b/REPORTS/HasaliLK/Quick reports/Top 10 Products.txt new file mode 100644 index 0000000..f417ac9 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Top 10 Products.txt @@ -0,0 +1,9 @@ +SELECT PART_NO AS Part_Number,PART_DESC AS Part_Description,SUM(NET_AMOUNT) AS Sales,SUM(INVOICED_QTY) AS Quantity +FROM CUST_ORD_INVO_STAT t +Where +TRUNC(INVOICE_DATE) between TO_DATE('&DATE_FROM','YYYY-MM-DD') AND TO_DATE ('&DATE_TO','YYYY-MM-DD') +AND COMPANY LIKE '%&Company%' +AND AUTHORIZE_CODE LIKE '%&AuthorizeCode%' +GROUP BY PART_NO,PART_DESC +ORDER BY Quantity DESC, Sales DESC +FETCH NEXT 10 ROWS ONLY \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Units shipped per month by Location (Sales $ MTD) (2).txt b/REPORTS/HasaliLK/Quick reports/Units shipped per month by Location (Sales $ MTD) (2).txt new file mode 100644 index 0000000..f03d985 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Units shipped per month by Location (Sales $ MTD) (2).txt @@ -0,0 +1,79 @@ +SELECT contract, + EXTRACT(YEAR FROM DATE_CREATED) Year, + EXTRACT(MONTH FROM DATE_CREATED) Period, + IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1) "Customer", + IFSAPP.Cust_Ord_Customer_API.Get_Name(CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1)) "Customer Name", + PART_NO, + IFSAPP.Inventory_Part_API.Get_Description(CONTRACT, PART_NO) "Part Description", + IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, PART_NO) "Product Family", + SUM(QUANTITY) as Quantity, +ifsapp.inventory_part_api.GET_UNIT_MEAS(CONTRACT ,PART_NO) AS Units, + TO_CHAR(SUM((Customer_Order_Line_API.Get_Base_Sale_Price_Total(source_ref1, + source_ref2, + source_ref3, + source_ref4) / + (Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, + source_ref3, + source_ref4)*Customer_Order_Line_API.Get_Conv_Factor(source_ref1, + source_ref2, + source_ref3, + source_ref4) )) * Quantity),'999,999,999,999,999.99','NLS_NUMERIC_CHARACTERS=",."') as "Sales $ MDT", + + + + /* SUM((Customer_Order_API.Get_Total_Base_Price(source_ref1) / + Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, + source_ref3, + source_ref4)) * + (Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, + source_ref3, + source_ref4) - Quantity)) as MTD2,*/ + + COUNT(HANDLING_UNIT_ID) as Pallets + FROM INVENTORY_TRANSACTION_HIST2 + WHERE TRANSACTION_CODE = 'OESHIP' +AND (TRUNC(DATE_CREATED) >= to_date('&VALID_FROM','MM/DD/YYYY') AND + TRUNC(DATE_CREATED) <= to_date('&VALID_TO','MM/DD/YYYY')) + AND CONTRACT LIKE NVL('&Company', '%') + AND PART_NO LIKE nvl('&PartNo', '%') + AND (IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1) is null or + IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1) LIKE + NVL('&CustomerNo', '%')) + AND (IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, PART_NO) is null or + IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, PART_NO) LIKE + NVL('ProductFamily', '%')) + + GROUP BY PART_NO, + contract, + EXTRACT(YEAR FROM DATE_CREATED), + EXTRACT(MONTH FROM DATE_CREATED), + IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1), + IFSAPP.Cust_Ord_Customer_API.Get_Name(CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1)), + IFSAPP.Inventory_Part_API.Get_Description(CONTRACT, PART_NO), + IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, + PART_NO), + ifsapp.inventory_part_api.GET_UNIT_MEAS(CONTRACT ,PART_NO) + /*, + ((Customer_Order_API.Get_Total_Base_Price(source_ref1) / + SUM(Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, + source_ref3, + source_ref4))) * + Quantity)*/ +/* ((Customer_Order_API.Get_Total_Base_Price(source_ref1) / + Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, + source_ref3, + source_ref4)) * + (Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, + source_ref3, + source_ref4) - + Quantity))*/ + ORDER BY EXTRACT(YEAR FROM DATE_CREATED), + EXTRACT(MONTH FROM DATE_CREATED), + PART_NO, + CONTRACT \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Units shipped per month by Location Late Shipment.txt b/REPORTS/HasaliLK/Quick reports/Units shipped per month by Location Late Shipment.txt new file mode 100644 index 0000000..1c6d71e --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Units shipped per month by Location Late Shipment.txt @@ -0,0 +1,54 @@ +SELECT contract, + EXTRACT(YEAR FROM DATE_CREATED) Year, + EXTRACT(MONTH FROM DATE_CREATED) Period, + IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1) "Customer", + IFSAPP.Cust_Ord_Customer_API.Get_Name(CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1)) "Customer Name", + PART_NO, + IFSAPP.Inventory_Part_API.Get_Description(CONTRACT, PART_NO) "Part Description", + IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, PART_NO) "Product Family", + SUM(QUANTITY) as Quantity, + TO_CHAR(SUM((Customer_Order_Line_API.Get_Base_Sale_Price_Total(source_ref1, + source_ref2, + source_ref3, + source_ref4) / + (Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, + source_ref3, + source_ref4))) * Quantity),'999,999,999,999,999.99','NLS_NUMERIC_CHARACTERS=",."') as "Late Shipment $ MDT", + + + + COUNT(HANDLING_UNIT_ID) as Pallets + FROM INVENTORY_TRANSACTION_HIST2 + WHERE TRANSACTION_CODE = 'OESHIP' +AND (TRUNC(DATE_CREATED) >= to_date('&VALID_FROM','MM/DD/YYYY') AND + TRUNC(DATE_CREATED) <= to_date('&VALID_TO','MM/DD/YYYY')) + AND CONTRACT LIKE NVL('&Site', '%') + AND PART_NO LIKE nvl('&PartNo', '%') + AND (IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1) is null or + IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1) LIKE + NVL('&CustomerNo', '%')) + AND (IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, PART_NO) is null or + IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, PART_NO) LIKE + NVL('&PartProductFamily', '%')) + and (Customer_Order_Line_API.Get_Planned_Delivery_Date(source_ref1, + source_ref2, + source_ref3, + source_ref4)) <= (DATE_CREATED + CUSTOMER_ORDER_API.Get_Delivery_Leadtime(source_ref1) - 1) + + + + GROUP BY PART_NO, + contract, + EXTRACT(YEAR FROM DATE_CREATED), + EXTRACT(MONTH FROM DATE_CREATED), + IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1), + IFSAPP.Cust_Ord_Customer_API.Get_Name(CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1)), + IFSAPP.Inventory_Part_API.Get_Description(CONTRACT, PART_NO), + IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, + PART_NO) + + ORDER BY EXTRACT(YEAR FROM DATE_CREATED), + EXTRACT(MONTH FROM DATE_CREATED), + PART_NO, + CONTRACT \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/Units shipped per month by Location.txt b/REPORTS/HasaliLK/Quick reports/Units shipped per month by Location.txt new file mode 100644 index 0000000..088666c --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/Units shipped per month by Location.txt @@ -0,0 +1,32 @@ +SELECT contract, + EXTRACT(YEAR FROM DATE_CREATED) Year, + EXTRACT(MONTH FROM DATE_CREATED) Period, + IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1) "Customer", + IFSAPP.Cust_Ord_Customer_API.Get_Name(CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1)) "Customer Name", + PART_NO, + IFSAPP.Inventory_Part_API.Get_Description(CONTRACT, PART_NO) "Part Description", + IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, PART_NO) "Product Family", + SUM(QUANTITY) as Quantity, + COUNT(HANDLING_UNIT_ID) as Pallets + FROM INVENTORY_TRANSACTION_HIST2 + WHERE + TRANSACTION_CODE = 'OESHIP' + AND TRUNC(DATE_CREATED) between TO_DATE('&DATE_FROM','YYYY-MM-DD') AND TO_DATE ('&DATE_TO','YYYY-MM-DD') + AND CONTRACT LIKE NVL ('&Site' , '%' ) + AND PART_NO LIKE nvl ( '&PartNo', '%') +AND (IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1) is null or IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1) LIKE NVL ( '&CustomerNo' , '%') ) + AND (IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, PART_NO) is null or IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, PART_NO) LIKE NVL ( '&PartProductFamily' , '%')) + + GROUP BY PART_NO, + contract, + EXTRACT(YEAR FROM DATE_CREATED), + EXTRACT(MONTH FROM DATE_CREATED), + IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1), + IFSAPP.Cust_Ord_Customer_API.Get_Name(CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1)), + IFSAPP.Inventory_Part_API.Get_Description(CONTRACT, PART_NO), + IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, + PART_NO) + ORDER BY EXTRACT(YEAR FROM DATE_CREATED), + EXTRACT(MONTH FROM DATE_CREATED), + PART_NO, + CONTRACT \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Aged Inserts.xml b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Aged Inserts.xml new file mode 100644 index 0000000..08a92dc --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Aged Inserts.xml @@ -0,0 +1,57 @@ + + 963757 + B&F Year End - Aged Inserts + Select + SFPP.VENDOR_PART_NO "BF Item" + ,S.Part_No "IPL Part_No" + ,PC.Description + ,sum(QTY_ONHAND) "On Hand Qty" + ,TOP1.LAST_TRANS "Last Trans Date" + ,TOP1.TRANSACTION_CODE "Trans Type" + , round(sysdate-BCKFLUSH,0) "Days Since Last Used" + +From + PURCHASE_PART PP + inner join Part_Catalog PC on PC.Part_No=PP.Part_No + inner join INVENTORY_PART_IN_STOCK_UIV S on PP.Contract=S.Contract and PP.Part_No=S.Part_No + inner join PURCHASE_PART_SUPPLIER SFPP on SFPP.Part_No=S.Part_No and SFPP.Contract=S.Contract + left join + (Select * from (Select Contract,Part_No,DATE_TIME_CREATED Last_Trans,TRANSACTION_CODE,TRANSACTION_ID,ROW_NUMBER() OVER (PARTITION BY Contract,Part_No ORDER BY TRANSACTION_ID DESC) AS RowNumber + from INVENTORY_TRANSACTION_HIST2 + where TRANSACTION_CODE in ('BACFLUSH','COUNT-OUT','COUNT-IN','ARRIVAL','SOISS','UNISS','NREC','NISS','INVSCRAP','OESHIP') ) where RowNumber=1) TOP1 on S.Contract=TOP1.Contract and S.Part_No=TOP1.Part_No + + left join + (Select * from ( + Select Contract,Part_No,DATE_CREATED BCKFLUSH,ROW_NUMBER() OVER (PARTITION BY Contract,Part_No ORDER BY TRANSACTION_ID DESC) AS RowNumber from INVENTORY_TRANSACTION_HIST2 where TRANSACTION_CODE in ('BACFLUSH','SOISS') + ) where RowNumber=1) H2 on H2.Contract=S.Contract and H2.Part_No=S.Part_No + +where STAT_GRP='ZRM04P' and QTY_ONHAND>0 and S.Contract='2400' and VENDOR_NO='5008706' + +Group By SFPP.VENDOR_PART_NO, S.Part_No, PC.Description,LAST_TRANS,TOP1.TRANSACTION_CODE,BCKFLUSH +Order By round(sysdate-BCKFLUSH,0) desc,SFPP.VENDOR_PART_NO + Created by David Montminy +2024-11-05 + + + + + + SQL + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Dock.xml b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Dock.xml new file mode 100644 index 0000000..274a3c1 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Dock.xml @@ -0,0 +1,35 @@ + + 833569 + B&F Year End - Dock + Select X.CUSTOMER_PART_NO "BF Item", S.Part_No "IPL Part_No", SALES_PART_API.Get_Catalog_Desc(X.contract,X.CATALOG_NO) Description,S.LOCATION_NO "Dock Loc", sum(QTY_ONHAND) Qty_Staged + +from INVENTORY_PART_IN_STOCK_UIV S left join SALES_PART_CROSS_REFERENCE X on S.Contract=X.Contract and S.Part_No=X.Catalog_No + +where X.CUSTOMER_NO='3021548' and (LOCATION_NO in ('D01','D02','D03','D04') or LOCATION_NO like ('DD%') ) and QTY_ONHAND>0 +Group By X.CUSTOMER_PART_NO, S.Part_No, SALES_PART_API.Get_Catalog_Desc(X.contract,X.CATALOG_NO),S.LOCATION_NO,S.LOT_BATCH_NO + Created by David Montminy +2024-11-05 + + + + + + SQL + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Finished Goods.xml b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Finished Goods.xml new file mode 100644 index 0000000..777ca68 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Finished Goods.xml @@ -0,0 +1,42 @@ + + 724876 + B&F Year End - Finished Goods + Select +X.CUSTOMER_PART_NO "BF Item" +, S.Part_No "IPL Part_No" +, SALES_PART_API.Get_Catalog_Desc(X.contract,X.CATALOG_NO) Description +,S.LOCATION_NO +,sum(QTY_ONHAND) "On Hand Qty" + +from INVENTORY_PART_IN_STOCK_UIV S left join SALES_PART_CROSS_REFERENCE X on S.Contract=X.Contract and S.Part_No=X.Catalog_No + +where X.CUSTOMER_NO='3021548' and QTY_ONHAND+QTY_RESERVED+QTY_IN_TRANSIT>0 and S.BAY_NO not like ('D%') +Group By X.CUSTOMER_PART_NO, S.Part_No, SALES_PART_API.Get_Catalog_Desc(X.contract,X.CATALOG_NO),S.LOCATION_NO + +Order By S.LOCATION_NO + Created by David Montminy +2024-11-05 + + + + + + SQL + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Inserts.xml b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Inserts.xml new file mode 100644 index 0000000..ec1ec17 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_B&F Year End - Inserts.xml @@ -0,0 +1,35 @@ + + 909103 + B&F Year End - Inserts + Select SFPP.VENDOR_PART_NO "BF Item", S.Part_No "IPL Part_No", INVENTORY_PART_API.Get_Description(S.contract,S.part_no) Description,S.WAREHOUSE "WH",S.LOCATION_NO "Loc" +,case when INSTR(S.LOT_BATCH_NO,'-',1,1)=0 then S.LOT_BATCH_NO else SUBSTR(S.LOT_BATCH_NO,1,INSTR(S.LOT_BATCH_NO,'-',1,1)-1) end "BF Job No" +,sum(QTY_ONHAND) "On Hand Qty" +From PURCHASE_PART PP inner join INVENTORY_PART_IN_STOCK_UIV S on PP.Contract=S.Contract and PP.Part_No=S.Part_No inner join PURCHASE_PART_SUPPLIER SFPP on SFPP.Part_No=S.Part_No and SFPP.Contract=S.Contract where STAT_GRP='ZRM04P' and QTY_ONHAND>0 and S.Contract='2400' and VENDOR_NO='5008706' +Group By SFPP.VENDOR_PART_NO, S.Part_No, INVENTORY_PART_API.Get_Description(S.contract,S.part_no),S.WAREHOUSE,S.LOCATION_NO,S.LOT_BATCH_NO +Order By S.LOCATION_NO + Created by David Montminy +2024-11-05 + + + + + + SQL + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Burd & Fletcher Year End - Finished Goods.xml b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Burd & Fletcher Year End - Finished Goods.xml new file mode 100644 index 0000000..b059d89 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Burd & Fletcher Year End - Finished Goods.xml @@ -0,0 +1,42 @@ + + 724876 + Burd & Fletcher Year End - Finished Goods + Select +X.CUSTOMER_PART_NO "BF Item" +, S.Part_No "IPL Part_No" +, SALES_PART_API.Get_Catalog_Desc(X.contract,X.CATALOG_NO) Description +,S.LOCATION_NO +,sum(QTY_ONHAND) "On Hand Qty" + +from INVENTORY_PART_IN_STOCK_UIV S left join SALES_PART_CROSS_REFERENCE X on S.Contract=X.Contract and S.Part_No=X.Catalog_No + +where X.CUSTOMER_NO='3021548' and QTY_ONHAND+QTY_RESERVED+QTY_IN_TRANSIT>0 and S.BAY_NO not like ('D%') +Group By X.CUSTOMER_PART_NO, S.Part_No, SALES_PART_API.Get_Catalog_Desc(X.contract,X.CATALOG_NO),S.LOCATION_NO + +Order By S.LOCATION_NO + Created by David Montminy +2024-11-05 + + + + + + SQL + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Cust_Specific_vs_Deco_Part.xml b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Cust_Specific_vs_Deco_Part.xml new file mode 100644 index 0000000..7110625 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Cust_Specific_vs_Deco_Part.xml @@ -0,0 +1,73 @@ + + 338029 + Cust_Specific_vs_Deco_Part + Select distinct CS.Company,IP.Contract, IP.Part_NO,PC.DESCRIPTION,C2.ATTR_VALUE_ALPHA "Characteristic", X.CUSTOMER_NO "Cross_Ref",CO.CUSTOMER_NO "Customer Order" + +FROM Inventory_Part IP +inner join + ( + SELECT distinct R.PART_NO + FROM ROUTING_OPERATION R inner join WORK_CENTER W on R.WORK_CENTER_NO=W.WORK_CENTER_NO + WHERE W.DEPARTMENT_NO='OFFSE' and R.BOM_TYPE_DB='M' and R.ALTERNATIVE_NO='*' and R.OPERATION_NO='10' and Routing_Alternate_API.Get_State(R.CONTRACT,R.PART_NO,R.ROUTING_REVISION,R.BOM_TYPE,R.ALTERNATIVE_NO)='Buildable' + + UNION + + SELECT distinct R.PART_NO + FROM + ROUTING_OPERATION R + inner join WORK_CENTER W on R.WORK_CENTER_NO=W.WORK_CENTER_NO + inner join MANUF_STRUCTURE M on M.ALTERNATIVE_NO=R.ALTERNATIVE_NO and M.PART_NO=R.PART_NO and M.CONTRACT=R.CONTRACT and M.OPERATION_NO=R.OPERATION_NO and M.BOM_TYPE_DB=R.BOM_TYPE_DB and M.OPERATION_NO=R.OPERATION_NO + inner join PURCHASE_PART P on P.PART_NO=M.COMPONENT_PART and P.Contract=M.Contract + + WHERE W.DEPARTMENT_NO in ('INJEC','DAIRY') and R.BOM_TYPE_DB='M' and R.ALTERNATIVE_NO='*' and R.OPERATION_NO='10' and Routing_Alternate_API.Get_State(R.CONTRACT,R.PART_NO,R.ROUTING_REVISION,R.BOM_TYPE,R.ALTERNATIVE_NO)='Buildable' and MANUF_STRUCT_ALTERNATE_API.Get_State(M.contract,M.part_no,M.eng_chg_level,M.bom_type,M.alternative_no)='Buildable' and P.STAT_GRP in ('ZRM07A','ZRM07B') + ) Q on IP.PART_NO=Q.PART_NO + + + +left join (Select Contract,Part_No from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE='00034') C1 on IP.Contract=C1.Contract and IP.Part_No=C1.Part_No +left join (Select Contract,Part_no,ATTR_VALUE_ALPHA From INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE='00032') C2 on IP.Contract=C2.Contract and IP.Part_No=C2.Part_NO +left join (Select * from (Select Contract,Catalog_No,CUSTOMER_NO, count(CUSTOMER_NO) OVER (PARTITION BY catalog_no,Contract) AS Cust_Count from SALES_PART_CROSS_REFERENCE) where Cust_Count=1) X on X.Contract=IP.Contract and X.CATALOG_NO=IP.Part_No +left join (Select * from (Select distinct catalog_no,Contract,CUSTOMER_NO,count(CUSTOMER_NO) OVER (PARTITION BY catalog_no,Contract) AS Cust_Count from CUSTOMER_ORDER_JOIN where DATE_ENTERED>=sysdate-3*365 and LENGTH(CUSTOMER_NO)>5) where Cust_Count=1) CO on IP.Contract=CO.Contract and IP.Part_No=CO.Catalog_No +inner join COMPANY_SITE CS on CS.Contract=IP.Contract +inner join PART_CATALOG PC on PC.Part_No=IP.Part_No + +WHERE C2.Part_No is null and IP.PART_STATUS in ('D','A') and IP.ACCOUNTING_GROUP in ('MFG','PFR') and IP.PART_PRODUCT_FAMILY<>'NF7000' and IP.Part_No not in ('1000873','1001310','1123056','1045181','1044715','1130859','1123057','1044795','1044426','1123006','1044481','1130865') +or (C1.Part_No is null and IP.PART_STATUS in ('D','A') and IP.ACCOUNTING_GROUP in ('MFG','PFR') and IP.PART_PRODUCT_FAMILY<>'NF7000' and IP.Part_No not in ('1000873','1001310','1123056','1045181','1044715','1130859','1123057','1044795','1044426','1123006','1044481','1130865') ) +or (IP.PART_STATUS in ('D','A') and IP.ACCOUNTING_GROUP in ('MFG','PFR') and IP.PART_PRODUCT_FAMILY<>'NF7000' and C2.ATTR_VALUE_ALPHA<>CO.CUSTOMER_NO and IP.Part_No not in ('1000873','1001310','1123056','1045181','1044715','1130859','1123057','1044795','1044426','1123006','1044481','1130865') ) +or (IP.PART_STATUS in ('D','A') and IP.ACCOUNTING_GROUP in ('MFG','PFR') and IP.PART_PRODUCT_FAMILY<>'NF7000' and C2.ATTR_VALUE_ALPHA<>X.CUSTOMER_NO and IP.Part_No not in ('1000873','1001310','1123056','1045181','1044715','1130859','1123057','1044795','1044426','1123006','1044481','1130865') ) +or (LENGTH(C2.ATTR_VALUE_ALPHA)<>7 and IP.Part_No not in ('1000873','1001310','1123056','1045181','1044715','1130859','1123057','1044795','1044426','1123006','1044481','1130865') ) +Order by CS.Company,IP.Part_No,IP.Contract + Report to validate if the Customer Specific number characteristic is in live with the sales and the X-Reference for decorated parts + +Validation #1: Decorated parts for which characteristic 00032 is missing in that site +Validation #2: If the decorated part has only 1 X-Ref and the customer for that X-Ref is different than the characteristic value +Validation #3: If the decorated part has been sold to only 1 customer in the last year and that customer is different than the characteristic value. + + +Created by: David Montminy +2024-11-05 +IPNA-103365 + + + + + + SQL + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Encoding - Label used _ 1 str.xml b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Encoding - Label used _ 1 str.xml new file mode 100644 index 0000000..7b99f98 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Encoding - Label used _ 1 str.xml @@ -0,0 +1,56 @@ + + 294968 + Encoding - Label used > 1 str + Select +IP.Contract +,IP.Part_No Child +,IP.Description Child_Description +,MS2.Part_No +,P.Description Parent_Description + +,IP.TYPE_CODE +,IP.PART_STATUS +,MS.Freq + + +From Inventory_Part_cfv IP inner join INVENTORY_PART_CHAR_ALL C on IP.Part_No=C.Part_No and IP.Contract=C.Contract +inner join + +(Select Contract,COMPONENT_PART, count(COMPONENT_PART) Freq from MANUF_STRUCTURE MS where MANUF_STRUCT_ALTERNATE_API.Get_State(Ms.contract,MS.part_no,MS.eng_chg_level,MS.bom_type,MS.alternative_no)='Buildable' and MS.EFF_PHASE_OUT_DATE is null and alternative_no='*' group by Contract,Component_Part having count(COMPONENT_PART)>=2) MS on MS.COMPONENT_PART=IP.Part_No and MS.Contract=IP.Contract + +inner join MANUF_STRUCTURE MS2 on MS2.COMPONENT_PART=IP.Part_No and MS2.Contract=IP.Contract +inner join Part_Catalog P on MS2.Part_No=P.Part_No + +where C.CHARACTERISTIC_CODE='00006' and C.ATTR_VALUE_ALPHA in ('IML','PAPET INSERT','HEAT TRANSFER') +and MANUF_STRUCT_ALTERNATE_API.Get_State(Ms2.contract,MS2.part_no,MS2.eng_chg_level,MS2.bom_type,MS2.alternative_no)='Buildable' and MS2.EFF_PHASE_OUT_DATE is null and MS2.alternative_no='*' and IP.Part_No not in ('1011502','1011501') + +Order by IP.Contract +,IP.Part_No +,MS2.Part_No + Will list labels ('IML','PAPET INSERT','HEAT TRANSFER') that are used in more than 1 active structure. +Created by: David Montminy +Created: 2024-07-23 + 53 + Structure + 19 + Manufacturing + + SQL + + + + + + + 53 + Structure + + + + + 19 + Manufacturing + + + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Maintenance Purchase Parts.xml b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Maintenance Purchase Parts.xml new file mode 100644 index 0000000..301422f --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Maintenance Purchase Parts.xml @@ -0,0 +1,47 @@ + + 410360 + Maintenance Purchase Parts + Select + +PRL.REQUISITION_NO as "Requisition No", +PRL.LINE_NO as "Line No", +PRL.PART_NO as "Part No", +PRL.DESCRIPTION "Description", +PRL.STATE, +PRL.ORIGINAL_QTY as "Qty", +PRL.UNIT_MEAS as "Inv UoM", +Purchase_Req_Line_Part_API.Get_Qty_In_Purch_Unit(REQUISITION_NO,LINE_NO,RELEASE_NO) as "Purch Qty", +PRL.BUY_UNIT_MEAS as "Purch UoM", +IPIS.QTY_ONHAND as "On Hand Qty", +IPIS.LOCATION_NO as "Location" + +From +PURCHASE_REQ_LINE_ALL PRL inner join INVENTORY_PART_IN_STOCK_CFV IPIS on PRL.PART_NO = IPIS.PART_NO + +Where +PRL.CONTRACT = '&Contract' AND PRL.REQUISITIONER_CODE <> 'MRP' + + 54 + Preventive Maintenance + 9 + Maintenance + + SQL + + + + + + + 54 + Preventive Maintenance + + + + + 9 + Maintenance + + + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Planning Bill Analysis.xml b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Planning Bill Analysis.xml new file mode 100644 index 0000000..bb1b11f --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Planning Bill Analysis.xml @@ -0,0 +1,215 @@ + + 674035 + Planning Bill Analysis + Select +PB.COMPANY +,PB.CONTRACT +,C150.ATTR_VALUE_ALPHA "Part Commodity" +,C034.ATTR_VALUE_ALPHA "Part Decoration" +,IP.TYPE_DESIGNATION "Type Designation" +,PB.CATALOG_NO +,PB.CATALOG_DESC "Part Description" +,PB.REAL_SHIP_DATE +,PB.ORDER_NO +,PB.LINE_NO +,PB.REL_NO +,PB.CUSTOMER_NO +,PB.NAME "Customer Name" +,PB.Qty +,C150L.ATTR_VALUE_ALPHA "Level Part Commodity" +,C034L.ATTR_VALUE_ALPHA "Level Part Decoration" +,"Level" +,IP2.TYPE_DESIGNATION "Level Part Type Designation" +,PB.Level_Part_No +,IP2.Description "Level Part Description" +,PB.Qty_Extended "Qty Extended" + + + From +( +Select +CS.COMPANY +,CO.CONTRACT +,CO.CATALOG_NO +,CO.CATALOG_DESC +,CO.REAL_SHIP_DATE +,CO.ORDER_NO +,CO.LINE_NO +,CO.REL_NO +,CO.CUSTOMER_NO +,CU.NAME +,DECODE(CO.CATALOG_TYPE_DB, 'INV', CO.QTY_SHIPPED, NULL) Qty +,CO.CATALOG_NO Level_Part_No +,DECODE(CO.CATALOG_TYPE_DB, 'INV', CO.QTY_SHIPPED, NULL) Qty_Extended +,0 as "Level" + +From CUSTOMER_ORDER_LINE CO + inner join COMPANY_SITE CS on CS.CONTRACT=CO.CONTRACT and CO.STATE in ('Delivered','Partially Delivered','Invoiced/Closed') + inner join CUSTOMER_INFO CU on CU.CUSTOMER_ID=CO.CUSTOMER_NO + +Where CS.COMPANY in '&Company' and CO.Contract like nvl ('&Contract','%') and CATALOG_NO like trim(nvl ('&Part_No','%')) and trunc(CO.REAL_SHIP_DATE) BETWEEN TO_DATE('&DATE_FROM','YYYY-MM-DD') AND TO_DATE ('&DATE_TO','YYYY-MM-DD') +and length(CO.CUSTOMER_NO)>5 + + +UNION + + + +Select +CS.COMPANY +,CO.CONTRACT +,CO.CATALOG_NO +,CO.CATALOG_DESC +,CO.REAL_SHIP_DATE +,CO.ORDER_NO +,CO.LINE_NO +,CO.REL_NO +,CO.CUSTOMER_NO +,CU.NAME +,DECODE(CO.CATALOG_TYPE_DB, 'INV', CO.QTY_SHIPPED, NULL) Qty +,ML.Component_Part Level_Part_No +,DECODE(CO.CATALOG_TYPE_DB, 'INV', CO.QTY_SHIPPED, NULL)*ML.Qty_Per_Extended Qty_Extended +,Level_ as "Level" + +From CUSTOMER_ORDER_LINE CO + inner join COMPANY_SITE CS on CS.CONTRACT=CO.CONTRACT and CO.STATE in ('Delivered','Partially Delivered','Invoiced/Closed') + inner join CUSTOMER_INFO CU on CU.CUSTOMER_ID=CO.CUSTOMER_NO + inner join + ( + Select + RC.contract + ,RC.Root_Part_No + ,IP.Description "Description_Root_Part_No" + ,RC.Level_ + ,RC.PART_NO + ,substr(RC.Chemin,2,100) Structure_Path + ,RC.Component_Part + ,RC.QTY_PER_ASSEMBLY + ,RC.Qty_Per_Extended + + from ifsapp.Inventory_Part IP + inner join + + ( + Select + MS.Contract + ,CONNECT_BY_ROOT MS.PART_NO Root_Part_No + ,LEVEL Level_ + ,MS.PART_NO + ,MS.COMPONENT_PART + ,SYS_CONNECT_BY_PATH(MS.PART_NO, '_') Chemin + ,MS.QTY_PER_ASSEMBLY + ,XMLQUERY ( ('1' || SYS_CONNECT_BY_PATH (MS.QTY_PER_ASSEMBLY, '*')) + RETURNING CONTENT + ).getnumberval () AS Qty_Per_Extended + ,A.Alternative_No + + + from + ifsapp.MANUF_STRUCTURE_cfv MS + inner join ifsapp.MANUF_STRUCT_ALTERNATE A + on MS.Contract=A.Contract + and MS.PART_NO=A.PART_NO and MS.ALTERNATIVE_NO=A.ALTERNATIVE_NO + and MS.ENG_CHG_LEVEL=A.ENG_CHG_LEVEL and MS.BOM_TYPE=A.BOM_TYPE + and A.STATE='Buildable' + inner join ifsapp.INVENTORY_PART IP on IP.Contract=MS.Contract and IP.Part_No=MS.Component_Part + inner join ifsapp.INVENTORY_PART_PLANNING IPP on IPP.Contract=MS.Contract and IPP.Part_No=MS.Component_Part + + + where MS.BOM_TYPE_DB='M' + and EFF_PHASE_OUT_DATE is null + and MS.Contract like nvl ('&Contract','%') + and CONNECT_BY_ROOT MS.PART_NO like nvl ('&Part_No','%') + and MS.ALTERNATIVE_NO ='*' + and IP.TYPE_CODE_DB in ('1','2') + and IP.PART_STATUS = 'A' + and IP.ACCOUNTING_GROUP in ('MFG','COMP') + and IPP.PLANNING_METHOD in ('A','G') + and MS.COMPONENT_PART not in ('1006628','1054478') + + + CONNECT BY + PRIOR MS.COMPONENT_PART=MS.PART_NO + and PRIOR MS.component_contract = MS.contract + and PRIOR MS.ALTERNATIVE_NO=MS.ALTERNATIVE_NO + and PRIOR A.STATE=A.STATE + ) + RC on IP.Contract=RC.Contract and IP.PART_NO=RC.Root_Part_No + + + where IP.TYPE_CODE_DB in ('1','2') and IP.PART_STATUS = 'A' and IP.ACCOUNTING_GROUP in ('MFG','COMP') + ) ML on ML.Contract=CO.Contract and ML.Root_Part_No=CO.Catalog_No + + +Where CS.COMPANY in '&Company' and CO.Contract like nvl ('&Contract','%') and CATALOG_NO like trim(nvl ('&Part_No','%')) and trunc(CO.REAL_SHIP_DATE) BETWEEN TO_DATE('&DATE_FROM','YYYY-MM-DD') AND TO_DATE ('&DATE_TO','YYYY-MM-DD') +and length(CO.CUSTOMER_NO)>5 + + +) PB + +inner join INVENTORY_PART IP on IP.Contract=PB.Contract and IP.Part_No=PB.CATALOG_No +inner join INVENTORY_PART IP2 on IP2.Contract=PB.Contract and IP2.Part_No=PB.Level_Part_No + + +OUTER APPLY (SELECT ATTR_VALUE_ALPHA FROM ifsapp.INVENTORY_PART_CHAR_ALL IPC WHERE CHARACTERISTIC_CODE='00150' and IPC.Part_No= PB.CATALOG_No AND IPC.CONTRACT=PB.CONTRACT) C150 + +OUTER APPLY (SELECT ATTR_VALUE_ALPHA FROM ifsapp.INVENTORY_PART_CHAR_ALL IPC WHERE CHARACTERISTIC_CODE='00150' and IPC.Part_No= PB.Level_Part_No AND IPC.CONTRACT=PB.CONTRACT) C150L + +OUTER APPLY (SELECT ATTR_VALUE_ALPHA FROM ifsapp.INVENTORY_PART_CHAR_ALL IPC WHERE CHARACTERISTIC_CODE='00034' and IPC.Part_No= PB.CATALOG_No AND IPC.CONTRACT=PB.CONTRACT) C034 + +OUTER APPLY (SELECT ATTR_VALUE_ALPHA FROM ifsapp.INVENTORY_PART_CHAR_ALL IPC WHERE CHARACTERISTIC_CODE='00034' and IPC.Part_No= PB.Level_Part_No AND IPC.CONTRACT=PB.CONTRACT) C034L + +Where +PB.Level_Part_No || '-' || "Level" not in ('1005100-2','1005100-3','1005100-4') + + +Order BY +Contract +,REAL_SHIP_DATE +,CUSTOMER_NO +,ORDER_NO +,LINE_NO +,REL_NO +,"Level" + This report convert the sold part into the molded part(s). You can then convert the sales into manufacturing requirements. +If the sold part is a multi component parts, then it will disaggregating it into all molded parts/components of that part. +Last level is the PART_NO of the initial manufacturing step of that sold part. + +Format Date : YYYY-MM-DD + +IPNA-102977 +Created by: David Montminy +Date: 2024-11-29 + +Old HA 2025-02-23 + trunc(&FND_USER.VALID_FROM) and trunc(&FND_USER.VALID_TO) + +New HA 2025-02-23 +TO_DATE('&DATE_FROM','YYYY-MM-DD') AND TO_DATE ('&DATE_TO','YYYY-MM-DD') + +2025-07-25 +Updated the SQL to align with the SQL in IPL Live Environment, during IPL Cloud upgrade project + + + + + + SQL + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Project Balance Report.xml b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Project Balance Report.xml new file mode 100644 index 0000000..ce775c0 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Project Balance Report.xml @@ -0,0 +1,71 @@ + + 568995 + Project Balance Report + SELECT C.COMPANY||SUBSTR( '&[-C--L]Company',1,0) "COMPANY", + C.PROJECT_GROUP "PROJECT GROUP" , + B.PROJECT_ID "PROJECT ID" , + ifsapp.ACCOUNT_API.Get_Logical_Account_Type_Db( b.company, b.account) accnt_type, + B.ACCOUNT "ACCOUNT" , + C.PROJECT_STATUS , + to_char(MAX( C.READY_DATE) ,'YYYY-MM-DD') "COMPLETION DATE", + D.PROJECT_TYPE "PROJECT TYPE" , + C.PROJECT_LEADER "PROJECT LEADER" , + SUM( amount_balance) "total_amount" , + SUM( DECODE( SIGN( TO_NUMBER(B.ACCOUNTING_YEAR||DECODE(SIGN(10-B.ACCOUNTING_PERIOD),1,'0'||B.ACCOUNTING_PERIOD,B.ACCOUNTING_PERIOD)) - TO_NUMBER('&[M-S--]Until_year'||DECODE(SIGN(10-'&[M-S--]From_period'),1,'0'|| '&[M-S--]From_period','&[M-S--]From_period'))),-1,0,1,b.amount_balance,0,b.amount_balance)) + DECODE('&[M-S--]until_period',1,0,0) amount_balance, + + SUM( DECODE( SIGN( TO_NUMBER(B.ACCOUNTING_YEAR||DECODE(SIGN(10-B.ACCOUNTING_PERIOD),1,'0'||B.ACCOUNTING_PERIOD,B.ACCOUNTING_PERIOD)) - TO_NUMBER('&[M-S--]Until_year'||'01')),-1,0,1,b.amount_balance,0,b.amount_balance)) until_amount_balance, + SUM( DECODE(B.BUDGET_VERSION, '&Budget_version',B.BUDGET_AMOUNT,0)) total_budget_amount, + SUM( DECODE( SIGN( TO_NUMBER(B.ACCOUNTING_YEAR||DECODE(SIGN(10-B.ACCOUNTING_PERIOD),1,'0'||B.ACCOUNTING_PERIOD,B.ACCOUNTING_PERIOD)) - TO_NUMBER( '&[M-S--]Until_year'||DECODE(SIGN(10-'&[M-S--]From_period'),1,'0'||'&[M-S--]From_period','&[M-S--]From_period'))),-1,0,1,DECODE(B.BUDGET_VERSION, '&Budget_version',B.BUDGET_AMOUNT, 0),0,DECODE(B.BUDGET_VERSION, '&Budget_version',B.BUDGET_AMOUNT, 0))) budget_amount, + SUM( DECODE( SIGN( TO_NUMBER(B.ACCOUNTING_YEAR||DECODE(SIGN(10-B.ACCOUNTING_PERIOD),1,'0'||B.ACCOUNTING_PERIOD,B.ACCOUNTING_PERIOD)) - TO_NUMBER('&[M-S--]Until_year'||'01')),-1,0,0,DECODE(B.BUDGET_VERSION, '&Budget_version', B.BUDGET_AMOUNT),1,DECODE(B.BUDGET_VERSION, '&Budget_version',B.BUDGET_AMOUNT))) until_budget_amount + FROM ifsapp.PROJECT_BALANCE_BUDGET B + inner join ifsapp.ACCOUNTING_PROJECT C on B.PROJECT_ID= C.PROJECT_ID and B.COMPANY = C.COMPANY + inner join ifsapp.ACCOUNTING_PROJECT_LEDGER D on C.PROJECT_ID= D.PROJECT_ID and C.COMPANY = D.COMPANY + + WHERE + ( C.COMPANY LIKE NVL( '&[-C--L]Company' ,'%') OR C.Company in (SELECT REGEXP_SUBSTR(d__.str, '[^;]+', 1, LEVEL) AS val_ FROM (SELECT '&[-C--L]Company' AS str FROM DUAL) d__ CONNECT BY LEVEL <= REGEXP_COUNT(d__.str, ';') + 1) ) + AND D.ledger_id IN ('*', '00') +AND B.ACTIVATE_CODE = 'COST/REV' + AND D.project_type != 'P' AND Account_API.Get_Logical_Account_Type_Db(b.company , b.account) IN ('R','C') +AND (TO_NUMBER(B.ACCOUNTING_YEAR||DECODE(SIGN(10-B.ACCOUNTING_PERIOD),1,'0'||B.ACCOUNTING_PERIOD,B.ACCOUNTING_PERIOD)) <= TO_NUMBER('&[M-S--]Until_year'||DECODE(SIGN(10-'&[M-S--]until_period'),1,'0'||'&[M-S--]until_period','&[M-S--]until_period'))) +AND ('&Project_status' = '%' OR C.PROJECT_STATUS LIKE NVL( '&Project_status','%' ) OR C.PROJECT_STATUS IS NULL) + + + GROUP BY C.COMPANY,C.PROJECT_GROUP, B.PROJECT_ID, + ifsapp.ACCOUNT_API.Get_Logical_Account_Type_Db( b.company, b.account), + B.ACCOUNT, D.PROJECT_TYPE, C.PROJECT_LEADER, C.PROJECT_STATUS + ORDER BY C.COMPANY,C.PROJECT_GROUP, B.PROJECT_ID, accnt_type DESC, B.ACCOUNT ASC + IPNA-103935 +Source code from IFS Report : Project Balance Peport +Date : 2024-12-09 Isabelle Guillement , Hamid Azzoune +Parameter : +Company : Single or Multi, Example : 1000;2100 or Blank (for all sites) +Until_year : YYYY +From_period : Month, example : 1 +Until_period : Month, example : 12 +Budget_version : Default blank +Project_status : Blank or % for all status (Active;Completed) + + 29 + Project Reporting + 21 + Procurement + + SQL + + + + + + + 29 + Project Reporting + + + + + 21 + Procurement + + + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Sales Report.xml b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Sales Report.xml new file mode 100644 index 0000000..601f8e3 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Sales Report.xml @@ -0,0 +1,154 @@ + + 515502 + Sales Report + Select + INV.Company + ,Company.Name + ,SS.Acct_Currency_Code as "Curr Company" + ,INV.Contract "Site" + ,INV.Catalog_No as "Part No" + ,INV.Description + ,TO_CHAR(INV.Invoice_Date, 'YYYY-MM-DD') "Date Trans" + ,TO_CHAR(INV.Invoice_Date, 'YYYY-MM') "YYYY-MM" + ,Case when Inv.Price_Adjustment='TRUE' then 0 + else Inv.Invoiced_Qty End "Invoiced Qty" + ,INV.Sale_Um UoM + ,STOCK.Part_Product_Family "Product Family" + ,STOCK.Part_Product_Code "Product Code" + ,STOCK.Type_Designation "Type Designation" + ,INV.Identity "Customer No" + ,CUST.Name "Customer Name" + ,CUST.Category "Customer Type" + ,IPP.CF$_QTY_ON_HAND "Qty on Hand" + ,IPP.Safety_Stock "Safety Stock" + ,IPP.MIN_ORDER_QTY "Min Lot Size" + ,IPP.CF$_MIN_SALES_QTY "Min Sales Qty" + ,STOCK.CF$_HU_QTY "HU Qty" + ,SS.Price_Source "Price Source" + ,SS.Price_Source_Id "Price Source ID" + ,customer_order.order_id "Order Type" + ,INV.Order_No "Order No" + ,INV.Line_No "Line No" + ,INV.Release_No "Rel No" + ,INV.Invoice_No "Invoice No" + ,cust_order_inv_head_uiv_all.DELIVERY_ADDRESS_ID "Address ID" + ,SHIP.Name "Ship Name" + ,SHIP.Country "Ship Ctry" + ,SHIP.State "Ship State" + ,SHIP.City "Ship City" + ,SS.Cf$_Main_Rep "Main Rep" + ,SS.Market_Desc "Market Desc" + ,SS.Region_Code "Region Code" + ,SS.Country_Code "Ctry Code" + ,Case when customer_order.District_Code is null then SS.District_Code + else customer_order.District_Code end as "District Code" + ,Case when customer_order.District_Code is null then SS.District_Desc + else SALES_DISTRICT.Description end as "District Description" + ,customer_order.Delivery_Terms "Delivery Terms" + ,INV.Customer_Po_No "Customer PO NO" + ,cust_order_inv_head_uiv_all.Shipment_Id "Shipment ID" + ,shipment_cfv.Cf$_Freight_Charge "Ttl Freight Cost" + ,STOCK.C_Resin_Type "Resin Type" + ,STOCK.C_Resin_Weight "Resin Weight" + ,Case when Inv.Price_Adjustment='TRUE' then 0 + else (INV.Invoiced_Qty*STOCK.C_Resin_Weight*Sales_Part.CONV_FACTOR) End "Ttl Resin Weight" + ,INV.Sale_Unit_Price "Sales Unit Price" + ,INV.Currency_Code "Currency Code" + ,INV.Net_Curr_Amount "Net Amount Curr" + ,INV.Net_Dom_Amount "Net Amount Co" + ,SS.Cost + ,Sales_Part.CONV_FACTOR "Factor UoM" + ,COJ.Supply_Code "Supply Code" + ,COJ.Supply_Site "Supply Site" + ,X.CUSTOMER_PART_NO "Customer Part No" + ,Color.ATTR_VALUE_ALPHA "Color" + ,Pant.ATTR_VALUE_ALPHA "Pantone" + ,IML.Component_Part "IML" + +from + CUSTOMER_ORDER_INV_ITEM_JOIN INV + inner join company on INV.Company = Company.Company + inner join inventory_part_cfv STOCK on INV.Catalog_No = STOCK.Part_No and INV.Contract = STOCK.Contract + left join cust_ord_cust1 CUST on INV.Identity = CUST.Customer_No + left join cust_ord_invo_stat_cfv SS on INV.Invoice_id = SS.Invoice_id and INV.Item_id = SS.Item_id + left join customer_order on INV.Order_No = customer_order.Order_No + left join cust_order_inv_head_uiv_all on INV.Invoice_No = cust_order_inv_head_uiv_all.Invoice_No and INV.Series_ID = cust_order_inv_head_uiv_all.Series_Id + left join shipment_cfv on cust_order_inv_head_uiv_all.shipment_Id = shipment_cfv.shipment_Id + left join SALES_DISTRICT on customer_order.District_Code = SALES_DISTRICT.District_Code + inner join SALES_PART on INV.Contract = SALES_PART.Contract and INV.Catalog_No = SALES_PART.Part_no + inner join CUSTOMER_INFO_ADDRESS SHIP on INV.Identity = SHIP.Customer_Id and cust_order_inv_head_uiv_all.DELIVERY_ADDRESS_ID = SHIP.Address_Id + left join CUSTOMER_ORDER_JOIN COJ on INV.Order_No = COJ.Order_No and INV.Line_No = COJ.Line_No and INV.Release_No = COJ.Rel_No + left join (Select contract, part_no, CASE WHEN substr(ATTR_VALUE_ALPHA,1,3)='DRY' THEN 'OFFFSET' else ATTR_VALUE_ALPHA end Decoration from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE='00034') C34 on INV.Contract=C34.Contract and INV.Catalog_No=C34.Part_No + inner join INVENTORY_PART_PLANNING_cfv IPP on IPP.Contract=INV.Contract and IPP.Part_No=INV.Catalog_No + left join SALES_PART_CROSS_REFERENCE X on X.Contract=INV.Contract and X.Catalog_No=INV.Catalog_No and X.CUSTOMER_NO=INV.Identity + left join (Select contract,part_no,ATTR_VALUE_ALPHA from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00025','00028')) Color on Color.Contract=INV.Contract and Color.PArt_No=INV.Catalog_No + left join (Select contract,part_no,ATTR_VALUE_ALPHA from INVENTORY_PART_CHAR_ALL where CHARACTERISTIC_CODE in ('00079')) Pant on Pant.Contract=INV.Contract and Pant.PArt_No=INV.Catalog_No + left join ( + Select + MS.Contract + ,MS.Part_No + ,LISTAGG(MS.COMPONENT_PART ,' + ') WITHIN GROUP (Order By MS.Component_Part) Component_Part + From + MANUF_STRUCTURE MS + inner join Purchase_Part_Cfv PP on MS.Contract=PP.Contract and MS.Component_Part=PP.Part_No + + Where + PP.CF$_PURCHASE_PART_CAT_2='RM07A' + and MS.Alternative_No='*' + and MS.BOM_TYPE_DB='M' + and MANUF_STRUCT_ALTERNATE_API.Get_State(MS.contract,MS.part_no,MS.eng_chg_level,MS.bom_type,MS.alternative_no)='Buildable' + and MS.EFF_PHASE_OUT_DATE is null + + Group By MS.Contract, MS.Part_No + ) IML on IML.Contract=INV.Contract and IML.Part_No=INV.Catalog_No + +where + INV.Series_ID<>'PR' + and INV.COMPANY LIKE NVL( '&COMPANY', '%') + and INV.CONTRACT LIKE NVL('%&CONTRACT%', '%') + and TO_DATE(TO_CHAR(INV.Invoice_Date, 'YYYY-MM-DD'), 'YYYY-MM-DD') between to_date('&BeginDate', 'YYYY-MM-DD') and to_date('&EndDate', 'YYYY-MM-DD') + and INV.Identity like NVL('&Customer_No','%') + and STOCK.Type_Designation like NVL('&Type_Designation','%') + Prameters: + Company (optional) -> In IFS Cloud LOVs are not supported due to limitations. Hence, a field is being used + Site (Optional) -> In IFS Cloud LOVs are not supported due to limitations. Hence, a field is being used + Date format (mandatory) : YYYY-MM-DD ex: 2022-10-01 + Customer No (Optional) + Type designation (Optional) + + +#SR-1659 +Requested by: Kelly Michaud (Edmundston) +Created: 2025-02-27 +Created by David Montminy +Adapted version of quick report "Sales Report (Pro-Format)" created by Nicolas Perreault + +#SR-4140 +Requested by: Kelly Michaud (Edmundston) +Updated: 2025-03-26 +Updated by David Montminy +Update: Adding the Sales Part cross ref + Colour + IML related to the finished goods + + + + + + SQL + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Top 10 Customers.xml b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Top 10 Customers.xml new file mode 100644 index 0000000..e76c47b --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Top 10 Customers.xml @@ -0,0 +1,46 @@ + + 736273 + Top 10 Customers + SELECT CUSTOMER_NO AS Customer, + CUSTOMER_NAME, + ACCT_CURRENCY_CODE AS Currency, + SUM(NET_AMOUNT) AS Sales, + SUM(INVOICED_QTY) AS Quantity + + FROM CUST_ORD_INVO_STAT t + + Where (TRUNC(INVOICE_DATE) >= TO_DATE('&Valid_From', 'MM/DD/YYYY') AND TRUNC(INVOICE_DATE) <= TO_DATE('&Valid_To', 'MM/DD/YYYY')) + AND COMPANY LIKE '%&USER_ALLOWED_COMPANY_LOV.COMPANY%' + AND AUTHORIZE_CODE LIKE '%&ORDER_COORDINATOR_LOV.AUTHORIZE_CODE%' + AND CUST_GRP LIKE '%&CUSTOMER_GROUP.CUST_GRP%' + + GROUP BY CUSTOMER_NO, CUSTOMER_NAME, ACCT_CURRENCY_CODE + ORDER BY Sales DESC,Quantity DESC + FETCH NEXT 10 ROWS ONLY + --CRIM 336-- +MM/DD/YYYY +Created by Aathif + 68 + Sales Quotation + 14 + Sales + + SQL + + + + + + + 68 + Sales Quotation + + + + + 14 + Sales + + + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Units shipped per month by Location (Sales $ MTD) .xml b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Units shipped per month by Location (Sales $ MTD) .xml new file mode 100644 index 0000000..0833100 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/QuickReports_Units shipped per month by Location (Sales $ MTD) .xml @@ -0,0 +1,126 @@ + + 280958 + Units shipped per month by Location (Sales $ MTD) + SELECT contract, + EXTRACT(YEAR FROM DATE_CREATED) Year, + EXTRACT(MONTH FROM DATE_CREATED) Period, + IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1) "Customer", + IFSAPP.Cust_Ord_Customer_API.Get_Name(CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1)) "Customer Name", + PART_NO, + IFSAPP.Inventory_Part_API.Get_Description(CONTRACT, PART_NO) "Part Description", + IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, PART_NO) "Product Family", + SUM(QUANTITY) as Quantity, +ifsapp.inventory_part_api.GET_UNIT_MEAS(CONTRACT ,PART_NO) AS Units, + TO_CHAR(SUM((Customer_Order_Line_API.Get_Base_Sale_Price_Total(source_ref1, + source_ref2, + source_ref3, + source_ref4) / + (Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, + source_ref3, + source_ref4)*Customer_Order_Line_API.Get_Conv_Factor(source_ref1, + source_ref2, + source_ref3, + source_ref4) )) * Quantity),'999,999,999,999,999.99','NLS_NUMERIC_CHARACTERS=",."') as "Sales $ MDT", + + + + /* SUM((Customer_Order_API.Get_Total_Base_Price(source_ref1) / + Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, + source_ref3, + source_ref4)) * + (Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, + source_ref3, + source_ref4) - Quantity)) as MTD2,*/ + + COUNT(HANDLING_UNIT_ID) as Pallets + FROM INVENTORY_TRANSACTION_HIST2 + WHERE TRANSACTION_CODE = 'OESHIP' +AND (TRUNC(DATE_CREATED) >= to_date('&VALID_FROM','MM/DD/YYYY') AND + TRUNC(DATE_CREATED) <= to_date('&VALID_TO','MM/DD/YYYY')) + AND CONTRACT LIKE NVL('&USER_ALLOWED_COMPANY_LOV.COMPANY', '%') + AND PART_NO LIKE nvl('&SALES_PART_INVENTORY_LOV.CATALOG_NO', '%') + AND (IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1) is null or + IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1) LIKE + NVL('&CUST_ORD_CUST7.CUSTOMER_NO', '%')) + AND (IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, PART_NO) is null or + IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, PART_NO) LIKE + NVL('&INVENTORY_PRODUCT_FAMILY.PART_PRODUCT_FAMILY', '%')) + + GROUP BY PART_NO, + contract, + EXTRACT(YEAR FROM DATE_CREATED), + EXTRACT(MONTH FROM DATE_CREATED), + IFSAPP.CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1), + IFSAPP.Cust_Ord_Customer_API.Get_Name(CUSTOMER_ORDER_API.Get_Customer_No(SOURCE_REF1)), + IFSAPP.Inventory_Part_API.Get_Description(CONTRACT, PART_NO), + IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, + PART_NO), + ifsapp.inventory_part_api.GET_UNIT_MEAS(CONTRACT ,PART_NO) + /*, + ((Customer_Order_API.Get_Total_Base_Price(source_ref1) / + SUM(Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, + source_ref3, + source_ref4))) * + Quantity)*/ +/* ((Customer_Order_API.Get_Total_Base_Price(source_ref1) / + Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, + source_ref3, + source_ref4)) * + (Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, + source_ref3, + source_ref4) - + Quantity))*/ + ORDER BY EXTRACT(YEAR FROM DATE_CREATED), + EXTRACT(MONTH FROM DATE_CREATED), + PART_NO, + CONTRACT + Please note that the Date picker is not working in this report due to some technical dificulties. Hence need to add the valid from and valid to date manully as per the below format + +mm/dd/yyyy ex. 09/14/2021 + +IPNA-74604 Modify : 2024-05-28 Hamid Azzoune + - Change formula +Old amount formula : +TO_CHAR(SUM(Customer_Order_Line_API.Get_Base_Sale_Price_Total(source_ref1, + source_ref2, source_ref3, source_ref4) / (Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, source_ref3, source_ref4))) * Quantity),'999,999,999,999,999.99','NLS_NUMERIC_CHARACTERS=",."') as "Sales $ MDT", + +New amount formula + TO_CHAR(SUM((Customer_Order_Line_API.Get_Base_Sale_Price_Total(source_ref1, + source_ref2, source_ref3, source_ref4) / + (Customer_Order_Line_API.Get_Buy_Qty_Due(source_ref1, + source_ref2, source_ref3, source_ref4)*Customer_Order_Line_API.Get_Conv_Factor(source_ref1, + source_ref2, source_ref3, source_ref4) )) * Quantity),'999,999,999,999,999.99','NLS_NUMERIC_CHARACTERS=",."') as "Sales $ MDT", +Added in Group by IFSAPP.INVENTORY_PART_API.Get_Part_Product_Family(CONTRACT, + PART_NO), + + 29 + Project Reporting + + + + SQL + + + + + + + 29 + Project Reporting + + + + + + + + + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/SC Consolidated Shipments Open - 3a775925-9c54-4a73-927e-dcb5e5ea474b.datasource.xml b/REPORTS/HasaliLK/Quick reports/xml/SC Consolidated Shipments Open - 3a775925-9c54-4a73-927e-dcb5e5ea474b.datasource.xml new file mode 100644 index 0000000..d492545 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/SC Consolidated Shipments Open - 3a775925-9c54-4a73-927e-dcb5e5ea474b.datasource.xml @@ -0,0 +1,49 @@ + + IFS RnD + supply chain, shipping planner outbound, consolidated shipment, open + Information on open consolidated shipments. + 2023-04-17-09.07.32 + true + ORDER + SC Consolidated Shipments Open + 3a775925-9c54-4a73-927e-dcb5e5ea474b + + shipment_category_db = 'CONSOLIDATED' +AND objstate NOT IN ('Closed', 'Cancelled') +AND contract = '$SITE$' + + &AO.shipment + planned_ship_date desc + + \ No newline at end of file diff --git a/REPORTS/HasaliLK/Quick reports/xml/Shipping Planner Outbound Consolidated Shipments Open Web - 94838018-7329-4b30-9386-242fbb1a7caa.element.xml b/REPORTS/HasaliLK/Quick reports/xml/Shipping Planner Outbound Consolidated Shipments Open Web - 94838018-7329-4b30-9386-242fbb1a7caa.element.xml new file mode 100644 index 0000000..b5711f7 --- /dev/null +++ b/REPORTS/HasaliLK/Quick reports/xml/Shipping Planner Outbound Consolidated Shipments Open Web - 94838018-7329-4b30-9386-242fbb1a7caa.element.xml @@ -0,0 +1,68 @@ + + IFS RnD + supply chain, shipping planner outbound, consolidated shipment, open + Information on open consolidated shipments. + 2020-02-14-08.47.30 + true + Web + SHPMNT + 0 + 9 + 1 + 4 + OPEN CONSOLIDATED SHIPMENTS + 0.8 + Shipping Planner Outbound Consolidated Shipments Open Web + 94838018-7329-4b30-9386-242fbb1a7caa + page/ConsolidatedShipments/List?$filter= ShipmentId eq $[shipment_id] and (Objstate eq IfsApp.ConsolidatedShipmentsHandling.ShipmentState'Completed' or Objstate eq IfsApp.ConsolidatedShipmentsHandling.ShipmentState'Preliminary') + 3a775925-9c54-4a73-927e-dcb5e5ea474b + + + + &AO.FORWARDER_INFO_API.Get_Name(FORWARD_AGENT_ID) + Forwarder + Forwarder + 14 + false + &AO.FORWARDER_INFO_API.Get_Name(FORWARD_AGENT_ID) + + + + &AO.Delivery_Route_API.Get_Description(ROUTE_ID) + Route + Route + 18 + false + &AO.Delivery_Route_API.Get_Description(ROUTE_ID) + + + + NVL ((round(manual_gross_weight/weight_capacity * 100.0,2)),(round(&AO.Shipment_API.Get_Operational_Gross_Weight(SHIPMENT_ID, UOM_FOR_WEIGHT, 'TRUE')/weight_capacity * 100.0,2))) + Weight Utilization % + Weight Utilization % + 21 + false + NVL ((round(manual_gross_weight/weight_capacity * 100.0,2)),(round(&AO.Shipment_API.Get_Operational_Gross_Weight(SHIPMENT_ID, UOM_FOR_WEIGHT, 'TRUE')/weight_capacity * 100.0,2))) + + + + NVL ((round(manual_volume/volume_capacity * 100.0,2)),(round(&AO.Shipment_API.Get_Operational_Volume(SHIPMENT_ID,UOM_FOR_VOLUME)/volume_capacity * 100.0,2))) + Volume Utilization % + Volume Utilization % + 21 + false + NVL ((round(manual_volume/volume_capacity * 100.0,2)),(round(&AO.Shipment_API.Get_Operational_Volume(SHIPMENT_ID,UOM_FOR_VOLUME)/volume_capacity * 100.0,2))) + + + + shipment_id + Shipment ID + Shipment ID + 0 + shipment_id + + + + true + + \ No newline at end of file