Query in Purchasing & reports
Hello Experts,
1)Requirement is such that system , should automatically generate an alert, if order acknowledgement is not received within 2 weeks from PO issue date.
Can this be done in standard SAP or is it a development?
2)Report in SAP required for expected goods arrival/expected time of arrival
Regards
Mahesh
See this link for GR report idea
http://wiki.sdn.sap.com/wiki/display/CK/BusinessUsesCasesforextendeddeliverybasedprocesses-+WMS
Similar Messages
-
Could someone share with me a Query for Purchase report in BP Currency?
Hi All,
Does anyone have a Purchase Analysis query by Business Partner (Vendor/Supplier) that returns all invoices by the month or anything else (items etc purchased) by the month in BP Currency please?
I would like to use it as standalone query and eventually import it as a Crystal Report query.
Appreciate it. Thank you.I just managed to create the report using Crystal and db files coming from Purchase Invoice and currency details coming from BP vendor file.
-
Query Purchasing Report per Project
Dear all,
I want to make query that can give me information about purchasing report per project. The data should come from AP invoice and AP credit memo (item and service type). I use project code field in the form to filter data.
Thanks before for your kind helpHai!
Try this
Declare @project as nvarchar(30)
set @Project = (select max(S0.PrjCode) from OPRJ S0 where S0.PrjCode='[%0]')
Select
a.Itemcode,
max(a.Name) Name,
sum(a.quantity) Quantity,
sum(a.price) Price,
sum(a.linetotal) Line_Total from (
SELECT
T1.ItemCode,
max(T1.Dscription) Name,
sum(T1.Quantity) Quantity,
sum(T1.Price) Price,
sum(T1.LineTotal) LineTotal
From
PCH1 T1,OPRJ P0
where
T1.Project=P0.PrjCode and
T1.Project = @Project
Group By
T1.ItemCode
UNION All
SELECT
T1.ItemCode,
max(T1.Dscription) Name,
sum(T1.Quantity) Quantity,
sum(T1.Price) Price,
sum(T1.LineTotal) Line_Total
From
RPC1 T1,OPRJ P0
where
T1.Project=P0.PrjCode and
T1.Project = @Project
Group By
T1.ItemCode) a
Group By
a.ItemCode
Regards,
Thanga Raj.K -
Attach Query Report to Purchase Report.
Hello Xperts....
I have executed a query report regarding purchase orders. Now I want to attach that query report in my purchase Reports(Modules -> Purchase A/P -> Purchase Reports) but not in My Menu.
Plz reply...Thanx..Hi Papil.....
You can not only import the query report on Main Menu Purchase report.
If you have SAP 8.8 then you have to create a Crystal report and then from Administration> Setup> General--> Report and layout --> Import.
Regards,
Rahul -
Purchasing Report Errors - Please Help
Hey everyone!
I am an SAP newb so bear with me please. I am having issues with a the Purchasing report on our system.
The report takes parameters determining the time period for which the report is to be run, ex: from Jan 1 2008 - Aug 1 2008.
The values returned by the report are:
Item code
Vendor
Item Name
Purch Unit
Available units
Units on Order (how many are currently dedicated to an already placed order)
Purchase Factor
Purchase Price
Purchase Currency
Avg Price
Price
Stock Value
MonthToDate Sales (calculates total sales for item within time period)
Average Sales (calculates the average sale for item within time period)
Sales Factor
Month on Order
Month on Stock
The Problems are occuring with: Month to Date Sales and Average Sales. As well as Month on Order and Month on Stock, however these are secondary.
The report in SAP is as follows:
BEGIN
declare @FrmWhs varchar(8),
@ToWhs varchar(8),
@WhsLst varchar(254),
@GroupCode int,
@FrmItm varchar(20),
@ToItm varchar(20),
@MthAgo int,
@GroupName varchar(20),
@HistStart varchar(6),
@HistEnd varchar(6),
@ShowInactive varchar(1)
SELECT @FrmWhs = T0.U_FrmWhs,
@ToWhs = T0.U_ToWhs,
@WhsLst = T0.U_WhsLst,
@GroupCode = T1.ItmsGrpCod,
@FrmItm = T0.U_FrmItm,
@ToItm = T0.U_ToItm,
@MthAgo = T0.U_MthAgo,
@HistStart = T0.U_Hist1,
@HistEnd = T0.U_Hist2,
@ShowInactive = T0.U_Inact
FROM dbo.@XXPURCH T0, dbo.OITB T1
WHERE T0.U_FrmWhs = '%0'
AND T0.U_ToWhs = '%1'
AND T0.U_WhsLst = '%2'
AND T1.ItmsGrpNam = '%3'
AND T1.Locked = 'X'
AND T0.U_FrmItm = '%4'
AND T0.U_ToItm = '%5'
AND T0.U_MthAgo = %6
AND T0.U_Hist1 = '%7'
AND T0.U_Hist2 = '%8'
AND T0.U_Inact = '%9'
SET @GroupName = '%3'
IF @GroupName = ''
SET @GroupCode = 0
ELSE
SELECT @GroupCode = T2.ItmsGrpCod
FROM dbo.OITB T2
WHERE T2.ItmsGrpNam = @GroupName
SET @FrmWhs = '%0'
SET @ToWhs = '%1'
SET @WhsLst = '%2'
SET @FrmItm = '%4'
SET @ToItm = '%5'
SET @MthAgo = %6
SET @HistStart = '%7'
SET @HistEnd = '%8'
SET @ShowInactive = '%9'
exec dbo.xxPurchReport @FrmWhs,@ToWhs,@WhsLst,@GroupCode,@FrmItm,@ToItm,@MthAgo,@HistStart,@HistEnd,@ShowInactive
I do not fully understand how the SQL query (the stored procedure) dbo.xxPurchasing Report calculates these numbers. If it is helpful, I could post the SQL query in its entirety or in part.
Thank you very much for your willingness to help. It is quite frustrating for me and it is so great to have knowledgeable people here to help
-HarrisonThanks. That makes sense.
I am not a database guy, but from my limited knowledge, so here is the query in its entirety:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
ALTER proc xxPurchReport (
@FromWhs varchar(8) = null,
@ToWhs varchar(8) = null,
@WhsList varchar(255) = null,
@GroupCode int = null,
@FromItem varchar(20) = null,
@ToItem varchar(20) = null,
@MonthsAgo int = 1,
@HistStart varchar(6) = null,
@HistEnd varchar(6) = null,
@ShowInactive char(1) = 'Y')
AS
begin
set NOCOUNT ON
DECLARE @StartDate datetime,
@EndDate datetime,
@Today datetime,
@Periods int
CREATE TABLE #tempwhs(WhsCode varchar(8))
if @WhsList is null or LTRIM(RTRIM(@WhsList)) = ''
BEGIN
if @FromWhs is null
set @FromWhs = ''
if @ToWhs is null or LTRIM(RTRIM(@ToWhs)) = ''
set @ToWhs = 'ZZZZZZZZ'
insert into #tempwhs
select WhsCode
from OWHS
where WhsCode between @FromWhs and @ToWhs
END
ELSE
BEGIN
set @WhsList = ',' + @WhsList + ','
insert into #tempwhs
select WhsCode
from OWHS
where charindex(',' + WhsCode + ',',@WhsList) > 0
END
if @GroupCode = 0
set @GroupCode = null
if @FromItem is null
set @FromItem = ''
if @ToItem is null or LTRIM(RTRIM(@ToItem)) = ''
set @ToItem = 'ZZZZZZZZZZZZZZZZZZZZ'
if @MonthsAgo is null
set @MonthsAgo = 0
if @MonthsAgo > 0
set @MonthsAgo = @MonthsAgo * -1
select @StartDate = dateadd(mm,@MonthsAgo,cast(cast(year(getdate()) as varchar(4)) + right(cast(month(getdate()) + 100 as varchar(3)),2) + '01' as datetime)),
@EndDate = dateadd(mi,-1,dateadd(mm,@MonthsAgo,dateadd(mm,1,cast(cast(year(getdate()) as varchar(4)) + right(cast(month(getdate()) + 100 as varchar(3)),2) + '01' as datetime)))),
@Today = cast(convert(varchar(8),getdate(),112) as datetime)
if isnull(@HistStart,'') = '' or isnull(@HistEnd,'') = ''
select @HistEnd = left(convert(varchar(8),@StartDate - 1,112),6),
@HistStart = left(convert(varchar(8),dateadd(yyyy,-1,@StartDate),112),6)
select @Periods = count(distinct period)
from XXSalesHistory
where period between @HistStart and @HistEnd
select itemcode,whscode,cast(round(cast(sum(totsale) as decimal(12,5)) / @Periods,2) as decimal(12,5)) as AvgSale,
cast(round(cast(sum(totqty) as decimal(12,5)) / @Periods,0) as int) as AvgQty
into #tmpavg
from XXSalesHistory
where period between @HistStart and @HistEnd
group by itemcode,whscode
order by 1
Select ItmGrp.ItmsGrpNam,lines.ItemCode,lines.WhsCode,
items.CardCode as DefaultVendor,items.ItemName,
whs.OnHand,items.SalUnitMsr as SaleUnit,items.BuyUnitMsr as PurchUnit,whs.IsCommited,
(whs.OnHand - whs.IsCommited) as Available,whs.OnOrder,items.PurFactor2,
isnull(purprc.Price,0) as PurchasePrice,
isnull(purprc.Currency,'USD') as PurchCurrency,
cast(whs.OnHand / (CASE WHEN items.PurFactor2 = 0 THEN 1 ELSE items.PurFactor2 END) as decimal(16,2)) as CS,
whs.AvgPrice,prc.Price,isnull(prc.Currency,'USD') as Currency,isnull(whs.StockValue,0) as StockValue,
cast(sum(case lines.usebaseun
when 'Y' then Lines.OpenCreQty
else ( Lines.OpenCreQty * Items.NumInSale) end) as integer) as MtdSales,
isnull(hst.AvgQty,0) as AvgSales,items.SalFactor2
into #temprpt
From OINV Main,
INV1 Lines,
OITM Items,
OITB ItmGrp,
OITW whs
left outer join #tmpavg hst
on hst.ItemCode = whs.ItemCode and hst.WhsCode = whs.WhsCode,
ITM1 prc,
ITM1 purprc
Where Main.DocDate between @StartDate and @EndDate
And Main.Instance = 0
And Main.Canceled = 'N'
and Main.DocEntry = Lines.DocEntry and lines.LineTotal <> 0
and lines.ItemCode between @FromItem and @ToItem
and lines.whscode collate database_default in (select WhsCode from #tempwhs)
and Items.ItemCode = Lines.ItemCode
and items.PrchseItem = 'Y'
and (@ShowInactive = 'Y' or Items.frozenfor = 'N')
and ItmGrp.ItmsGrpCod = Items.ItmsGrpCod
and ItmGrp.ItmsGrpCod = isnull(@GroupCode,ItmGrp.ItmsGrpCod)
and whs.ItemCode = lines.ItemCode and whs.WhsCode = lines.WhsCode
and prc.ItemCode = items.Itemcode
and prc.PriceList = (CASE WHEN whs.whscode = '02' THEN 6 else 2 END)
and purprc.ItemCode = items.Itemcode
and purprc.PriceList = (CASE WHEN whs.whscode = '02' THEN 10 else 1 END)
Group BY
ItmGrp.ItmsGrpNam,lines.ItemCode,lines.WhsCode,
items.CardCode,items.ItemName,
whs.OnHand,items.SalUnitMsr,items.BuyUnitMsr,whs.IsCommited,whs.OnOrder,items.PurFactor2,purprc.Price,isnull(purprc.Currency,'USD'),
cast(whs.OnHand / (CASE WHEN items.PurFactor2 = 0 THEN 1 ELSE items.PurFactor2 END) as decimal(16,2)),
whs.AvgPrice,prc.Price,prc.Currency,isnull(whs.StockValue,0),hst.AvgQty,items.SalFactor2
union
select grp.ItmsGrpNam,itm.ItemCode,whs.WhsCode,itm.CardCode as DefaultVendor,
itm.ItemName,whs.OnHand,itm.SalUnitMsr as SaleUnit,itm.BuyUnitMsr as PurchUnit,
whs.IsCommited,
(whs.OnHand - whs.IsCommited) as Available,whs.OnOrder,itm.PurFactor2,purprc.Price,
isnull(purprc.Currency,'USD') as PurchCurrency,
cast(whs.OnHand / (CASE WHEN itm.PurFactor2 = 0 THEN 1 ELSE itm.PurFactor2 END) as decimal(16,2)) as CS,
whs.AvgPrice,prc.Price,isnull(prc.Currency,'USD') as Currency,isnull(whs.StockValue,0) as StockValue,0,
isnull(hst.AvgQty,0) as AvgSales,itm.SalFactor2
from OITM itm,
OITB grp,
OITW whs
left join(INV1 lines inner join OINV main
on lines.DocEntry = main.DocEntry and lines.LineTotal <> 0
and main.Canceled = 'N' and main.instance = 0
and Main.DocDate Between @StartDate and @EndDate)
on whs.ItemCode = lines.ItemCode and whs.WhsCode = lines.WhsCode
left outer join #tmpavg hst on hst.ItemCode = whs.ItemCode and hst.WhsCode = whs.WhsCode,
ITM1 prc,
ITM1 purprc
where itm.ItemCode between @FromItem and @ToItem
and itm.PrchseItem = 'Y'
and (@ShowInactive = 'Y' or itm.frozenfor = 'N')
and grp.ItmsGrpCod = itm.ItmsGrpCod
and grp.ItmsGrpCod = isnull(@GroupCode,grp.ItmsGrpCod)
and whs.ItemCode = itm.ItemCode
and whs.WhsCode collate database_default in (select WhsCode from #tempwhs)
and main.DocEntry is null
and prc.ItemCode = itm.Itemcode
and prc.PriceList = (CASE WHEN whs.whscode = '02' THEN 6 else 2 END)
and purprc.ItemCode = itm.Itemcode
and purprc.PriceList = (CASE WHEN whs.whscode = '02' THEN 10 else 1 END)
group by grp.ItmsGrpNam,itm.ItemCode,whs.WhsCode,itm.CardCode,
itm.ItemName,whs.OnHand,itm.SalUnitMsr,itm.BuyUnitMsr,whs.IsCommited,whs.OnOrder,itm.PurFactor2,itm.LastPurPrc,purprc.Price,purprc.Currency,
cast(whs.OnHand / (CASE WHEN itm.PurFactor2 = 0 THEN 1 ELSE itm.PurFactor2 END) as decimal(16,2)),
whs.AvgPrice,prc.Price,prc.Currency,isnull(whs.StockValue,0),hst.AvgQty,itm.SalFactor2
select r.*,
cast((CASE WHEN r.OnOrder = 0
THEN 0
ELSE (CASE WHEN r.AvgSales = 0
THEN (CASE WHEN r.MtdSales = 0 THEN 999 ELSE r.OnOrder / r.MtdSales END)
ELSE r.OnOrder / r.AvgSales
END)
END) as decimal(9,1)) as MonthsOnOrder,
cast((CASE WHEN r.Available <= 0 THEN 0
ELSE (CASE WHEN r.AvgSales <= 0 THEN 999
ELSE r.Available / r.AvgSales END) END) as decimal(9,1)) as MonthsInStock
from #temprpt r
order by 1,2,3
end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
I hope that is not too overwhelming, it is for me so any help you have to offer is truly appreciated. I am not trained in SAP but they have no one else. Thanks alot everyone! -
Customized Query for purchase register
Hi All,
I need a query for purchase register which gives excise information with biferication.
OPCH, PCH1, ORPC, RPC1 and IEI4
In excel reporter we get the purchase register report But excise amount does not come in that report.
So, I need Customised report for that.
Regards
Shashihi shashi,
SELECT M.DocNum AS 'AP Inv. #', M.DocDate as 'Date', M.CardName as 'Vendor Name',M.NumAtCard as 'Bill No. & Dt.',
(Select Sum(LineTotal) FROM PCH1 L Where L.DocEntry=M.DocEntry) as 'Base Amt.(Rs.)',
(SELECT Sum(TaxSum) FROM PCH4 where statype=-90 and DocEntry=M.DocEntry) as 'ED (Rs.)',
(SELECT Sum(TaxSum) FROM PCH4 where statype=-60 and DocEntry=M.DocEntry) as 'EDCS (Rs.)',
(SELECT Sum(TaxSum) FROM PCH4 where statype=7 and DocEntry=M.DocEntry) as 'HECS (Rs.)',
(SELECT Sum(TaxSum) FROM PCH4 where statype=1 and DocEntry=M.DocEntry) as ' VAT (Rs.) ',
(SELECT Sum(TaxSum) FROM PCH4 where statype=4 and DocEntry=M.DocEntry) as ' CST (Rs.) ',
(SELECT Sum(TaxSum) FROM PCH4 where statype=10 and DocEntry=M.DocEntry) as ' CVD (Rs.) ',
(SELECT Sum(TaxSum) FROM PCH4 where statype=5 and DocEntry=M.DocEntry) as ' Ser.Tax (Rs.) ',
(SELECT Sum(TaxSum) FROM PCH4 where statype=6 and DocEntry=M.DocEntry) as 'CS on Ser.Tax (Rs.)',
(SELECT Sum(TaxSum) FROM PCH4 where statype=8 and DocEntry=M.DocEntry) as 'HECS_ST (Rs.)',
(Select Sum(LineTotal) From PCH3 Q Where Q.DocEntry=M.DocEntry) AS 'Freight (Rs.)',
M.WTSum AS 'TDS (Rs.)',
M.DocTotal as 'Total (Rs.)'
FROM OPCH M LEFT OUTER JOIN PCH1 L on L.DocEntry=M.DocEntry
LEFT OUTER JOIN PCH4 T on T.DocEntry=L.DocEntry and L.LineNum=T.LineNum
LEFT OUTER JOIN PCH5 J ON M.DocEntry = J.AbsEntry
LEFT OUTER JOIN PCH3 Q ON M.DocEntry = Q.DocEntry
WHERE (M.DocDate >= '[%0]' AND M.DocDate <= '[%1]') AND (T.TrgetEntry = ' ')
GROUP BY
M.DocNum,M.DocDate,M.CardName,M.NumAtCard,M.DocEntry,M.[DiscSum],M.WTSum,M.DocTotal
ORDER BY
M.DocNum,M.DocDate,M.CardName,M.NumAtCard,M.DocEntry,M.[DiscSum],M.WTSum,M.DocTotal
Jeyakanthan -
Hi ,
0vtype is used to differentiate a keyfigure with respect to its value type like actual value and planned value.
But what is the use of 0vtype as a filter in Purchasing Reports where there are no planned values and why is it always 10 - does it mean that its always actual value?
Thanks,
JBHi JB,
I think in case of Controlling module, we have to specify 0VTYPE in query level , as in r/3 we define budget, planning figures for a period/fiscal year.
And for purchasing it should be actuals only.
Hope that helps.
Regards
Kapadia
***Assigning points is the way to say thanks in SDN.*** -
Purchase Report Requirement from Auditors
Dear All
I have a query from audit department for Purchase Reprots as follows, They require reports in one consilidated format and not to do anything in EXCEL
requirement as follows
a) one material--having different rates
b) different vendorssame materialdifferent rates
They want this report at plant, company level.
Please guide me ASAP
Regards
ManojHi,
There is SAP Standard Report for PR - ME5A
Just check in this.
Here in the selection screen of the reports, enter Scope of List as "ALV". And then execute the report and download to excel.
If Scope of List as "ALV" is not there in the list then you can create the same in SPRO > MM > Purchasing > Reporting > Maintain Purchase Requisition Lists > Define Scope of List > Here select "A" and copy to "ALV", for "ALV" activate indicator "ALV grid control"
Then go to SPRO > MM > Purchasing > Reporting > Maintain Purchase Requisition Lists > Define Default Values for Transactions > Here enter Scope of List "ALV" as default for the above reports. -
Hey guys,
I am new to SAP, so bear with me...
There is a Purchasing Report on our system as follows:
BEGIN
declare @FrmWhs varchar(8),
@ToWhs varchar(8),
@WhsLst varchar(254),
@GroupCode int,
@FrmItm varchar(20),
@ToItm varchar(20),
@MthAgo int,
@GroupName varchar(20),
@HistStart varchar(6),
@HistEnd varchar(6),
@ShowInactive varchar(1)
SELECT @FrmWhs = T0.U_FrmWhs,
@ToWhs = T0.U_ToWhs,
@WhsLst = T0.U_WhsLst,
@GroupCode = T1.ItmsGrpCod,
@FrmItm = T0.U_FrmItm,
@ToItm = T0.U_ToItm,
@MthAgo = T0.U_MthAgo,
@HistStart = T0.U_Hist1,
@HistEnd = T0.U_Hist2,
@ShowInactive = T0.U_Inact
FROM [dbo].[@XXPURCH] T0, [dbo].[OITB] T1
WHERE T0.U_FrmWhs = '[%0]'
AND T0.U_ToWhs = '[%1]'
AND T0.U_WhsLst = '[%2]'
AND T1.ItmsGrpNam = '[%3]'
AND T1.Locked = 'X'
AND T0.U_FrmItm = '[%4]'
AND T0.U_ToItm = '[%5]'
AND T0.U_MthAgo = [%6]
AND T0.U_Hist1 = '[%7]'
AND T0.U_Hist2 = '[%8]'
AND T0.U_Inact = '[%9]'
SET @GroupName = '[%3]'
IF @GroupName = ''
SET @GroupCode = 0
ELSE
SELECT @GroupCode = T2.ItmsGrpCod
FROM dbo.OITB T2
WHERE T2.ItmsGrpNam = @GroupName
SET @FrmWhs = '[%0]'
SET @ToWhs = '[%1]'
SET @WhsLst = '[%2]'
SET @FrmItm = '[%4]'
SET @ToItm = '[%5]'
SET @MthAgo = [%6]
SET @HistStart = '[%7]'
SET @HistEnd = '[%8]'
SET @ShowInactive = '[%9]'
exec dbo.xxPurchReport @FrmWhs,@ToWhs,@WhsLst,@GroupCode,@FrmItm,@ToItm,@MthAgo,@HistStart,@HistEnd,@ShowInactive
END -- for browse
My first questions is:
How do I locate and view at the "dbo.xxPurchReport" being executed? (called in the 4th line from the bottom.
Thanks alot to you all.I thought this section of the SQL query was most pertinent, let me know if posting the entire stored procedure would be more beneficial.
Thanks again everyone.
Select ItmGrp.ItmsGrpNam,lines.ItemCode,lines.WhsCode,
items.CardCode as DefaultVendor,items.ItemName,
whs.OnHand,items.SalUnitMsr as SaleUnit,items.BuyUnitMsr as PurchUnit,whs.IsCommited,
(whs.OnHand - whs.IsCommited) as Available,whs.OnOrder,items.PurFactor2,
isnull(purprc.Price,0) as PurchasePrice,
isnull(purprc.Currency,'USD') as PurchCurrency,
cast(whs.OnHand / (CASE WHEN items.PurFactor2 = 0 THEN 1 ELSE items.PurFactor2 END) as decimal(16,2)) as CS,
whs.AvgPrice,prc.Price,isnull(prc.Currency,'USD') as Currency,isnull(whs.StockValue,0) as StockValue,
cast(sum(case lines.usebaseun
when 'Y' then Lines.OpenCreQty
else ( Lines.OpenCreQty * Items.NumInSale) end) as integer) as MtdSales,
isnull(hst.AvgQty,0) as AvgSales,items.SalFactor2
into #temprpt
From OINV Main,
INV1 Lines,
OITM Items,
OITB ItmGrp,
OITW whs
left outer join #tmpavg hst
on hst.ItemCode = whs.ItemCode and hst.WhsCode = whs.WhsCode,
ITM1 prc,
ITM1 purprc
Where Main.DocDate between @StartDate and @EndDate
And Main.Instance = 0
And Main.Canceled = 'N'
and Main.DocEntry = Lines.DocEntry and lines.LineTotal <> 0
and lines.ItemCode between @FromItem and @ToItem
and lines.whscode collate database_default in (select WhsCode from #tempwhs)
and Items.ItemCode = Lines.ItemCode
and items.PrchseItem = 'Y'
and (@ShowInactive = 'Y' or Items.frozenfor = 'N')
and ItmGrp.ItmsGrpCod = Items.ItmsGrpCod
and ItmGrp.ItmsGrpCod = isnull(@GroupCode,ItmGrp.ItmsGrpCod)
and whs.ItemCode = lines.ItemCode and whs.WhsCode = lines.WhsCode
and prc.ItemCode = items.Itemcode
and prc.PriceList = (CASE WHEN whs.whscode = '02' THEN 6 else 2 END)
and purprc.ItemCode = items.Itemcode
and purprc.PriceList = (CASE WHEN whs.whscode = '02' THEN 10 else 1 END)
Group BY
ItmGrp.ItmsGrpNam,lines.ItemCode,lines.WhsCode,
items.CardCode,items.ItemName,
whs.OnHand,items.SalUnitMsr,items.BuyUnitMsr,whs.IsCommited,whs.OnOrder,items.PurFactor2,purprc.Price,isnull(purprc.Currency,'USD'),
cast(whs.OnHand / (CASE WHEN items.PurFactor2 = 0 THEN 1 ELSE items.PurFactor2 END) as decimal(16,2)),
whs.AvgPrice,prc.Price,prc.Currency,isnull(whs.StockValue,0),hst.AvgQty,items.SalFactor2
union
select grp.ItmsGrpNam,itm.ItemCode,whs.WhsCode,itm.CardCode as DefaultVendor,
itm.ItemName,whs.OnHand,itm.SalUnitMsr as SaleUnit,itm.BuyUnitMsr as PurchUnit,
whs.IsCommited,
(whs.OnHand - whs.IsCommited) as Available,whs.OnOrder,itm.PurFactor2,purprc.Price,
isnull(purprc.Currency,'USD') as PurchCurrency,
cast(whs.OnHand / (CASE WHEN itm.PurFactor2 = 0 THEN 1 ELSE itm.PurFactor2 END) as decimal(16,2)) as CS,
whs.AvgPrice,prc.Price,isnull(prc.Currency,'USD') as Currency,isnull(whs.StockValue,0) as StockValue,0,
isnull(hst.AvgQty,0) as AvgSales,itm.SalFactor2
from OITM itm,
OITB grp,
OITW whs
left join(INV1 lines inner join OINV main
on lines.DocEntry = main.DocEntry and lines.LineTotal <> 0
and main.Canceled = 'N' and main.instance = 0
and Main.DocDate Between @StartDate and @EndDate)
on whs.ItemCode = lines.ItemCode and whs.WhsCode = lines.WhsCode
left outer join #tmpavg hst on hst.ItemCode = whs.ItemCode and hst.WhsCode = whs.WhsCode,
ITM1 prc,
ITM1 purprc
where itm.ItemCode between @FromItem and @ToItem
and itm.PrchseItem = 'Y'
and (@ShowInactive = 'Y' or itm.frozenfor = 'N')
and grp.ItmsGrpCod = itm.ItmsGrpCod
and grp.ItmsGrpCod = isnull(@GroupCode,grp.ItmsGrpCod)
and whs.ItemCode = itm.ItemCode
and whs.WhsCode collate database_default in (select WhsCode from #tempwhs)
and main.DocEntry is null
and prc.ItemCode = itm.Itemcode
and prc.PriceList = (CASE WHEN whs.whscode = '02' THEN 6 else 2 END)
and purprc.ItemCode = itm.Itemcode
and purprc.PriceList = (CASE WHEN whs.whscode = '02' THEN 10 else 1 END)
group by grp.ItmsGrpNam,itm.ItemCode,whs.WhsCode,itm.CardCode,
itm.ItemName,whs.OnHand,itm.SalUnitMsr,itm.BuyUnitMsr,whs.IsCommited,whs.OnOrder,itm.PurFactor2,itm.LastPurPrc,purprc.Price,purprc.Currency,
cast(whs.OnHand / (CASE WHEN itm.PurFactor2 = 0 THEN 1 ELSE itm.PurFactor2 END) as decimal(16,2)),
whs.AvgPrice,prc.Price,prc.Currency,isnull(whs.StockValue,0),hst.AvgQty,itm.SalFactor2 -
Hi!
Is it possible to modify a select query for a report in the following way:
I have created two fields where users input values and operators.
Operators selection is a static list consisting of: =, like , in
Value field is a text field.
The current query is:
SELECT
A,
B,
C
from TABLE
I would like to add:
WHERE
A : P1_OPERATOR : P1_VALUE
but it doesn't work; I get a notification that the operator is incorrect.
It has a defaulft value = and when I set let's say 5 in the value field the whole query should be:
SELECT
A,
B,
C
from TABLE
WHERE
A = 5
Regards!Hmm, I get the following error:
Updatable report parse error:
ORA-20001: Query must begin with SELECT or WITH
The only difference I see is that your type is SQL Query (PL/SQL function body returning SQL query) while I have SQL Query (updateable report) hardcoded.
I have APEX 4.2.2, I'm not quite sure how to change this...
This is my code:
begin
:P7_QUERY := 'select ROWID,BNK_ID,MSR_PRD_ID,SRC_STM_ID,ID,ID_RETKA,RSP,OZNAKA_RETKA,DATUM_STANJA,OZNAKA_IZVJESCA,OZNAKA_KOMITENTA,MBR_KOMITENTA,KOMITENT_NEREZ,ZUPANIJA,DRZAVA,SEKTOR_NEREZIDENTA,VRSTA_POVEZANOSTI,INSTRUMENT,ISIN,VALUTA,OTKAZNI_ROK,IZVORNO_DOSPIJECE,VRSTA_INDEKSACIJE,VALUTA_INDEKSACIJE,PORTFELJ,UTRZIVOST_KREDITA,ZNACAJKE_KAPITALA,RIZICNA_SKUPINA,UGRADJENI_DERIVAT,ODNOSNA_VARIJABLA,PREDZNAK,IZNOS,IZNOS_ACTUAL,VRSTA_IZNOSA,KOMITENT_PBR,UDJELI_POVEZ_C,AR_ID,AU_ID,ACT_AR_BAL_KN,ACT_AR_BAL,AR_BUSS_ID,MTI_CCY_TP_ID,REG_NO,REG_SFX,JMBG_ID_NO,IP_ID,NO_DYS_OO,TAX_ID_NO,INSTRUMENT_OLD,PREDZNAK_OLD,IZNOS_ACTUAL_OLD,ACT_AR_BAL_KN_OLD,ACT_AR_BAL_OLD,NAPOMENA,NOVI_POSAO_F,LISTA_SUMARNA,LISTA_REKAP,POSTOTAK1,POSTOTAK2,POSTOTAK3,DZS_IDY_CL_ID,HNB_IP_CL_ID,EXG_RT_CRD_RSK_F from DWP.IZV_SLOG_DET
where ' || :P7_X_FC1 || :P7_X_O1 || :P7_X_O1;
return :P7_QUERY;
end;
I have also set Use Generic Column Names (parse query at runtime only) nad P7_QUERY as page item to submit.
Regards,
Ivan -
How to add a new field in Query Builder or Report
Hi,
I am writing a report using Oracle 6i query builder and report.
example:
QTY_1 QTY_2 QTY_3
QTY_1 and QTY_2 are table fields and QTY_3 Is not. I need to show the value of (QTY_2-QTY_1) in QTY_3.
I need to create a field QTY_3 which is not in the database table. How do I do that?
JunHi,
Try using formula to return the qty_1 - qty2.
or
select qty_1, qty_2, (qty_1 - qty_2) qty_3
from table;
regards,
CB -
CR2008 Purchasing Report needed
Hi
Has anyone created a Purchasing report in Crystal Reports 2008 based on AP Invoices and AP Credit Notes. I have created a WPA (Weekly Purchase Analysis) report but based off AP Invoice table (OPCH & PCH1), now the company is wanting to have Credit Notes added to this report.
I have created a UDF called WPA on the OPCH form which is a Mandatory field so when running the WPA Report you can run it by WPA # and Project to get your results (Parameter), now how will I acheive this by adding the AP Credit Note fields ORPC & RPC1 to the report so if I create x2 Invoice's (different suppliers) for say WPA # 1010 and I Credit one, on the WPA Report I will want to see Invoice 1 (NumCard = 1) = R100, Invoice 2 (NumCard = 2) = 100, Credit Note 1 (NumCard = 2) = -100, Total = 100.
Any suggestions or ideas will be most helpful.
Regards
Kurt WaltersHi Kurt,
That is possible using "Shared Variable".
Check this link: [Sub-report data in report|Sub-report data in report].
1.Initialize a shared variable in Report.
2.Pass the Credit memo value to the 'Shared variable' in Sub-report
3.Now create a formula in Report like
Sub-total = {Invoice total} - {SharedVariable}
In order to know more about shared variable, post a separate question in [SAP Crystal Reports Design - Forum|SAP Crystal Reports;.
Hope this helps.
Regards,
Bala -
See sql query from crystal report without crystal report
see sql query from crystal report without crystal report
Hi,
Depends on datasource type but you could have a look at ODBC trace or if you have access to the SQL Server you could use profiler to monitor the session.
Regards,
Craig
And this will only be of use if you know which Server/Insstance/Database the Report is connecting to...
Please click "Mark As Answer" if my post helped. Tony C. -
Cursors are not closed when using Ref Cursor Query in a report ORA-01000
Dear Experts
Oracel database 11g,
developer suite 10.1.2.0.2,
application server 10.1.2.0.2,
Windows xp platform
For a long time, I'm hitting ORA-01000
I have a 2 group report (master and detail) using Ref Cusor query, when this report is run, I found that it opens several cursors (should be only one cursor) for the detail query although it should not, I found that the number of these cursors is equal to the number of master records.
Moreover, after the report is finished, these cursors are not closed, and they are increasing cumulatively each time I run the report, and finally the maximum number of open cursors is exceeded, and thus I get ORA-01000.
I increased the open cursors parameter for the database to an unbeleivable value 30000, but of course it will be exceeded during the session because the cursors are increasing cumulatively.
I Found that this problem is solved when using only one master Ref Cursor Query and create a breake group, the problem is solved also if we use SQL Query instead of Ref Query for the master and detail queries, but for some considerations, I should not use neither breake group nor SQL Query, I have to use REF Cursor queries.
Is this an oracle bug , and how can I overcome ?
Thanks
Edited by: Mostafa Abolaynain on May 6, 2012 9:58 AMThank you Inol for your answer, However
Ref Cursor give me felxibility to control the query, for example see the following query :
function QR_1RefCurDS return DEF_CURSORS.JOURHEAD_REFCUR is
temp_JOURHEAD DEF_CURSORS.JOURHEAD_refcur;
v_from_date DATE;
v_to_date DATE;
V_SERIAL_TYPE number;
begin
SELECT SERIAL_TYPE INTO V_SERIAL_TYPE
FROM ACC_VOUCHER_TYPES
where voucher_type='J'
and IDENT_NO=:IDENT
AND COMP_NO=TO_NUMBER(:COMPANY_NO);
IF :no_date=1 then
IF V_SERIAL_TYPE =1 THEN
open temp_JOURHEAD for select VOCH_NO, VOCH_DATE
FROM JOURHEAD
WHERE COMP_NO=TO_NUMBER(:COMPANY_NO)
AND IDENT=:IDENT
AND ((TO_NUMBER(VOCH_NO)=:FROM_NO and :FROM_NO IS NOT NULL AND :TO_NO IS NULL)
OR (TO_NUMBER(VOCH_NO) BETWEEN :FROM_NO AND :TO_NO and :FROM_NO IS NOT NULL AND :TO_NO IS NOT NULL )
OR (TO_NUMBER(VOCH_NO)<=:TO_NO and :FROM_NO IS NULL AND :TO_NO IS NOT NULL )
OR (:FROM_NO IS NULL AND :TO_NO IS NULL ))
ORDER BY TO_NUMBER(VOCH_NO);
ELSE
open temp_JOURHEAD for select VOCH_NO, VOCH_DATE
FROM JOURHEAD
WHERE COMP_NO=TO_NUMBER(:COMPANY_NO)
AND IDENT=:IDENT
AND ((VOCH_NO=:FROM_NO and :FROM_NO IS NOT NULL AND :TO_NO IS NULL)
OR (VOCH_NO BETWEEN :FROM_NO AND :TO_NO and :FROM_NO IS NOT NULL AND :TO_NO IS NOT NULL )
OR (VOCH_NO<=:TO_NO and :FROM_NO IS NULL AND :TO_NO IS NOT NULL )
OR (:FROM_NO IS NULL AND :TO_NO IS NULL ))
ORDER BY VOCH_NO;
END IF;
ELSE
v_from_date:=to_DATE(:from_date);
v_to_date:=to_DATE(:to_date);
IF V_SERIAL_TYPE =1 THEN
open temp_JOURHEAD for select VOCH_NO, VOCH_DATE
FROM JOURHEAD
WHERE COMP_NO=TO_NUMBER(:COMPANY_NO)
AND IDENT=:IDENT
AND ((voch_date between v_from_date and v_to_date and :from_date is not null and :to_date is not null)
OR (voch_date <= v_to_date and :from_date is null and :to_date is not null)
OR (voch_date = v_from_date and :from_date is not null and :to_date is null)
OR (:from_date is null and :to_date is null ))
ORDER BY VOCH_DATE,TO_NUMBER(VOCH_NO);
ELSE
open temp_JOURHEAD for select VOCH_NO, VOCH_DATE
FROM JOURHEAD
WHERE COMP_NO=TO_NUMBER(:COMPANY_NO)
AND IDENT=:IDENT
AND ((voch_date between v_from_date and v_to_date and :from_date is not null and :to_date is not null)
OR (voch_date <= v_to_date and :from_date is null and :to_date is not null)
OR (voch_date = v_from_date and :from_date is not null and :to_date is null)
OR (:from_date is null and :to_date is null ))
ORDER BY VOCH_DATE,VOCH_NO;
END IF;
END IF;
return temp_JOURHEAD;
end; -
Error when opening a BW query with Crystal Reports
Hi all,
I am having problems when opening a BW query with Crystal Reports, the strange thing is that it only happens with
the bo user I have created. If I use a user that already exists and that has SAP_ALL authorization it works.
I don't know if this could be an authorizations issue, but I have created a role with all the authorizations stated in the manual.
The error I am getting is the following:
"An error occurred while generating a new report template. Error in UNKNOWN.RPT file"
Does anyone know what this could be?
ThanksWell,
I cannot access the system now. But I think it is not an issue of authorization, because I assigned all the good user's role to the bo user,
and even with that, it still don't work.
Thanks
Maybe you are looking for
-
Non-english characters input problem on remote device
Hello. I have ZCM 11 SP1. In remote management I can input on remote device only English characters. When I change keyboard layuot to Russian - no input at all. But I need Russian keyboard working. Help, please. Management device is Windows XP SP3 bo
-
Pass List MyObject as a parameter with jax ws web service
Hi, I need to pass a list of strongly typed object as a parameter in my web service which utilizes jax ws. For some reason I am not able to pass more than one. For example if do the following in my soap message: <Objects> <Object> <propert
-
Xsan 2.2 free upgrade?
Is Xsan 2.2 a free upgrade? Or am I going to be forced to purchase this one?
-
I'm using Firefox 17.0 and i tryed to install the latest. But i can't even install it because before it starts it says "Please Reboot to install OLDER version!" Help me! I also can't use the Firefox installed!
-
ItemRenderer DataGridColumn with AS
Hi all, I need to build DataGrid in ActionScript, where is a column with image. Something like <mx:DataGrid id="DataGrid1" rowCount="8" dataProvider="{mainListCollection}"> <mx:DataGridColumn itemRenderer="mx.controls.Image" headerText="Type" dataFie