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,
AmitDear 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 KhanDear 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?] -
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
PrabhuIf 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 -
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,
SuryaHi 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
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,
JoyHi,
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 PMdoes 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?? -
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 / USHi 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
csHi 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 appreciateddear 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 meHello,
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. -
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,
SuryaHi 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
-
IPod not responding, turning on, or connecting to pc
I got my iPod touch for xmas 09, and it has died on me. It wont turn on, so when i restart it, it shows that apple icon for approx. 5 seconds, and then the screen goes blank. I've also had issues with freezing, and the volume controls have been stuff
-
How do I center the image created in my pdf files?
When I create a pdf file from a windows application and the image has a border around it. Then open the file to view it, the border appears to be shoved to the lower left corner of the opened pdf file image so instead of having a 1/4" border around t
-
Why doesn't the repair box in Aperture show up? and if it does, once you choose repair does it give you an indication it is working?
-
What is Maximum size for Multi select list?
Hi, We are using the select_list_from_query given " size=10 attribute " so getting as multiselect list ,but there is a constraint for multiselect list where we can display only 1000 values max i guess,I have around 10,000values to display in list but
-
ORA-22160 - element at index does not exist
A script that I am running to load data into a table using bulk binding (using nested table variables and FORALL) produces an error "ORA-22160: element at index [77] does not exist". Just prior to the forall...insert... I report the size of each nest