Goods In Stock source report

Hi All,
How can I find out the current instock quantity came from which source such as Stock Transfer, GRPO etc?  the item is havng batch number.
thanks
SV Reddy

Hi
Again this is something similar to Batch transaction report, it shows all unncessary information in this scenario.  My scenario is
just to see the output where the current Instock qty came from
SV Reddy

Similar Messages

  • 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

  • Stock ageing report with batch Management active

    Hi Experts,
    My client wants a Stock ageing report and batch management is active
    According to my client, Inventory ageing report should show stock quantities and stock value as follows,
    1. Below one year
    2. Between one and two years
    3. Above two years
    What are the table and fields to be considered for this report.
    Thanks
    NDS

    What steps do you mean? taking an ABAP course and doing it yourself, or stepping to an ABAPer and let him know what he shall do?
    you asked for a stock report, not for a movement report.
    If I go into my warehouse and looking at all the stuff sitting there and want a report that should tell me how old this stuff is, then i am not intrested if there was a goods receipt movement.
    However I would like to know the last movement date. In this case you have to look into table S032 or into the movements MSEG (with MKPF as header table)

  • Stock Ledger Report

    HI,
    There is any Stock Ledger Report material Wise and Date Wise with Opening , issue, Receipt & Closing Qt available.
    With details Shown Below
    Material Code, Date, Material Document, Goods Movement Qty, Opening stock, receipt, Issues, Closing Stock.
    if useful, rewards points will be given.
    Regards
    Mani.

    Dear Vishal,
    Thank You for your response.
    But MB5B is Stock Statement and am looking for date wise, Material document wise, Opening, Receipt, Issues and Closing stock for the paricular material.
    i hope you can understand my requirement.
    Rgards
    Mani

  • Stock ageing report in inventory management

    Hi,
    iam working in stock ageing report my requirment is i for developing stock ageing i have chars for plant and material ,and other 2 chars but i dont have cal day i have only creation on date means posting date only availble .my current layout is :
    Plant
    Plant   Material     0 u2013 30 Days  30 u2013 60 Days 60 u2013 90 Days  90 u2013 180 Days   > 180 Days     
    Expired     Blocked     Restricted
    above is mentioned is my current layout.
    but now user will be want  they want see 0-30 below month also mean july- august same as 30-60 also.
    Report to display always 2 months data at a time. Previous month closing and current month ongoing                                        
    this is my requirement please hpe help on this.
    thanks in advance.
    Deva

    As you already noticed not only the input (GR) but the output (GI) is also important.
    The date of the GR is only one thing, but after that you received the goods in your SLoc you cannot make difference between stocks received at different times.
    As your stock is not distinguished in the system as per the GR date you cannot say that which sub-stock has been consumed during GI.
    So, without batch management you cannot achieve your goal in standard system.
    Of course, physically you can realize your idea by putting labels on different batches - this would mean batch management physically and not in SAP.
    If you use warehouse management you can use a workaround: the GR date is stored in the quants and this makes possible to track the age of the stock without batch management. Please check:
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/c6/f83b5e4afa11d182b90000e829fbfe/frameset.htm
    Regards,
    Csaba

  • Urgent: regarding stock aging report

    hi,
    i want to have t-code for 'STOCK AGING REPORT' which shows that this material is present in the plant from this <b>date</b>. <b>plzzz provide me the tcode for it.</b>
    if anybody provide me solution to it will be definately rewarded.
    Message was edited by:
            ric .s
    Message was edited by:
            ric .s
    Message was edited by:
            ric .s

    Hi,
    Please try transaction code MC50
    also u can use mc.9 in that use fields like last consumed last good issued and last goods receipt
    after runing report u will get material and values t add above fields
    press f6 and add last consumed last good issued and last goods receipt
    and with this data u can analys this data
    Reward if found  helpful ...
    Cheers,
    Chandra Sekhar.

  • Stock ageing report without Batch Management

    Hi Gurus,
    My client wants a Stock ageing report. But my concern here is can we achieve this  without batch management
    According to my client, Inventory ageing report should  show stock quantities and stock value as follows,
    1. Below one year
    2. Between one and two years
    3. Above two years
    We can accumulate the goods receipt as per Material document date and movement type according to the above age requirement.
    But, can we track goods issues from the above age groups without Batch Management.
    Experts Pls reply and If possible, pls explain how we can achieve this.
    Thanks
    NDS

    As you already noticed not only the input (GR) but the output (GI) is also important.
    The date of the GR is only one thing, but after that you received the goods in your SLoc you cannot make difference between stocks received at different times.
    As your stock is not distinguished in the system as per the GR date you cannot say that which sub-stock has been consumed during GI.
    So, without batch management you cannot achieve your goal in standard system.
    Of course, physically you can realize your idea by putting labels on different batches - this would mean batch management physically and not in SAP.
    If you use warehouse management you can use a workaround: the GR date is stored in the quants and this makes possible to track the age of the stock without batch management. Please check:
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/c6/f83b5e4afa11d182b90000e829fbfe/frameset.htm
    Regards,
    Csaba

  • Stock analysis report

    Hi all,
            I want to create Stock analysis report in BW3.5 can anybody tell me is there any standard data source for stock analysis or any standard cube in bw if yes then please help me out.
    thankes

    Hi Ankit,
    First insatall the business content objects:
    0IC_C03,corresponding update rules from the info sources, Infos source 2LIS_03_BX,BF,UM.
    Then load the data from BX Extractor first then load the data from BF and UM data sources
    For futher informatins go through the PDF document how to inventory management!
    Hope this might help you
    Regards
    Ram

  • Stock summary report monthwise

    hi all,
    As per client requirement i need stock summary report.
    The closing stock value of report should tally with mc.9 tcode closing stock value for that particular month.
    I have one stock report, but its not the purpose of mc.9
    If any body having which matches above requirement
    plz send the code.
    Its very urgent..
    Thanks in adv
    srividya

    Hi,
    As said earlier, current stock, i.e current month stock should be available in MBEW
    where as MBEWH should definitely contain the value of the previous months for any material/plant combination, as its a std sap table and the stock field keeps get added/reduced during any goods receipt/reversal/invoice etc.
    Are you checking this data in Production client or any other client.
    Ther ould be a diffrence between the live data in production system compared to other systems, as refresh of data happends only at regular intervals.
    Hope this helps.
    Regards,
    JLN

  • Goods Reciepts in XL Reporter

    In Business One -> Stock Management -> Stock Transactions -> Goods Reciept.
    I add 3 Goods Reciepts.
    My question is how do I view these Goods Reciepts in XL Reporter?

    Paul,
    To do this, the easiest way is to use the Get Other Data function in Report Designer
    Launch Report Designer
    Click in cell A8
    Click the formula builder on the XLR Toolbar
    Go to the Functions Tab
    Click Get Other Data
    The user ID and Password are the B1 login you use
    The table should be IGN1
    Fields type:  DocEntry, DocDate, ItemCode, Quantity
    Generate the report
    You may need to add at least one expansions or summary.  You can put an expansion for BPs in a column and then hide it.  This is because XLR needs at least one expansion or summary to run a report.
    This will give you a list in XLR of all Goods Receipts, their data, items and quantities.
    It's effectively the same as writing a query, but it can be run automatically on an interval as can any other XLR report.
    Hope that helps,
    Brad Windecker
    [Omega Business Solutions|http://www.omegagroup.com]

  • 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

  • Projected Stock-Inventory Report for APO

    Hi All,
    I have to develop Projected Stock-Inventory Report for APO.
    I need to fetch data from APO and need to store it in BI for reporting purpose.
    Do you have any idea about how to get the required data from APO system?
    Where does stock data resides along with projected stock in any SNP aggregate or any table?
    Regards,
    Krunalkumar Rathod

    Hello,
    I suppose you mean you want to export the data "stock on hand" in SNP planning book to BW.
    This key figure is an auxiliary key figure that calculated by macro. The data is only diplayed in the planning book but not saved to any database table or liveCache.
    In order to save it, you can add your own time-series key figure to save the stock on hand. And you'll need to create your own macro to calculate or copy from the auxiliary key figure.
    A good way is you can  create a macro by copying the "stock balance" macro and just change the stock on hand key figure to your own time serires key figure. Then when you need the data, you can run the macro in background job. By doing this, the stock data will be saved to the time series key figure. Then you can extract it from liveCache as normal key figures.
    Please notice the time-series key figure must be assigned to correct aggregates in an SNP planning area.
    Best Regards,
    Ada

  • 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

Maybe you are looking for

  • Computer Name Keeps Changing

    In the system preferences sharing where you go to set  "Computer name" I am noticing that mine says "iMac (3)" I have changed it back but keeps renaming the name "iMac (1),iMac (2), iMac (3) and so on,,, ".   My network hasn't changed, haven't added

  • Publishing

    Calling all captivate gurus, I need some help here.  I created a projects whose links work perfectly when tested and published using the Flash (swf) format.  However, when I publish the same project using the Media option so that the project can be b

  • Table  for field ZYKL1(Cycle length) & ZEIEH(Unit) used in Maintenance stra

    Hi Can anyone please inform in which table  the field ZYKL1(Cycle length) & ZEIEH(Unit) used in Maintenance strategy get stored? I need to pass Maintennace plan no (WARPL) & Maintenance call no(ABNUM) to get this field ZYKL1(Cycle length). Thanks in

  • I shut down my computer and now it starts up, then shuts down again., I shut down my computer and now it starts up, then shuts down again.

    I shut down my computer and now it won't restart. It starts, the apple logo appears, the wheel turns and then it's shuts down again. It has done that ever since. My CD-Rom does not work so I can't reboot using the start up disk. Does anyone know what

  • Amnesty International, Make Some Noise Album - DRM Protected?

    Hi, I am wondering if the Amnesty International, Make Some Noise Album is corrupted with Apples DRM protection. I would very much like to buy this album and support Amnesty, but I am not going to do so if the songs I pay for are not going to play on