Stock level report

Dear experts ,
Do we have a report showing the stock levels for a period of time for a particular materail .
Regards
Anis

Dear,
Go to MC.9 and in period to analyze - enter all the relevant dates on which you would like to check stock. (on selection screen).
Run the report and change drill down to Date.
Regards,
Syed Hussain.

Similar Messages

  • Inventory Report for current stock and Safety, Minimum etc stock levels

    Hi,
    Is there any report available to view the current stock against the minimum, safety stock levels so that the user can plan further actions accordingly.  Can anyone please guide me on this.
    Thanks in Advance.
    Regards,
    Laxmi

    Hi Shailesh,
    Is there any way we can include some extra fields into this MC.9 report - i tried but could not find anything.  Can you please help.
    Regards,
    Laxmi

  • Report  from system on different stock levels-min, max stock levels

    hI gURUS,
    Is there any Standard Report  from  SAP system to see on different stock levels-minIMUM stock, maximum stock levels

    Hi,
    MMBE will not give stock level min and max  that is maintained in material master MRP view. I think you need to make a z report for th same or may be through query.
    Regards
    Sangeta

  • Customer consignment stock- REPORTING stock level & goods depatched

    Hi all
    I'm looking for a report (or reports) which shows the following (bare in mind that this will all be customer consignment stock):
    - the delivery numbers
    - the previous month's stock level
    - the quantity of goods despatched the following month with a rolling calculation
    - monthly invoice values
    - remaining stock levels (after current months goods have been issued and invoiced)
    I'm aware that MMBE/ MB58 shows the current stock levels, however I'm hoping there is a report in SE16 which shows it as a report structure.
    I understand that this is a lot of info requested by myself however any information would be appreciated.
    Thanks
    / Vicky

    Dear tortyv,
    As per my understanding of the requirement,
    You please check the "VL06" report if it satisfies your requirement you enter the execution parameters and execute.
    System will give the list of out bound deliveries. Select one of those and click the details icon (ctrlshiftf3) according to the item view or headder view.
    If it does't suit you have to go for z report.
    I f you want that please provide the input fields in order to fetch the required data for the report.
    Thanks&Regards
    Raghu.k

  • AP Credit Memo and Good return, creates differences between TB and Stock Audit Report

    Hello Experts,
    Did any one has ever faced an issue, whereby AP Credit Memo and Good Return creates discrepancy between journal entry and the stock audit report?
    Here is the scenario:
    AP Credit Memo
    Description
    Quantity
    Unit Price
    Total
    Item A
                    30
                3,400
       102,000
    Journal Entry :
    Debit
    Business Partner
         105,000
            Credit
                          Stock
         105,000
    Inventory Audit Report
    Description
    Quantity
    Cost
    Transaction Amount
    Item A
                            30
                         3,500
                                                    105,000
    Journal Entry :        
    Debit
    Business Partner
         105,000
            Credit
                          Stock
            105,000
    The difference is actually due to the moving average, but the strange part is why the difference is not posted in the journal entry, in the Price different account?
    This makes the stock account amount to be different from the Trial Balance and the Stock Audit Report.
    And this is applied also on the Good Return transaction.
    Any help is highly appreciated.
    Best Regards
    Cedric Kayitare

    Hi Cedric,
    Price & Item cost are different.
    while making goods return , Direct AP Credit Note, Sales Delivery, Direct AR Invoice, stock is going outside.
    In these transactions Journal entry will happen for Item cost and not Item sales or Purchase price.
    Please enable item cost field in line level and check whether above formulae is matching with Item, cost field.
    Then what is the importance of price in these documents??
    Price is the agreed selling or purchase price for trading with Customer and supplier.
    In your example
    You are returning back material worth 105000(as per moving average price), but supplier is supposed to give only you 102,000.
    Hope you understand
    Thanks
    Unnikrishnan

  • Max stock level and reorder point for all the materials

    Dear experts,
    Is there any standard mm report that will give the details of max stock level and reorder point details for all the materials?
    Thanks in advance,
    Regards,
    Krish

    Your requirement can be pulled from table MARC. I dont think there is a standard report to meet your requirement. You can meet your requirement through SAP Query though.

  • MB51 - column for including stock level

    Hi,
    does anyone know if there is a standard report in R/3 which can display MB51 information and also include the stock level after each docuent/movement.
    I guess this can be quickly done using ABAP, but I just wanted to check first if any standard reports exists for this.
    Thanks in advance:-)
    Br,
    Lars H

    as I said, this is not an easy task, and your performance will become worse.
    MB51 is already a transaction with a poor performance if you have some million records in MKPF and MSEG.
    for your goal you would need to calculate the stock level yourself for each movement.
    If you want see how such is done, then debug MB5B transaction.
    you only ) need to enhance this then to calculate only the unrestricted use stock.
    this means you start at a month end quantity and then you need to read each movement and add or subtract or ignore the quantity to finally know what the stock at a certain day was.
    Further you would need to read several MARD or MARDH records  (starting points for calculation)  to get the total unrestricted use stock.
    good luck.

  • Stock Level over time

    I would like to build a query that reports the stock level for each posting period over time.  I found these two tables that appear to have a structure for this data, but when I look at these tables I see that they are empty:
    S197 Periodic storage location stock
    S198 Periodic plant stock
    Is there a better place to get this information?
    Thanks,
    Kent

    MMBE tells the current stock at this time.  I want to get historical stock information over time.  I am looking for a table that holds this information versus a TCODE.  I know many TCODES to get the data, I just can't find a table that stores the data.
    Thanks,
    Kent

  • Standard stock analysis report

    Hi Experts,
    As per client requirement, needed stock analysis report based on following formula, Ratio of
    Stock at the end of month
    Avarage quantity issued per month during year
    if ratio is 5 to 10 then it slow moving material
    if ratio is 10 to 15 then it very slow moving material
    if ratio is 15 to remaining then it non moving material
    which standard reports will help in finding exact solution, please don't suggetst for Z-reports as needs to be done with standard's only.
    Thanks in advance...

    Dear,
    Have a look below as found...
    Formula
    Inventory Turnover = Cost of Goods Sold (COGS) / Average Inventory at value.
    If you are not familiar with the term Cost of Goods Sold, this is the cost of your revenues.
    Average Inventory is measured in value and not in volume.
    If you divide both elements you know how often you sold youu2019re average inventory.  u201CSo what?u201D you ask. I will explain next.
    Concept and use
    I will present you with two business scenariou2019s to point out the significance of the Inventory Turnover ratio.
    Scenario 1
    You sell one product. You invest 10.000 EUR as starting stock. You run your business for one year and at then end of the year you are completely sold out. Your revenue accumulates to 12.500 EUR.  For simplicity sake your gross profit is 2.500 EUR (12.500 - 10.000).
    Revenue = 12.500
    COGS = 10.000
    Average Inventory = 5.000 (10.000 starting stock + 0 end stock / 2 = 5.000 average stock)
    Inventory Turnover = 2
    ROI = 50% > 2.500 (R-C) earned out of 5.000 (A)
    Scenario 2
    Again you sell one product. But this time you invest 5.000 EUR in starting stock. After 6 months you sold your stock and you replenish your stock again for 5.000 EUR. After another 6 months youu2019re sold out. Your revenue is again 12.500 EUR. Your gross profit is 2.500 EUR (12.500 - 5000 - 5000).
    Revenue = 12.500
    COGS = 10.000
    Average Inventory = 2.500 (5.000 starting stock + 0 end stock / 2 = 2.500 average stock)
    Inventory Turnover = 4
    ROI = 100% > 2.500 (R-C) earned out of 2.500 (A)
    Conclusion
    Looking at the two scenarios the increased inventory turnover means increased operating efficiency: your ROI increased from 50% to 100%! Obviously you invested half the money in scenario 2 to achieve the same profits.
    This doesnu2019t mean businesses should try to achieve a maximum inventory turnover per se. Achievable ratios differ per material type (finished goods, semi or raw), but also per moving speed (ABC class). Last but not least the type of industry very much determines what ratio you can achieve: process industries typically have higher inventory turns than, say, heavy equipment manufacturers.
    You can find out what the industry standards are by purchasing metrics from data suppliers like Reuters or Gartner. This will give you an idea how well you are doing compared to your competitors. Or you can just use inventory turnover as an internal benchmark. In this case you periodically review the inventory turnover for different sets of materials and set targets that you wish to achieve.
    Inventory turnover is typically a financial measurement (see relation to ROI). In order to improve the ratio, close cooperation with procurement/production planning is required, since they directly influence the stock levels.
    Again, as with many KPIs and reports donu2019t judge based on this value alone, but use other stock controlling reports to minimize your inventory and still have a sound service level.
    Finally you can read an interesting business case on how inventory turns made Dell a leader in itu2019s business.
    Regards,
    Syed Hussain.
    Have a look at: http://www.kowboyz.nl/blog/mc44-inventory-turnover/
    Edited by: Syed Hussain on Jul 10, 2009 12:16 PM
    Edited by: Syed Hussain on Jul 10, 2009 12:18 PM

  • Real time stock levels

    Hello
    Could anybody help me find a solution to my problem please?
    I would like a report to run that tells me the (exact) stock levels of all materials that I can save as xls.
    If it can be done automatically that would be even better.
    Thanks

    Is there anyway to change the format to a simple table with each item having its own line?
    e.g  material - description - stock level
    this would make it easier to view when converted to spreadsheet?
    Edited by: ripps12 on Feb 2, 2011 10:05 AM

  • Zero Stock levels

    Hi
    I'm looking to generate a report that counts the number of days an item is at zero stock within each warehouse, over a specified time.
    I've tried various ways yet seem to fail to get a concise report.  Would anybody be able to help?

    Hi Gordon
    Thank you for your response, and that query worked as expected once I realised that the Warehouse variable needed to be %1.
    If you could help me a little further then that would be most kind?
    I've amended the code to bring item descriptions (as below), but I really would like to go further.
    1.
    It would be important for me to select a date range, from and to, and the query to show the number of days out of stock.  Would it be  easier for the report to show in columns the stock level each day, and so I could see a pattern of gap periods?  Either that or a count of zero stock days over a given period.
    2.
    I would also need to filter the results by certain item properties (Qrygroup), or am I asking too much!
    Anyways this is where I got to:
    Select T0.ItemCode, T0.[Dscription], sum(T0.InQty - T0.OutQty) as "Qty In/Out"
    from dbo.OINM T0 
    Where T0.DocDate <= '[%0]' and T0.InQty != T0.OutQty and t0.Warehouse LIKE '%[%1]%'
    Group by T0.[Dscription], T0.ItemCode Having sum(T0.InQty) = sum(T0.OutQty)
    Order by T0.ItemCode
    Many thanks
    Andy

  • Urgent: Regarding Stock Ageing report

    hi,
    i want to have stock ageing report in which i want to have the deatils :-
    This is the material which is present in the palnt from dis <b>date</b> and further details of it consumption. plzz tell the <b>tcode</b> for it.
    plzz help me out as it is most urgent to me..
    regards,
    ric.s
    Message was edited by:
            ric .s

    Hi
    The report MC.9 shows Last movement date/Last receipt date / Last issue date.
    In period to analyze give appropriate date range
    Or
    check  MSEG & MARD table to get details about material documents with date
    Vishal...

  • Stock summary report

    hi
    i am doing stock summary report
    i am checking the data with mc.9 standard report
    the total amount for particular month is not tallying with standard one.
    data is coming with all the materials and with opening nd closing balances...
    but it is taking the stock amount with inclusive of all taxes. i am using the field mseg-dmbtr.
    but i need the material stock amount without taxes.
    i tried with mbew table, but i didn't get closing stock amount.
    values is there correct value in mbew but i am not able to get the correct value..
    tell me anyother tables or give me any soln....
    thanks nd regards
    vidya

    Go through this......
    *& Report  Z_OPEN_CLOSE                                                *
    REPORT  Z_OPEN_CLOSE MESSAGE-ID YW2 LINE-SIZE 231 LINE-COUNT 45
    NO STANDARD PAGE HEADING.
    Type Declaration *
    TYPE-POOLS SLIS.
    Tables *
    TABLES: MKPF, " Material Document: Header Data
            MSEG, " Material Document: Item Data
            MARA,
            MARD,
            S031,
            EKKO,
            EKPO,
            LIKP,
            MAKT,
            J_1IWRKCUS,
            T001W,
            WB2_V_MKPF_MSEG2,
            MMIM_REP_PRINT,
            YW2_STKMOVEMENTS,
            YPLNT,
            MARDH.
    Internal Tables *
    DATA: I_WERKS LIKE J_1IWRKCUS OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF I_YPLNT OCCURS 0,
             PPLNT LIKE YPLNT-PPLNT,
             WPLNT LIKE YPLNT-WPLNT,
          END OF I_YPLNT.
    DATA: BEGIN OF I_MKPF OCCURS 0,
            MBLNR LIKE MKPF-MBLNR,
            MJAHR LIKE MKPF-MJAHR,
            BUDAT LIKE MKPF-BUDAT,
            VGART LIKE MKPF-VGART,
            BWART LIKE MSEG-BWART,
            MATNR LIKE MSEG-MATNR,
            WERKS LIKE MSEG-WERKS,
            LGORT LIKE MSEG-LGORT,
            MENGE LIKE MSEG-MENGE,
            MEINS LIKE MSEG-MEINS,
            KUNNR LIKE MSEG-KUNNR,
            ZEILE LIKE MSEG-ZEILE,
            XAUTO LIKE MSEG-XAUTO,
            SHKZG LIKE MSEG-SHKZG,
            MATNR1 LIKE MSEG-MATNR,
          END OF I_MKPF.
    DATA: BEGIN OF I_MARDH OCCURS 0,
           WERKS LIKE MARDH-WERKS,
           MEINS LIKE MARA-MEINS,
           MATNR LIKE MARDH-MATNR,
           LGORT LIKE MARDH-LGORT,
           LABST LIKE MARDH-LABST,
           LFGJA LIKE MARDH-LFGJA, "Added -MB
           LFMON LIKE MARDH-LFMON, "Added -MB
           PERIO(6),
           INSME LIKE MARDH-LABST,
           EINME LIKE MARDH-LABST,
           SPEME LIKE MARDH-LABST,
           RETME LIKE MARDH-LABST,
           O_STK LIKE MARDH-LABST, " Opening Stock
           C_STK LIKE MARDH-LABST, " Closing Stock
          END OF I_MARDH.
    DATA: BEGIN OF I_MARD OCCURS 0,
           WERKS LIKE MARD-WERKS,
           MATNR LIKE MARD-MATNR,
           LGORT LIKE MARD-LGORT,
           LABST LIKE MARD-LABST,
           INSME LIKE MARD-LABST,
           MEINS LIKE MARA-MEINS,
           EINME LIKE MARD-LABST,
           SPEME LIKE MARD-LABST,
           RETME LIKE MARD-LABST,
          END OF I_MARD.
    DATA: I_MARD1 LIKE I_MARD OCCURS 0 WITH HEADER LINE.
    DATA: I_MARDH1 LIKE I_MARDH OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF I_MKPF1 OCCURS 0,
            MBLNR LIKE MKPF-MBLNR,
            WERKS LIKE MSEG-WERKS,
            MATNR LIKE MSEG-MATNR,
            BUDAT LIKE MKPF-BUDAT,
            BWART LIKE MSEG-BWART,
            MJAHR LIKE MKPF-MJAHR,
            VGART LIKE MKPF-VGART,
            LGORT LIKE MSEG-LGORT,
            MENGE LIKE MSEG-MENGE,
            MEINS LIKE MSEG-MEINS,
            XAUTO LIKE MSEG-XAUTO,
            SHKZG LIKE MSEG-SHKZG,
          END OF I_MKPF1.
    DATA: BEGIN OF I_MKPF2 OCCURS 0,
           WERKS LIKE MSEG-WERKS,
           MATNR LIKE MSEG-MATNR,
           BUDAT LIKE MKPF-BUDAT,
           BWART LIKE MSEG-BWART,
           MJAHR LIKE MKPF-MJAHR,
           VGART LIKE MKPF-VGART,
           LGORT LIKE MSEG-LGORT,
           MENGE LIKE MSEG-MENGE,
           MEINS LIKE MSEG-MEINS,
           XAUTO LIKE MSEG-XAUTO,
         END OF I_MKPF2.
    DATA: BEGIN OF I_FINAL5 OCCURS 0,
           WERKS LIKE MSEG-WERKS, " Plant
           MATNR LIKE MSEG-MATNR, " Material
           LGORT LIKE MSEG-LGORT, " Storage Location
           BUDAT LIKE MKPF-BUDAT, " Posting Date
           MTART LIKE MARA-MTART, " Material Type
           SPMON LIKE S031-SPMON, " Month
           MAKTX LIKE MAKT-MAKTX, " Description
    meins(3), " UOM
            MEINS LIKE MSEG-MEINS,
            O_STK LIKE MARDH-LABST, " opening stock
            TRECEP LIKE MARDH-LABST, " total receipts
            PRODU LIKE MARDH-LABST, " Net Receipts - Production
            RECEP LIKE MARDH-LABST, " Net Receipts - Receipts
            SAL_RET LIKE MARDH-LABST, " Net Receipts - Sales Return
            TDISP LIKE MARDH-LABST, " total dispatches
            CUSTMR LIKE MARDH-LABST, " Net Dispatches - Customers
            OPLANT LIKE MARDH-LABST, " Net Dispatches - To Other Plant
            TLOSS LIKE MARDH-LABST, " Total Loss
            TRLOSS LIKE MARDH-LABST, " Transit Loss
            WHLOSS LIKE MARDH-LABST, " Warehouse Loss
            C_STK LIKE MARDH-LABST, " Closing Stock
            TRFSTK LIKE MARDH-LABST, "Transfer stock
            MENGE LIKE MSEG-MENGE,
            OTHADJ LIKE MARDH-LABST,
          END OF I_FINAL5.
    DATA: BEGIN OF I_FINAL OCCURS 0,
            WERKS LIKE MSEG-WERKS, " Plant
            MATNR LIKE MSEG-MATNR, " Material
            BUDAT LIKE MKPF-BUDAT, " Posting Date
            MTART LIKE MARA-MTART, " Material Type
            SPMON LIKE S031-SPMON, " Month
            MAKTX LIKE MAKT-MAKTX, " Description
    meins(3), " UOM
            MEINS LIKE MSEG-MEINS,
            O_STK LIKE MARDH-LABST, " opening stock
            TRECEP LIKE MARDH-LABST, " total receipts
            PRODU LIKE MARDH-LABST, " Net Receipts - Production
            RECEP LIKE MARDH-LABST, " Net Receipts - Receipts
            SAL_RET LIKE MARDH-LABST, " Net Receipts - Sales Return
            TDISP LIKE MARDH-LABST, " total dispatches
            CUSTMR LIKE MARDH-LABST, " Net Dispatches - Customers
            OPLANT LIKE MARDH-LABST, " Net Dispatches - To Other Plant
            TRFSTK LIKE MARDH-LABST, "Material Transfer stock
            TRLOSS LIKE MARDH-LABST, " Transit Loss
            WHLOSS LIKE MARDH-LABST, " Warehouse Loss
            TLOSS LIKE MARDH-LABST, " Total Loss
            C_STK LIKE MARDH-LABST, " Closing Stock
            OTHADJ LIKE MARDH-LABST,
           END OF I_FINAL.
    DATA: I_FINAL1 LIKE I_FINAL OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF I_FINAL_TEMP OCCURS 0,
            WERKS LIKE MSEG-WERKS, " Plant
            MATNR LIKE MSEG-MATNR, " Material
            MTART LIKE MARA-MTART, " Material Type
            MAKTX LIKE MAKT-MAKTX, " Description
            MEINS LIKE MSEG-MEINS,
            O_STK LIKE MARDH-LABST, " opening stock
            TRECEP LIKE MARDH-LABST, " total receipts
            PRODU LIKE MARDH-LABST, " Net Receipts - Production
            RECEP LIKE MARDH-LABST, " Net Receipts - Receipts
            SAL_RET LIKE MARDH-LABST, " Net Receipts - Sales Return
            TDISP LIKE MARDH-LABST, " total dispatches
            CUSTMR LIKE MARDH-LABST, " Net Dispatches - Customers
            OPLANT LIKE MARDH-LABST, " Net Dispatches - To Other Plant
            TRFSTK LIKE MARDH-LABST, "Material Transfer stock
            TRLOSS LIKE MARDH-LABST, " Transit Loss
            WHLOSS LIKE MARDH-LABST, " Warehouse Loss
            TLOSS LIKE MARDH-LABST, " Total Loss
            C_STK LIKE MARDH-LABST, " Closing Stock
            OTHADJ LIKE MARDH-LABST,
          END OF I_FINAL_TEMP.
    For Materials
    DATA: BEGIN OF I_MARA OCCURS 0,
           MATNR TYPE MARA-MATNR,
           MTART TYPE MARA-MTART,
           MEINS LIKE MARA-MEINS,
           LABST TYPE MARD-LABST,
           MAKTX LIKE MAKT-MAKTX,
          END OF I_MARA.
    DATA: BEGIN OF I_STKMVMNTS OCCURS 0,
           BWART LIKE MSEG-BWART,
           SHKZG LIKE MSEG-SHKZG,
           VZBEW LIKE YW2_STKMOVEMENTS-VZBEW,
          END OF I_STKMVMNTS.
    DATA: BEGIN OF I_FINALT OCCURS 0,
           WERKS LIKE MSEG-WERKS, " Plant
           MATNR LIKE MSEG-MATNR, " Material
           BUDAT LIKE MKPF-BUDAT, " Posting Date
           MTART LIKE MARA-MTART, " Material Type
           SPMON LIKE S031-SPMON, " Month
           MAKTX LIKE MAKT-MAKTX, " Description
    meins(3), " UOM
           MEINS LIKE MSEG-MEINS,
           O_STK LIKE MARDH-LABST, " opening stock
           TRECEP LIKE MARDH-LABST, " total receipts
           PRODU LIKE MARDH-LABST, " Net Receipts - Production
           RECEP LIKE MARDH-LABST, " Net Receipts - Receipts
           SAL_RET LIKE MARDH-LABST, " Net Receipts - Sales Return
           TDISP LIKE MARDH-LABST, " total dispatches
           CUSTMR LIKE MARDH-LABST, " Net Dispatches - Customers
           OPLANT LIKE MARDH-LABST, " Net Dispatches - To Other Plant
           TRFSTK LIKE MARDH-LABST, "Material Transfer stock
           TRLOSS LIKE MARDH-LABST, " Transit Loss
           WHLOSS LIKE MARDH-LABST, " Warehouse Loss
           TLOSS LIKE MARDH-LABST, " Total Loss
           C_STK LIKE MARDH-LABST, " Closing Stock
           OTHADJ LIKE MARDH-LABST,
           MONTH(8) ,
          END OF I_FINALT.
    DATA: IMKPFT LIKE I_MKPF OCCURS 0 WITH HEADER LINE.
    DATA: IMKPFT1 LIKE I_MKPF1 OCCURS 0 WITH HEADER LINE.
    DATA: IMARDT LIKE I_MARD OCCURS 0 WITH HEADER LINE.
    DATA: IMARDHT LIKE I_MARDH OCCURS 0 WITH HEADER LINE.
    DATA: T_FINAL LIKE I_MKPF OCCURS 0 WITH HEADER LINE.
    DATA: IMKPFT2 LIKE I_MKPF OCCURS 0 WITH HEADER LINE.
    FCAT is used for the field catalog
    DATA: FCAT TYPE TABLE OF SLIS_FIELDCAT_ALV WITH NON-UNIQUE DEFAULT KEY
                      WITH HEADER LINE INITIAL SIZE 0,
    for excluding the ICONs from the application toolbar
          FEXC TYPE TABLE OF SLIS_EXTAB WITH NON-UNIQUE DEFAULT KEY
                     WITH HEADER LINE INITIAL SIZE 0,
    FS_LAYO is used for Grid Layout
          FS_LAYO TYPE SLIS_LAYOUT_ALV,
    FEVENTS to handle the events TOP OF PAGE & USER_COMMAND
          FEVENTS TYPE TABLE OF SLIS_ALV_EVENT WITH NON-UNIQUE DEFAULT KEY
                     WITH HEADER LINE INITIAL SIZE 0,
    FHEADER is used for List header
          FHEADER TYPE TABLE OF SLIS_LISTHEADER WITH NON-UNIQUE DEFAULT KEY
                     WITH HEADER LINE INITIAL SIZE 0,
    sort is used for sorting
          FSORT TYPE TABLE OF SLIS_SORTINFO_ALV WITH NON-UNIQUE DEFAULT KEY
                     WITH HEADER LINE INITIAL SIZE 0,
          FCAT1 TYPE TABLE OF SLIS_FIELDCAT_ALV WITH NON-UNIQUE DEFAULT KEY
                    WITH HEADER LINE INITIAL SIZE 0,
          FS_LAYO1 TYPE SLIS_LAYOUT_ALV,
          GT_LIST_TOP_OF_PAGE1 TYPE SLIS_T_LISTHEADER,
          FEVENTS1 TYPE TABLE OF SLIS_ALV_EVENT WITH NON-UNIQUE DEFAULT KEY
                 WITH HEADER LINE INITIAL SIZE 0,
           FHEADER1 TYPE TABLE OF SLIS_LISTHEADER WITH NON-UNIQUE DEFAULT  
                  KEY WITH HEADER LINE INITIAL SIZE 0,
           G_STATU_071 TYPE SLIS_FORMNAME VALUE 'Z_PFSTATUS',
           ALV_VARIANT1 LIKE DISVARIANT.
    Variable Declaration *
    TYPES: TRFF_TYPE_DEC_6_5(6) TYPE P DECIMALS 5.
    DATA: FYEAR(4),
          MON(2),
          FYEAR1(4),
          MON1(2),
          OBAL LIKE MARD-LABST,
          CBAL LIKE MARD-LABST,
          INDEX TYPE I,
          COUNT,
          COUNT1 TYPE I,
          O_STK TYPE P DECIMALS 3,
          C_STK TYPE P DECIMALS 3,
          V_MJAHR LIKE MKPF-MJAHR,
          MONTHS TYPE TRFF_TYPE_DEC_6_5,
          MONTH TYPE I.
    Global variables for handling ALV functionality
    DATA: ALV_KEYINFO TYPE SLIS_KEYINFO_ALV,
          ALV_VARIANT LIKE DISVARIANT,
          ALV_LAYOUT TYPE SLIS_LAYOUT_ALV,
          ALV_REPID LIKE SY-REPID,
          ALV_PRINT TYPE SLIS_PRINT_ALV,
          ALV_DETAIL_FUNC(30),
          ALV_DEFAULT_VARIANT LIKE DISVARIANT-VARIANT,
          ALV_COLOURIZE_FIELDS LIKE MMIM_REP_PRINT-COLOR.
    RANGES: R_BUDAT FOR MKPF-BUDAT.
    *Added by Prabhu for year on 26.4.05.
    DATA: IDATE LIKE R_BUDAT OCCURS 0 WITH HEADER LINE.
    Selection Screen Elements *
    SELECTION-SCREEN BEGIN OF BLOCK BLK WITH FRAME TITLE TEXT-001.
      SELECT-OPTIONS: S_WERKS FOR MARD-WERKS OBLIGATORY NO INTERVALS.
      PARAMETER: P_SPMON LIKE S031-SPMON NO-DISPLAY .
      SELECT-OPTIONS: S_MATNR FOR MARA-MATNR OBLIGATORY,
                      S_LGORT FOR MSEG-LGORT NO-EXTENSION NO INTERVALS,
                      S_MBLNR FOR MKPF-MBLNR,
                      S_BUDAT FOR MKPF-BUDAT OBLIGATORY .
    SELECTION-SCREEN END OF BLOCK BLK.
    SELECTION-SCREEN BEGIN OF BLOCK BLK3 WITH FRAME TITLE TEXT-004.
          PARAMETER : MTART LIKE MARA-MTART DEFAULT 'FERT' NO-DISPLAY.
    SELECTION-SCREEN END OF BLOCK BLK3.
    SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-003.
    SELECTION-SCREEN END OF BLOCK BLK2.
    ADDED BY PRABHU FOR DAY-WISE REPORT.
    SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-007.
      PARAMETERS: D1 RADIOBUTTON GROUP P1 DEFAULT 'X',
                  M1 RADIOBUTTON GROUP P1,
                  Y1 RADIOBUTTON GROUP P1.
    SELECTION-SCREEN END OF BLOCK B3.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-006.
    PARAMETERS: ALV_DEF LIKE DISVARIANT-VARIANT.
    SELECTION-SCREEN END OF BLOCK B2.
    DATA: S_BUDAT1 LIKE S_BUDAT OCCURS 0 WITH HEADER LINE."prabhu
    Initialization *
    INITIALIZATION.
      PERFORM ALV_INIT.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR ALV_DEF.
      PERFORM ALV_F4.
    At Selection Screen
    *AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_spmon.
    PERFORM monat_f4.
    At Selection Screen *
    AT SELECTION-SCREEN.
    checking for the layout
      PERFORM ALV_CHECK.
    authorisation check for the Plant
    PERFORM auth_check.
    Validation for the Plant
      PERFORM VALIDITY_CHECK.
      IF MTART NE 'FERT'.
        MESSAGE E041 WITH 'Material Type must be FERT Only...'.
      ENDIF.
      IF D1 = 'X'." On 26.4.05.
        P_SPMON0(4) = S_BUDAT-LOW0(4).
        P_SPMON4(2) = S_BUDAT-LOW4(2).
      ELSE.
        P_SPMON0(4) = S_BUDAT-LOW0(4).
        P_SPMON4(2) = S_BUDAT-LOW4(2).
      ENDIF.
      LOOP AT S_BUDAT.
        IF S_BUDAT-HIGH IS INITIAL.
          S_BUDAT-HIGH = S_BUDAT-LOW.
          MODIFY S_BUDAT.
        ENDIF.
      ENDLOOP.
      IDATE-LOW = S_BUDAT-LOW.
      IDATE-HIGH = S_BUDAT-HIGH.
      CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
        EXPORTING
           I_DATE_FROM = IDATE-LOW
           I_DATE_TO = IDATE-HIGH
       IMPORTING
    E_DAYS =
          E_MONTHS = MONTH
    E_YEARS =
      DATA: I(3) TYPE C.
      I = S_BUDAT-LOW+4(2).
      CLEAR: R_BUDAT.
      REFRESH: R_BUDAT.
    *added by Prabhu for Only for Oneday.on 18.5.5
      IF MONTH EQ '0'.
        MONTH = MONTH + 1.
      ENDIF.
    *added by Prabhu for Only for Oneday.on 18.5.5
      DO MONTH TIMES.
        R_BUDAT-LOW = S_BUDAT-LOW.
        APPEND R_BUDAT.
      ENDDO.
      I = 0.
      LOOP AT R_BUDAT.
        R_BUDAT-LOW4(2) = S_BUDAT-LOW4(2) + I.
        I = I + 1.
        R_BUDAT-LOW+6(2) = '01'.
        MODIFY R_BUDAT.
      ENDLOOP.
      LOOP AT R_BUDAT.
        CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
           EXPORTING
             DAY_IN = R_BUDAT-LOW
           IMPORTING
             LAST_DAY_OF_MONTH = R_BUDAT-HIGH
          EXCEPTIONS
            DAY_IN_NO_DATE = 1
            OTHERS = 2
        MODIFY R_BUDAT.
      ENDLOOP.
      LOOP AT R_BUDAT.
        IF R_BUDAT-LOW4(2) = S_BUDAT-LOW4(2).
          R_BUDAT-LOW = S_BUDAT-LOW.
          MODIFY R_BUDAT.
        ENDIF.
        IF R_BUDAT-HIGH4(2) = S_BUDAT-HIGH4(2).
          R_BUDAT-HIGH = S_BUDAT-HIGH.
          MODIFY R_BUDAT.
        ENDIF.
    For Summary on 26.4.05.
        IF Y1 = 'X'.
          CLEAR R_BUDAT.
          REFRESH R_BUDAT.
          R_BUDAT-LOW = S_BUDAT-LOW.
          R_BUDAT-HIGH = S_BUDAT-HIGH.
          APPEND R_BUDAT.
          CLEAR R_BUDAT.
        ENDIF.
      ENDLOOP.
    At Selection Screen *
    AT SELECTION-SCREEN OUTPUT.
    Start of Selection *
    START-OF-SELECTION.
      V_MJAHR = P_SPMON+0(4).
    Get plant distinction warehouse/production
      PERFORM GET_PLANT_DISTINCTION.
    Collect the data from various tables
      PERFORM GETDATA_FG_STOCK.
    here the number of rows in the output table is found
      PERFORM OUTPUT_TABLE_CHECK.
    here the top of the page code is written, that is to be displayed
    in the output
      PERFORM Z_TOP_OF_PAGE.
    here ALV layout properties are set
      PERFORM Z_LAYOUT_SETTINGS.
    ALV EVENTS for TOP OF PAGE and for USER COMMAND
      PERFORM Z_ALV_EVENTS.
    The field catalog is defined for the Primary List is defined in
    the subroutine CREATE_FIELD_CATALOG include program ZPRRDOCR_FCAT
      PERFORM Z_CREATE_FIELD_CATALOG.
    This is for displaying the output
      PERFORM Z_REUSE_ALV_GRID_DISPLAY.
    *& Form getdata_fg_stock
    Getting data from standard tables
    FORM GETDATA_FG_STOCK.
    For getting the Start date & end date of the month
    PERFORM get_month_dates.
    Getting the Opening Stock from MARDH table
      IF MON EQ '01'.
        MON1 = MON.
        FYEAR1 = FYEAR.
        MON = '12'.
        FYEAR = FYEAR - 1.
      ELSE.
        MON1 = MON.
        FYEAR1 = FYEAR.
        MON = MON - 1.
        FYEAR = FYEAR.
      ENDIF.
      PERFORM GET_RECORDS_FROM_DB.
    *added for Month Summary on 26.4.05.
      LOOP AT R_BUDAT.
        S_BUDAT-LOW = R_BUDAT-LOW.
        S_BUDAT-HIGH = R_BUDAT-HIGH.
    *for Month
        P_SPMON0(4) = S_BUDAT-LOW0(4).
        P_SPMON4(2) = S_BUDAT-LOW4(2).
    *for summary.
        IF Y1 = 'X'.
          LOOP AT S_BUDAT.
            S_BUDAT1-SIGN = 'I'.
            S_BUDAT1-OPTION = 'NB'.
            S_BUDAT1-LOW = S_BUDAT-LOW.
            S_BUDAT1-HIGH = S_BUDAT-HIGH.
            APPEND S_BUDAT1.
            CLEAR S_BUDAT1.
          ENDLOOP.
        ENDIF.
        IMKPFT[] = I_MKPF[].
        IMKPFT2[] = I_MKPF[].
        IMARDT[] = I_MARD[].
        IMARDHT[] = I_MARDH[].
        PERFORM MONTH_WISE.
        PERFORM PROCESS_MOVEMENTS.
        PERFORM CALCULATE_OPENING_STOCK.
        PERFORM UPDATE_NON_TRANSACTION_ITMS.
        PERFORM DELETE_EMPTY_RECORDS.
        CLEAR: IMARDHT,IMARDT,IMKPFT1,IMKPFT,I_FINAL,I_FINAL5.
        REFRESH: IMARDHT,IMARDT,IMKPFT1,I_FINAL,I_FINAL5,IMKPFT.
      ENDLOOP.
      CLEAR: R_BUDAT.
      REFRESH: R_BUDAT.
    *end of changes for month.
    ENDFORM. " getdata_fg_stock
    FORM MONAT_F4 *
    F4-Hilfe für Monat *
    FORM MONAT_F4.
      DATA: BEGIN OF MF_DYNPFIELDS OCCURS 1.
              INCLUDE STRUCTURE DYNPREAD.
      DATA: END OF MF_DYNPFIELDS.
      DATA: MF_RETURNCODE LIKE SY-SUBRC,
             MF_MONAT LIKE ISELLIST-MONTH,
             MF_HLP_REPID LIKE SY-REPID.
      FIELD-SYMBOLS: .
    Wert von Dynpro lesen
      GET CURSOR FIELD MF_DYNPFIELDS-FIELDNAME.
      APPEND MF_DYNPFIELDS.
      MF_HLP_REPID = SY-REPID.
      DO 2 TIMES.
        CALL FUNCTION 'DYNP_VALUES_READ'
          EXPORTING
            DYNAME               = MF_HLP_REPID
            DYNUMB               = SY-DYNNR
          TABLES
            DYNPFIELDS           = MF_DYNPFIELDS
          EXCEPTIONS
            INVALID_ABAPWORKAREA = 01
            INVALID_DYNPROFIELD  = 02
            INVALID_DYNPRONAME   = 03
            INVALID_DYNPRONUMMER = 04
            INVALID_REQUEST      = 05
            NO_FIELDDESCRIPTION  = 06
            UNDEFIND_ERROR       = 07.
        IF SY-SUBRC = 3.
    Aktuelles Dynpro ist Wertemengenbild
          MF_HLP_REPID = 'SAPLALDB'.
        ELSE.
          READ TABLE MF_DYNPFIELDS INDEX 1.
    Unterstriche durch Blanks ersetzen
          TRANSLATE MF_DYNPFIELDS-FIELDVALUE USING '_ '.
          EXIT.
        ENDIF.
      ENDDO.
      IF SY-SUBRC = 0.
    Konvertierung ins interne Format
        CALL FUNCTION 'CONVERSION_EXIT_PERI_INPUT'
          EXPORTING
            INPUT         = MF_DYNPFIELDS-FIELDVALUE
          IMPORTING
            OUTPUT        = MF_MONAT
          EXCEPTIONS
            ERROR_MESSAGE = 1.
        IF MF_MONAT IS INITIAL.
    Monat ist initial => Vorschlagswert aus akt. Datum ableiten
          MF_MONAT = SY-DATLO(6).
        ENDIF.
        CALL FUNCTION 'POPUP_TO_SELECT_MONTH'
          EXPORTING
            ACTUAL_MONTH               = MF_MONAT
          IMPORTING
            SELECTED_MONTH             = MF_MONAT
            RETURN_CODE                = MF_RETURNCODE
          EXCEPTIONS
            FACTORY_CALENDAR_NOT_FOUND = 01
            HOLIDAY_CALENDAR_NOT_FOUND = 02
            MONTH_NOT_FOUND            = 03.
        IF SY-SUBRC = 0 AND MF_RETURNCODE = 0.
    ASSIGN (MF_DYNPFIELDS-FIELDNAME) TO <MF_FELD>. " ==>> note 148804
    <MF_FELD> = MF_MONAT.
          CALL FUNCTION 'CONVERSION_EXIT_PERI_OUTPUT'
            EXPORTING
              INPUT  = MF_MONAT
            IMPORTING
              OUTPUT = MF_DYNPFIELDS-FIELDVALUE.
          COLLECT MF_DYNPFIELDS.
          CALL FUNCTION 'DYNP_VALUES_UPDATE'
            EXPORTING
              DYNAME               = MF_HLP_REPID
              DYNUMB               = SY-DYNNR
            TABLES
              DYNPFIELDS           = MF_DYNPFIELDS
            EXCEPTIONS
              INVALID_ABAPWORKAREA = 01
              INVALID_DYNPROFIELD  = 02
              INVALID_DYNPRONAME   = 03
              INVALID_DYNPRONUMMER = 04
              INVALID_REQUEST      = 05
              NO_FIELDDESCRIPTION  = 06
              UNDEFIND_ERROR       = 07. "<<== note 148804
        ENDIF.
      ENDIF.
    ENDFORM.                                                    "MONAT_F4
    *& Form get_month_dates
    Calculating the Month Start & End Date
    FORM GET_MONTH_DATES.
      IF M1 = 'X'.
        FYEAR = P_SPMON+0(4).
        MON = P_SPMON+4(2).
        CONCATENATE FYEAR MON '01' INTO R_BUDAT-LOW.
        R_BUDAT-SIGN = 'I'.
        R_BUDAT-OPTION = 'BT'.
        CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
          EXPORTING
            I_DATE = R_BUDAT-LOW
          IMPORTING
            E_DATE = R_BUDAT-HIGH.
        APPEND R_BUDAT.
        CLEAR S_BUDAT.
        REFRESH S_BUDAT.
        S_BUDAT-SIGN = 'I'.
        S_BUDAT-OPTION = 'BT'.
        S_BUDAT-LOW = R_BUDAT-LOW.
        S_BUDAT-HIGH = R_BUDAT-HIGH.
        APPEND S_BUDAT.
      ELSE.
        FYEAR = P_SPMON+0(4).
        MON = P_SPMON+4(2).
        CONCATENATE FYEAR MON '01' INTO R_BUDAT-LOW.
        R_BUDAT-SIGN = 'I'.
        R_BUDAT-OPTION = 'BT'.
        CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
          EXPORTING
            I_DATE = R_BUDAT-LOW
          IMPORTING
            E_DATE = R_BUDAT-HIGH.
        APPEND R_BUDAT.
      ENDIF.
    ENDFORM. " get_month_dates
    *& Form output_table_Check
    checking for records for output
    FORM OUTPUT_TABLE_CHECK .
      DESCRIBE TABLE I_FINALT LINES INDEX.
      IF INDEX EQ 0.
        MESSAGE I041 WITH TEXT-005.
        LEAVE LIST-PROCESSING.
      ENDIF.
    ENDFORM. "OUTPUT_TABLE_CHECK
    *& Form Z_TOP_OF_PAGE
    for setting the details in the top of page *
    has no formal paramters *
    FORM Z_TOP_OF_PAGE.
      DATA: V_MON(2),
      V_YR(40),
      V_FIN(18),
      V_FIN1(48),
      LOW(10),
      HIGH(10).
      V_MON = P_SPMON+4(2).
      V_YR = P_SPMON+0(4).
      FHEADER-TYP = 'H'.
      FHEADER-INFO = 'Stock Register Report (FG Stock)'.
      APPEND FHEADER.
      CLEAR FHEADER.
    *if m1 = 'X'.
    CONCATENATE 'Month = ' v_mon '.' v_yr INTO v_fin.
    fheader-typ = 'H'.
    fheader-info = v_fin.
    APPEND fheader.
    CLEAR fheader.
    *endif."prabhu on 18.5.5
      IF D1 = 'X'.
        CLEAR S_BUDAT.
        LOOP AT S_BUDAT.
          CONCATENATE S_BUDAT-LOW6(2) '/' S_BUDAT-LOW4(2) '/'
          S_BUDAT-LOW+0(4) INTO LOW.
          CONCATENATE S_BUDAT-HIGH6(2) '/' S_BUDAT-HIGH4(2) '/'
          S_BUDAT-HIGH+0(4) INTO HIGH.
          CONCATENATE 'Date = ' LOW ' - ' HIGH INTO V_FIN1.
          FHEADER-TYP = 'H'.
          FHEADER-INFO = V_FIN1.
          APPEND FHEADER.
          CLEAR FHEADER.
        ENDLOOP.
      ENDIF.
    ENDFORM. " Z_TOP_OF_PAGE
    *& Form Z_LAYOUT_SETTINGS
    this is done for setting the properties for the layout of the *
    grid *
    has no formal paramters *
    FORM Z_LAYOUT_SETTINGS.
      FS_LAYO-ZEBRA = 'X'. " Output in Zebra pattern
      FS_LAYO-DETAIL_POPUP = 'X'. " A popup window appears to give
      FS_LAYO-DETAIL_TITLEBAR = TEXT-022.
      FS_LAYO-COLWIDTH_OPTIMIZE = 'X'.
    ENDFORM. " Z_LAYOUT_SETTINGS
    *& Form Z_ALV_EVENTS
    This is used for handling the events TOP OF PAGE and the USER *
    COMMAND event *
    has no formal paramters *
    FORM Z_ALV_EVENTS.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          I_LIST_TYPE = 0
        IMPORTING
          ET_EVENTS   = FEVENTS[].
      READ TABLE FEVENTS WITH KEY NAME = 'TOP_OF_PAGE'.
      IF SY-SUBRC = 0.
        FEVENTS-FORM = 'Z_TOPOFPAGE'.
        MODIFY FEVENTS INDEX SY-TABIX.
        CLEAR FEVENTS.
      ENDIF.
      READ TABLE FEVENTS WITH KEY NAME = 'USER_COMMAND'.
      IF SY-SUBRC = 0.
        FEVENTS-FORM = 'Z_USER_COMMAND'.
        MODIFY FEVENTS INDEX SY-TABIX.
        CLEAR FEVENTS.
      ENDIF.
    ENDFORM. "Z_ALV_EVENTS
    *& Form Z_CREATE_FIELD_CATALOG
    here the field catalog is created for the primary list *
    no formal parameters *
    FORM Z_CREATE_FIELD_CATALOG.
    for the Plant
      FCAT-FIELDNAME = 'WERKS'.
      FCAT-KEY = 'X'.
      FCAT-OUTPUTLEN = '000005'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Plant'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'C'.
      FCAT-DATATYPE = 'CHAR'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Material Type
      FCAT-FIELDNAME = 'MTART'.
      FCAT-KEY = 'X'.
      FCAT-OUTPUTLEN = '000006'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'MatTyp'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'C'.
      FCAT-DATATYPE = 'CHAR'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Material No.
      FCAT-FIELDNAME = 'MATNR'.
      FCAT-KEY = 'X'.
    fcat-hotspot = 'X'.
      FCAT-OUTPUTLEN = '000018'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Material'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'C'.
      FCAT-DATATYPE = 'CHAR'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Material Description
      FCAT-FIELDNAME = 'MAKTX'.
      FCAT-KEY = ''.
      FCAT-OUTPUTLEN = '000040'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Description'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'C'.
      FCAT-DATATYPE = 'CHAR'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Unit of Measure
      FCAT-FIELDNAME = 'MEINS'.
      FCAT-KEY = ''.
      FCAT-OUTPUTLEN = '03'.
      FCAT-JUST = 'C'.
      FCAT-SELTEXT_M = 'UOM'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'C'.
      FCAT-DATATYPE = 'UNIT'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Plant
      FCAT-FIELDNAME = 'MONTH'.
      FCAT-KEY = 'X'.
      FCAT-OUTPUTLEN = '08'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'MONTH'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'C'.
      FCAT-DATATYPE = 'CHAR'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Opening Stock
      FCAT-FIELDNAME = 'C_STK'.
      FCAT-HOTSPOT = ' '.
      FCAT-OUTPUTLEN = '000016'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Opening Stock'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'Q'.
      FCAT-DATATYPE = 'QUAN'.
    fcat-do_sum = 'X'.
      FCAT-JUST = 'R'.
      FCAT-NO_ZERO = 'X'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Total Receipts
      FCAT-FIELDNAME = 'TRECEP'.
      FCAT-HOTSPOT = ' '.
      FCAT-OUTPUTLEN = '000016'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Total Receipts'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'Q'.
      FCAT-DATATYPE = 'QUAN'.
      FCAT-DO_SUM = 'X'.
      FCAT-JUST = 'R'.
      FCAT-NO_ZERO = 'X'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Production
      FCAT-FIELDNAME = 'PRODU'.
      FCAT-HOTSPOT = ' '.
      FCAT-OUTPUTLEN = '000016'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Production'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'Q'.
      FCAT-DATATYPE = 'QUAN'.
      FCAT-DO_SUM = 'X'.
      FCAT-JUST = 'R'.
      FCAT-NO_ZERO = 'X'.
      APPEND FCAT.
      CLEAR FCAT.
    for the Other Plant Receipts
      FCAT-FIELDNAME = 'RECEP'.
      FCAT-HOTSPOT = ' '.
      FCAT-OUTPUTLEN = '000016'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Othr Plnt Recpts'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'Q'.
      FCAT-DATATYPE = 'QUAN'.
      FCAT-DO_SUM = 'X'.
      FCAT-JUST = 'R'.
      FCAT-NO_ZERO = 'X'.
      APPEND FCAT.
      CLEAR FCAT.
    Sales Return
      FCAT-FIELDNAME = 'SAL_RET'.
      FCAT-HOTSPOT = ' '.
      FCAT-OUTPUTLEN = '000016'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Sales Return'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'Q'.
      FCAT-DATATYPE = 'QUAN'.
      FCAT-DO_SUM = 'X'.
      FCAT-JUST = 'R'.
      FCAT-NO_ZERO = 'X'.
      APPEND FCAT.
      CLEAR FCAT.
    Total Dispatches
      FCAT-FIELDNAME = 'TDISP'.
      FCAT-HOTSPOT = ' '.
      FCAT-OUTPUTLEN = '000016'.
      FCAT-JUST = 'L'.
      FCAT-SELTEXT_M = 'Total Dispatches'.
      FCAT-DDICTXT = 'M'.
      FCAT-INTTYPE = 'Q'.
      FCAT-DATATYPE = 'QUAN'.
      FCAT-DO_SUM = 'X'.
      FCAT-JUST = 'R'.
      FCAT-NO_ZERO = 'X'.
      APPEND FCAT.
      CLEAR FCAT.

  • Stock Transfer Report after Invoice

    Hello Experts
    Please spend one minute's time to read this. It may be long but its the exact scenario.
    I have got a requirement to generate a Stock Transfer Report for the bills passed (invoice receipt) for a particular date range. Note that the delivery against the PO can be for partial quantities too.
    I am using RBKP table to get all the invoice numbers falling in the certain date range selection. Against these Invoices I am retrieving the PO number and other report relevant data from the RSEG Table. And using the PO I need to get into the MSEG table to retrieve Mat Doc numbers so that I can drill into the excise tables to get Excise No.
    Now the problem is:
    Suppose the PO <b>4900000337 </b>contains various items
    item no  | material  | qty
    10       | mat1      | 1050
    20       | mat2      | 2670
    30       | mat3      | 450
    Now one partial delivery is made as
    item no  | material  | qty
    10       | mat1      | 100
    20       | mat2      | 250
    <i>mat doc 4900012713, mov type 641</i>
    and the against this delivery an invoice receipt is created using MIRO, <b>5105600790</b>
    another partial delivery is made as
    item no  | material  | qty
    20       | mat1      | 350
    30       | mat2      | 50
    <i>mat doc 4900012714, mov type 641</i>
    against this delivery an invoice receipt is created using MIRO, <b>5105600791</b>
    How do I link the invoice no to the material documents to know the quantity of the particular item of the PO... as we see item no 20 is common in both the case.
    RSEG
    Document Number Fiscal Year Item   Purchasing Doc. Item
    5105600790      2007        000007 4900000337      00020
    5105600791      2007        000007 4900000337      00020
    MSEG
    Material Doc. Mat. Doc. Year Item Line ID Parent ID Movement Type Material     Quantity          Purchase Order Item
    4900012713    2007           0004 000005  000002    641           90050106            250.000  4900000337     00020
    4900012714    2007           0002 000003  000001    641           90050106            350.000  4900000337     00020

    Hi...
    <i>1) MIRO is done against Purchase Order right??</i>
    > Yes, MIRO is done against PO. And, when I try to do it against Deliv. Doc. its not possible as its not displaying any items!
    <i>2) In BSEG : you put the PO number 4900000343 then the below rows are visible right??</i>
    >Yes.
    <i>3) Can you please paste the rows : BELNR, EBELN and VBELN only ??</i>
    Here they are...(with some other fields which might be of importance)
    For <b>PO 4900000343</b>
    Table:          BSEG
    Document Number Transaction Assignment         Billing Doc. Plant       Quantity     Purchasing Doc. Item
    BELNR           KTOSL          ZUONR              VBELN        WERKS       MENGE        EBELN           EBELP
    0490021088      BSX         20071024           0010004216   2006             50.000  4900000343      00010
    0490021088      BSX         20071024           0010004216   6201             50.000  4900000343      00010
    0490021088      AUM         0006201001         0010004216   6201             50.000  4900000343      00010
    0490021088      FR1         490000034300010    0010004216   6201             50.000  4900000343      00010
    0490021088      BSX         20071024           0010004216   2006            100.000  4900000343      00020
    0490021088      BSX         20071024           0010004216   6201            100.000  4900000343      00020
    0490021088      AUM         0006201001         0010004216   6201            100.000  4900000343      00020
    0490021088      FR1         490000034300020    0010004216   6201            100.000  4900000343      00020
    0490021089      BSX         20071024           0010004217   2006            200.000  4900000343      00020
    0490021089      BSX         20071024           0010004217   6201            200.000  4900000343      00020
    0490021089      AUM         0006201001         0010004217   6201            200.000  4900000343      00020
    0490021089      FR1         490000034300020    0010004217   6201            200.000  4900000343      00020
    0490021089      AUM         0006201001         0010004217   6201            100.000  4900000343      00030
    0490021089      FR1         490000034300030    0010004217   6201            100.000  4900000343      00030
    0510000678      FR1         490000034300010                 6201             50.000  4900000343      00010
    0510000678      FR1         490000034300020                 6201            100.000  4900000343      00020
    0510000679      FR1         490000034300020                 6201            200.000  4900000343      00020
    0510000679      FR1         490000034300030                 6201            100.000  4900000343      00030
    Can you also show the rows for the PO that you have mentioned in your first message.
    <b>PO 4900000337</b>
    Table:          BSEG
    Document Number Transaction Assignment         Billing Doc. Plant       Quantity     Purchasing Doc. Item
    BELNR           KTOSL          ZUONR              VBELN        WERKS       MENGE        EBELN           EBELP
    0490021080      AUM         0006201001         0010004205   6201            350.000  4900000337      00070
    0490021080      FR1         490000033700070    0010004205   6201            350.000  4900000337      00070
    0490021080      BSX         20071017           0010004205   2006             50.000  4900000337      00100
    0490021080      BSX         20071017           0010004205   6201             50.000  4900000337      00100
    0490021080      AUM         0006201001         0010004205   6201             50.000  4900000337      00100
    0490021080      FR1         490000033700100    0010004205   6201             50.000  4900000337      00100
    0490021081      BSX         20071017           0010004206   2006            500.000  4900000337      00010
    0490021081      BSX         20071017           0010004206   6201            500.000  4900000337      00010
    0490021081      AUM         20071017           0010004206   6201            500.000  4900000337      00010
    0490021081      FR1         490000033700010    0010004206   6201            500.000  4900000337      00010
    0490021081      BSX         20071017           0010004206   2006            300.000  4900000337      00020
    0490021081      AUM         0006201001         0010004206   6201            300.000  4900000337      00020
    0490021081      FR1         490000033700020    0010004206   6201            300.000  4900000337      00020
    0490021082      BSX         20071017           0010004207   2006            300.000  4900000337      00010
    0490021082      BSX         20071017           0010004207   6201            300.000  4900000337      00010
    0490021082      AUM         20071017           0010004207   6201            300.000  4900000337      00010
    0490021082      FR1         490000033700010    0010004207   6201            300.000  4900000337      00010
    0490021082      BSX         20071017           0010004207   2006            250.000  4900000337      00020
    0490021082      AUM         0006201001         0010004207   6201            250.000  4900000337      00020
    0490021082      FR1         490000033700020    0010004207   6201            250.000  4900000337      00020
    0490021101      BSX         20071025           0010004229   2006          1,000.000  4900000337      00010
    0490021101      BSX         20071025           0010004229   6201          1,000.000  4900000337      00010
    0490021101      AUM         20071025           0010004229   6201          1,000.000  4900000337      00010
    0490021101      FR1         490000033700010    0010004229   6201          1,000.000  4900000337      00010
    0490021101      BSX         20071025           0010004229   2006            250.000  4900000337      00020
    0490021101      AUM         0006201001         0010004229   6201            250.000  4900000337      00020
    0490021101      FR1         490000033700020    0010004229   6201            250.000  4900000337      00020
    0510000675      FR1         490000033700030                 6201            400.000  4900000337      00030
    0510000675      FR1         490000033700070                 6201            250.000  4900000337      00070
    0510000675      FR1         490000033700090                 6201             50.000  4900000337      00090
    0510000676      FR1         490000033700070                 6201            350.000  4900000337      00070
    0510000676      FR1         490000033700100                 6201             50.000  4900000337      00100
    0510000677      FR1         490000033700010                 6201            800.000  4900000337      00010
    0510000677      FR1         490000033700020                 6201            550.000  4900000337      00020
    Thanks. I have added you on GoogleTalk... if you use it, we can discuss there and update the thread...
    Regards
    Aabhas K Vishnoi

  • Stock variance report Crashes with error code REP-56048

    SR : 6990718.992
    gtcr : http://qmon.oraclecorp.com/qmon3/quickpicks.pl?t=t&q=6990718.992
    Problem Statement : When the user is trying to generate report for Stock variance report from Oracle Retail Merchandising System the report crashes with error code REP-56048.
    The steps to reproduce are specific to Oracle Retail Merchandising system application and hence I have not mentioned here.
    The REP-56048 error seems to be generic. Could you please advise me on this issue.
    Thanks & Regards,
    Sameer

    You can review the following Oracle Metalink Document;
    Comprehensive REP-56048 Troubleshooting and Overview Guide: Doc ID: Note:285281.1
    https://metalink.oracle.com/metalink/plsql/f?p=130:14:88153902823984055::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,285281.1,1,1,1,helvetica
    Hope it would be useful.
    Adith

Maybe you are looking for

  • Mac Mini will read from but not write to external CD/DVD drive

    My new Mac Mini won't write CDs or DVDs to my LaCie DVDRW external drive, either in iTunes or through the finder. The computer appears to be writing the disc and then there's an error message right at the end of the process that says it can't access

  • HV segmentation based on relationships

    Hi, We have a requirement of extracting contact of BPs in segmentation while applying marketing attribute filters on BPs. How can this be done using HV segmentation, since there is no option of using a function module. We are using CRM 7.0 EHP1. Than

  • Parameters not poputating Crystal reports 2008 and VISTA

    We have a client working with CR2008 reports with dynamic CR parameters working. Until last week, everything was ok, but, after some Windows(vista) updates, now, in one computer (and just in that computer, rest of people is working fine), when trying

  • Error recieved running check for updates

    running Version 2.1.1.64 when I check for updates I recieve this error: ava.io.IOException: Server returned HTTP response code: 503 for URL: http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd      at sun.net.www.protocol.http.HttpURLConnection

  • Check for mounted DFS share with exists in apple script

    OS: OSX Mountain lion. Can any one advise how to detect if a DFS share is mounted or not? I have been using the following code: set volumeLabel to "R$" tell application "Finder"   exists disk volumeLabel end tell Which works fine with a normal SMB sh