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 help

    Hai!
    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
    -Harrison

    Thanks. 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
    Shashi

    hi 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

  • 0vtype in purchasing reports

    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,
    JB

    Hi 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
    Manoj

    Hi,
    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.

  • Custom Purchasing Report

    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

  • Select query in a report

    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?
    Jun

    Hi,
    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 Walters

    Hi 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 AM

    Thank 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?
    Thanks

    Well,
    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