Skip to main content
Solved

Quick report run error

  • April 3, 2024
  • 1 reply
  • 142 views

Forum|alt.badge.img+10

I have created the following quick report, but get this error when I try to run it.

 

 

select part_no, ifsapp.Inventory_Part_API.Get_Description(CONTRACT,PART_NO) part_description, Contract
, Case When Contract like Nvl(Upper('&Site'),'%') Then 'Y' Else 'N'End Rqd
from ifsapp.Inventory_Part
where contract Not In ('CPH','CTM','VMS','CGP') 
--and part_no='WMPI10067'
and Nvl(Substr(ifsapp.Inventory_Part_API.Get_Accounting_Group(contract,part_no),1,2),'Y') Not In ('IS','PH')
), 

PartsInStock As (
Select part_no, Sum( Case When contract like Nvl(Upper('&Site'),'%') and Substr(warehouse,1,4) like Nvl(Upper('&Warehouse'),'%') Then ipis.qty_onhand Else 0 End )  End_Qty
, Sum( Case When contract like Nvl(Upper('&Site'),'%') and Substr(warehouse,1,4) like Nvl(Upper('&Warehouse'),'%') Then ipis.UNIT_COST * Nvl(ipis.QTY_ONHAND,0) Else 0 End ) End_Value
From ifsapp.Inventory_part_in_stock_uiv ipis
where contract Not In ('CPH','CTM','VMS','CGP') and Nvl(Substr(ifsapp.Inventory_Part_API.Get_Accounting_Group(contract,part_no),1,2),'Y') Not In ('IS','PH')
--and part_no In ('WMPI10067')
--and Substr(warehouse,1,4) In ('M100','M200','M300','M400','M500')
Group by part_no
),

Usages As (
select part_no
, Sum( Case When contract like Nvl(Upper('&Site'),'%') and Substr(location_no,1,4) like Nvl(Upper('&Warehouse'),'%') Then quantity Else 0 End ) Total_Qty
from ifsapp.INVENTORY_TRANSACTION_HIST 
where direction='-' 
--and Substr(location_no,1,4) In ('M100','M200','M300','M400','M500')
and date_applied between trunc(add_months(sysdate, -12),'mm') and trunc(sysdate)
 /*   Case When '&No_Of_Weeks' Is Null Then trunc(add_months(sysdate, -12),'mm')
         When '&No_Of_Weeks' Is not Null Then To_Date('&Period_ending_date','DD/MM/YYYY') - ('&No_Of_Weeks'*7) End
   and
    Nvl(To_Date('&Period_ending_date','DD/MM/YYYY'), trunc(sysdate) ) */
    
and contract Not In ('CPH','CTM','VMS','CGP') 
and Nvl(Substr(ifsapp.Inventory_Part_API.Get_Accounting_Group(contract,part_no),1,2),'Y') Not In ('IS','PH')
Group by part_no

)

select  null Total_Sum_Of_Value, null Total_Sum_Of_Quantity, NULL Total_Sum_of_Quantity_Used_52_Weeks 
,NULL used_last_52_weeks, NULL Average_per_week, NULL Suggested_Quantity, NULL as Suggested_Value, NULL Variance
, 'PART_NO', 'PART_DESCRIPTION','PARAMETER_USED',  "52","51","50","49","48","47","46","45","44","43","42","41","40","39","38","37","36","35","34","33","32","31","30","29","28","27",
"26","25","24","23","22","21","20","19","18","17","16","15","14","13","12","11","10","9","8","7","6","5","4","3","2","1" 
from rowsnum
pivot (max(dt) for rn in  ( 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52 ) ) 

Union All

Select Round(Nvl(pis.End_Value,0),2) , Nvl(pis.End_qty,0) , Nvl(usg.Total_Qty,0) 
, Case When Nvl(usg.Total_Qty,0)=0 Then 'Not Used' Else NULL End XX
, Case When Nvl(usg.Total_Qty,0)=0 Then 0 Else Round(Nvl(usg.Total_Qty,0) / 52,1) End 
, Round(Case When Nvl(pis.End_qty,0)=0 Then 0 Else Nvl('&No_Of_Weeks',7) * Case When Nvl(usg.Total_Qty,0)=0 Then 0 Else Round(Nvl(usg.Total_Qty,0) / 52,1) End End,0) 
, Case When Case When Nvl(pis.End_qty,0)=0 Then 0 Else Nvl('&No_Of_Weeks',7) * Case When Nvl(usg.Total_Qty,0)=0 Then 0 Else Round(Nvl(usg.Total_Qty,0) / 52,0) End End = 0 
    Then 0 Else Round((Nvl(pis.End_Value,0) / Nvl(pis.End_qty,0)) * 
      Case When Nvl(pis.End_qty,0)=0 Then 0 Else Nvl('&No_Of_Weeks',7) * Case When Nvl(usg.Total_Qty,0)=0 Then 0 Else Round(Nvl(usg.Total_Qty,0) / 52,0) End End,2) End 

,  Case When Case When Nvl(pis.End_qty,0)=0 Then 0 Else Nvl('&No_Of_Weeks',7) * Case When Nvl(usg.Total_Qty,0)=0 Then 0 Else Round(Nvl(usg.Total_Qty,0) / 52,0) End End = 0
    Then 0 Else Round((Nvl(pis.End_Value,0) / Nvl(pis.End_qty,0)) * 
      Case When Nvl(pis.End_qty,0)=0 Then 0 Else Nvl('&No_Of_Weeks',7) * Case When Nvl(usg.Total_Qty,0)=0 Then 0 Else Round(Nvl(usg.Total_Qty,0) / 52,0) End End,2) End
        - Round(Nvl(pis.End_Value,0),2) 
      
,p.part_no, part_description, 'Site: '||Nvl(Upper('&Site'),'All')||' Warehouse: '||Nvl(Upper('&Warehouse'),'All') 
,"52","51","50","49","48","47","46","45","44","43","42","41","40","39","38","37","36","35","34","33","32","31","30","29","28","27",
"26","25","24","23","22","21","20","19","18","17","16","15","14","13","12","11","10","9","8","7","6","5","4","3","2","1"
 
From ( 
Select part_no, part_description,  to_char(nvl(quantity,0),'99,999.99') quantity, rn

From ( 
select ip.part_no, ip.Part_description
, TRUNC(date_applied, 'DAY')+1 start_of_week
, Sum( Case When ip.contract like Nvl(Upper('&Site'),'%') and Substr(location_no,1,4) like Nvl(Upper('&Warehouse'),'%') and direction='-' Then quantity Else 0 End ) quantity
, rn, ROW_NUMBER() Over (Partition by ip.part_no order by ip.part_no, rn) xx

from RqdParts ip Left Outer Join ifsapp.INVENTORY_TRANSACTION_HIST iph On ip.part_no=iph.part_no and ip.contract = iph.contract
     Left Outer Join Rowsnum On to_char(TRUNC(date_applied, 'DAY')+1,'dd/mm/yyyy') = dt

where --ip.part_no In ('WMPI10067') and
--Substr(location_no,1,4) In ('M100','M200','M300','M400','M500') and 
(date_applied between TRUNC(ADD_MONTHS(Nvl(To_Date('&Period_ending_date','DD/MM/YYYY'), trunc(sysdate)), -11),'mm') and Nvl(To_Date('&Period_ending_date','DD/MM/YYYY'), trunc(sysdate))
 OR TRUNC(date_applied, 'DAY')+1 IS NOT NULL )
and ip.Rqd = 'Y'
Group by ip.part_no, ip.part_description, TRUNC(date_applied, 'DAY')+1, rn

) data Where ( data.rn is not null or ( data.rn is null and data.xx=1))
) src
Pivot
( Max( Quantity ) for rn In (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52 ) 
)  p 
  Left Outer Join PartsInStock pis On pis.part_no = p.part_no 
  Left Outer Join Usages usg On usg.part_no = p.part_no 
  
Order by 1 desc

 

Any ideas please ?

Thanks

Best answer by Tracy Norwillo

@JannetteC   You are missing part of your code and it’s kind of long and complicated for a Quick Report.  I suggest you create a view in a tool where you can format and test your code.  You can then use your Quick Report to call that view.

View original
Did this topic help you find an answer to your question?

1 reply

Forum|alt.badge.img+14
  • Hero (Partner)
  • 200 replies
  • Answer
  • April 5, 2024

@JannetteC   You are missing part of your code and it’s kind of long and complicated for a Quick Report.  I suggest you create a view in a tool where you can format and test your code.  You can then use your Quick Report to call that view.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings