Assembly scraps for subcontracting

Dear gurus,
I would that MRP consider “assembly scrap (%) “ present in material master data to calculate planed  order quantity of components of materials procuremented by subcontracting.
Is it possible?
Thanks in advance.
Best regards.
Juan

Dears all,
this the answer of Sap:
Assembly scrap is only used when the assembly is In House.
That is, when the material is produced internally.
I regret this can´t be changed.
If you want to increase the components qty you have to use the
'component scrap' field iin the BOM item.
In fact you have to do for all the items of the BOM,
unfortunately CS20 is not useful for this update.
I regret I can´t provide any other workaround, the
desired field can´t be check in external procurement.
However thanks for your help.
Sys,
Juan

Similar Messages

  • How to ignore Assembly Scrap of MRP during Production order Creation

    Hi All,
    We want to ignore the Assembly Scrap maintained in MRP View during production order creation.
    We are maintaining assembly Scrap for planning so we do not want to remove that.
    Please let us know if any User exit is there during Production Order Creation.
    Thanks,
    Amit

    Dear Amit,
    Assume in CO01,once after entering the total order quantity the system proposes the scrap quantity field separately,now
    remove this quantity for scrap field and press enter and once again adjust the total quantity and check for what quantity the
    system is proposing the BOM components.
    check whether this works for your requirement.
    Regards
    Mangalraj.S

  • Report for the list of materials with component & assembly scrap

    Dear Experts ,
    I have been told to generate a report for the materials which are subjected to component and assembly scrap . Please guide me for the same . Many thanks in advance.
    Yours
    Aman Khan

    Dear Aman,
    It you are maintaining both assembly scrap  & component scrap both in MM you can read MARC table by creating simple query.
    Read Field MARC-AUSSS & MARC-KAUSF.
    If you are maintaining component scrap in BOM item read STPO-AUSCH.
    [Query Creation|How do create query in SAP?]

  • REPORT FOR SUBCONTRACTING

    DEAR FRIENDS,
    I am making a program for tracking the materials given (mb1b 541 movt.) for subcontracting and taken by me (101 for actual good receipt, 543 for the given material- stock type inward, 545 for the scrap returns). but while i made the program i am unable to pick up the materials BOM from the PO which is essential to take the difference between these and the supplied quantities taken-in by GR.
    following is the program.
    Please suggest the changes.   Thanks,
    Deepak
    *& Report  ZMM_SUBCONTRACTING_PO_REPORT
    *& Author:
    *& Date  :
    *& Reason: Sub Contracting PO Report.
    *&         Find Discreprancy in PO and BOM. according to 543 and 545
    REPORT  ZMM_SUBCONTRACTING_PO_REPORT NO STANDARD PAGE HEADING
                                         LINE-SIZE 157.
    *& TABLES DECLARATION
    TABLES: EKKO,
            EKPO,
            EKBE,
            ENT5303.
    *& SELECTION-SCREEN.
    SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS: S_MATNR FOR EKPO-MATNR,
                    S_WERKS FOR EKBE-WERKS OBLIGATORY.
    PARAMETERS:     P_BUKRS LIKE EKKO-BUKRS OBLIGATORY.
    SELECT-OPTIONS: S_BUDAT FOR EKBE-BUDAT OBLIGATORY,
                    S_EBELN FOR EKKO-EBELN,
                    S_BELNR FOR EKBE-BELNR,
                    S_GJAHR FOR EKBE-GJAHR.
    SELECTION-SCREEN: END OF BLOCK B1.
    *& INTERNAL TABLES DECLARATION.
    DATA: BEGIN OF IT_EKKO OCCURS 0,
          EBELN LIKE EKKO-EBELN,
          END OF IT_EKKO.
    DATA: BEGIN OF IT_EKBE OCCURS 0,
          EBELN LIKE EKBE-EBELN,
          EBELP LIKE EKBE-EBELP,
          GJAHR LIKE EKBE-GJAHR,
          BELNR LIKE EKBE-BELNR,
          BUZEI LIKE EKBE-BUZEI,
          BEWTP LIKE EKBE-BEWTP,
          BWART LIKE EKBE-BWART,
          BUDAT LIKE EKBE-BUDAT,
          MENGE LIKE EKBE-MENGE,
          DMBTR LIKE EKBE-DMBTR,
          LFBNR LIKE EKBE-LFBNR,
          MATNR LIKE EKBE-MATNR,
          WERKS LIKE EKBE-WERKS,
          BUKRS LIKE WB2_V_EKKO_EKPO2-BUKRS,
          MENGE_I LIKE WB2_V_EKKO_EKPO2-MENGE_I,
          LIFNR LIKE WB2_V_EKKO_EKPO2-LIFNR,
          COUNT TYPE P DECIMALS 4,
          BMENGE LIKE EKBE-MENGE,
          MENGE101 LIKE EKBE-MENGE,
          MENGE543 LIKE EKBE-MENGE,
          MENGE545 LIKE EKBE-MENGE,
          DIFFER   LIKE EKBE-MENGE,
          TMENGE   LIKE EKBE-MENGE,
          RATE     LIKE EKBE-DMBTR,
          NAME1 LIKE LFA1-NAME1,
          LINE_COLOR(4),
          END OF IT_EKBE.
    DATA: WA LIKE IT_EKBE.
    DATA: BEGIN OF IT_FINAL OCCURS 0.
          INCLUDE STRUCTURE IT_EKBE.
    DATA: END OF IT_FINAL.
    DATA: BEGIN OF IT_FINAL_TEMP OCCURS 0.
          INCLUDE STRUCTURE IT_EKBE.
    DATA: END OF IT_FINAL_TEMP.
    DATA: BEGIN OF IT_BOM OCCURS 0.
          INCLUDE STRUCTURE CAPP_ITM.
    DATA: END OF IT_BOM.
    DATA: BEGIN OF IT_BOM_HEAD OCCURS 0.
          INCLUDE STRUCTURE CAPP_BOM.
    DATA: END OF IT_BOM_HEAD.
    *& DATA DECLARATION.
    DATA: COUNT TYPE P DECIMALS 4,
          V_CNT TYPE P DECIMALS 4 VALUE '0.0001' ,
          V_MENGE LIKE EKBE-MENGE,
          V_DELETE.
    TYPE-POOLS: slis.
    DATA:  l_date(12) TYPE c,
           l_date1(12) TYPE c,
           l_time(10) TYPE c,
           l_list(60) TYPE c.
    DATA:  CATALOG TYPE SLIS_FIELDCAT_ALV, "FIELDCAT
           TCATALOG TYPE SLIS_T_FIELDCAT_ALV, "IT FIELDCAT
           EVENT TYPE SLIS_ALV_EVENT, "EVENT
           TEVENT TYPE SLIS_T_EVENT,  "IT EVENT
           LAYOUT TYPE SLIS_LAYOUT_ALV, "LAYOUT
           PG_TOP TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
           PG_HEAD TYPE SLIS_T_LISTHEADER,
           EXIT1  TYPE SLIS_EXIT_BY_USER,
           VAR1 LIKE DISVARIANT,
           VAR2 LIKE DISVARIANT.
    *& START-OF-SELECTION.
    START-OF-SELECTION.
    PERFORM PROCESS_SELECTION.
    PERFORM DELETE_CANCELLED_DOCUMENTS.
    PERFORM EXPLODE_BOM_FOR_101.
    SORT IT_FINAL BY COUNT.
    PERFORM DISPLAY_OUTPUT.
    FREE IT_FINAL_TEMP.
    *& ALV FORMATTING
    *&                  ALV DISPLAY
      PERFORM GENERATE_ALV_FIELDCAT.
    PERFORM EVENTS USING TEVENT.
    PERFORM TEXT USING PG_HEAD.
      PERFORM ALV_SHOW.
    *& FORM PROCESS_SELECTION.
    FORM PROCESS_SELECTION.
    SELECT
      A~EBELN
      A~EBELP
      A~GJAHR
      A~BELNR
      A~BUZEI
      A~BEWTP
      A~BWART
      A~BUDAT
      A~MENGE
      A~DMBTR
      A~LFBNR
      A~MATNR
      A~WERKS
      B~BUKRS
      B~MENGE_I
      B~LIFNR
    FROM
      EKBE AS A
    JOIN
      WB2_V_EKKO_EKPO2 AS B
    ON
      AEBELN = BEBELN AND
      AEBELP = BEBELP_I
    INTO
      CORRESPONDING FIELDS OF TABLE IT_EKBE
    WHERE
    A~MATNR IN S_MATNR AND
      A~WERKS IN S_WERKS AND
      A~BUDAT IN S_BUDAT AND
      A~EBELN IN S_EBELN AND
      A~BELNR IN S_BELNR AND
      A~GJAHR IN S_GJAHR AND
      A~VGABE IN ('1', '7') AND
      A~BEWTP IN ('E', 'O') AND
      ( A~BWART IN ('101', '545', '543') OR
      ( ABWART = '102' AND ABEWTP = 'E' ) ) AND
      B~BUKRS = P_BUKRS AND
      B~BSTYP = 'F' AND
      B~BSART = 'SUBC'."AND
    B~LOEKZ <> 'X'.
    SORT IT_EKBE BY EBELN EBELP GJAHR BELNR BUZEI.
    ENDFORM.
    *& FORM DELETE_CANCELLED_DOCUMENTS.
    FORM DELETE_CANCELLED_DOCUMENTS.
    DELETE IT_EKBE WHERE BWART = '102' AND BEWTP <> 'E'.
    LOOP AT IT_EKBE WHERE BWART = '102'.
      READ TABLE IT_EKBE INTO WA WITH KEY BELNR = IT_EKBE-LFBNR.
      IF SY-SUBRC = 0.
        DELETE IT_EKBE WHERE BELNR = WA-BELNR.
      ENDIF.
    ENDLOOP.
    CLEAR WA.
    DELETE IT_EKBE WHERE BWART = '102'.
    ENDFORM.
    *& FORM EXPLODE_BOM_FOR_101.
    FORM EXPLODE_BOM_FOR_101.
    CLEAR COUNT.
    LOOP AT IT_EKBE WHERE BWART = '101' OR
                          BWART = '543'.
    IF NOT IT_EKBE-MATNR IN S_MATNR.
      V_DELETE = 'X'.
    ELSE.
      CLEAR V_DELETE.
    ENDIF.
    IF V_DELETE <> 'X'.
    COUNT = COUNT + 1.
    IT_EKBE-COUNT = COUNT.
    V_MENGE = IT_EKBE-MENGE.
    MODIFY IT_EKBE.
    IT_FINAL = IT_EKBE.
    APPEND IT_FINAL.
    ENDIF.
      call function 'CABM_READ_BOM'
        exporting
          I_MATNR               = IT_EKBE-MATNR
          I_WERKS               = IT_EKBE-WERKS
          I_STLAL               = '01'
          I_STLAN               = '3'
          I_DATUV               = IT_EKBE-BUDAT
        TABLES
          EXP_BOM_DATA          = IT_BOM_HEAD
          EXP_ITM_DATA          = IT_BOM
       EXCEPTIONS
         NO_RECORD_FOUND       = 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.
      ELSE.
    *START RK 18.06.2007
      DELETE IT_BOM WHERE DATUV > IT_EKBE-BUDAT.
    END : 18.06.2007
        IF V_DELETE = 'X'.
          LOOP AT IT_BOM.
            DELETE IT_EKBE WHERE MATNR = IT_BOM-IDNRK.
          ENDLOOP.
          REFRESH IT_BOM.
        ELSE.
          PERFORM CHECK_BOM_GR.
        ENDIF.
      endif.
    ENDLOOP.
    FREE IT_EKBE.
    ENDFORM.
    *& FORM CHECK_BOM_GR.
    FORM CHECK_BOM_GR.
    DATA: WACNT TYPE P DECIMALS 4.
    WACNT = COUNT.
    LOOP AT IT_BOM.
      READ TABLE IT_EKBE INTO WA WITH KEY EBELN = IT_EKBE-EBELN
                                          MATNR = IT_BOM-IDNRK.
      IF SY-SUBRC = 0.
        WACNT = WACNT + V_CNT.
        WA-COUNT = WACNT.
        WA-BMENGE = IT_BOM-MENGE.
        WA-TMENGE = V_MENGE.
        APPEND WA TO IT_FINAL.
        DELETE IT_EKBE WHERE EBELN = WA-EBELN AND
                             EBELP = WA-EBELP AND
                             MATNR = WA-MATNR AND
                             BELNR = WA-BELNR AND
                             BUZEI = WA-BUZEI.
    **START : ADDED BY .... KUMAR ON 14.06.2007
      ELSE.
        WACNT = WACNT + V_CNT.
        WA-COUNT = WACNT.
        WA-BMENGE = IT_BOM-MENGE.
        WA-MATNR  = IT_BOM-IDNRK.
        WA-TMENGE = V_MENGE.
        APPEND WA TO IT_FINAL.
    **END ADDED BY .... KUMAR ON 14.06.2007
      ENDIF.
    CLEAR WA.
    ENDLOOP.
    REFRESH IT_BOM.
    ENDFORM.
    *& FORM DISPLAY_OUTPUT.
    FORM DISPLAY_OUTPUT.
    Populate color variable with colour properties
    Char 1 = C (This is a color property)
    Char 2 = 3 (Color codes: 1 - 7)
    Char 3 = Intensified on/off ( 1 or 0 )
    Char 4 = Inverse display on/off ( 1 or 0 )
              i.e. wa_ekko-line_color = 'C410'
    IT_FINAL_TEMP[] = IT_FINAL[].
    LOOP AT IT_FINAL.
    CLEAR IT_FINAL-DMBTR.
    ********added by .... .... on 17.02.2007
       if it_final-bmenge  < 0.
    IT_FINAL-DIFFER = IT_FINAL-TMENGE * IT_FINAL-BMENGE * -1.
       else.
    *********end by .... .... on 17.02.2007
    IT_FINAL-DIFFER = IT_FINAL-TMENGE * IT_FINAL-BMENGE.
    ********added by .... .... on 17.02.2007
    endif.
    *********end by .... .... on 17.02.2007
      IF IT_FINAL-BWART = '101'.
        IT_FINAL-LINE_COLOR = 'C210'.
        IT_FINAL-MENGE101 = IT_FINAL-MENGE.
        IT_FINAL-DIFFER = 0.
        LOOP AT IT_FINAL_TEMP WHERE BELNR = IT_FINAL-BELNR AND
                                    EBELN = IT_FINAL-EBELN AND
                                    EBELP = IT_FINAL-EBELP.
          IF IT_FINAL_TEMP-BWART <> '545'.
            IT_FINAL-DMBTR = IT_FINAL-DMBTR + IT_FINAL_TEMP-DMBTR.
          ELSE.
            IT_FINAL-DMBTR = IT_FINAL-DMBTR - IT_FINAL_TEMP-DMBTR.
          ENDIF.
        ENDLOOP.
        IT_FINAL-RATE = IT_FINAL-DMBTR / IT_FINAL-MENGE101.
        SELECT SINGLE
          NAME1
        INTO
          IT_FINAL-NAME1
        FROM
          LFA1
        WHERE
          LIFNR = IT_FINAL-LIFNR.
        IF SY-SUBRC <> 0.
          CLEAR IT_FINAL-NAME1.
        ENDIF.
      ELSEIF IT_FINAL-BWART = '543'.
        IT_FINAL-MENGE543 = IT_FINAL-MENGE.
        IT_FINAL-LINE_COLOR = 'C200'.
        IT_FINAL-DIFFER = IT_FINAL-DIFFER - IT_FINAL-MENGE543.
        CLEAR: IT_FINAL-LIFNR,
              IT_FINAL-EBELN,
              IT_FINAL-BELNR,
              IT_FINAL-MENGE_I,
              IT_FINAL-BUDAT.
      ELSEIF IT_FINAL-BWART = '545'.
    ******added by .... on 17.02.2007
       IT_FINAL-MENGE = IT_FINAL-MENGE * -1.
        IT_FINAL-MENGE = IT_FINAL-MENGE.
    *******end by .... on 17.02.2007
        IT_FINAL-MENGE545 = IT_FINAL-MENGE.
        IT_FINAL-LINE_COLOR = 'C200'.
        IT_FINAL-DIFFER = IT_FINAL-DIFFER - IT_FINAL-MENGE545.
        CLEAR: IT_FINAL-LIFNR,
              IT_FINAL-EBELN,
              IT_FINAL-BELNR,
              IT_FINAL-MENGE_I,
              IT_FINAL-BUDAT.
      ELSE.
        IT_FINAL-LINE_COLOR = 'C200'.
        CLEAR: IT_FINAL-LIFNR,
              IT_FINAL-EBELN,
              IT_FINAL-BELNR,
              IT_FINAL-MENGE_I,
              IT_FINAL-BUDAT.
      ENDIF.
    MODIFY IT_FINAL.
    ENDLOOP.
    ENDFORM.
    *&      Form  GENERATE_ALV_FIELDCAT
          text
    FORM GENERATE_ALV_FIELDCAT.
    DATA: POS TYPE I.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'COUNT'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = 'S. No.'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'MATNR'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = 'Mat. No.'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'BMENGE'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = 'BOM Qty'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'EBELN'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = 'PO No.'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'MENGE_I'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = 'PO Qty'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'BELNR'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = 'Gr. No.'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      CATALOG-HOTSPOT = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'BUDAT'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = 'GR Date'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'MENGE101'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = '101 Gr Qty'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'MENGE543'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = '543 Gr Qty'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'MENGE545'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = '545 Gr Qty'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'DIFFER'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = 'Difference'.
      CATALOG-NO_ZERO = ' '.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'LIFNR'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = 'Vendor'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'NAME1'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = 'Vendor Name'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'RATE'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = 'Rate'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
      POS = POS + 1.
      CLEAR: CATALOG.
      CATALOG-COL_POS = POS.
      CATALOG-FIELDNAME = 'DMBTR'.
      CATALOG-TABNAME = 'IT_FINAL'.
      CATALOG-SELTEXT_L = 'Value'.
      CATALOG-NO_ZERO = 'X'.
      CATALOG-FIX_COLUMN = 'X'.
      APPEND CATALOG TO TCATALOG.
    ENDFORM.
    *&      Form  ALV_SHOW
          text
    FORM ALV_SHOW.
      LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
      LAYOUT-BOX_TABNAME = 'IT_FINAL'.
      LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
      LAYOUT-ZEBRA = 'X'.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM      = SY-REPID
          I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
          IS_LAYOUT               = LAYOUT
          IT_FIELDCAT             = TCATALOG
          IS_VARIANT              = VAR1
          I_SAVE                  = 'A'
          IT_EVENTS               = TEVENT[]
        TABLES
          T_OUTTAB                = IT_FINAL.
    ENDFORM .                    "ALV_SHOW
    *& FORM USER_COMMAND.
    FORM USER_COMMAND USING
              R_UCOMM LIKE SY-UCOMM
              SELFIELD TYPE SLIS_SELFIELD.
    DATA: TABIX LIKE SY-TABIX,
          WA LIKE IT_FINAL.
    TABIX = SELFIELD-TABINDEX.
    READ TABLE IT_FINAL INTO WA INDEX TABIX.
    IF NOT WA-BELNR IS INITIAL.
    set parameter id : 'MBN' FIELD WA-BELNR.
    CALL TRANSACTION 'MB03' AND SKIP FIRST SCREEN .
    ENDIF.
    ENDFORM.

    Hi,
    U can try this standard report for subcontracting:
    J1IFR (Transaction name),
    Not sure how much this will be useful to u.
    regards,
    Viji

  • Account postings in GR & IR for Subcontracting

    Hi Experts,
    I need to know the account postings for both GR & IR during Sub contracting.
    Let us take the scenario . .
    PO price - 1000(Gross) +  200(Tax) = 1200 (Net) for 1 Qty
    GR - PO Net Price due to Moving Average price.
    IR - 1200(Gross) + 240 (Tax) = 1440
    Please explain the accounting entries during Goods Receipt and Invoice Receipt.
    By
    Prabhu

    If Material has Price Control as "V" (MAP)
    (BSX) Stock A/c of Assembly - Dr
    (BSV) Change in Subcon Stock - Cr
    (FRL) Subcontracting Charges - Dr
    (WRX) GR/IR Clearing A/c - Cr
    (BSX) Stock A/c of Components - Cr
    (GBB-VBO) Consumption A/c of Components - Dr
    If Material has Price Control as "S" (Std. Price)
    If Material is having Price Control as "S" then Price Difference A/c will also in picture.
    This depends on configuration; SPRO > MM > Inventory Management and Physical Inventory > Goods Receipt > Price Differences for Subcontract Orders at Goods Receipt
    Price Differences for Subcontract Orders at Goods Receipt
    In this step, you configure for each valuation area whether price differences are generated for a Subcontract order at the time of a goods receipt if the manufactured material is managed at standard price and the standard price varies from the receipt value (externally performed service + value of components + delivery costs).
    Example
    Finished product: $400 (value at standard price)
    Subcontract order:
    o Ext. service : $250
    o Components : $100
    Posting schema without price differences:
    Stock account FERT : 400 +
    Stock change : 400 -
    GR/IR clearing acct : 250 -
    External service acct : 250 +
    Compon. stock account : 100 -
    Consumption account : 100 +
    Posting schema with price differences:
    Stock account FERT : 400 +
    Stock change : 350 -
    Price difference : 50 -
    GR/IR clearing acct : 250 -
    External service acct : 250 +
    Compon. stock account : 100 -
    Consumption account : 100 +
    hope it help

  • Calculation for subcontracting item of type N (non stock) as it for type L(Stock)

    Hi Gurus,
    I have a Requirement for calculating the cost for Subcontracting  Non stock items N as it is getting calculated in standard functionality for subcontracting items of Type L.
    This will be done in CK11n ( used to calculate the standard cost estimate of the product) for header as well as component materials.
    please suggest the user exit or Badi where i can change.
    Please refer the below logic-
    BOM for the material 2000500 as Header and 1LPL0835298AB as a component and this component has an assembly with 7008508 as a component and this component is an Sub contracted item and this has an assembly with component 1LBA182151-3.
    Price calculation for the material 7008508 (Item Category as N). Since this is sub contracted item the price will picked from field EINE-NETPR.
    In EINA, pass the material (MATNR=7008508) to fetch the list of info records (INFNR) created for that material.
    Then it has to input those info records to EINE table along with Purchasing organization (EINE-EKORG=PT02).
    From the output of EINE table, it should compare the price (EINE-NETPR) of the PIR and should take the least price from those PIR`s.
    If the currency is other than PLN, then it should be converted to PLN based on conversion charges.
    For Material (MATNR=1LBA182151-3), it should pass the material number to table MBEW along with valuation area (BWKEY = WERKS).
    From the output, it should check the Price control (VPRSV) ‘V’ or ‘S’
    If ‘V’ the price will be picked from the field “VERPR”
    If ‘S’ the price will be picked from the field “STPRS”
    Also from the output, it should check the Price unit (PEINH) ‘1’ or other than ‘1’. If it is other than ‘1’ it should divide the VERPR or STPRS by PEINH. Then this is the price of the Material “1LBA182151-3”.
    The material (MATNR=1LBA182151-3) should be passed to table “MARA” and will take the Base unit of measure from that table “MEINS”.
    Br,
    Surya

    Hi Surya,
    Please put breakpoints in any of the below BADI's and check if any of them will trigger for your
    requirement:
    VALUATION_CK                            BAdI for Valuation in Product Costing
    CK_KALAMATCON2_CI                       BAdI for CI Fields for Table KALAMATCON2
    COSTINGRUN_CK                           Edit Costing Run
    COST_APPORTION_CK                       Maint Apportionment Structure Joint Production: Dist Rules
    CO_PROD_COSTING_CK                      Cost Management for Joint Products (Costing, Target Costs)
    DATA_EXTENSION_CK                       For Data Enrichment in Product Costing
    DYNPRO_EXTENSION_CK                     BAdI for Interface Enhancement in Costing
    ORDER_COSTING_CK                        Enables Header Data Changes in Preliminary Order Costing
    QUANTITY_STRUCT_CK                      Enables Quantity/Structure Changes in Costing
    SUR_STOCK_TRANSF_CK                     Overhead on Materials with Stock Transfer Between Plants
    Thanks
    Sri

  • Transaction Type 'WIP assembly scrap' in Onhand, Availability/Available to Reserve/Available to Transact

    Transaction Type 'WIP assembly scrap' in Onhand, Availability/Available to Reserve/Available to Transact
    Dear All,
    Version: 12.1.3
    Problem Description/Question:   A Item shows different quantity in Inventory > Onhand, Availability/Available to Transact/Available to Transact
    total quantity = 1000
    available to reserve = 800
    available to transact = 800
    Find quantity = 200 exists with Transaction Type = WIP assembly scrap
    ***Question: For Transaction Type = WIP assembly scrap, whether it is availble for Reserve and Transact?
    Any response could be appreciated.
    Regards,
    Joy

    Hi,
    Your finding is correct.
    As "WIP assembly scrap" transaction for 200 qty. system will not allow to reserve the same stock qty again.
    200 qty Stock is reserved.
    Available to Reserve: The available quantity of an item you can reserve across an organization.
    Available to Transact: The available quantity of an item you can transact across an organization
    Thanks
    NS

  • Goods receipt for subcontracting order! BAPI_GOODSMVT_CREATE

    I wanna use BAPI "BAPI_GOODSMVT_CREATE"  to create goods receipt for subcontracting order.
    But it says that this combination is not possible.  Combination of my movement type and this BAPI.
    What can i do to solve it?
    thanks in advance.

    >
    Julia Nikiforva wrote:
    > I wanna use BAPI "BAPI_GOODSMVT_CREATE"  to create goods receipt for subcontracting order.
    > But it says that this combination is not possible.  Combination of my movement type and this BAPI.
    >
    > What can i do to solve it?
    >
    > thanks in advance.
    Might work
    report zbapi_goodsmovement.
    parameters: p-file like rlgrap-filename default
    'c:\sapdata\TEST.txt'.
    parameters: e-file like rlgrap-filename default
    'c:\sapdata\gdsmvterror.txt'.
    parameters: xpost like sy-datum default sy-datum.
    data: begin of gmhead.
    include structure bapi2017_gm_head_01.
    data: end of gmhead.
    data: begin of gmcode.
    include structure bapi2017_gm_code.
    data: end of gmcode.
    data: begin of mthead.
    include structure bapi2017_gm_head_ret.
    data: end of mthead.
    data: begin of itab occurs 100.
    include structure bapi2017_gm_item_create.
    data: end of itab.
    data: begin of errmsg occurs 10.
    include structure bapiret2.
    data: end of errmsg.
    data: wmenge like iseg-menge,
    errflag.
    data: begin of pcitab occurs 100,
    ext_doc(10), "External Document Number
    mvt_type(3), "Movement Type
    doc_date(8), "Document Date
    post_date(8), "Posting Date
    plant(4), "Plant
    material(18), "Material Number
    qty(13), "Quantity
    recv_loc(4), "Receiving Location
    issue_loc(4), "Issuing Location
    pur_doc(10), "Purchase Document No
    po_item(3), "Purchase Document Item No
    del_no(10), "Delivery Purchase Order Number
    del_item(3), "Delivery Item
    prod_doc(10), "Production Document No
    scrap_reason(10), "Scrap Reason
    upd_sta(1), "Update Status
    end of pcitab.
    call function 'WS_UPLOAD'
    exporting
    filename = p-file
    filetype = 'DAT'
    IMPORTING
    FILELENGTH =
    tables
    data_tab = pcitab
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_READ_ERROR = 2
    NO_BATCH = 3
    GUI_REFUSE_FILETRANSFER = 4
    INVALID_TYPE = 5
    OTHERS = 6
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    exit.
    endif.
    gmhead-pstng_date = sy-datum.
    gmhead-doc_date = sy-datum.
    gmhead-pr_uname = sy-uname.
    gmcode-gm_code = '01'. "01 - MB01 - Goods Receipts for Purchase Order
    loop at pcitab.
    itab-move_type = pcitab-mvt_type.
    itab-mvt_ind = 'B'.
    itab-plant = pcitab-plant.
    itab-material = pcitab-material.
    itab-entry_qnt = pcitab-qty.
    itab-move_stloc = pcitab-recv_loc.
    itab-stge_loc = pcitab-issue_loc.
    itab-po_number = pcitab-pur_doc.
    itab-po_item = pcitab-po_item.
    concatenate pcitab-del_no pcitab-del_item into itab-item_text.
    itab-move_reas = pcitab-scrap_reason.
    append itab.
    endloop.
    loop at itab.
    write:/ itab-material, itab-plant, itab-stge_loc,
    itab-move_type, itab-entry_qnt, itab-entry_uom,
    itab-entry_uom_iso, itab-po_number, itab-po_item,
    pcitab-ext_doc.
    endloop.
    call function 'BAPI_GOODSMVT_CREATE'
    exporting
    goodsmvt_header = gmhead
    goodsmvt_code = gmcode
    TESTRUN = ' '
    IMPORTING
    goodsmvt_headret = mthead
    MATERIALDOCUMENT =
    MATDOCUMENTYEAR =
    tables
    goodsmvt_item = itab
    GOODSMVT_SERIALNUMBER =
    return = errmsg
    clear errflag.
    loop at errmsg.
    if errmsg-type eq 'E'.
    write:/'Error in function', errmsg-message.
    errflag = 'X'.
    else.
    write:/ errmsg-message.
    endif.
    endloop.
    if errflag is initial.
    commit work and wait.
    if sy-subrc ne 0.
    write:/ 'Error in updating'.
    exit.
    else.
    write:/ mthead-mat_doc, mthead-doc_year.
    perform upd_sta.
    endif.
    endif.
    FORM UPD_STA *
    form upd_sta.
    loop at pcitab.
    pcitab-upd_sta = 'X'.
    modify pcitab.
    endloop.
    call function 'WS_DOWNLOAD'
    exporting
    filename = p-file
    filetype = 'DAT'
    IMPORTING
    FILELENGTH =
    tables
    data_tab = pcitab
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_READ_ERROR = 2
    NO_BATCH = 3
    GUI_REFUSE_FILETRANSFER = 4
    INVALID_TYPE = 5
    OTHERS = 6
    endform.

  • Movement type for subcontracting jobs

    Hello,
    tool room - dies manufacturing
    3types of subcontracting is done.
    1. wirecut
    2. heat treatment.
    3. Machining
    I issue the material on weight basis.
    for heat treatment the subcontractor charges according to weight of the material i.e (weight before H.T - weight after H.T ) X cost per unit weight.
    for wirecut and machining the subcontractor charges on hourly basis. where as i have issued the material on weight basis.
    how the Purchase Order can be created for this situation
    What movement types can be floowed for GI and GR for subcontracting jobs.
    Moderator message:
    Locked. Reason: subcontracting topic has been discussed many times.
    Points will be unassigned.
    Edited by: Csaba Szommer on Jun 27, 2011 1:54 PM

    does this unit of issue of material have anything to do with the payment settlement while creating purchase order.
    We are facing problem with the material movement for wirecut and machining subcontracting jobs. The PO created are not able to settle the subcontractor payment. So while goods receipt, we are cancelling the PO, in result the material comes and sits in our stock as it is, as if no operation has been done on the materials.
    Scrap valuation is not being done due to the same case.
    What u suggest??

  • Dynamic Assembly Scrap

    Hi,
    Our client is having an agreement with customer that goods can be delivered more than order quantity on certain percentage (based on lot size)
    order is 1 to 100 then 10% extra can be delivered
    If order is 101 - 500 then 5% extra can be delivered
    and 501 to 1000 then 3% extra can be delivered.
    But in standard we cannot able to define assembly scrap based on lot size to get extra requirement.. I have gone through many links but it seems there is no solution from standard need to how this can be achieved through user exit. if anyone has done this before then let me know how it can be achieved.
    Regards / US

    Hi US,
    I don't think is possible to manage assembly scrap based on lot size.
    Also, noted that the assembly scrap can not be enter at BOM level.
    I think the solution to your problem is to create three different BOMs:
    - BOM1 from 001 to 100 and enter a component scrap of 10% for all the items
    - BOM2 from 101 to 500 and enter a component scrap of 5% for all the items
    - BOM3 from 501 to 1000 and enter a component scrap of 3% for all the items
    Then you will need to create the production versions:
    - ProdVersion 01 for BOM1   -->  from 001 to 100
    - ProdVersion 02 for BOM2   -->  from 101 to 500
    - ProdVersion 03 for BOM3   -->  from 501 to 1000
    This way the MRP will assign the corresponding BOM base on the size of the planned order.
    Kind Regards,
    Mariano

  • Assembly scrap in REM scenario

    Hi Experts,
    My scenario is relevant to REM, during back flush in transaction MFBF am posting the assembly scrap by selecting assembly scrap radio button and in the scrap posting screen with reason of variance, as per logic the quantity of the plan order should be reduced by scrap quantity, am able to see the goods issue document but the plan order quantity is not getting reduced.
    Are there any specific setting needs to be done for posting of assembly scrap?
    Please help to explain the complete process of assembly scrap in case of REM.
    Regards
    cs

    Hi Anupam,
    I have checked the process as per your advise and it is working fine, but here am having an issue as if am scraping through quality it is scrapped with movement type 553, which is booked as loss.
    But actually we are retrieving the components from these 5 units and reusing them in another FG.
    As we are working with REM we are using CO07 production order without material for rework purpose in that case the scrapped assembly is issued to production order and components are retrieved with 531.
    Is there any possibility that the scrapped assembly can be shown as stock and issuance can be done?
    Or how can we address this scenariou2026
    Regards
    Chandan

  • Cofiguration step for  SubContracting Order Cycle  (SCO)

    Pls,provide me the the configuration steps of SCO(Suncontracting Order Cycle)

    Sub Contracting Cycle
    (1) You have a material that can be procured externally, and you have maintained BOM with components. Any waste generated and received during subcontracting process can be maintained as component with negative quantity. (special procurement type should be 30 in material MRP2 view for the mateiral you are getting back from subcontractor)
    (2) You create a subcontracting PO (PO with Item Category L). You can also maintain Purchase Info Record for Subcontract category for material and subcontractor.
    (3) You make a transfer posting to issue components for SC PO. Material is sent to subcontractor. As material remains under your ownership, system does not make any value entry. But quantity is shown as "Material Provided to Vendor"
    (4) You receive finished material against SC-PO. You also specify components consumed in manufacturing of finished goods. Additionally, if you have negative components in BOM, now you'll also receive subcontracting by-products. There are three events, so three accounting entries are generated:
    DR FG Stock/ SC By-Product Stock
    CR Change in Stock (FG/ SC By-Product )
    (for finished goods received)
    DR Subcontracting Charges
    CR GR/IR Clg
    (for moneys payable to Subcontractor)
    DR Consumption (Components)
    CR Change in Stock (FG/ SC By-Product ) 0
    (material provided to Vendor is now charged to expense)
    (5) You do the IV for SC Invoice, and the process is complete.
    Process of Subcontract in MM
    Sub-contract business process:
    You want to buy material from the supplier (processed material/ assembled item) , but for some reason (quality of certain item / price ) you will give some component to vendor .
    Vendor shall process the item / use the item provided & supply the final item.
    SAP process:
    1.Create the finished goods material code.
    2.Maintain the BOM for the material.
    3.Create PO with item category as "L" .
    4.Issue material to vendor with movement type 541
    5.Receive the material against the PO with movement type 101.
    6.MIRO to account for vendor's invoice for the service charge& material used by him.
    Note:: At the Time of GR 543 Mvt is up dated for Raw Material.
    Can anybody tell me how a process has to be given to subcontracting?
    Suppose, I have 3 operations 1)weaving 2)dyeing 3)cutting & packing
    if no 2 process (i.e Dyeing) has to be given to subcontracting, what process should i follow ?
    The following process to be followed for subcontracting.
    1. Item code(material master) to be created at the stage of before dyeing.
    2. Item code(material master) to be created after Dyeing as subcontracted item.(F30)
    3. Bill of material to be created for the material(2) calling for material(1)
    4. Info record and source list to be created for material(2) with the corresponding vendor
    5. PO to be released for material (2)
    6.Along with PO the material(1) to be issued to vendor
    7.On receipt of material when GR is made the stock with vendor will get updated.
    How to Create a Subcontract Order?
    To create a subcontract order, proceed as follows:
    Enter the material you want to order and the item category for subcontracting (L) in the order item.
    Press ENTER to display the screen for component processing.
    Enter the components that the vendor requires to manufacture the product.
    Please note:
    u2013 You do not need to enter the date required for the components. This date is proposed by the system when you press ENTER.
    It is calculated as follows:
    Delivery date of the item - Planned delivery time
    u2013 If you do not want the quantity of the components to be changed if the order quantity of the end product is altered, set the indicator Fixed quantity (column F).
    u2013 You can determine whether the components are available on the date required by selecting Edit -> Availability check.
    If you entered a bill of material as the material in the subcontract order, the components are created automatically.
    If you want to determine the components in the bill of material at a later date (for example, if the bill of material is subsequently changed), choose Item -> Component -> New BOM explosion. The existing components are deleted and redetermined in the bill of material.
    Save the purchase order.

  • Set TECO automatically when assembly scrap is used

    Hi Experts,
    could any of You help me pls with a mass processing of TECO status, when using assembly scrap at material master?
    In my scenario we use COHV / PPIO_ENTRY as a background job for mass process and set TECO each night - worked well till no assembly scrap was set and used.
    When assembly scrap is maintained at material master, we have a total order qty, a planned scrap and the output qty in prd order.
    When cnf is made for prd order, and reached the planned output qty I expected the same as before: automatic TECO set  - but it is not. The system still expect the total order qty to be reached - but we only go for the output qty. So when  cnf qty = to output the status should be set - if scrap is lower than the planned scrap figures the order is not technically closed by the PPIO_ENTRY backgroung job.
    Anyone pls support me with an idea, how to handle this situation, and set TECO automatically when cnf qty equals to expected output, pls?
    Answers will be appreciated

    dear friend,
    can you please look at checkbox "Generated Confirmations w/o Quantity Adjustments" in OPK4 for your plant/order type?
    do you have it 'ON' ?
    regards,

  • Components are not getting consumed at the time of GRN for Subcontracting P

    Dear All,
    I hav created a Subcontracting PO and transfered the componenets
    At the time of GRN for Finished Product, consumption of componets are not happening and GRN is getting posted
    Please help me

    Hello,
    Have you created the subcontracting Purchase order or not? check , Item category "L" was available in Purchase order not?
    I mean you are not getting the 543 movement type in MIGO transaction.
    Follow below steps for subcontracting
    Sub-contract business process: 
    You want to buy material from the supplier (processed material/ assembled item) , but for some reason (quality of certain item / price ) you will give some component to vendor . 
    Vendor shall process the item / use the item provided & supply the final item. 
    SAP process: 
    1.Create the finished goods material code. 
    2.Maintain the BOM for the material. 
    3.Create PO with item category as "L" . 
    4.Issue material to vendor with movement type 541 
    5.Receive the material against the PO with movement type 101. 
    6.MIRO to account for vendor's invoice for the service charge& material used by him. 
    Please check these steps are their in your PO or not?
    Regards
    Mahesh Naik.

  • Calculation of cost for subcontracting item of type N (non stock) as it calculating for type L(Stock)

    Hi Gurus,
    I have a Requirement for calculating the cost for Subcontracting  Non stock items N as it is getting calculated in standard functionality for subcontracting items of Type L.
    This will be done in CK11n ( used to calculate the standard cost estimate of the product) for header as well as component materials.
    please suggest the user exit or Badi where i can change.
    Please refer the below logic-
    BOM for the material 2000500 as Header and 1LPL0835298AB as a component and this component has an assembly with 7008508 as a component and this component is an Sub contracted item and this has an assembly with component 1LBA182151-3.
    Price calculation for the material 7008508 (Item Category as N). Since this is sub contracted item the price will picked from field EINE-NETPR.
    In EINA, pass the material (MATNR=7008508) to fetch the list of info records (INFNR) created for that material.
    Then it has to input those info records to EINE table along with Purchasing organization (EINE-EKORG=PT02).
    From the output of EINE table, it should compare the price (EINE-NETPR) of the PIR and should take the least price from those PIR`s.
    If the currency is other than PLN, then it should be converted to PLN based on conversion charges.
    For Material (MATNR=1LBA182151-3), it should pass the material number to table MBEW along with valuation area (BWKEY = WERKS).
    From the output, it should check the Price control (VPRSV) ‘V’ or ‘S’
    If ‘V’ the price will be picked from the field “VERPR”
    If ‘S’ the price will be picked from the field “STPRS”
    Also from the output, it should check the Price unit (PEINH) ‘1’ or other than ‘1’. If it is other than ‘1’ it should divide the VERPR or STPRS by PEINH. Then this is the price of the Material “1LBA182151-3”.
    The material (MATNR=1LBA182151-3) should be passed to table “MARA” and will take the Base unit of measure from that table “MEINS”.
    Br,
    Surya

    Hi Surya,
    Please put breakpoints in any of the below BADI's and check if any of them will trigger for your
    requirement:
    VALUATION_CK                            BAdI for Valuation in Product Costing
    CK_KALAMATCON2_CI                       BAdI for CI Fields for Table KALAMATCON2
    COSTINGRUN_CK                           Edit Costing Run
    COST_APPORTION_CK                       Maint Apportionment Structure Joint Production: Dist Rules
    CO_PROD_COSTING_CK                      Cost Management for Joint Products (Costing, Target Costs)
    DATA_EXTENSION_CK                       For Data Enrichment in Product Costing
    DYNPRO_EXTENSION_CK                     BAdI for Interface Enhancement in Costing
    ORDER_COSTING_CK                        Enables Header Data Changes in Preliminary Order Costing
    QUANTITY_STRUCT_CK                      Enables Quantity/Structure Changes in Costing
    SUR_STOCK_TRANSF_CK                     Overhead on Materials with Stock Transfer Between Plants
    Thanks
    Sri

Maybe you are looking for