Subcontracting procedure material wise

HELLO SAP GURU
Today i have implement SAP on TEXTILE industry.& has M-T-O (20)strategy &has 22 plant.
my problem is abt.subcontracting.
this has 4 production line.1 warping 2.sizing 3.weaving 4.QI
In 3rd prd.line has get subcontracting procedure.
But it has 21 vendor (21plant) has same type of machine only different has very speed(RPM)
For my sales order point of view. I use one day 2 machine, next day 5m/c.on next day 10machine
But every machine has different OWNER.ie.different vendor
so how to calculate efficiency of different machine
main problem is
HOW TO DEFINE SUBCONTRACTING PROCEDURE?
Give me detail abt supplying plant & receiving plant.
yogesh
sap pp

hi yogesh
check following line may you use it
step1:-
Subcontracting In SAP
Bel  ow are the steps of subcontracting:
1. For a production material (1001), one raw material (2001) is assigned.
2. Production process of 1001 is having four operations 10, 20, 30 and 40.
3. In this 10, 30, and 40 are internal operations and 20 is external operation (sub-contracting).
4. To address this, we created a dummy material (non-valuated) and named as 1001-20 (Finished product number + Operation to be performed).
5. This 1001-20 should form part of the component in BOM of 1001. That is BOM of 1001 will have components as raw material 2001 and this dummy material 1001-20. In routing, assign this dummy material 1001-20 to operation 20.
6. During BOM creation, you should remove costing relevancy for the item 1001-20.
7. In routing, operation 20 is created with a work center (which is external operation work center) with external operation control key.
8. In operation details, for external processing, assign the info record of external processing.
9. Info record of external processing has to be created for vendor with relevance to the operation to be performed externally with vendor. (We are using material group field in the external processing in routing operation).
10. When create production order with above set up, system will create Purcha Req for external operation. This has to be converted to purchase order.
11. Now, this dummy material should be kept as 5000 or 6000 in stock using 561. When Purchase order is raised, required quantity has to be moved to vendor using 541.  When we do goods receipt the stock with vendor shall come down. With this, we can monitor the material (with dummy material number) stock with vendor (please note we can see only quantity and not value) .
12. When we do GR for external purch order, we receive only the operation performed. (So, coversion cost to vendor shall be paid).
13. After ensuring GR is done, order confirmatin of operation 0020 has to be done. (here we capture the quanttiy and also the valuation of material in production order).
step_2
1.  Define all the materials in your plant (subcontracting and packaging etc).
2.  In the material master MRP 4 view there is one field in which you can mention that this material is not relevant to MRP planning, use this field for subcontracting material so that it will not be planned in MRP runs ( generally use this field for re-order point planning).
3.  In the BOM for the subcontracting material put the special procurement key as Subcontracting and do not keep relevance for costing.
4.  If you're using packaging material of your company and want to capture the cost of these materials in the subcontracting production order then put relevance for cost.
5.  Define alternate BOMs for each customer.
6.   Generally the routing will be the same but materials will change, define different prodcution versions for each alternate BOM and assign to the routing.
7.   Define the activite types for packing and mixing in the work center and assign them to the cost center, use these for your routing. 
8.  Whenever you recive a sub-contracting order, use the relevant production version depending on the customer.
In my place all the palnts belong to the same client in sap and they want to use the same material code in both plants, so I think my subcontracting scenario might be different from yours but it give you some ideas to go about it.

Similar Messages

  • Material wise reciept and Issue report with Opening and Closing Stock

    Hi
    I need a report,Material wise Receipt and issue with Opening and Closing stock.Is there any standard report available in SAP ?
    Or we have to go for Customised Report.
    Please reply

    Hi,
    MB5B gives total receipts - if i click on the receipts i can view the multiple material documents - BUT is there any way to drill down the reciepts or view the breakup of the receipts on the same screen OR is there any other report for this.
    Regards,
    Laxmi

  • Data is not linked to material wise

    Hi experts,
    In this Report data is not linked to material wise.
    it comming merge the all the materials in one material.
    TYPE-POOLS: SLIS.
    TABLES: MKPF,LFA1,MSEG,EKET,T001L,MAKT,S031,S032,MARA,LIPS,LIKP,T001W.
    DATA  FLAG TYPE I.
    DATA : MENGE_RE LIKE MSEG-MENGE,
           MENGE_IS LIKE MSEG-MENGE,
           MENGE_O LIKE MSEG-MENGE,
           MENGE_BAL LIKE MSEG-MENGE.
    DATA  MAGBB LIKE S031-MAGBB.
    DATA : F_LNO LIKE SY-LINNO,
           S_LNO LIKE SY-LINNO,
           V_LNO LIKE SY-LINNO.
    DATA  MZUBB LIKE S031-MZUBB.
    DATA  V_MONTH LIKE S031-SPMON.
    DATA  XBLNR LIKE MKPF-XBLNR.
    DATA : BEGIN OF ITAB1 OCCURS 100,
           MATNR LIKE MAKT-MATNR,
           END OF ITAB1.
    DATA : BEGIN OF ITAB2 OCCURS 100,
    MATNR LIKE MAKT-MATNR,
    WERKS LIKE MARD-WERKS,
    LGORT LIKE MARD-LGORT,
    BUSTW LIKE MSEG-BUSTW,
    BWART LIKE MSEG-BWART,
    SHKZG LIKE MSEG-SHKZG,
    MENGE LIKE MSEG-MENGE,
    END OF ITAB2.
    DATA: PAGNO(5) TYPE C.
    DATA : PAGENO LIKE SY-PAGNO.
    DATA: STR1 TYPE DATS,
          STR2(14) TYPE C,
          STR3(10) TYPE C.
    DATA : V_MONUM LIKE T015M-MONUM,
           V_MONAM LIKE T015M-MONAM.
    DATA : V_PAGENO LIKE SY-PAGNO.
    TYPES:  FARBE TYPE SLIS_T_SPECIALCOL_ALV.
    DATA  V_STOCK LIKE MSEG-MENGE.
    DATA  V_STOCK1 LIKE MSEG-MENGE.
    DATA: V_MONTH1 LIKE S031-SPMON.
    DATA: OSTOCK LIKE MSEG-MENGE.
    DATA : FLAG6 TYPE C,
      V_PAGENO1 LIKE SY-PAGNO,
      V_PAGENO2 LIKE SY-PAGNO.
    DATA: FLD(15).
    DATA: TXT(50).
    DATA: FLAG5.
    I N I T I A L I Z A T I O N
    *GT_REPID = SY-REPID.
    PAGNO = SY-PAGNO.
    A T  S E L E C T I O N  S C R E E N
    AT SELECTION-SCREEN.
    *AT SELECTION-SCREEN ON BUDAT.
    PERFORM VALIDATION.
    S T A R T O F S E L E C T I O N
    START-OF-SELECTION.
    SET MARGIN 5.
    PERFORM FETCH_DATA.
    PERFORM WRITE_REPORT.
    PERFORM STOCK.
    E N D O F S E L E C T I O N
    END-OF-SELECTION.
    Report Selections
      DATA: BEGIN OF IT_HEADER OCCURS 10,
      WERKS LIKE MSEG-WERKS,
      NAME1 LIKE T001W-NAME1,
      MAKTX LIKE MAKT-MAKTX,
      MATNR LIKE MSEG-MATNR,
      MENGE_O LIKE MSEG-MENGE,
      END OF IT_HEADER.
      DATA: BEGIN OF ITAB OCCURS 50,
            WERKS LIKE MSEG-WERKS,
            MATNR LIKE MSEG-MATNR,
            BWART LIKE MSEG-BWART,
            LGORT LIKE MSEG-LGORT,
            EBELN LIKE MSEG-EBELN,
            XBLNR LIKE MKPF-XBLNR,
            BUDAT LIKE MKPF-BUDAT,
            MBLNR LIKE MSEG-MBLNR,
            MENGE LIKE MSEG-MENGE,
            MAKTX LIKE MAKT-MAKTX,
            XAUTO LIKE MSEG-XAUTO,
            NAME1 LIKE T001W-NAME1,
            MENGE_O LIKE MSEG-MENGE,
            SHKZG LIKE MSEG-SHKZG,
            MENGE_IS LIKE MSEG-MENGE,
            MENGE_RE LIKE MSEG-MENGE,
      END OF ITAB.
      DATA: BEGIN OF INT_DATA OCCURS 50,
            WERKS LIKE MSEG-WERKS,
            MATNR LIKE MSEG-MATNR,
            BWART LIKE MSEG-BWART,
            XBLNR LIKE MKPF-XBLNR,
            MBLNR LIKE MSEG-MBLNR,
            BUDAT LIKE MKPF-BUDAT,
            MAKTX LIKE MAKT-MAKTX,
            MENGE_O LIKE MSEG-MENGE,
            MENGE_R LIKE MSEG-MENGE,
            MENGE_TO LIKE MSEG-MENGE,
            MENGE_TI LIKE MSEG-MENGE,
            MENGE_S LIKE MSEG-MENGE,
            MENGE_ST LIKE MSEG-MENGE,
            MENGE_AD LIKE MSEG-MENGE,
            MENGE_RT LIKE MSEG-MENGE,
            MENGE_C LIKE MSEG-MENGE,
            MENGE_CL LIKE MSEG-MENGE,
            MENGE_BAL LIKE MSEG-MENGE,
            MENGE_CR LIKE MSEG-MENGE,
            NAME1 LIKE T001W-NAME1,
            MENGE_RE LIKE MSEG-MENGE,
            MENGE_IS LIKE MSEG-MENGE,
            MENGE_BAL1 LIKE MSEG-MENGE,
            SHKZG LIKE MSEG-SHKZG,
             MENGE LIKE MSEG-MENGE,
             LGORT LIKE MSEG-LGORT,
            END OF INT_DATA.
      DATA: BEGIN OF INT_DATA1 OCCURS 50,
             WERKS LIKE MSEG-WERKS,
             MATNR LIKE MSEG-MATNR,
             BWART LIKE MSEG-BWART,
             MENGE_ST LIKE MSEG-MENGE,
             MENGE_O LIKE MSEG-MENGE,
             WAMNG LIKE EKET-WAMNG,
             WEMNG LIKE EKET-WEMNG,
             MENGE LIKE MSEG-MENGE,
             RETPO LIKE EKPO-RETPO,
             UMREN LIKE EKPO-UMREN,
             UMREZ LIKE EKPO-UMREZ,
             BSTMG LIKE EKPO-MENGE,
             XBLNR LIKE MKPF-XBLNR,
       END OF INT_DATA1.
      DATA: BEGIN OF INT_DATA2 OCCURS 50,
             WERKS LIKE MSEG-WERKS,
             LGORT LIKE S031-LGORT,
             MATNR LIKE MSEG-MATNR,
             BWART LIKE MSEG-BWART,
             MENGE_IS LIKE MSEG-MENGE,
             MBWBEST LIKE S032-MBWBEST,
             MAKTX LIKE MAKT-MAKTX,
       END OF INT_DATA2.
      DATA:V_GJAHR LIKE MKPF-BUDAT.
      SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE TEXT-064.
      SELECT-OPTIONS:
      MATNR FOR MSEG-MATNR,
      MATKL FOR MARA-MATKL OBLIGATORY,
      WERKS FOR MSEG-WERKS OBLIGATORY,
      LGORT FOR MSEG-LGORT,
    *CHARG FOR MSEG-CHARG,
      BWART FOR MSEG-BWART,
    *LIFNR FOR LFA1-LIFNR,
    *WADAT FOR LIKP-WADAT_IST,
      S_DATE FOR MKPF-BUDAT.
      SELECTION-SCREEN END OF BLOCK 0.
    TOP-OF-PAGE.
    PERFORM HEADER_WRITE.
    FORM FETCH_DATA .
    SELECT
         MATNR            " Material Number
         WERKS            " Plant
      INTO TABLE IT_HEADER
      FROM MSEG
      WHERE MATNR = IT_HEADER-MATNR AND
      WERKS = IT_HEADER-WERKS.
      STR3 = S_DATE-LOW+0(4).
      SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE ITAB1
                         WHERE MATNR IN MATNR AND
                         MATKL IN MATKL.
      SELECT MATNR WERKS LGORT
                         INTO TABLE ITAB2
                         FROM MARD FOR ALL ENTRIES IN ITAB1
                         WHERE WERKS IN WERKS AND
                               LGORT IN LGORT AND
                               MATNR = ITAB1-MATNR.
      SELECT SINGLE NAME1 FROM T001W INTO INT_DATA-NAME1
           WHERE WERKS = INT_DATA-WERKS.
      LOOP AT ITAB2.
        SELECT M~MATNR M~WERKS M~LGORT M~MENGE M~MBLNR  M~MJAHR M~XAUTO M~SHKZG
                       M~BWART M~EBELN N~BUDAT N~XBLNR S~NAME1
                       INTO CORRESPONDING FIELDS OF ITAB
                       FROM   MSEG AS M INNER JOIN MKPF AS N ON
                              M~MBLNR = N~MBLNR
                              AND M~MJAHR = N~MJAHR
                            INNER JOIN T001W AS S ON
                              M~WERKS = S~WERKS
                          WHERE N~BUDAT IN S_DATE AND
                             M~WERKS = ITAB2-WERKS AND
                             M~LGORT = ITAB2-LGORT AND
                             M~MATNR = ITAB2-MATNR AND
                    M~BWART IN BWART.
          APPEND ITAB.
          CLEAR ITAB.
        ENDSELECT.
        IF SY-SUBRC NE 0.
          ITAB-MATNR = ITAB2-MATNR.
          ITAB-WERKS = ITAB2-WERKS.
          ITAB-LGORT = ITAB2-LGORT.
          ITAB-BWART = ITAB2-BWART.
          APPEND ITAB.
        ENDIF.
        CLEAR: ITAB2,ITAB.
      ENDLOOP.
      DELETE ADJACENT DUPLICATES FROM ITAB2 COMPARING MATNR WERKS .
      V_MONTH = S_DATE-LOW+0(6).
      SELECT * INTO CORRESPONDING FIELDS OF TABLE INT_DATA2
               FROM S032 FOR ALL ENTRIES IN ITAB2
               WHERE MATNR = ITAB2-MATNR
                     AND WERKS   = ITAB2-WERKS
                     AND LGORT   = SPACE
                     AND   MBWBEST <> SPACE.
      LOOP AT INT_DATA2 .
        SELECT SINGLE *  FROM S031
                         WHERE MATNR = INT_DATA2-MATNR AND
                               WERKS = INT_DATA2-WERKS AND
                               LGORT = SPACE AND
                               SPMON GT V_MONTH.
        MODIFY INT_DATA2.
        CLEAR: INT_DATA2, S031.
      ENDLOOP.
      DELETE INT_DATA WHERE MENGE_O IS INITIAL .
      DELETE ADJACENT DUPLICATES FROM INT_DATA COMPARING XBLNR MATNR MAKTX.
      V_MONTH1 = S_DATE-LOW+0(6).
      SORT ITAB BY  MATNR  WERKS  XBLNR .
      LOOP AT ITAB.
        XBLNR = ITAB-XBLNR.
        INT_DATA-MENGE = ITAB-MENGE.
        INT_DATA-BWART = ITAB-BWART.
        INT_DATA-XBLNR = ITAB-XBLNR.
        INT_DATA-BUDAT = ITAB-BUDAT.
        INT_DATA-MATNR = ITAB-MATNR.
        INT_DATA-MBLNR = ITAB-MBLNR.
        INT_DATA-MENGE = ITAB-MENGE.
        INT_DATA-SHKZG = ITAB-SHKZG.
        INT_DATA-MENGE_IS = ITAB-MENGE_IS.
        INT_DATA-MENGE_RE = ITAB-MENGE_RE.
        INT_DATA-MENGE_O = ITAB-MENGE_O.
        INT_DATA-NAME1 = ITAB-NAME1.
        IF FLAG = 1.
          PERFORM GET_OPENING_STOCK.
        ENDIF.
        INT_DATA-MENGE_O = OSTOCK.
        CASE ITAB-BWART.
          WHEN '101'.
            IF INT_DATA-SHKZG = 'S'.
              INT_DATA-MENGE_R = INT_DATA-MENGE_R + ITAB-MENGE.
            ENDIF.
          WHEN  '453'.
            IF INT_DATA-SHKZG = 'S'.
              IF ITAB-XAUTO = 'X'.
                INT_DATA-MENGE_RT = INT_DATA-MENGE_RT + ITAB-MENGE.
              ENDIF.
            ENDIF.
          WHEN '351' OR '641'.
           IF ITAB-LGORT = 0.
             INT_DATA-MENGE_R = INT_DATA-MENGE_R + ITAB-MENGE.
           ELSE.
             INT_DATA-MENGE_TO = INT_DATA-MENGE_TO + ITAB-MENGE.
           ENDIF.
          WHEN '602' OR '642'.
            IF INT_DATA-SHKZG = 'S'.
              IF ITAB-LGORT = 0.
                INT_DATA-MENGE_CL = INT_DATA-MENGE_CL + ITAB-MENGE.
              ENDIF.
            ENDIF.
          WHEN '552' OR '310'.
            IF INT_DATA-SHKZG = 'S'.
              INT_DATA-MENGE_AD = INT_DATA-MENGE_AD - ITAB-MENGE.
            ENDIF.
          WHEN '601'.
            IF INT_DATA-SHKZG = 'H'.
              INT_DATA-MENGE_S = INT_DATA-MENGE_S + ITAB-MENGE.
            ENDIF.
          WHEN  '641' .
            IF INT_DATA-SHKZG = 'H'.
              IF ITAB-LGORT = 0.
                INT_DATA-MENGE_TO = INT_DATA-MENGE_TO + ITAB-MENGE.
              ENDIF.
            ENDIF.
          WHEN  '454' OR '102'.
            IF INT_DATA-SHKZG = 'H'.
              IF ITAB-XAUTO = 'X'.
                INT_DATA-MENGE_CR = INT_DATA-MENGE_CR - ITAB-MENGE.
              ENDIF.
            ENDIF.
          WHEN '551' OR '309'.
            IF INT_DATA-SHKZG = 'H'.
              INT_DATA-MENGE_AD = INT_DATA-MENGE_AD + ITAB-MENGE.
            ENDIF.
    ENDCASE.
    PERFORM BALANCE.
    COLLECT INT_DATA.
        CLEAR: INT_DATA,XBLNR, FLAG, OSTOCK.
    IF INT_DATA-SHKZG = 'S'.
          MENGE_RE = INT_DATA-MENGE_R + INT_DATA-MENGE_RT + INT_DATA-MENGE_CL
          + INT_DATA-MENGE_AD.
        ENDIF.
        IF INT_DATA-SHKZG = 'H'.
          MENGE_IS =  INT_DATA-MENGE_S + INT_DATA-MENGE_TO +
                        INT_DATA-MENGE_CR + INT_DATA-MENGE_AD.
        ENDIF.
      ENDLOOP.
      SORT INT_DATA BY XBLNR BUDAT WERKS MATNR.
    LOOP AT INT_DATA.
    AT NEW MATNR.
         FLAG = 1.
          IT_HEADER-MATNR = INT_DATA-MATNR.
          SELECT SINGLE MAKTX FROM MAKT INTO IT_HEADER-MAKTX WHERE
          MATNR = IT_HEADER-MATNR and spras = 'E'.
          APPEND IT_HEADER.
          CLEAR IT_HEADER.
      endat.
    ENDLOOP.
    LOOP AT INT_DATA.
       READ TABLE INT_DATA2 WITH KEY MATNR = INT_DATA-MATNR
                                     WERKS = INT_DATA-WERKS.
       SELECT SINGLE * FROM MAKT WHERE MATNR = INT_DATA-MATNR.
       INT_DATA-MAKTX = MAKT-MAKTX.
       MODIFY INT_DATA.
       CLEAR: INT_DATA, INT_DATA2.
    ENDLOOP.
      LOOP AT INT_DATA WHERE  MENGE_O = 0 AND MENGE_RT = 0 AND
                            MENGE_CL = 0 AND MENGE_AD = 0 AND
                            MENGE_S = 0 AND MENGE_TO = 0 AND
                            MENGE_CR = 0 AND MENGE_R = 0 AND MENGE_BAL = 0.
        DELETE IT_HEADER WHERE MATNR = INT_DATA-MATNR.
      ENDLOOP.
      DELETE INT_DATA WHERE MENGE_O = 0 AND MENGE_RT = 0 AND
                            MENGE_CL = 0 AND MENGE_AD = 0 AND
                            MENGE_S = 0 AND MENGE_TO = 0 AND
                            MENGE_CR = 0 AND MENGE_R = 0 AND MENGE_BAL = 0.
    PERFORM WRITE_REPORT.
    INT_DATA-MENGE_O = OSTOCK.
    PERFORM GET_OPENING_STOCK.
    FORMAT COLOR 4 INTENSIFIED OFF.
           WRITE:/1 SY-VLINE,
                 106 'Opening Balance' CENTERED,
                 130 SY-VLINE,
                 156 SY-VLINE.
    WRITE: 130(8) OSTOCK.
    WRITE:/1(156) SY-ULINE.
    FORMAT RESET.
    LOOP AT INT_DATA.
    FORMAT COLOR 2 INTENSIFIED OFF.
    WRITE:/1 SY-VLINE,
                 2 INT_DATA-XBLNR,
                 14 SY-VLINE,
                 15 INT_DATA-BUDAT,
                 27 SY-VLINE,
                 28 INT_DATA-BWART,
                 40 SY-VLINE,
                 43(9) INT_DATA-MENGE_R,
                 51 SY-VLINE,
                 52(9) INT_DATA-MENGE_RT,
                 65 SY-VLINE,
                 66(9) INT_DATA-MENGE_CL,
                 82 SY-VLINE,
                 83(7) INT_DATA-MENGE_AD,
                 89 SY-VLINE,
                 90(9) INT_DATA-MENGE_S,
                 97 SY-VLINE,
                 98(9) INT_DATA-MENGE_TO,
                 106 SY-VLINE,
                 107(9) INT_DATA-MENGE_CR,
                 120 SY-VLINE,
                 121(9) INT_DATA-MENGE_AD,
                 130 SY-VLINE,
                 131(9) INT_DATA-MENGE_BAL,
                 144 SY-VLINE,
                 145 INT_DATA-MBLNR,
                 156 SY-VLINE.
    FORMAT RESET.
    ENDLOOP.
    WRITE:/1(156) SY-ULINE.
    ENDFORM.
    FORM WRITE_REPORT.
      SORT IT_HEADER BY MATNR.
      LOOP AT IT_HEADER.
        SKIP .
        AT NEW MATNR.
         WRITE:/1(60) SY-ULINE.
         READ TABLE IT_HEADER INDEX SY-TABIX.
          WRITE:/1 SY-VLINE,
             2 'Material  :'(006),14(7) IT_HEADER-MATNR NO-GAP,'-',
                   IT_HEADER-MAKTX,
                     60 SY-VLINE.
          WRITE:/1(60) SY-ULINE.
          SKIP.
          SET LEFT SCROLL-BOUNDARY COLUMN 50.
          WRITE:/1(156) SY-ULINE.
           FORMAT COLOR 1 INTENSIFIED OFF.
           WRITE:/1 SY-VLINE,
                    2 'Doc. No' CENTERED,
                   14 SY-VLINE,
                   15(14) 'Doc.Date' CENTERED,
                   27 SY-VLINE,
                  28(10) 'MVT' CENTERED,
                   40 SY-VLINE,
                 41(57) 'Receipts' CENTERED,
                 89 SY-VLINE, 90(47) 'Issues' CENTERED,130 SY-VLINE,131(12) 'Balance' CENTERED,144 SY-VLINE,
                 145 'MAT.DOC NO' CENTERED,156 SY-VLINE,
                /41 SY-VLINE,1 SY-VLINE,14 SY-VLINE,27 SY-VLINE,40 SY-VLINE,89 SY-VLINE,130 SY-VLINE,144 SY-VLINE,156 SY-VLINE,
                 40 SY-ULINE,
                 /40 SY-VLINE,
                 43 'STO-In' CENTERED , 51 SY-VLINE,
                 52 'Sales Returns' CENTERED , 65 SY-VLINE,
                 66 'Canc of Invoice' CENTERED, 82 SY-VLINE,
                 83 'Adj' CENTERED, 89 SY-VLINE,
                 90 'Sales' CENTERED, 97 SY-VLINE,
                 98 'STO-Out' CENTERED, 106 SY-VLINE,
                 107 'Canc of Sales' CENTERED, 120 SY-VLINE,
                 121 'Adj' CENTERED, 130 SY-VLINE,144 SY-VLINE,156 SY-VLINE,
                 1 SY-VLINE,14 SY-VLINE,27 SY-VLINE,40 SY-VLINE.
    WRITE:/1(156) SY-ULINE.
    *LOOP AT INT_DATA.
    *PERFORM GET_OPENING_STOCK.
    *APPEND INT_DATA.
    *ENDLOOP.
    FORMAT RESET.
        ENDAT.
      ENDLOOP.
    ENDFORM.
    *&      Form  BALANCE
          text
    -->  p1        text
    <--  p2        text
    FORM BALANCE.
      IF INT_DATA-SHKZG = 'S'.
        MENGE_RE = INT_DATA-MENGE_O + INT_DATA-MENGE.
        INT_DATA-MENGE_BAL = MENGE_RE.
        INT_DATA-MENGE_RE = INT_DATA-MENGE.
      ELSEIF INT_DATA-SHKZG = 'H'.
        MENGE_RE =  MENGE_RE - INT_DATA-MENGE.
        INT_DATA-MENGE_BAL = MENGE_RE.
        INT_DATA-MENGE_IS = INT_DATA-MENGE.
      ENDIF.
    ENDFORM.                    " BALANCE
    FORM HEADER_WRITE.
    SKIP.
      WRITE: /1(156) SY-ULINE.
      WRITE: /1 SY-VLINE,
              2(144) 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
                  INTENSIFIED CENTERED," INVERSE ON
              156 SY-VLINE.
      WRITE: /1(156) SY-ULINE.
      WRITE: /1 SY-VLINE,
              2(156) 'STOCK LEDGER' INTENSIFIED CENTERED,
               "INVERSE ON,
              156 SY-VLINE.
      WRITE: /1(156) SY-ULINE.
    SELECT SINGLE * FROM T001W WHERE
                      WERKS IN WERKS.
    IF WERKS-HIGH EQ SPACE.
        CONCATENATE 'Plant :  ' WERKS-LOW INTO TXT.
      ELSE.
        CONCATENATE 'FROM PLANT : ' WERKS-LOW 'TO PLANT : ' WERKS-HIGH INTO TXT SEPARATED  BY SPACE.
      ENDIF.
    WRITE:/ 'Plant :', WERKS-LOW,SPACE ,'-', T001W-NAME1,
    82 'As Of Date :', 95 sy-datum.
    IF NOT S_DATE IS INITIAL.
        WRITE: / 'From:'(004), S_DATE-LOW, SPACE, 'To:'(006), S_DATE-HIGH,82 'PAGE No:', 91 SY-PAGNO..
      ENDIF.
    *IF FLAG5 = 'E'.
       PERFORM WRITE_REPORT.
    *ENDIF.
    FORMAT RESET.
    endform.
    *&      Form  GET_OPENING_STOCK
          text
    FORM GET_OPENING_STOCK.
      SELECT SUM( MZUBB ) SUM( MAGBB )  INTO (V_STOCK, V_STOCK1)
                    FROM S031 WHERE MATNR = ITAB-MATNR AND
                                    WERKS = ITAB-WERKS AND
                                    SPMON LT V_MONTH1 AND LGORT = ITAB-LGORT.
      OSTOCK = V_STOCK1 - V_STOCK.
      IF OSTOCK < 0.
        OSTOCK = OSTOCK * -1.
      ENDIF.
    ENDFORM.                               " GET_OPENING_STOCK
    Thanks & Regards,
    Sreedhar.

    Hi,
    Check if the data is there in the data target on which your report is based.
    Check to see if this data is available for reporting.
    Check to see if you have auth to view this data.
    Check if there are any filters or restrictions in the query that would prevent the data from being displayed.
    Check the data through LISTCUBE transaction.
    Hope this helps...

  • How to print total stock in smartform by material wise

    Dear Experts,
    I am trying to print total material stock which is issued and receipt during entered date in a smartform ,Here  I want to print totatl stock issued n receipt by material wise in seperate line .For that I fetch alldata and put into one internal table .In smartform I am using table for printing data.
    Edited by: BharatRathod on Mar 8, 2010 11:43 AM
    Edited by: BharatRathod on Mar 8, 2010 11:46 AM

    Hi,
    Try using the CALCULATIONS tab in the tables for printing the total stock in smartforms.
    Regards,
    Sharin.

  • Regarding material wise purchase order creation with reference to pr

    Dear sir
    I have a scenario depending on the  material wise pos creation
    I have two type of material
    1) raw material
    2) consumables
    When user will create purchase order for raw material, system should ask purchase requisition. ( i.e with out purchase requisition for raw material , system should not allow to create the purchase order)
    Where as for all consumables materials system should allow to create the purchase order
    Without purchase requisition also, for user.
    Regards
    Jrp.

    You have to create two different document type for purchase order.
    1) Raw Material Purchase
    2) Consumables Purchase
    You can create two different document type for purchase order with below mention path: -
    SPRO >> Materials Management >> Purchasing >> Purchase Order >> Define Document Types.
    After define two different document type, You can change field status for two different document type with below mention path.
    SPRO >> Materials Management >> Purchasing >> Purchase Order >> Define Screen Layout at Document Level.
    Select document type and change field status of purchase requisition.
    Regards,
    Mahesh Wagh

  • In purchase register i need material wise gl wise amount

    In Miro transaction when i see line items
    I.e i can display Material, PO number and amount.
    If i click on follow on documents i can display GL wise amount.
    Now my requirement is for each material what is the
    GR/IR Gl and its amount.
    Cenvat GL and its amount
    Vat receivable and its amount. ETC.
    material wise i need to display all this information.
    Format
    IV NO    GR NO        GR/IR  GL Code GL desc
                                   material code                                  amount
                                   cenvat GL code
                                   material code                                  amount
                                   vat rece GL
                                   material code                                  amount.
    In this way i need to display that in Purchase register.
    So can any one help me how to related material GL code and its amount.
    for GR/IR i can find val class and against its GL but for cenvat and
    vat receivable how can i do that.
    Requirement is very urgent.

    Hi,
    Standard reports not avialbale for your requirment but Try with T.codes,
    1.MB5L,
    2.ME80FN,
    3.MB5S
    Regards,
    Biju K
    Edited by: Bijay Kumar Barik on Apr 16, 2008 3:12 PM

  • In purchase register i need material wise Gl wise amount in amount

    In Miro transaction when i see line items
    I.e i can display Material, PO number and amount.
    If i click on follow on documents i can display GL wise amount.
    Now my requirement is for each material what is the
    GR/IR Gl and its amount.
    Cenvat GL and its amount
    Vat receivable and its amount. ETC.
    material wise i need to display all this information.
    Format
    IV NO    GR NO        GR/IR  GL Code GL desc
                                   material code                                  amount
                                   cenvat GL code
                                   material code                                  amount
                                   vat rece GL
                                   material code                                  amount.
    In this way i need to display that in Purchase register.
    So can any one help me how to related material GL code and its amount.
    for GR/IR i can find val class and against its GL but for cenvat and
    vat receivable how can i do that.
    Requirement is very urgent.

    There is no standard report to suit your requirement. You have to go for development report in ABAP

  • Evaluation Comparision - Material wise Price,Quality and Delivery Scores

    Hi All
    I am new to QM and i am developing a custom report for vendor evaluation. For that report i need material wise scores of price,quality and delivery and based on this we need to perform some calculation.
    In ME64 transaction i can able to see the General evaluation and Material wise evaluation for a pur.org,vendor and material combination.
    From which table can i select this material wise scores.From table ELBP i can able to see only genral score and table ELBM has no entries.
    Currently i can able to get the correct data by submitting ZRM06LBEW (Copy of ME64) in my report for pur.org,vendor and material combination.But i assume it may lead to performance issue.
    So kindly suggest me any table,function module or BAPI to get the reuired data.
    Thanks & Regards
    P.Thangaraj

    hii..
    Explore Exit MM06L001.
    Description for the same is for your reference which is copied as it is on the source:.
    User Exits - Vendor Evaluation
    Enhancement MM06L001 comprises four function exits, which are invoked during the calculation of the scores for the subcriteria. The enhancement makes it possible to replace the standard scoring method by customers' own methods.
    Implementation Guide (IMG)
    To allow a customer's own scoring methods to be used, an indicator must be set for the relevant subcriteria in the IMG in the step Define criteria.
    Function modules
    The function modules for enhancement MM06L001 are as follows:
        EXIT_SAPLMEL0_001
    for the general criteria
        EXIT_RM06LBAT_001
    for the quality criteria if the vendor evaluation is carried out in the background
        EXIT_SAPMM06L_001
    for the quality criteria if the vendor evaluation is carried out online
        EXIT_RM06LBEW_001
    for the quality criteria when the scores for the semi-automatic and automatic subcriteria are determined
    The following data is passed on to the function modules:
        XLIFNR (Vendor number)
        XEKORG (Purchasing organization)
        XHKRIT (Main criterion)
        XTKRIT (Subcriterion)
        XKRTYP (Scoring method)
    The function modules then supply the scores in the parameter XBEURT.
    Coding example
    The following example shows how a customer's own scoring method can be stored for the subcriterion "On-time delivery performance". The following coding can be added to program ZXM6LU01 for this purpose:
    CASE XKRTYP.
    WHEN '3'. "Ermittlungsmethode f・ die Termintreue"
    (Scoring method for on-time delivery performance)
    XBEURT = 50. "kundeneigene Logik"
    (Customer's own logic)
    ENDCASE.
    In this case, 50 points are always awarded for a vendor's on-time delivery performance.
    Function/Program:
        EXIT_RM06LBAT_001: User Exits for Vendor Evaluation
        EXIT_RM06LBEW_001: User Exits for Vendor Evaluation
        EXIT_SAPLMEL0_001: User Exits for Vendor Evaluation
        EXIT_SAPMM06L_001: User Exits for Vendor Evaluation
    Regards,
    Amol

  • 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

  • Calculation Overhead on input material wise

    Dear Experts,
    We have an issue of Overhead calculation, the overhead calculated on cost element defined as base in costing sheet, can we calculate overhead on input material wise, suppose 6 material consumed in a production order I want to calculate overhead on only 4 material but the valuation class of all 6 input material are same.
    kindly help to solve the issue,
    Thanks & Rgards,

    Use "Qty based Overhead". Many of the dependencies have already been defined by the std SAP delivered system.

  • RG23A MATERIAL WISE

    Dear Experts,
    My client is maintaining the RG23A Part 1 register by Material wise
    i.e if Material is M1 then separate register by serial no.
    Same is for other materials.
    How to incorporate this functionality in Sap.
    Plz help me out.
    Thanks

    Hi,
    As per SAP Standard, RG23A Part I Register is available commonly for all the Materials which are marked as "Raw Material" in J1ID.
    To achieve your requirement, you have to take help of ABAPer.

  • Subcontracting Procedure

    Hello
    In Subcontracting Procedure, we have entered the wrong value in PO(1000INR instead of 1INR), and after that we make the Migo and Invoice also, after that we know that PO value is wrong , and we changed the PO price  and corrected,
    how  to settele these high price ? how  to do? shall we reverse the GR and IR or some thing different?
    Regards
    sapman

    Hi,
    You have to reverse the GR,then cancel the invoice document,then change the PO and the normal process.
    Regards,
    rambhupal reddy

  • Material wise Vendor List & Vendor wise material list

    Hi all,
    Can any body help me how to get the report for
    1) Material wise vendor report: that mean list showing the list of vendors from which that material is purchased and
    2) Vendor wise material list: that mean list of materials purchased from a perticular Vendor...
    Will be rewarded for answers...
    Shash

    Hi ,
    Use T. Code: SE16 and enter EINA table name.
    If u want report for material / vendor, Enter material in MATNR field and execute and get the report.
    If u want report for/ vendor /material, Enter Vendor l in LIFNR field and execute get the report.
    Regards,
    Biju K

  • I want to maintain  payment terms...material wise

    hi,
    Experts,
    here i want to maintain vendorwise and material wise payment terms....Vendorwise payment terms its ok i got it but how to maintain paymet terms for material.....is there any way to do maintain material wise payment term...
    thaks in advance.......
    Regards....
    sunil.....
    Helpful Ans will be awarded...

    Hi,
    Sorry to say but all the alternatives suggested did not work.
    Because fundamentally what you are trying to do Sunil is not logical.
    e.g. X person wants 100 qty of material, y person wants 2000 qty of material, the terms of payment are always dependent on the quantity of material, never on the material.
    also various other factors play  a role in determining payment terms:
    like credit check,
           payment history,etc
    these terms are all related to the customer only.
    thus depending upon the fact that majority of its dependant fields are invovled with customer, it can only be configured with respect to customer.
    plz clarify on the situation as to why do you need to configure it on material basis.
    regards,
    Siddharth.

  • Approval Procedure User wise

    Hi,
    can any one tell me is it possible to create approval procedure user wise?
    Scenario is
    Any department can raise purchase order (Requisition) It will go to the relevant head of department for quantity approval, after that it will go to the purchase department for price approval
    Can any one tell me the query
    Regards
    Shashi

    Create seperate approval stages for the users A,B & C.
    In each approval stages set No. of approvals required as 2.
    For the User-A in approval stage,
    Select User-G,Select Department.
    Select User-Y,Select purchase department.
    Similarly create approval stages for Users B & C.
    Also create 3 seperate approval procedures
    for the users A,B & C.
    Link approval stage of user-A with each approval procedure
    for User-GY,Set Orginator as User-A & department,Select
    Purchase Order in Documents Tab,in terms
    Apply condition using query(Istavan).
    Similarly create seperate approval procedures for users
    FY & HY as above.
    Jeyakanthan

Maybe you are looking for

  • XML Data archiving service - XML DAS

    Hello, does anybody know differences and dis/advantages between the archive solution in the ABAP stack and the simple archiving function in RWB for archive XI messages and the XML DAS (ABAP & JAVA)? Is there something in XML_DAS which gives advantage

  • Parsing Larg files

    Has anyone tried parsing large XML files. I need parse a fiel about 70M+. When I try and parse this file I get java.io.UTFDataFormatException: Invalid UTF8 encoding When I break the file down into smaller size about 2M it has no problems. Also the sa

  • How to move or copy drivers between WDS servers

    Problem: getting the same driver sets on multiple WDS servers At our company we have two sites and two Windows Deployment Services servers. The server at our main site had all the driver packages for the hardware we use and we wanted the other server

  • Units of measure in taxonomy

    Hello - I would like to know if it is possible to delete custom created units of measure. If so, is there a particular process to follow? Thanks

  • Personas 2.0 SP02 Network Connectivity Error

    Hello, We upgraded to Personas 2.0 SP02 and now when trying to loving receive the 'problem with network connectivity' error. We had no issues logging in on SP01. I checked through the configuration and everything has remained the same. Restgui tests