Inventory Material Movement Report in R12.1.1

Dear All,
I am currently working in a implementation project. My client needs a Inventory Material Movement Report on Periodical Basis
Report Should show : Item Name, Item Desc, Sub Inventory, UOM, Opening Stock of that period, Receipts for that Period, Adjustments and Closing Balance.
Please suggest me how to go about this on the same. Please someone share the code if someone have any. What logic do i need to follow and where to pick the data.
It is show stopper for us now as we do not have any standard report.
Thanks,
Addy

Hi Aditya,
You can find all the information you need in mtl_material_transactions table. If you need code combination id too, you can make use of a standard view CST_INV_DISTRIBUTION_V. Other than these, you can join these tables for other info..
MTL_SYSTEM_ITEMS_B MTL,GL_CODE_COMBINATIONS GCC.
In MMT, use qty <, > 0 for receipts and issues. use group by to get opening and closing balances.
Regards,
Siva Kumar.

Similar Messages

  • Need monthly "material-wise" report on inventory status.

    Hi, gurus!Good Morning.
    I am pankaj recently i joined in SAP-MM.I have 4 yr.of domain exp.in SCM.
    Now,i allocate to one implementation project in Textile industory.Here there two plants,out of two GoLive of one plant has been done & in April-12 there is Golive of next plant.
    Now, i am working on some standered reports.here client wants monthly material wise inventory status report & Daily material movement report materialwise.
    i generate the report in" S_P00_07000139 "but it didn't show materialwise,it shows all material separate.
    Request to help on the same.
    Regards,
    Pankaj.

    HI,
    No standard report will full fill your requirement
    you have develop Z with help of ABAp consultant
    for Material document table MKPF and MSEG
    and check following link also it will helpful to you
    [Opening Stock and Closing Stock fields and Calculation;
    Regards
    Kailas Ugale

  • Item Movement Report

    I'm creating an inventory item movement report based off the mtl_material_transactions table which will give me all the in's and out's for a specified item and org.
    Which other table should I link to so I can get the source document id#'s such as job number if its a wip transaction and sales order number if its a sales order transaction.
    Thanks

    select wip_entity_name wip_job# from wip.wip_entities where wip_entity_id = &transaction_source_id
    select order_number from oe_ordeR_headers_all where header_id = (select header_id from oe_order_lines_all where line_id = &source_line_id)
    Hope this answers your question
    Sandeep Gandhi
    Independent Consultant
    513-325-9026

  • Inventory Movement Report.

    Hi all,
    Could you please provide information for the report -
    Inventory Movement Report.  It require vendor, invoice doc, goods receipt doc, and payment details in report.
    Thanks & Regards
    praveen
    [email protected]

    In which reports you found the details

  • Error message rgd. Material Movements / Inventory Management

    Hello,
    We have Problem to load Material Movements data in Inventory Management InfoCube.
    On BW-Side we had deleted Inventory Management InfoCube content completely before we started with opening stock, Material Movements.
    We have filled set up tables for opening stocks, Material Movements and Revaluation successfully on R/3 Side. We have also filled archive data for Material Movements and Revaluation in set up tables.
    We have loaded the opening stock balance into InfoCube. The request containing the opening
    stock has been compressed.
    We are trying to load the material movements (Initialize delta) into Cube. We get the error message:
    u201CThe material XXXXXXXX does not exist or is not activatedu201D.
    We have analyzed these materials (from error message) and find out that these materials are already archived on R/3 side but these materials are in Master Data table on BW-Side.
    How we can deal with this problem? The BW-System is SAP NetWeaver 2004s (Support
    Package SAPKW70016). The SAP R/3-System is SAP ECC 6.0.
    We had same proceeding in March 2008 with BW 3.0B and R/3 4.7 and had no problem at all.
    Many thanks

    Hi,
    Hope u have loaded the master data in BW side and also activated the Master data i.e i assume that u have done Attribut change run.
    Rgds
    SVU123

  • Report of material movement

    Can anyone tell me how to run a report to include all movement history of material? Any transaction,table?

    Hello,
    You can see the details of material documents against respective movement type under MMBE
    Enter material plant execute.
    Now select the storage Location Go to Environment in SAP menu bar and hit material movement.
    All the details will be displayed here.
    Br,
    Tushar

  • Inventory cycle count report

    Hi
    We need to implement inventory cycle count report . Is there a standard business content data source for this ?
    Thanks and Regards
    Arun

    Sorry I never responded.  It's really just a matter of what you need to report on.  ISEG has all the basic information you need like plant, material, sloc, etc... so the other tables invovled is really a case by case type of thing.  I can't think of much else you would really need for generic cycle count reporting.
    Also, the previous post is a good method depending on your needs.  If showing difference postings and whatnot is suitable, then go with the movement type.  But if you need to dig deeper into it by showing system/counted quantities as well as the difference, then the custom extractor would be the way to go.  For me, I did inventory accuracy/cycle counting type of reporting that needed to consider the actual quantities, as a difference of 2 units on an inventory of 100,000 units is a lot different that 2 units difference on a balance of 100 units.  But that was just my case is all.
    Hope this helps.
    Thanks

  • Question regarding the date in MARC for a daily movement report

    Hi,
    I have a requirement, where i need to create a report, based on the selection screen parameters for <u>purchasing group</u> and <u>date</u> (the default is 1 minus the current date.)
    The report is used to view the daily movement, relating to the selected purchasing group and date.
    Where and how do i find entries for that specific date? What tables and field or fields do i use?
    Points will be rewarded and all help will be greatly appreciated.
    Thank You,
    John

    See the below example code :
    REPORT ZQA_MOVEMENT_ANALYSIS no standard page heading.
    *>>> ELEMENTS COPIED FROM REPORT BALVHT01 .
    ALV
    TYPE-POOLS: SLIS.
    Includes
    INCLUDE .
    tables: mkpf, mseg, marc, mara, makt, mard.
    DATA =============================================================== *
    DATA:       G_BOXNAM TYPE SLIS_FIELDNAME VALUE  'BOX',
                G_EXPANDNAME TYPE SLIS_FIELDNAME VALUE  'EXPAND',
                P_F2CODE LIKE SY-UCOMM       VALUE  '&ETA',
                P_LIGNAM TYPE SLIS_FIELDNAME VALUE  'LIGHTS',
                G_SAVE(1) TYPE C,
                G_TABNAME_HEADER TYPE SLIS_TABNAME,
                G_TABNAME_ITEM   TYPE SLIS_TABNAME,
              g_default(1) type c,
                G_EXIT(1) TYPE C,
                GX_VARIANT LIKE DISVARIANT,
                G_VARIANT LIKE DISVARIANT.
    CONSTANTS:
    GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
    GC_FORMNAME_ITEM_EXPAND TYPE SLIS_FORMNAME VALUE 'ITEM_EXPAND',
    GC_FORMNAME_user_command type slis_formname value slis_ev_user_command.
    DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
          GS_LAYOUT   TYPE SLIS_LAYOUT_ALV,
          GS_KEYINFO  TYPE SLIS_KEYINFO_ALV,
          GT_SORT     TYPE SLIS_T_SORTINFO_ALV,
          GT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV,
          GT_EVENTS   TYPE SLIS_T_EVENT.
    DATA: G_REPID LIKE SY-REPID.
    DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
    data: begin of i_movement occurs 0,
            matnr   like mseg-matnr,
            bwart   like mseg-bwart,
            budat   like mkpf-budat,
            mblnr   like mseg-mblnr,
            gjahr   like mseg-gjahr,
            shkzg   like mseg-shkzg,
            menge   like mseg-menge,
            meins   like mseg-meins,
          end of i_movement.
    data: begin of i_mat occurs 0,
            matnr   like mara-matnr,
            maktx   like makt-maktx,
            labst   like mard-labst,
            meins   like mara-meins,
          end of i_mat.
    data: begin of i_output occurs 0.
            include structure ZFD_MOVEMENT_ANALYSIS.
    data:  end of i_output.
    data i_popuptext like popuptext occurs 2 with header line.
    data: v_matnr like mara-matnr.
    data: x_movement  like i_movement.
    SELECTION-SCREEN --------------------------------------------------- *
    SELECTION-SCREEN BEGIN OF BLOCK period WITH FRAME TITLE text-001.
    select-options: so_budat   for mkpf-budat obligatory no-extension.
    SELECTION-SCREEN END OF BLOCK period.
    SELECTION-SCREEN BEGIN OF BLOCK org WITH FRAME TITLE text-002.
    parameters: p_werks   like marc-werks obligatory default '1000',
                p_lgort    like mard-lgort obligatory default '1000'.
    select-options: so_matnr   for mseg-matnr,
                    so_dept    for marc-zzdept,
                    so_kostl   for mseg-kostl,
                    so_ekgrp   for marc-ekgrp.
    SELECTION-SCREEN END OF BLOCK org.
    SELECTION-SCREEN SKIP 1.
    Variant
    SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE TEXT-P01.
    PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT.
    SELECTION-SCREEN END OF BLOCK 0.
    INITITALIZATION ==================================================== *
    INITIALIZATION.
      G_REPID = SY-REPID.
      G_TABNAME_ITEM   = 'I_OUTPUT'.
    define keyinfo
      CLEAR GS_KEYINFO.
      GS_KEYINFO-ITEM01   = 'MATNR'.
      PERFORM E01_FIELDCAT_INIT  USING GT_FIELDCAT[].
      PERFORM E03_EVENTTAB_BUILD USING GT_EVENTS[].
      PERFORM E04_COMMENT_BUILD  USING GT_LIST_TOP_OF_PAGE[].
      PERFORM E06_T_SORT_BUILD   USING GT_SORT[].
      PERFORM E07_SP_GROUP_BUILD USING GT_SP_GROUP[].
    Set Options: save variants userspecific or general
      G_SAVE = 'A'.
      PERFORM VARIANT_INIT.
    Get default variant
      GX_VARIANT = G_VARIANT.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
           EXPORTING
                I_SAVE     = G_SAVE
           CHANGING
                CS_VARIANT = GX_VARIANT
           EXCEPTIONS
                NOT_FOUND  = 2.
      IF SY-SUBRC = 0.
        P_VARI = GX_VARIANT-VARIANT.
      ENDIF.
    AT SELECTION-SCREEN ================================================ *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
      PERFORM F4_FOR_VARIANT.
    PAI
    AT SELECTION-SCREEN.
      PERFORM PAI_OF_SELECTION_SCREEN.
    START-OF-SELECTION ================================================= *
    start-of-selection.
      perform check_background_processing.
      PERFORM E05_LAYOUT_BUILD USING GS_LAYOUT.     "wg. Parameters
      perform get_data.
      perform build_report.
      perform write_report.
    AT LINE SELECTION ================================================== *
    at line-selection.
      if sy-lsind = 1.
        format intensified off.
        if not i_output-matnr is initial.
          v_matnr = i_output-matnr.
          loop at i_movement where matnr = i_output-matnr.
            write: / i_movement-mblnr hotspot on,
                     i_movement-bwart,
                     i_movement-budat,
                     i_movement-shkzg.
            if i_movement-shkzg = 'H'.
              format color col_negative.
            else.
              format color col_positive.
            endif.
            write:     i_movement-menge,
                       i_movement-meins.
            format color off.
            hide: i_movement-mblnr, i_movement-gjahr.
          endloop.
          clear i_movement.
        endif.
      elseif sy-lsind = 2.
        set parameter id 'MBN' field i_movement-mblnr.
        set parameter id 'MJA' field i_movement-gjahr.
        call transaction 'MB03' and skip first screen.
      endif.
    ==================================================================== *
    top-of-page.
      perform top_of_page.
    top-of-page during line-selection.
      read table i_mat with key matnr = i_output-matnr.
      write: i_output-matnr,
             i_mat-maktx,
             so_budat-low, ' to ', so_budat-high.
      uline.
      clear: i_mat, i_output.
    *&      Form  write_report
          text
    -->  p1        text
    <--  p2        text
    FORM write_report.
    Call ABAP/4 List Viewer
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
        I_INTERFACE_CHECK              = ' '
        I_BYPASSING_BUFFER             =
        I_BUFFER_ACTIVE                = ' '
          I_CALLBACK_PROGRAM             = g_repid
        I_CALLBACK_PF_STATUS_SET       = ' '
        I_CALLBACK_USER_COMMAND        = ' '
        I_STRUCTURE_NAME               =
          IS_LAYOUT                      = gs_layout
          IT_FIELDCAT                    = gt_fieldcat[]
        IT_EXCLUDING                   =
          IT_SPECIAL_GROUPS              = gt_sp_group[]
          IT_SORT                        = gt_sort[]
        IT_FILTER                      =
        IS_SEL_HIDE                    =
        I_DEFAULT                      = 'X'
          I_SAVE                         = g_save
          IS_VARIANT                     = g_variant
          IT_EVENTS                      = gt_events[]
        IT_EVENT_EXIT                  =
        IS_PRINT                       =
        IS_REPREP_ID                   =
        I_SCREEN_START_COLUMN          = 0
        I_SCREEN_START_LINE            = 0
        I_SCREEN_END_COLUMN            = 0
        I_SCREEN_END_LINE              = 0
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER        =
        ES_EXIT_CAUSED_BY_USER         =
        TABLES
          T_OUTTAB                       = i_output
        EXCEPTIONS
          PROGRAM_ERROR                  = 1
          OTHERS                         = 2
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " write_report
    *&      Form  get_data
          text
    -->  p1        text
    <--  p2        text
    FORM get_data.
      if so_dept[]    is initial and
         so_matnr[]   is initial and
         so_kostl[]   is initial and
         so_ekgrp[]   is initial.
        i_popuptext-text = 'Please choose a department, material number,'.
        append i_popuptext.
        i_popuptext-text = 'cost center or purchasing group'.
        append i_popuptext.
        CALL FUNCTION 'DD_POPUP_WITH_INFOTEXT'
          EXPORTING
            TITEL              = 'Please Note'
            START_COLUMN       = 1
            START_ROW          = 1
            END_COLUMN         = 5
            END_ROW            = 3
          INFOFLAG           = ' '
        IMPORTING
          ANSWER             =
          TABLES
            LINES          = i_popuptext.
      Stop execution until user enters a purch group or dept.
        stop.
      endif.
    get all materials matching selection criteria - exclude finished
    materials
      select kmatnr kmaktx labst meins
      from ( ( ( marc as c inner join makt as k
               on cmatnr = kmatnr ) INNER JOIN mard as d
               on cmatnr = dmatnr ) INNER JOIN mara as a
               on cmatnr = amatnr )
      into table i_mat
      where c~matnr in so_matnr   and
            c~ekgrp in so_ekgrp   and
            c~zzdept in so_dept   and
            c~werks  = p_werks    and
            d~werks  = p_werks    and
            k~spras  = 'E'        and
            d~lgort  = p_lgort
      order by k~matnr.
      if sy-subrc = 0.
        read table so_budat index 1.
        loop at i_mat.
        get all material movements for all materials identified since
        start date on date interval selected by user
          select matnr bwart budat bmblnr bgjahr shkzg menge meins
          appending table i_movement
          from (  mseg as b INNER JOIN mkpf as a
                ON bmblnr = amblnr AND
                   bmjahr = amjahr )
          where b~matnr = i_mat-matnr and
                a~budat >= so_budat-low.
        endloop.
      endif.
    ENDFORM.                    " get_data
    *&      Form  build_report
          text
    -->  p1        text
    <--  p2        text
    FORM build_report.
      data: x_movement        like i_movement,
            v_processed_inv   like mseg-menge.
      sort i_movement by matnr ascending
                         budat descending.
      loop at i_movement.
      if movement after end of period specified, use movement to work
      backwards to inventory at end of selected period end date
        if i_movement-budat > so_budat-high.
          if i_movement-shkzg = 'H'.
            add i_movement-menge to i_output-ending_inv.
          else.
            subtract i_movement-menge from i_output-ending_inv.
          endif.
        endif.
      compute inventory at beginning of period
        if i_movement-shkzg = 'H'.
          add i_movement-menge to i_output-begin_inv.
        else.
          subtract i_movement-menge from i_output-begin_inv.
        endif.
      if movement in the time period specified, summarize movements by
      type
        if i_movement-budat >= so_budat-low and
           i_movement-budat <= so_budat-high.
          if i_movement-bwart+0(1) = '1'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-purchased_inv.
            else.
              subtract i_movement-menge from i_output-purchased_inv.
            endif.
          elseif i_movement-bwart+0(1) = '2'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-transferred_inv.
            else.
              subtract i_movement-menge from i_output-transferred_inv.
            endif.
          elseif i_movement-bwart+0(1) = '4'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-transferred_inv.
            else.
              subtract i_movement-menge from i_output-transferred_inv.
            endif.
          elseif i_movement-bwart+0(2) = '55'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-scrapped_inv.
            else.
              subtract i_movement-menge from i_output-scrapped_inv.
            endif.
          elseif i_movement-bwart+0(1) = '6'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-sold_inv.
            else.
              subtract i_movement-menge from i_output-sold_inv.
            endif.
          elseif i_movement-bwart+0(1) = '7'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-cycled_inv.
            else.
              subtract i_movement-menge from i_output-cycled_inv.
            endif.
          elseif i_movement-bwart+0(2) = '96'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-recovered_inv.
            else.
              subtract i_movement-menge from i_output-recovered_inv.
            endif.
          else.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-other.
            else.
              subtract i_movement-menge from i_output-other.
            endif.
          endif.
        endif.
      Summarize data for material number and add to output list
        x_movement = i_movement.
        at end of matnr.
          clear i_mat.
          read table i_mat with key matnr = i_movement-matnr.
          i_output-maktx = i_mat-maktx.
        inventory at end of period = current inventory + changes since end
        of period
          add i_mat-labst to i_output-ending_inv.
        inventory at begin of period = ending inventory + changes in
        interval
          add i_mat-labst to i_output-begin_inv.
        build percentages for types of movements in period - the only
        reason this data needs to be stored rather than computed on the
        fly is for sorting of data
          v_processed_inv = ( i_output-begin_inv - i_output-ending_inv )
                            + i_output-purchased_inv.
          if v_processed_inv <> 0.
            i_output-percent_sold =
                  ( i_output-sold_inv / v_processed_inv ) * 100 * -1.
            i_output-percent_scrapped =
                  ( i_output-scrapped_inv / v_processed_inv ) * 100 * -1.
            i_output-percent_transferred =
                  ( i_output-transferred_inv / v_processed_inv ) * 100 * -1.
            i_output-percent_cycled =
                  ( i_output-cycled_inv / v_processed_inv ) * 100 * -1.
            i_output-percent_recov =
                  ( i_output-recovered_inv / v_processed_inv ) * 100 * -1.
            i_output-other =
                  ( i_output-other / v_processed_inv ) * 100 * -1.
          endif.
        record material number
          move i_movement-matnr to i_output-matnr.
          i_output-meins = x_movement-meins.
          append i_output.
          clear i_output.
        endat.
      endloop.
      clear i_movement.
    ENDFORM.                    " build_report
          FORM E01_FIELDCAT_INIT                                        *
    -->  E01_LT_FIELDCAT                                               *
    FORM E01_FIELDCAT_INIT USING E01_LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
      DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
           EXPORTING
              I_PROGRAM_NAME         =
                I_INTERNAL_TABNAME     = G_TABNAME_ITEM
                I_STRUCTURE_NAME       = 'ZFD_MOVEMENT_ANALYSIS'
              I_CLIENT_NEVER_DISPLAY = 'X'
                I_BYPASSING_BUFFER     = 'X'
           CHANGING
                CT_FIELDCAT            = E01_LT_FIELDCAT[].
    ENDFORM.
          FORM E03_EVENTTAB_BUILD                                       *
    -->  E03_LT_EVENTS                                                 *
    FORM E03_EVENTTAB_BUILD USING E03_LT_EVENTS TYPE SLIS_T_EVENT.
      DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                I_LIST_TYPE = 1
           IMPORTING
                ET_EVENTS   = E03_LT_EVENTS.
    tell program which form to call for top of page event
      READ TABLE E03_LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
        APPEND LS_EVENT TO E03_LT_EVENTS.
      ENDIF.
    tell program which form to call for item expand event
      READ TABLE E03_LT_EVENTS WITH KEY NAME = slis_ev_item_data_expand
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE GC_FORMNAME_ITEM_EXPAND TO LS_EVENT-FORM.
        APPEND LS_EVENT TO E03_LT_EVENTS.
      ENDIF.
    ENDFORM.
          FORM E04_COMMENT_BUILD                                        *
    -->  E04_LT_TOP_OF_PAGE                                            *
    FORM E04_COMMENT_BUILD USING E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
      DATA: LS_LINE TYPE SLIS_LISTHEADER.
    Listenüberschrift: Typ H
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
    LS_LINE-KEY:  not used for this type
      write sy-datum to LS_LINE-INFO.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
    LS_LINE-KEY:  not used for this type
      LS_LINE-INFO = 'FreshDirect Product Reorder Report'.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    Kopfinfo: Typ S
    CLEAR LS_LINE.
    LS_LINE-TYP  = 'S'.
    LS_LINE-KEY  = TEXT-050.
    LS_LINE-INFO = TEXT-010.
    APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    LS_LINE-KEY  = TEXT-051.
    APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    Aktionsinfo: Typ A
    CLEAR LS_LINE.
    LS_LINE-TYP  = 'A'.
    LS_LINE-KEY:  not used for this type
    LS_LINE-INFO = TEXT-002.
    APPEND LS_LINE TO  E04_LT_TOP_OF_PAGE.
    ENDFORM.
          FORM E05_LAYOUT_BUILD                                         *
    <->  E05_LS_LAYOUT                                                 *
    FORM E05_LAYOUT_BUILD USING E05_LS_LAYOUT TYPE SLIS_LAYOUT_ALV.
      E05_LS_LAYOUT-F2CODE            = P_F2CODE.
      E05_LS_LAYOUT-ZEBRA             = 'X'.
      E05_LS_LAYOUT-colwidth_optimize = 'X'.
    ENDFORM.
          FORM E06_T_SORT_BUILD                                         *
    -->  E06_LT_SORT                                                   *
    FORM E06_T_SORT_BUILD USING E06_LT_SORT TYPE SLIS_T_SORTINFO_ALV.
      DATA: LS_SORT TYPE SLIS_SORTINFO_ALV.
      CLEAR LS_SORT.
      LS_SORT-FIELDNAME = 'MATNR'.
      LS_SORT-TABNAME   = G_TABNAME_ITEM.
      LS_SORT-SPOS      = 1.
      LS_SORT-UP        = 'X'.
      APPEND LS_SORT TO E06_LT_SORT.
    ENDFORM.
          FORM E07_SP_GROUP_BUILD                                       *
    -->  E07_LT_SP_GROUP                                               *
    FORM E07_SP_GROUP_BUILD USING E07_LT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV.
      DATA: LS_SP_GROUP TYPE SLIS_SP_GROUP_ALV.
      CLEAR  LS_SP_GROUP.
      LS_SP_GROUP-SP_GROUP = 'A'.
      LS_SP_GROUP-TEXT     = TEXT-005.
      APPEND LS_SP_GROUP TO E07_LT_SP_GROUP.
    ENDFORM.
          FORM TOP_OF_PAGE                                              *
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
                  data v_repid like sy-repid.
    write: / sy-datum, sy-uzeit,
       100 'FreshDirect Material Movement Type Analysis Report'.
    show parameters chosen on selection screen in header
    v_repid = sy-repid.
    CALL FUNCTION 'Z_WRITE_SELECTION_SCREEN'
          EXPORTING
               REPID            = v_repid
          EXCEPTIONS
               REPORT_NOT_FOUND = 1
               OTHERS           = 2.
    write column headings
    format color col_heading.
    write: /(18) 'Material #',
             (40) 'Description',
             (16) '  Beginning Inv.',
             (16) '       Purchased',
             (16) '  Available Inv.',
             (16) '     Ending Inv.',
             (16) '  Processed Inv.',
             (25) '                     Sold',
             (25) '                 Scrapped',
             (25) '              Transferred',
             (25) '            Cycle Counted',
             (25) '                    Other'.
    format color off.
    uline /1(278).
    ENDFORM.
          FORM F4_FOR_VARIANT                                           *
    FORM F4_FOR_VARIANT.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
           EXPORTING
                IS_VARIANT          = G_VARIANT
                I_SAVE              = G_SAVE
                I_TABNAME_HEADER    = G_TABNAME_HEADER
                I_TABNAME_ITEM      = G_TABNAME_ITEM
              it_default_fieldcat =
           IMPORTING
                E_EXIT              = G_EXIT
                ES_VARIANT          = GX_VARIANT
           EXCEPTIONS
                NOT_FOUND = 2.
      IF SY-SUBRC = 2.
        MESSAGE ID SY-MSGID TYPE 'S'      NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        IF G_EXIT = SPACE.
          P_VARI = GX_VARIANT-VARIANT.
        ENDIF.
      ENDIF.
    ENDFORM.
    *&      Form  PAI_OF_SELECTION_SCREEN
          text
    FORM PAI_OF_SELECTION_SCREEN.
      IF NOT P_VARI IS INITIAL.
        MOVE G_VARIANT TO GX_VARIANT.
        MOVE P_VARI TO GX_VARIANT-VARIANT.
        CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
             EXPORTING
                  I_SAVE     = G_SAVE
             CHANGING
                  CS_VARIANT = GX_VARIANT.
        G_VARIANT = GX_VARIANT.
      ELSE.
        PERFORM VARIANT_INIT.
      ENDIF.
    ENDFORM.                               " PAI_OF_SELECTION_SCREEN
    *&      Form  VARIANT_INIT
          text
    -->  p1        text
    <--  p2        text
    FORM VARIANT_INIT.
      CLEAR G_VARIANT.
      G_VARIANT-REPORT = G_REPID.
    ENDFORM.                               " VARIANT_INIT
    INCLUDE ZQA_UTILITY_INCLUDE.
    ***INCLUDE ZQA_UTILITY_INCLUDE .
    *&      Form  display_popup_message
          text
    -->  p1        text
    <--  p2        text
    form display_popup_message using x_text1
                                     x_text2.
      data: int_popuptext like popuptext occurs 2 with header line.
      int_popuptext-text = x_text1.
      append int_popuptext.
      int_popuptext-text = x_text2.
      append int_popuptext.
      call function 'DD_POPUP_WITH_INFOTEXT'
        exporting
          titel              = 'Please Note'
          start_column       = 1
          start_row          = 1
          end_column         = 5
          end_row            = 3
        tables
          lines          = int_popuptext.
    endform.                    " display_popup_message
    *&      Form  upload_data_file
          text
         -->P_int_INPUTDATA  text
    form upload_data_file tables      x_inputdata
                          using x_filename like rlgrap-filename.
      clear x_inputdata.
      refresh x_inputdata.
    file on UNIX app server
      if x_filename+0(1) = '/'.
        open dataset x_filename for input.
        if sy-subrc <> 0.
          perform display_popup_message using 'Error opening file'
                                      x_filename.
          stop.
        else.
          do.
            read dataset x_filename into x_inputdata.
            if sy-subrc <> 0.
              exit.
            endif.
            append x_inputdata.
            clear x_inputdata.
          enddo.
        endif.
        close dataset x_filename.
      else.
    file on local PC of GUI
        call function 'UPLOAD'
          exporting
            filename                      = x_filename
            filetype                      = 'ASC'
          tables
            data_tab                      = x_inputdata
         exceptions
           conversion_error              = 1
           invalid_table_width           = 2
           invalid_type                  = 3
           no_batch                      = 4
           unknown_error                 = 5
           guint_refuse_filetransfer       = 6
           others                        = 7
        if sy-subrc <> 0.
          perform display_popup_message using 'Error opening file'
                                        x_filename.
          stop.
        endif.
      endif.
    endform.                    " upload_data_file
    *&      Form  check_background_processing
          text
    -->  p1        text
    <--  p2        text
    form check_background_processing.
    endform.                    " check_background_processing
    Reward Points if it is helpful
    Thanks
    Seshu

  • What are material movements

    hi,
         i am from BI.. and i am creating a reports on production volumes.. in that i am nt able to get waht is material movements.. we have material movementa like 131/132...261/262....701/702...643/644...351/352...101/102...etc.. can u explain the signi ficance of this ... and i want to know waht is stock type:O and line category : L(3)...
    i ll assign points.....
    regards,
    preety

    Hi,
    When you enter a goods movement, you must always enter the movement
    type. The movement type has important control functions in Inventor
    Management. It is essential for
    o   updating the quantity fields
    o   updating the stock and consumption accounts
    o   selection of the fields used for entering documents
    o   printing goods receipt/issue slips
    Below you will find a short description of the standard movement types.
    The reversal movement type is the movement type + 1 (reversal of 101 =
    102).
    101 Goods receipt for purchase order or order
         If the purchase order or order has not been assigned
         a stock type (unrestricted-use stock, stock in qualit
         blocked stock) can be entered during goods receipt.
    131 Goods receipt for run schedule header
         This movement type cannot be entered manually. It is generated
         automatically at notification of goods receipt for a run schedule
         header.
    261 Goods issue for an order
         This refers to all withdrawals for orders
         The goods issue can be posted manually in Inventory Management or
         automatically when an order is confirmed or via a delivery in
         Shipping.
    351 Goods issue for a stock transport order (without Shipping)
    643 Goods issue for a cross-company stock transport order (Shipping)
        Used only for cross-company stock transport orders with SD billing
        and invoice. The quantity is withdrawn from the unrestricted-use
    701 Inventory differences in unrestricted-use stock (MM-IM)
         This movement is generated automatically during inventory difference
         posting in Inventory Management.
    Thx
    Raju

  • Inventory Issue: Movement type 905 creating two records in BI.

    Hello Experts,
    We have a problem in Inventory scenario implemented in our system.After the month load completion in Snap shot Cube,we are getting quantity mismatch between BI and ECC values.I found out that there are records exist with movement type 905 creating problem.
    we have only one record in ECC while there are two records exist in BI with one have reversal indicator on it and other does not have reversal indicator.Qty is same in both of the case ,also the record which have reversal indicator have Process key 100 while the record with out reversal indicator doesn't have any process key.And in further update from ODs ZMMDS104 to ICSNAP1 ,in update rule we are adding or subtracting on the basis of process key as per standard Inventory scenario implementation.
    So am i right that this Movement type is creating problem ..?
    Does any one faces this issue earlier...?
    and if this is issue then how to resolve this ?
    Please advice as soon as possible as it becomes a high priority issue in client space.
    Thanks in Advance
    Regards,
    Yash Raj.

    Hi Aduri,
    Thanks for the quick reply.
    I ma new to inventory field,can you please guide me how to check your advice details in the system like you
    said "Recheck the Reversal Indicated Qty because if it has reverse indicator it should come from ECC or from ODS Check the Same at Change Log Table to trace the Changes."
    What do you mean by "or from ODS" do you mean that ODS could create this entry ..? also this ODs ZMMDS104 is got daily loaded by delta from 2lis_03_bf . but this record is related to period 12/2008.and now we are in period 1/2009 (as i am trying to reconciling the data for last period) so i Guess there is no chance to find out this entry in change log.
    Also "Try to see at DS field for the Process Key/Movement type with Reverse Indicator At ECC. "
    How to check the same in data source?
    Also "If you don't have the Reverse postings at ECC without process Key then you can  report on the same to the Functional Team/Client. But before that make sure  that you have reverse postings without process key assigned to it."
    I checked in the ECC system(RSA3) There is only one record exist in for that material document it has positive quantity and material movement type 905 with movement indicator L.
    Waiting for your response.
    Thanks once again 
    Regards,
    Yash Raj

  • Inventory Stock movement issue

    hi gurus,
    can anyone provide me the query for the inventory stock movement..
    here is the my requirement
    Period: ex Jan-2011
    opening_balance , Total issued, Total Received and closing balance.
    Thank you..

    Hi Arun.......
    Please run Inventory Audit Report. There you will get the Item cost of material as per FIFO Layer....
    Its in Inventory> Inventory Reports>Inventory Audit Reports
    Regards,
    Rahul

  • Amount not turning up for material movement type : 601 from 2lis_03_bf

    Hi all,
    i have loaded the inventory cube from 2lis_03_bx the quantity is turning up for movement type 601 but the amount is not getting reflected it is always blank.
       If   (  SOURCE_FIELDS-BWVORG EQ '000'         "Other Issues
       OR    SOURCE_FIELDS-BWVORG EQ '101'        "Returns / Vendor
       OR   SOURCE_FIELDS-BWVORG EQ '104'         "Material Transfer
       OR  SOURCE_FIELDS-BWVORG EQ '105'          "Stock Adjustment InvD
       OR   SOURCE_FIELDS-BWVORG EQ '106'         "Stock Ajdustment Other
       OR  SOURCE_FIELDS-BWVORG EQ '110' )
       "Issues from stock transfer
       AND SOURCE_FIELDS-BWAPPLNM EQ 'MM'
    only movements which are relevant for stock control
       AND SOURCE_FIELDS-BWBREL EQ '1'
       AND SOURCE_FIELDS-BWGEO  <> 0
    SEE OSS NOTE 630254
       AND (  SOURCE_FIELDS-BSTTYP IS INITIAL OR
                   (  SOURCE_FIELDS-BSTTYP CA 'EQ'  AND
                      SOURCE_FIELDS-KZBWS CA 'AM' ) ).
    *IF THE RETURNCODE IS NOTE EQUAL ZERO, THE RESULT WILL NOT BE UPDATED
         RESULT = SOURCE_FIELDS-BWGEO.
    and i can see for other movement type like 641 the amount is turning up.
    Can anyone advise me on this
    thanks

    does the material movement type : 601 will be updated from this data source : 2lis_03_bx nor it is from 2lis_03_um??
    Can anyone advise me on this!!
    thanks

  • Inventory Walk Forward report

    Hi all,
    Is there a standard SAP report that will show values for Inventory Beginning Balance, Receipts, Issues and Ending Balance values?
    Thanks!

    MB5B- material stock report
    selcet the check boxes required and get the data for a given date

  • Material consumption report for sales made artcle wise - help urgent

    Hi Folks,
    My client need a report which consist of
    The raw material consumption report
    1. Article wise (material group)
    2. QTY
    3. Value
    4. or all sales made for foreign customers
    5. Business area
    Please help me
    Thanks
    Narasim

    Hi,
    Check COOIS report.
    It will show the consumption order wise just filter Movement type 261.
    Regards,
    Shayam

  • Material movement types

    dear gurus,
    want to know the relation of material movement types with posting

    http://help.sap.com/saphelp_47x200/helpdata/en/4d/2ba31643ad11d189410000e829fbbd/frameset.htm
    The Movement Type Concept
    What Is a Movement Type?
    When you enter a goods movement in the system, you must enter a movement type to differentiate between the various goods movements. A movement type is a three-digit identification key for a goods movement. The following table contains examples of movement types.
    Goods Movements and Movement Types
    Goods movement                                                          Movement type
    Goods receipt for a purchase order                                101
    Goods issue for a cost center                                          201
    Release from quality inspection stock                              321
    Control Functions of the Movement Type
    The movement type has important control functions in Inventory Management.
    For example, the movement type plays an important role in
    updating of quantity fields
    updating of stock and consumption accounts
    determining which fields are displayed during entry of a document in the system

Maybe you are looking for

  • Is there anyone of seeing if anyone is hacking your computer

    I have a firewall on my router, Netbarrier and Leopards built insystem all working but I still wonder if anyone is accessing my computer. My apple firewall log shows numerous Stealth Mode connection attempts. So how do you know if someone is actually

  • Syntax error in OBIEE generated Physical query - Advance filter concept

    I encountered a syntax error when running a report with the help of advanced filter concept. I am getting syntax error at the physical query generated by the OBIEE for main report. I used a sub report with the help of advanced filter concept in main

  • Ship-to party 147 not defined for sales area US DS 20

    Hi, I am getting following error while creating a sales orcer with ref to contract Ship-to party 147 not defined for sales area US DS 20 Points will be rewarded for satisfactory answer. Thanks & Regards, Vinayak

  • File copied In production

    Hi All, I have copied my file in the production ..the same file which is working in Dev server and QA server but it doesn't work in production. I am wondering that simple jsp file is not working in production. As per basis person  he copied the exact

  • Steps to create  rfc destination

    hi, what are the steps to create rfc destination