Aging stock

Hi friends,
Please let me know what is the meaning if "Aging Stock"...its not technica...quite functional....please reply me ASAP...

I used below Tables :
tables: mara,          " General Material Data
        marc,          " Plant Data for Material
        mard,          " Storage Location Data for Mataerial
        mvke,
        makt,          " Material Description
        mkpf,          " Header: Material Document
        resb,          " Reservation/dependent requirements
        mseg.          " Document Segment: Material
Selection-screen :
material #
Vendor
Material type
storage location
Plant
Output is
Material
Material Description
Current plant stock
Expired stock
Effective Availible Stock
Reward points if it is available
Thanks
Seshu

Similar Messages

  • Aging Stock Report - Logic

    Dear All,
    Anybody can share the Logic/Functional spec for developing the Stock Aging Report based on the receipt for the current stock which is available in trading plant.
    Thank You,
    Mani.

    Hi,
                                                 ***Logic behind ***
    This is define in overall stock on value based, suppose a material is received in Feb-month, same material is received in Jan-2007 , DEC-2007  also.The total value of this inventory is say 90 lakhs, ( 30 lakhs of each month) so  system will show inventory aging as below
    stock aging less than 30 days, 90 lakhs
    stock aging more than 30 days but below 60 days 60 lakhs
    stock ageing more than 60 days but below 90 days 30 lakhs
    Assuming that no issue taken place if issue is taken place, it will be deducted by default FIFO method. You may have to develop an ABAP report.
    Regards,
    Biju K

  • Ageing stock - analysis per warehouse

    Hi there,
    could you pls let me know whether there is any transaction that gives stock ageing analysis not for plant, but only for specified warehouse?
    thanks a lot for help.
    I

    Hi,
    In the Standard, Stock Ageing Analysis can be carried out at Plant level.
    T Code - MC46.
    Regards,
    Bijoy Kumar

  • Stock more than 48 month

    Dear Master
    Anybody can help me how to get the report for all stock having ageing stock more than 48 month?
    What is the T Code I can use?
    Thank you
    paritz, the newbie in SAP

    Dear All
    When I run MB5m, it does not show anything, please let me know which scope of list I must select in order to get the more than 48 months stock.
    MB5B can give me the information of posting date, however I can't understand, which qty I can assume it is the stock.
    paritz, the newbie in SAP

  • How to include maintaince view in da report

    I did a report for Audit – Inventory Ageing Company-wise Summary i am getting the output of the report well. what I need is that i should include a field WGBEZ of the maintaince view V023 so that to display material group description. where & how should i write the code in my code. kindly give suggestions. i here with attaching my code.
    Title       : Aged Stock
    Description : 'Audit – Inventory Ageing Company-wise Summary’
    REPORT ZMMR0024MOD LINE-SIZE 170 NO STANDARD PAGE HEADING .
    TYPE-POOLS : SLIS.
    TABLES : T001,
             T023,
             T001K,
             MARA,
             marv,
             MAKT,
             MBEW,
             MSEG,
             ekpo.
    Constants
    CONSTANTS : GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
    'TOP_OF_PAGE'.
    Internal Tables
    DATA  :  BEGIN OF GT_FINAL OCCURS 0,
             MATKL LIKE MARA-MATKL,
             MATNR LIKE MARA-MATNR,
            WGBEZ LIKE V023-WGBEZ,
             LBKUM LIKE MBEW-LBKUM,
             tot_val type p decimals 2,
             MAKTX LIKE MAKT-MAKTX,
             tot_amt type p decimals 2,
             price type p decimals 2,
             meins like mara-meins,
             END OF GT_FINAL,
             DETAIL_FINAL LIKE GT_FINAL OCCURS 0 WITH HEADER LINE.
    DATA  :  BEGIN OF MAT_FINAL OCCURS 0,
             MATKL LIKE MARA-MATKL,
             TOT_VAL LIKE MSEG-MENGE,
             TOT_AMT LIKE MBEW-SALK3,
             PRICE LIKE MBEW-SALK3,
             meins like mara-meins,
             END OF MAT_FINAL.
    DATA :   BEGIN OF I_MARA OCCURS 0,
             MATNR LIKE MARA-MATNR,
             MATKL LIKE MARA-MATKL,
             MAKTX LIKE MAKT-MAKTX,
             WGBEZ LIKE V023-WGBEZ,
             MEINS LIKE MARA-MEINS,
             LBKUM LIKE MBEWH-LBKUM,
             TOT_AMT LIKE MBEW-SALK3,
             END OF I_MARA.
    DATA :   BEGIN OF I_MKPF_MSEG OCCURS 0,
             MATNR LIKE MARA-MATNR,
             MBLNR LIKE MSEG-MBLNR,
             ZEILE LIKE MSEG-ZEILE,
             MENGE LIKE MSEG-MENGE,
             BWART LIKE MSEG-BWART,
             BUDAT LIKE MKPF-BUDAT,
             NET_VAL LIKE MSEG-MENGE,
             ebeln like mseg-ebeln,
             ebelp like mseg-ebelp,
             lfbnr like mseg-lfbnr,
             lfpos like mseg-lfpos,
             SHKZG LIKE MSEG-SHKZG,
             meins like mara-meins,
             END OF I_MKPF_MSEG,
             WA_TEMP LIKE I_MKPF_MSEG.
    DATA :   BEGIN OF I_MBEWH OCCURS 0,
             MATNR LIKE MARA-MATNR,
             LBKUM LIKE MBEW-LBKUM,
             SALK3 LIKE MBEW-SALK3,
             BWKEY LIKE MBEW-BWKEY,
             END OF I_MBEWH.
    DATA :   I_MBEWH1 LIKE I_MBEWH OCCURS 0 WITH HEADER LINE.
    DATA :   BEGIN OF I_TEMP OCCURS 0,
             MATNR LIKE MARA-MATNR,
             NET_VAL LIKE MSEG-MENGE,
             meins like mara-meins,
             END OF I_TEMP.
    RANGES : RANGE_WERK FOR T001W-WERKS,
             RANGE_DATE FOR SY-DATUM,
             S_BWTAR FOR BWTAR.
    DATA :  PERIOD LIKE  BAPI0002_4-FISCAL_PERIOD,
            FISCAL_YEAR LIKE  BAPI0002_4-FISCAL_YEAR,
            CUR_VAL LIKE MSEG-MENGE,
            NET_VAL LIKE MSEG-MENGE,
            TOT_VAL LIKE MSEG-MENGE,
            TOT_QTY LIKE MSEG-MENGE,
            TOT_AMT1 LIKE MBEW-SALK3,
            RES_DATE LIKE SY-DATUM,
            NUM LIKE MBEW-SALK3,
            UOM LIKE MARA-MEINS.
    Data declarations for alv
    DATA : GV_PAGE TYPE N VALUE 0.
    DATA : GT_FIELDCAT         TYPE SLIS_T_FIELDCAT_ALV,
           GT_SORT             TYPE SLIS_T_SORTINFO_ALV,
           GT_FILTER           TYPE SLIS_T_FILTER_ALV,
           GT_SP_GROUP         TYPE SLIS_T_SP_GROUP_ALV,
           GT_EVENTS           TYPE SLIS_T_EVENT WITH HEADER LINE,
           GV_REPID            LIKE SY-REPID,
           GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
           GV_SAVE(1)          TYPE C,
           GT_VARIANT          LIKE DISVARIANT,
           GV_DOMNAME          LIKE DD07V-DOMNAME,
           GV_DOMVAL           LIKE DD07V-DOMVALUE_L,
           GW_FIELDCAT         TYPE SLIS_FIELDCAT_ALV.
    Selection screen
    SELECTION-SCREEN BEGIN OF BLOCK SEL WITH FRAME TITLE TEXT-001.
    PARAMETERS     : GS_BUKRS LIKE T001K-BUKRS OBLIGATORY.
    SELECT-OPTIONS : GS_MATKL FOR MARA-MATKL,
                     GS_MATNR FOR MARA-MATNR.
    PARAMETERS     : gs_ped like s031-spmon OBLIGATORY,
                     GS_DAYS(3) TYPE n,
                     MG1 RADIOBUTTON GROUP GR1,
                     MT2 RADIOBUTTON GROUP GR1.
    SELECTION-SCREEN END OF BLOCK SEL.
    Validations on selection screen
    AT SELECTION-SCREEN ON GS_BUKRS.
      PERFORM F00_VALIDATE_COMPANY_CODE.
    AT SELECTION-SCREEN ON GS_MATKL.
      IF NOT GS_MATKL[] IS INITIAL.
        PERFORM F01_VALIDATE_MATERIAL_GROUP.
      ENDIF.
    AT SELECTION-SCREEN ON GS_MATNR.
      IF NOT GS_MATNR[] IS INITIAL.
        PERFORM F01_VALIDATE_MATERIAL.
      ENDIF.
    AT SELECTION-SCREEN ON GS_days.
      if gs_days = ''.
        gs_days = 0.
      endif.
    START-OF-SELECTION.
      GV_REPID = SY-REPID.
      PERFORM F20_EVENTTAB_BUILD CHANGING GT_EVENTS[].
      PERFORM F30_SELECT_PRIMARY_DATA.
      IF MG1 = 'X'.
        PERFORM F11_DATA_FORMAT_GROUP.
        PERFORM F50_MATERIAL_GROUP_DATA.
        PERFORM F40_DISPLAY_REPORT TABLES MAT_FINAL.
      ELSEIF MT2 = 'X'.
        PERFORM F10_DATA_FORMAT_MAT.
        PERFORM F40_DISPLAY_REPORT TABLES GT_FINAL.
      ENDIF.
    *&      Form  F20_EVENTTAB_BUILD
    FORM F20_EVENTTAB_BUILD CHANGING LT_EVENTS TYPE SLIS_T_EVENT.
      CONSTANTS:  LC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
                  'TOP_OF_PAGE',
                  LC_FORMNAME_USER_COMMAND TYPE SLIS_FORMNAME VALUE
                  'USER_COMMAND'.
      DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          I_LIST_TYPE = 0
        IMPORTING
          ET_EVENTS   = LT_EVENTS.
    note : lt_events has all the events
      READ TABLE 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 LT_EVENTS.
      ENDIF.
      READ TABLE LT_EVENTS WITH KEY NAME =   SLIS_EV_USER_COMMAND
      INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE LC_FORMNAME_USER_COMMAND TO LS_EVENT-FORM.
        APPEND LS_EVENT TO LT_EVENTS.
      ENDIF.
    ENDFORM.                    "F20_EVENTTAB_BUILD
    *&      Form  F12_E04_COMMENT_BUILD
    FORM F12_E04_COMMENT_BUILD USING E04_LT_TOP_OF_PAGE TYPE
    SLIS_T_LISTHEADER.
      DATA : LS_LINE TYPE SLIS_LISTHEADER,
             LV_TEXT(100) TYPE C,
             LV_DAYLOW(2) TYPE C,
             LV_MONTHLOW(2) TYPE C,
             LV_YEARHIGH(4) TYPE C,
             LV_DAYHIGH(2) TYPE C,
             LV_MONTHHIGH(2) TYPE C,
             LV_YEARLOW(4) TYPE C,
             LV_DATFORMAT1(10),
             LV_DATFORMAT2(10).
      CONCATENATE  'Company Code :' ' '  GS_BUKRS
      INTO LV_TEXT SEPARATED BY SPACE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
      LS_LINE-INFO = LV_TEXT.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
      CLEAR LV_TEXT.
      IF NOT GS_MATKL[] IS INITIAL.
        IF GS_MATKL-HIGH IS INITIAL AND NOT GS_MATKL-LOW IS INITIAL.
          CONCATENATE  'Material Group :' ' '  GS_MATKL-LOW
          INTO LV_TEXT SEPARATED BY SPACE.
        ELSE .
          CONCATENATE  'Material Group :' GS_MATKL-LOW ' to'
          GS_MATKL-HIGH INTO LV_TEXT SEPARATED BY SPACE.
        ENDIF.
      ENDIF.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
      LS_LINE-INFO = LV_TEXT.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
      CLEAR LV_TEXT.
      IF NOT GS_MATNR[] IS INITIAL.
        IF GS_MATNR-HIGH IS INITIAL AND NOT GS_MATNR-LOW IS INITIAL.
          CONCATENATE  'Material :' ' '  GS_MATNR-LOW
          INTO LV_TEXT SEPARATED BY SPACE.
        ELSE .
          CONCATENATE  'Material :' GS_MATNR-LOW ' to'
          GS_MATNR-HIGH INTO LV_TEXT SEPARATED BY SPACE.
        ENDIF.
      ENDIF.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
      LS_LINE-INFO = LV_TEXT.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
      CLEAR LV_TEXT.
    LV_YEARLOW  = gs_ped+0(4).
    LV_MONTHLOW = gs_ped+4(2).
    LV_DAYLOW   = gs_ped+6(2).
    CONCATENATE LV_DAYLOW LV_MONTHLOW LV_YEARLOW INTO LV_DATFORMAT1
    *SEPARATED BY '.'.
      CONCATENATE  'Key month : ' gs_ped
      INTO LV_TEXT SEPARATED BY SPACE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
      LS_LINE-INFO = LV_TEXT.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
      CLEAR LV_TEXT.
      CONCATENATE  'Number of days :' ' '  GS_DAYS
      INTO LV_TEXT SEPARATED BY SPACE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
      LS_LINE-INFO = LV_TEXT.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
      CLEAR LV_TEXT.
      GV_PAGE = GV_PAGE + 1.
      CONCATENATE  'PAGE NO : ' ' '  GV_PAGE
      INTO LV_TEXT SEPARATED BY SPACE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
      LS_LINE-INFO = LV_TEXT.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    ENDFORM.                    "F12_E04_COMMENT_BUILD
          FORM TOP_OF_PAGE                                              *
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  validate_sales_organization
          text
    FORM F00_VALIDATE_COMPANY_CODE .
      SELECT SINGLE BUKRS
          FROM T001
          INTO T001-BUKRS
          WHERE BUKRS = GS_BUKRS.
      IF SY-SUBRC = 0.
      ELSE.
        MESSAGE E000(ZCBOM) WITH 'Please enter the valid material group'.
      ENDIF.
    ENDFORM.                    " validate_sales_organization
    *&      Form  VALIDATE_PLANT
          text
    -->  p1        text
    <--  p2        text
    FORM F01_VALIDATE_MATERIAL_GROUP.
      SELECT SINGLE MATKL
          FROM T023
          INTO T023-MATKL
          WHERE MATKL IN GS_MATKL.
      IF SY-SUBRC = 0.
      ELSE.
        MESSAGE E000(ZCBOM) WITH 'Please enter the valid material group'.
      ENDIF.
    ENDFORM.                    " VALIDATE_PLANT
    *&      Form  VALIDATE_MATERIAL
          text
    -->  p1        text
    <--  p2        text
    FORM F01_VALIDATE_MATERIAL.
      SELECT SINGLE MATNR
          FROM MARA
          INTO MARA-MATNR
          WHERE MATNR IN GS_MATNR.
      IF SY-SUBRC = 0.
      ELSE.
        MESSAGE E000(ZCBOM) WITH 'Please enter the valid material '.
      ENDIF.
    ENDFORM.                    " VALIDATE_MATERIAL
    *&      Form  F40_DISPLAY_REPORT
    FORM F40_DISPLAY_REPORT TABLES IT.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM      = GV_REPID
          I_CALLBACK_USER_COMMAND = 'USER_COMMAND '
          IT_FIELDCAT             = GT_FIELDCAT[]
          IT_SPECIAL_GROUPS       = GT_SP_GROUP[]
          IT_SORT                 = GT_SORT[]
          I_SAVE                  = GV_SAVE
          IS_VARIANT              = GT_VARIANT
          IT_EVENTS               = GT_EVENTS[]
        TABLES
          T_OUTTAB                = IT.                         "it_1.
      CLEAR:GT_FIELDCAT.
      REFRESH:GT_FIELDCAT.
    ENDFORM.                    " F40_DISPLAY_REPORT
    *&      Form  F30_SELECT_PRIMARY_DATA
          text
    FORM F30_SELECT_PRIMARY_DATA .
    subroutine to get the actual data
    to get the plants for the given company code
      data : temp_bukrs like BAPI0002_2-COMP_CODE,
             temp_date  like BAPI0002_4-POSTING_DATE.
      data : last_day(2) type n,
             from_date like sy-datum,
             temp_date1 like sy-datum,
             cal_month(2) type n,
             cal_year(4) type n.
      SELECT DISTINCT BWKEY FROM T001K INTO RANGE_WERK-LOW WHERE BUKRS = GS_BUKRS.
        RANGE_WERK-SIGN = 'I'.
        RANGE_WERK-OPTION = 'EQ'.
        APPEND RANGE_WERK.
      ENDSELECT.
    *selecting material that is relevant to the selection criteria
      SELECT MARA~MATNR MATKL MEINS MAKTX
             FROM MARA JOIN MAKT
               ON MAKTMATNR = MARAMATNR
             INTO CORRESPONDING FIELDS OF TABLE I_MARA
             WHERE MARA~MATNR IN GS_MATNR
              AND  MATKL IN GS_MATKL
              AND MAKT~SPRAS = 'EN'.
      temp_bukrs = gs_bukrs.
      cal_month = gs_ped+4(2).
      cal_year  = gs_ped+0(4).
      concatenate cal_year cal_month '01' into temp_date.
    *temp_date = temp_date1.
      CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD'
        EXPORTING
          COMPANYCODEID = temp_bukrs
          POSTING_DATE  = temp_date
        IMPORTING
          FISCAL_YEAR   = fiscal_year
          FISCAL_PERIOD = period.
      select single * from marv into marv where bukrs = temp_bukrs.
    temp_date1 = temp_date.
      if sy-subrc = 0.
        if ( marv-lfmon ne period or marv-lfgja ne fiscal_year ).
          CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
            EXPORTING
              DAY_IN            = temp_date
            IMPORTING
              LAST_DAY_OF_MONTH = from_date
            EXCEPTIONS
              DAY_IN_NO_DATE    = 1
              OTHERS            = 2.
        else.
          from_date = sy-datum.
        endif.
      endif.
    to define the range for posting date
      RES_DATE = from_date - GS_DAYS.
      RANGE_DATE-LOW  = RES_DATE.
      RANGE_DATE-HIGH = from_date.
      RANGE_DATE-OPTION = 'BT'.
      RANGE_DATE-SIGN = 'I'.
      APPEND RANGE_DATE.
    to select documents and their quantities for the given range of posting dates
    with goods movement type 101 105 657 453 459 501 521 and their reversals
      if range_date-low ne range_date-high.
        SELECT MSEG~MATNR MSEG~MBLNR MSEG~ZEILE MSEG~MENGE MSEG~BWART mseg~ebeln mseg~ebelp
               MKPF~BUDAT MSEG~SHKZG
               FROM MKPF
               JOIN MSEG ON MSEG~MBLNR = MKPF~MBLNR
                        AND MSEG~MJAHR = MKPF~MJAHR
                          INTO CORRESPONDING FIELDS OF TABLE I_MKPF_MSEG
                              FOR ALL ENTRIES IN I_MARA
                            WHERE MSEG~MATNR = I_MARA-MATNR
                              AND MSEG~WERKS IN RANGE_WERK
                              AND MKPF~BUDAT IN RANGE_DATE
                              AND MSEG~BWART IN ('101','105','657','453','459','501','521','561','309','701','712', "711
                                                 '102','106','658','454','460','502','522','562').
        DELETE  I_MKPF_MSEG WHERE ( BWART = '309' AND SHKZG = 'H')
                               or ( bwart = '453' and shkzg = 'H')
                               or ( bwart = '454' and shkzg = 'S').
      endif.
      SORT I_MKPF_MSEG BY MATNR MBLNR.
      LOOP AT I_MKPF_MSEG.
        if i_mkpf_mseg-bwart = '101' or i_mkpf_mseg-bwart = '102'.
          select single * from ekpo  where ebeln = i_mkpf_mseg-ebeln
                                       and ebelp = i_mkpf_mseg-ebelp.
          if ekpo-pstyp = 7.
            delete i_mkpf_mseg where ebeln = i_mkpf_mseg-ebeln
                                 and ebelp = i_mkpf_mseg-ebelp.
            CLEAR I_MKPF_MSEG-MENGE.
          endif.
        endif.
        IF ( I_MKPF_MSEG-BWART = '101' OR I_MKPF_MSEG-BWART = '105' OR I_MKPF_MSEG-BWART = '712' OR
             I_MKPF_MSEG-BWART = '657' OR I_MKPF_MSEG-BWART = '453' OR "I_MKPF_MSEG-BWART = '711' OR
             I_MKPF_MSEG-BWART = '459' OR I_MKPF_MSEG-BWART = '501' OR I_MKPF_MSEG-BWART = '701' OR
             I_MKPF_MSEG-BWART = '521' OR I_MKPF_MSEG-BWART = '561' OR I_MKPF_MSEG-BWART = '309').
          NET_VAL = NET_VAL + I_MKPF_MSEG-MENGE.
        ENDIF.
        IF ( I_MKPF_MSEG-BWART = '102' OR I_MKPF_MSEG-BWART = '106' OR
             I_MKPF_MSEG-BWART = '658' OR I_MKPF_MSEG-BWART = '454' OR
             I_MKPF_MSEG-BWART = '460' OR I_MKPF_MSEG-BWART = '502' OR
             I_MKPF_MSEG-BWART = '522' OR I_MKPF_MSEG-BWART = '562').
          NET_VAL = NET_VAL - I_MKPF_MSEG-MENGE.
        ENDIF.
        WA_TEMP = I_MKPF_MSEG.
        AT END OF MATNR.
          I_TEMP-MATNR  = WA_TEMP-MATNR.
          I_TEMP-NET_VAL = NET_VAL.
          APPEND I_TEMP.
          CLEAR NET_VAL.
        ENDAT.
      ENDLOOP.
      SORT I_MARA BY MATNR.
      SORT I_TEMP BY MATNR.
      SELECT MATNR LBKUM SALK3 BWKEY
             FROM MBEWH
             INTO CORRESPONDING FIELDS OF TABLE I_MBEWH
             FOR ALL ENTRIES IN I_MARA
             WHERE MATNR = I_MARA-MATNR
               AND BWKEY IN RANGE_WERK
               AND BWTAR IN S_BWTAR
               AND LFGJA = FISCAL_YEAR
               AND LFMON = PERIOD.
      SELECT MATNR LBKUM SALK3 BWKEY
             FROM MBEW
             INTO CORRESPONDING FIELDS OF TABLE I_MBEWH1
             FOR ALL ENTRIES IN I_MARA
             WHERE MATNR = I_MARA-MATNR
               AND BWKEY IN RANGE_WERK.
                AND LFMON = PERIOD
                AND LFGJA = FISCAL_YEAR.
      SORT I_MBEWH BY MATNR BWKEY.
      SORT I_MBEWH1 BY MATNR BWKEY.
      LOOP AT I_MBEWH.
        LOOP AT I_MBEWH1 WHERE MATNR = I_MBEWH-MATNR
                           AND BWKEY = I_MBEWH-BWKEY.
          DELETE I_MBEWH1.
        ENDLOOP.
      ENDLOOP.
      APPEND LINES OF I_MBEWH1 TO I_MBEWH.
      CLEAR : I_MBEWH1.
      REFRESH I_MBEWH1.
      SORT I_MBEWH BY MATNR.
      LOOP AT I_MBEWH .
        I_MBEWH1 = I_MBEWH.
        AT END OF MATNR.
          SUM.
          I_MBEWH1-LBKUM = I_MBEWH-LBKUM.
          I_MBEWH1-SALK3 = I_MBEWH-SALK3.
          APPEND I_MBEWH1.
        ENDAT.
      ENDLOOP.
      DELETE I_MBEWH1 WHERE LBKUM <= 0.
      LOOP AT I_MARA.
        CLEAR : CUR_VAL,
                NUM,
                TOT_VAL,
                TOT_AMT1,
                I_MBEWH1.
        GT_FINAL-MATNR = I_MARA-MATNR.
        GT_FINAL-MATKL = I_MARA-MATKL.
        GT_FINAL-MAKTX = I_MARA-MAKTX.
        gt_final-meins = I_MARA-MEINS.
        READ TABLE I_MBEWH1 WITH KEY MATNR = I_MARA-MATNR.
        GT_FINAL-LBKUM = I_MBEWH1-LBKUM.
    to get the net inward movement vale that is to be subtracted from current value
        READ TABLE I_TEMP WITH KEY MATNR = I_MARA-MATNR.
        IF SY-SUBRC = 0 .
          IF GT_FINAL-LBKUM > 0.
            TOT_VAL = gt_final-lbkum - I_TEMP-NET_VAL.
            if tot_val gt 0.
              GT_FINAL-TOT_VAL = TOT_VAL.
              GT_FINAL-PRICE = I_MBEWH1-SALK3 / gt_final-lbkum."TOT_VAL.
              GT_FINAL-TOT_AMT = GT_FINAL-PRICE * GT_FINAL-TOT_VAL.
              APPEND GT_FINAL.
            endif.
          ENDIF.
        else.
          if gt_final-lbkum > 0.
            gt_final-tot_val = gt_final-lbkum.
            GT_FINAL-PRICE = I_MBEWH1-SALK3 / gt_final-lbkum.
            GT_FINAL-TOT_AMT = GT_FINAL-PRICE * GT_FINAL-TOT_VAL.
            APPEND GT_FINAL.
          endif.
        ENDIF.
      ENDLOOP.
      DELETE GT_FINAL WHERE LBKUM LE 0.
    ENDFORM.                    " F30_SELECT_PRIMARY_DATA
    *&      Form  f10_DATA_FORMAT
          text
    FORM F10_DATA_FORMAT_MAT .
    populating the field catalog table
    MATNR
      PERFORM F11_E01_FIELDCAT_INIT USING  'MARA' 'MATNR' 'MATNR' '1'
                               TEXT-003 'GT_FINAL' '15'.
    MAKTX
      PERFORM F11_E01_FIELDCAT_INIT USING  'MARA' 'MATKL' 'MATKL' '2'
                               TEXT-004 'GT_FINAL' '24'.
    DESC
      PERFORM F11_E01_FIELDCAT_INIT USING  'MAKT' 'MAKTX' 'MAKTX' '3'
                               TEXT-005 'GT_FINAL' '35'.
    Material Group Decription
      PERFORM F11_E01_FIELDCAT_INIT USING  'V023' 'WGBEZ' 'WGBEZ' '3'
                               TEXT-005 'GT_FINAL' '20'.
    qty
      PERFORM F11_E01_FIELDCAT_INIT USING  '' 'TOT_VAL' 'MENGE' '4'
                               TEXT-006 'GT_FINAL' '15'.
    MEINS
      PERFORM F11_E01_FIELDCAT_INIT USING  '' 'MEINS' 'MEINS' '4'
                               TEXT-008 'GT_FINAL' '15'.
    TOTAL COST
      PERFORM F11_E01_FIELDCAT_INIT USING  '' 'TOT_AMT' 'SALK3' '5'
                               TEXT-007 'GT_FINAL' '24'.
      PERFORM F12_E04_COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
      GV_SAVE = 'A'.
      CLEAR GT_EVENTS.
      REFRESH GT_EVENTS.
      GT_EVENTS-NAME = 'TOP_OF_PAGE'.
      GT_EVENTS-FORM = 'TOP_OF_PAGE'.
      APPEND GT_EVENTS.
    ENDFORM.                    " f10_DATA_FORMAT
    *&      Form  F11_E01_FIELDCAT_INIT
          text
    FORM F11_E01_FIELDCAT_INIT  USING T1 T2 T3 T4 T5 T6 T7.
      CLEAR GW_FIELDCAT.
      GW_FIELDCAT-REF_TABNAME    = T1.
      GW_FIELDCAT-FIELDNAME      = T2.
      GW_FIELDCAT-REF_FIELDNAME  = T3.
      GW_FIELDCAT-COL_POS        = T4.
      GW_FIELDCAT-SELTEXT_L      = T5.
      GW_FIELDCAT-TABNAME        = T6.
      GW_FIELDCAT-OUTPUTLEN      = T7.
      APPEND GW_FIELDCAT TO GT_FIELDCAT.
    ENDFORM.                    " F11_E01_FIELDCAT_INIT
    *&      Form  f40_material_group_data
          text
    -->  p1        text
    <--  p2        text
    FORM F50_MATERIAL_GROUP_DATA .
      SORT GT_FINAL BY MATKL.
      LOOP AT GT_FINAL.
        TOT_QTY = GT_FINAL-TOT_VAL + TOT_QTY.
        TOT_AMT1 = GT_FINAL-TOT_AMT + TOT_AMT1.
        UOM = GT_FINAL-MEINS.
        AT END OF MATKL.
          MAT_FINAL-MATKL = GT_FINAL-MATKL.
          MAT_FINAL-TOT_VAL = TOT_QTY.
          MAT_FINAL-TOT_AMT = TOT_AMT1.
          MAT_FINAL-MEINS   = UOM.
          APPEND MAT_FINAL.
          CLEAR : TOT_QTY,
                  TOT_AMT1.
        ENDAT.
      ENDLOOP.
    ENDFORM.                    " f40_material_group_data
    *&      Form  BUILD_DETAIL
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_DETAIL .
      DETAIL_FINAL[] = GT_FINAL[].
      DELETE DETAIL_FINAL WHERE MATKL NE MAT_FINAL-MATKL.
    ENDFORM.                    " BUILD_DETAIL
    *&      Form  f11_data_format_group
          text
    -->  p1        text
    <--  p2        text
    FORM F11_DATA_FORMAT_GROUP .
    MATNR
    PERFORM F11_E01_FIELDCAT_INIT USING  'MARA' 'MATNR' 'MATNR' '1'
                              TEXT-003 'GT_FINAL' '15'.
      REFRESH GT_FIELDCAT[].
    MAKTX
      PERFORM F11_E01_FIELDCAT_INIT USING  'MARA' 'MATKL' 'MATKL' '2'
                               TEXT-004 'MAT_FINAL' '24'.
    DESC
    PERFORM F11_E01_FIELDCAT_INIT USING  'MAKT' 'MAKTX' 'MAKTX' '3'
                              TEXT-005 'GT_FINAL' '35'.
    Material Group Decription
    PERFORM F11_E01_FIELDCAT_INIT USING  'V023' 'WGBEZ' 'WGBEZ' '3'
                              TEXT-005 'GT_FINAL' '20'.
    qty
      PERFORM F11_E01_FIELDCAT_INIT USING  '' 'TOT_VAL' 'MENGE' '4'
                               TEXT-006 'MAT_FINAL' '15'.
    qty
      PERFORM F11_E01_FIELDCAT_INIT USING  '' 'MEINS' 'MEINS' '5'
                               TEXT-008 'MAT_FINAL' '15'.
    TOTAL COST
      PERFORM F11_E01_FIELDCAT_INIT USING  '' 'TOT_AMT' 'SALK3' '6'
                               TEXT-007 'MAT_FINAL' '24'.
      PERFORM F12_E04_COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
      GV_SAVE = 'A'.
      CLEAR GT_EVENTS.
      REFRESH GT_EVENTS.
      GT_EVENTS-NAME = 'TOP_OF_PAGE'.
      GT_EVENTS-FORM = 'TOP_OF_PAGE'.
      APPEND GT_EVENTS.
    ENDFORM.                    " f11_data_format_group
    *&      Form  DETAIL_FORMAT_FIELDCAT
          text
    -->  p1        text
    <--  p2        text
    FORM DETAIL_FORMAT_FIELDCAT .
      REFRESH GT_FIELDCAT[].
    MATNR
      PERFORM F11_E01_FIELDCAT_INIT USING  'MARA' 'MATNR' 'MATNR' '1'
                               TEXT-003 'DETAIL_FINAL' '15'.
    MAKTL
      PERFORM F11_E01_FIELDCAT_INIT USING  'MARA' 'MATKL' 'MATKL' '2'
                               TEXT-004 'DETAIL_FINAL' '24'.
    MAKTX
      PERFORM F11_E01_FIELDCAT_INIT USING  'MAKT' 'MAKTX' 'MAKTX' '3'
                               TEXT-005 'DETAIL_FINAL' '35'.
    qty
      PERFORM F11_E01_FIELDCAT_INIT USING  '' 'TOT_VAL' 'MENGE' '4'
                               TEXT-006 'DETAIL_FINAL' '15'.
    UOM
      PERFORM F11_E01_FIELDCAT_INIT USING  '' 'MEINS' 'MEINS' '5'
                               TEXT-008 'DETAIL_FINAL' '15'.
    TOTAL COST
      PERFORM F11_E01_FIELDCAT_INIT USING  '' 'TOT_AMT' 'SALK3' '6'
                               TEXT-007 'DETAIL_FINAL' '24'.
    PERFORM F12_E04_COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
      GV_SAVE = 'A'.
    CLEAR GT_EVENTS.
    REFRESH GT_EVENTS.
    GT_EVENTS-NAME = 'TOP_OF_PAGE'.
    GT_EVENTS-FORM = 'TOP_OF_PAGE'.
    APPEND GT_EVENTS.
    ENDFORM.                    " DETAIL_FORMAT_FIELDCAT
          FORM USER_COMMAND                                             *
    FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
                   RS_SELFIELD TYPE SLIS_SELFIELD.
      CASE R_UCOMM.
        WHEN '&IC1'.                       "doubleclick
          IF RS_SELFIELD-TABNAME = 'MAT_FINAL'.
            READ TABLE MAT_FINAL INDEX  RS_SELFIELD-TABINDEX .
            PERFORM BUILD_DETAIL.
            PERFORM DETAIL_FORMAT_FIELDCAT.
            PERFORM F20_EVENTTAB_BUILD CHANGING GT_EVENTS[].
            PERFORM F40_DISPLAY_REPORT TABLES DETAIL_FINAL.
            CLEAR DETAIL_FINAL[].
          ENDIF.
          CLEAR R_UCOMM.
      ENDCASE.
    ENDFORM.                    "USER_COMMAND

    Hi,
    Done with the help of abaper.
    Thanks & Regards,
    Sandeep

  • How to perform Descending Order function on a DATE column in Analytical View

    Hi,
    I have the below requirement
    For the article/site having a+ stock quantity from table MARD field LABST, check the last goods movement date as a receipt table MSEG field SHKZG value "H".  To get this information fetch the data from the table MSEG & MKPF.  The lead time from that date till the present date is the ageing information.  Show the output sorted on the duration as ageing information.
    Created a calculate column with the below code and it is populating data i.e. multiple records for the same item for different dates like
    daysbetween(date("BUDAT"),date("CURRENT_DATE"))
    MC25001;1001;08;DC01;;H;WL;20150317;20150317;000000000000000233;2015-04-20;34;1,003
    MC25001;1001;08;DC01;;H;WL;20150312;20150312;000000000000000233;2015-04-20;39;2,006
    MC25001;1001;08;DC01;;H;WL;20141203;20141203;000000000000000233;2015-04-20;138;3,009
    MC25001;1001;08;DC01;;H;WL;20150409;20150409;000000000000000233;2015-04-20;11;1,003
    MC25001;1001;08;DC01;;H;WL;20141201;20141201;000000000000000233;2015-04-20;140;1,003
    Now I have to sort the date (BUDAT) (highlighted in bold above) to be sorted in Descending and then take the first record and then apply the the above formula to get the aging stock. 
    Any suggestions?
    Best Regards,
    Vijaya

    Hi,
    But I don't think you need to go for scripting view. What you can do here is create one more calculation view , insert this analytical view in the projection and select date as measure and pick max value and then create one calculated column and put your logic.
    I hope i got your requirement correctly.
    BR
    Sumeet

  • MM-Reports

    Hi Experts,
    Needs Ur Valuable Suggestion on this.
    My Client wants Few PURCHASE REPORTS
    1.  GOODS INWARD
    Inputs will be -1) DATE WISE  FROM DATE TO to date
                        -2) With Respect to One Supplier Vendor Or all for that month
                        -3) With respect to Regular Purchase/Consignment Purchase/etc.
    With all these inputs which report i can get ?
    2.  Purchase register.
        Inputs will be -1) DATE WISE  FROM DATE TO to date
                            -2) With Respect to One Supplier Vendor Or all for that month
                            -3) With respect to Regular Purchase/Consignment Purchase/etc.
    With all these inputs which report i can get ?
    3. GOODS INWARD PRINT
        -1)Goods Inward Print.
        -2)Invoice Print.
    4. PURCHASE INWARD PRINT DETAILS
    5 LIST OF ITEMS TO RETURN BEFORE RETURN DUE DATE.
    Required a report which should state the age of Material from the date of Goods inward.
                     - AGING STOCK, eg if we want to see the report for the Materials which are in stock from last 120 days or n number of days.
                     -  and one report which shows the due return date mentioned in MIGO.
    6. PURCHASE RETURN REGISTER
                      - DATEWISE/Vendorwise/
    7. PURCHASE ANALYSIS VENDOR WISE : It shows the Material sold til date and Materials in stock till date against Vendors individual invoices or together
    ( Vendor wise , Goods inward wise).
    Best Regards
    Javeed Ahamed

    Hi,
    1. GOODS INWARD--MB51
    2. Purchase register---ME2M
    3. GOODS INWARD PRINT
    -1)Goods Inward Print.-MB03 or MB90
    -2)Invoice Print.-MR90
    4. PURCHASE INWARD PRINT DETAILS
    5 LIST OF ITEMS TO RETURN BEFORE RETURN DUE DATE.
    Required a report which should state the age of Material from the date of Goods inward.
    - AGING STOCK, eg if we want to see the report for the Materials which are in stock from last 120 days or n number of days.--MC46
    - and one report which shows the due return date mentioned in MIGO.
    6. PURCHASE RETURN REGISTER --MB51
    - DATEWISE/Vendorwise/
    7. PURCHASE ANALYSIS VENDOR WISE : It shows the Material sold til date and Materials in stock till date against Vendors individual invoices or together
    ( Vendor wise , Goods inward wise).

  • Library of Crystal Reports (not Layouts) for 8.8

    Hello All,
    Is there a library of sample CRystal Reports for SBO 8.8.
    I don't mean Layouts.
    I mean Crystal Reports for typical business reports like Ageing, Stock LIstings, SAles Analysis etc..

    Hi Christian
    Here is the latest version for you with 64 Bit compatibility 2.0.0.7
    [Crystal Add-On with 64 Bit Compatibility|https://sapmats-de.sap-ag.de/download/download.cgi?id=0G5XHIZJQPZGO012YOH7W95H7M7SA4UOHHZZ28HQZGMOO5OH8R]

  • How to sending simple text in the mail body

    Hi friends,
                 How to send simple text in the mail body through ABAP code
       plz send me the related code and setting for that mail.
      Thanks&Regards,
      Srinivas

    try this...
    FORM send_file_as_email_attachment .
      DATA: objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE.
      DATA: objpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
      DATA: objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE.
      DATA: reclist LIKE somlreci1 OCCURS 5 WITH HEADER LINE.
      DATA: objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE.
      DATA : i_body TYPE soli_tab WITH HEADER LINE.
    DATA: it_attach LIKE it_display1 OCCURS 0 WITH HEADER LINE.
      DATA: doc_chng LIKE sodocchgi1.
      DATA: tab_lines LIKE sy-tabix.
      DATA: att_lines TYPE i.
    DATA: lv_lines TYPE i.
      DATA: file TYPE string.
      data: g_datum like sy-datum.
      data: g_datum1(10) type c.
      DATA: len TYPE n.
      LOOP AT it_email.
        CLEAR : objpack,
                objhead,
                objbin,
                objtxt,
                reclist.
        REFRESH: objpack,
                 objhead,
                 objbin,
                 objtxt,
                 reclist.
        g_datum =     sy-datum - 1.
        concatenate g_datum6(2) '.' g_datum4(2) '.' g_datum+0(4) into
        g_datum1.
    doc_chng-obj_descr = 'Aged Stock more than 45 Days'.
        CONCATENATE 'Aged Stock more than 45 Days' '-' it_email-vkbur INTO
        doc_chng-obj_descr.
        CONCATENATE 'Please find enclosed Aged Stock Details ( >45days ) report as on'
        g_datum1
        INTO objtxt-line SEPARATED BY space.
        APPEND objtxt.
        objtxt-line = ' '.
        APPEND objtxt.
        objtxt-line = 'Regards'.
        APPEND objtxt.
        objtxt-line = 'LIS SAP Projects'.
        APPEND objtxt.
        objtxt-line =
        'PS: Pls send feedback for futher improvements to SAP office.'.
        APPEND objtxt.
        DESCRIBE TABLE objtxt LINES tab_lines.
        READ TABLE objtxt INDEX tab_lines.
        doc_chng-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
       CLEAR objpack-transf_bin.
        objpack-head_start = 1.
        objpack-head_num = 1.
        objpack-body_start = 1.
        objpack-body_num = tab_lines.
        objpack-doc_type = 'TXT'.
       objpack-obj_name = 'Run_prog'.
       objpack-obj_descr = 'Agestock.txt'.
       lv_lines = tab_lines.
        APPEND objpack.
    *CONCATENATE 'Plant'   'Material Number' 'Qty(More than 45days)'
    *'Amount' INTO
           it_display SEPARATED BY space.
           append objbin.
           clear: objbin.
        CLEAR:it_display2.
        REFRESH it_display2.
        it_display2-werks = 'Plant|'.
        it_display2-matnr = 'Material Number'.
        it_display2-qty = '|Qty > 45 days'.
        it_display2-amount = '      |Amount'.
        APPEND it_display2.
        it_display2-werks = ''.
        it_display2-matnr = ''.
        it_display2-qty = ''.
        it_display2-amount = ''.
        APPEND it_display2.
        CLEAR : it_display2.
        sort it_display1 by amount descending.
        LOOP AT it_display1 WHERE werks = it_email-vkbur.
         AT FIRST.
    *CONCATENATE 'Plant    '   'Material Number' 'Qty(More than 45days)'
    *'Amount' INTO
           objbin-line SEPARATED BY space.
           append objbin.
           clear: objbin.
         ENDAT.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
            EXPORTING
              input  = it_display1-matnr
            IMPORTING
              output = it_display1-matnr.
          it_display1-qty = TRUNC( it_display1-qty ).
          MOVE-CORRESPONDING it_display1 TO it_display2.
          APPEND it_display2.
          CLEAR:it_display1,it_display2,objbin.
          CLEAR:it_display1.
        ENDLOOP.
        objbin[] = it_display2[].
        DESCRIBE TABLE objbin LINES tab_lines.
        objhead = 'Suug'.
        APPEND objhead.
        objpack-transf_bin = 'X'.
        objpack-head_start = 3.
        objpack-head_num = 1.
        objpack-body_start = 1.
        objpack-body_num = tab_lines.
        objpack-doc_type = 'RAW'.
        objpack-obj_name = 'Run_prog'.
        objpack-obj_descr = 'Agestock.txt'.
        APPEND objpack.
        reclist-receiver = '[email protected]'.
        reclist-rec_type = 'U'.
        APPEND reclist.
    =====================================================================
        CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
          EXPORTING
            document_data              = doc_chng
            commit_work                = 'X'
          TABLES
            packing_list               = objpack
            object_header              = objhead
            contents_bin               = objbin
            contents_txt               = objtxt
            receivers                  = reclist
          EXCEPTIONS
            too_many_receivers         = 1
            document_not_sent          = 2
            operation_no_authorization = 4
            OTHERS                     = 99.
        CLEAR : it_email.
      ENDLOOP.
    ENDFORM.                    "send_mail
    Message was edited by:
            Sugumar Ganesan

  • Serious Problem with Dtae Charecter

    Hi all,
    i have got a problem with one of my date characteristic called LAST SOLD DATE. this last sold date is used in the Age Stock analysis in inventory. the report which shows the age of the stock and the present stock up to the variable date,
    the report runs fine and data is correct. but when i drill down the last sold date it gives me Negative stock values which is not true.
    LAST SOLD DATE: this is a enhancement to the 2lis_03_BF an2lis_03_bx data sources. this is the date on which a particular material is dispatched last time. the code which brings this data is: Inventory 2LIS_03_BF
      WHEN '2LIS_03_BF'.
    added for last sold date
        lt_mc03bf0_tmp[] = c_t_data[].
        SORT lt_mc03bf0_tmp BY matnr.
        DELETE ADJACENT DUPLICATES FROM lt_mc03bf0_tmp
                           COMPARING matnr.
        IF NOT lt_mc03bf0_tmp[] IS INITIAL.
          SELECT vbeln
                 matnr
                 erdat
            FROM lips
            INTO TABLE it_lips1
             FOR ALL ENTRIES IN lt_mc03bf0_tmp
              WHERE matnr = lt_mc03bf0_tmp-matnr.
          IF sy-subrc EQ 0.
            SORT it_lips1 BY matnr erdat DESCENDING.
            DELETE ADJACENT DUPLICATES FROM it_lips1
                               COMPARING matnr.
          ENDIF.
        ENDIF.
    Get Last sold date from LIKP table
        IF NOT it_lips1[] IS INITIAL.
          SELECT vbeln
                 lfdat
            FROM likp
            INTO TABLE it_likp
            FOR ALL ENTRIES IN it_lips1
            WHERE vbeln = it_lips1-vbeln.
          IF sy-subrc EQ 0.
            SORT it_likp BY vbeln.
          ENDIF.
        ENDIF.
        SORT it_lips1 BY matnr.
    End added for last sold da
    the issue i think is the report when last sold date used gives all the dispatched dates stock for that material giving negative figures rather than only the latest date.
    i need help in how to get only the latest or the maximum  sold date for a particular material instead of all the existing dates. thank you in advance

    yes i have loaded the BX data and BF. as i can explain a bit more. my last sold date is looking at my fact data so it effects the key figure when it is drill down. if i can make it independent of the fact data and only looking at my material, and make it to give maximum date only i think i will be sorted. can you or any one please through some suggestions on it
    thanx

  • Ageing Report(STOCK IN HAND)

    Dear All,
    Can I have ageing report for stock in hands (Lot based ) in PP/MM
    modules.
    Kindly give your advises .
    Thanks In Advance
    Rakesh Sehgal

    Hi Rakesh,
    pls check below two tcodes
    1. MC46 - Slow Moving Items
    2. MC50 - Dead stock items
    Regards,
    Sankaran

  • 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...

  • Report for material aging  in stock

    Hi ,
    I need to create batchwise  material aging report availible in stock. I am fatching most of fields from mseg table and I am taking ERFMG from mseg  for stock availibility.
    Is am going in right direction. please guide me for this.
    Regards,
    Seema.
    Moderator Message: Why dont you consult your Functional Consultant on this?
    Edited by: kishan P on May 19, 2011 12:31 PM

    Re: Opening & Closing Stock in transit
    STOCK IN TRANSIT
    Re: reverse the Stock in transit
    In- transit stock

  • Standard Report for stock Aging

    Hello all,
    can anyone plz let us know that is there any standard report in SAP for stock aging? actually i have to see the materials quantity whose 311 movement not done after 321 and also from how many days it is pending.
    Kindly help and tell how can i find those materials quantity, while user also do 311 for partial quantity?
    Regards.

    Hi  @ABAP@
    Check the followings...
    MB24 - Reservations for Material
    MB25 - Reservations for Account Assignment
    MB51 - Material Document List
    MB52 - List of Warehouse Stocks on Hand MB53 - Display Plant Stock Availability
    MB54 - Consignment Stocks
    MB56 - Analyze Batch Where-Used List
    MB57 - Build Up Batch Where-Used List
    MB58 - Consgmt and Ret. Packag. at Customer
    MB59 - Material Document List
    MB5B - Stocks for Posting Date
    MB5C - Pick-Up List
    MB5L - List of Stock Values: Balances
    MB5M - ShL.exp/prod.date
    MB5S - Display List of GR/IR Balances
    MB5W - List of Stock Values
    MB9A - Analyze Archived Material Documents
    MBAL - Material Documents: Read Archive
    MBGR - Display Material Documents by Movement Reason
    MBSI - Find Inventory Sampling
    MBSM - Display Cancelled Material Documents
    MMBE - Stock Overview
    MD07 - Current Material Overview
    MR51 - Material Line Items
    MRKO - Settle Consignment/Pipeline Liabilities
    MB5T - Stock in transit CC

  • Stock Aging Query/Report

    Dear all,
    We are on SAP B1 2007 PL42 and using Moving average as our cost valuation method.
    It doesn't have an inbuilt stock aging report, I have searched through the forum but none of the queries arebshowing the correct aging of stocks. Could anyone have a query/report/addon for stock aging?
    Kind Regards,
    Asif

    Hi,
    Try this one,with warehouse code as input parameter
    select b.code, b.name, b.Wh, b.Bal, b.Val,
    isnull(case when b.days <30 then b.bal end,0)'0-30 Days' ,
    isnull(case when b.days between 30 and 60 then b.bal end,0) '30-60 Days',
    isnull(case when b.days between 60 and 90 then b.bal end,0) '60-90 Days',
    isnull(case when b.days between 90 and 120 then b.bal end,0) '90-120 Days',
    isnull(case when b.days between 120 and 150 then b.bal end,0) '120-150 Days',
    isnull(case when b.days between 150 and 180 then b.bal end,0) '150-180 Days',
    isnull(case when b.days >180 then b.bal end,0) 'Above 180 Days'
    from (
    select a.code,a.name,a.wh,a.bal,a.val,datediff(dd,dt,getdate())'days'
    from (
    select max(t0.itemcode)'Code',max(t0.Dscription)'Name',
    max(t0.Warehouse)'Wh',
    sum(t0.inqty-t0.outqty)'Bal',sum(t0.transvalue)'Val',max(t0.docdate)'dt'
    from oinm t0 inner join oitm t1 on t0.itemcode=t1.itemcode
    where t0.warehouse='[%1]'
    group by t0.itemcode
    )a
    )b order by code

Maybe you are looking for

  • A tela da Configuração do Grupo de item aparece fora da tela de acesso

    Grupo, Gostaria de ajuda, o servidor do meu cliente caiu e estava usando o cadastramento do grupo de item, agora quando tento abrir ele pararece no alto sem poder ser inserido os cadastros, já tentei de todas as formas baixar a tela mais não tive suc

  • How do I add more storage on my iPad?

    How do I add storage on my iPad? I can't update several apps because my storage is not sufficient.

  • How to move cursor to a particular field in a form when the form opens

    Hi All, Using Forms Personalization how to move the cursor to a particular field in a form when the form opens.We are using Oracle Applications 11.5.10.2 Please let me know as soon as possible. Thanks, --John.                                         

  • Windows 7 and Java

    Hey, I have been testing my applications I have written in java since Windows 7 RC's had first started being released. Finally after installing the retail ultimate edition... the results from Java GUI related stuff is still as it was since Windows 7'

  • How can I get client IP address in portlet (servlet) ?

    How can I get client IP address in portlet (servlet) ? request.getRemoteAddr() return server IP. May be I must use Portal API, which extend Servlet classes, but I can't find this. Can any help me?