STO for Subcontracting
Hello all,
I have a scenario like i want to raise an STO for the subcontracting process,can v do the STO for subcontratcing betn plants under one cocd?
If yes,then i need to use the deliver type:ZLB and how abt the Item cat,Purchasing doc type,if needed Account assngmnt and Shipping data.
I would appreciate if someone could share their experience with me in this scenario.
Thank you
Hi,
You have been given the answer so I will just confirm that the advice is correct.
A subcontract order is between a Vendor and a Plant, there is no way to have an STO for subcontracting?
I think that you may be either using the wrong terminology or misunderstanding what subcontracting is?
there is no such thing as subcontracting transfers, but did you mean to be able to transfer the "stock with subcontractor" (sent via a 541 movement) to another plant?
If so then the answer is still no because the stock is no longer in the plant if it has been moved to the subcontractor with a 541.
So please can you explain what it is you want to transfer and why you think you want to transfer using a subcontracting STO (which does not exist).
Steve B
Similar Messages
-
Urgent Delivery for Subcontracting
Dear All,
I have a question regarding the delivery. We use VL10d for creating the delivery for STO Purchase orders. We enter shipping location and PO number in VL10D.
Is there anyway similar we can do for the subcontracting PO. In subcontacting PO no shipping tab is generated. Please let me know the way to do the deliveries for subcontracting PO's.
Thanks..
SurajHi,
Basically in ME2O, u can create a delivery for the materials which can be on a single or multiple POs. Once the material is sent to subcontractor, the consumption against particular PO can be identified having different batches for the same.
This delivery doesnot have actual hardcoded reference to PO unlike outbound delivery for STO or SO.
Steps:
ME2O - In initial selection screen, enter PO vendor & execute. Then in subsequent materialwise, you will list of POs under the node "Requirements via SC Orders". Select material & click on Create Delivery button. You can create seperate delivery for the each individual PO qty or single delivery for cumulative PO qty. Go on entering the data requested & continue.
Thanks & Best Regards,
Devendra Gaware
PS - Reward if found useful. -
Standard Cost Estimate for Subcontracting
Dear Sir / Madam,
We are in the process of migrating from our normal R/3 operations for Production Planning to Execution inclusive of Costing of materials by using iPPE functionality for repetitive scenario. We have our BOMs for painted body currently in R/3. The painted body falls under subcontracting scenario.
In this scenario the body in white produced from our bodyshop is sent out to the subcontractor along with certain paint items and is received as painted body and consumption of the body in white and the paint items sent needs to be shown during the goods receipt of painted body.
For this we have maintained the BOM for the painted body in iPPE. Also in the costing variant "ZD01" in order to arrive at Standard cost (CK11N) for the painted body we have maintained the following settings for Valuation variant for subcontracting :
Priority Strategy Sequence
1 Net Quotation Price
2 Effective Price from Purchase Order
While running CK11N for the material (painted body) we are receiving the following message
Message no. 28501 : Error in dependency processing: condition 0000062388 is empty
We wanted to verify whether the message raised is normal or would it have any adverse impact.
Your assistance would be highly appreciated.
Regards,
Bhavika
Edited by: Bhavika Goyal on Feb 7, 2009 12:20 PMDear All,
Control Key is important for inhouse producrtion and Sub Contract. Check it once and when ever u have given the Product (semi fisished) to Sub Contractor, along with Paint.
Here one thing is important what is your process? how much portionis involced in Sub contracting. why because
Paint issue to the sub con is captured by the way for migo or miro
Payment to sub contract is capture all the cost of the Sub Con., then is there any cost is missed for this process. Let me know the remain things?
thanqu
raj -
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 -
PO number and material issued against this PO for subcontracting
How to know the link in between the PO number and material issued against this PO for subcontracting.
I have checked that PO history is not getting updated.
Thanks,Hi,
We have 2 different scenarios where you can post a goods issue to Subcontract Venodrs.
Scenarios 1: You can post the goods issue against a subcontrac vendor with out referencing the Subcon PO from ME2O, at this stage we will be knowing what is the stock at subcontract vendor but we will not be knowing the issues against which and how much Quantities are posted.
So when we are post goods receipt, then we will come to know the consuption quantities.
Scenario: 2, If we use the delivery concept then we can track the goods issues against the subcon POs.
If you really keen to track the material issued to Subcon vendor against a PO so better use with delivery.
Thansk,
Satya. -
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 -
Problem while doing GR for subcontracting
This is Naresh. When Iam posting GR for subcontracting material an error is coming as "G/L account 400020 does not exist in chart of accounts INT". And when Iam trying to create G/L account in INT with my company code(using FS00) another error is coming as " description in language EN already created". Can anyone help me.
you have chosen a pretty bad subject.
with this subject you will find people that have knowledge in subcontracting, but your issue is in G/L account maintenance.
Guys that are are experienced in that field will probably not open your thread.
best you create your thread again with a better subject and in a different forum: in the finance forum. -
Error showing - No price could be determined for subcontracting in CK11N
Hi,
We are facing a problem in CK11N that while we are creating Material Cost Estimate with Quantity Structure, getting an error message..
No price could be determined for subcontracting
Message no. CK468
Diagnosis
The system could not calculate a price for the subcontracting because none of the valuation strategies in valuation variant 001 was successful.
System Response
If the system issues a warning message or an information message, the costing item is used in the cost estimate with a zero value.
If the system issues an error message, it sets the status "KF" (costed with errors).
If the system issues a termination message, the cost estimate cannot be processed.
Procedure
If you have authorization for Customizing, check the valuation strategy for subcontracting in valuation variant 001.
I read many thread already, but no solution is suit my requirement..
please help..We run the transaction OPN2 and select 001- Planned valuation - mat. Valuation Variant. Db Click on it and select Subcontracting tab.
There Strategy Sequence is defined as under:
Priority......Strategy Sequence
1...............Effective price from Purchase Order
2...............Net Purchase Order price
3...............Effective price from Quotation
and in Quotation in Purchasing option, there is selected - Auto quota arrangement.
please guide. -
Creation of delivery for subcontract Purchase Order
Hi All,
I am trying to create delivery for subcontract PO. ME2O transaction creates delivery but doesn't link PO to delivery . Is there any SAP table where we can see link of subcontract PO to delivery created throug ME2O?
Business don't want to use MB1B transaction because it doesn't create delivery inturn doesn't create any paper work(Pick list or Packing list).
Is there any way to create delivery based on subcontract PO?
Thanks in advance.
Sonali.You have to do Sub con PO setup in Img customization. You can be able to print all ur required documents during MB1B also. Presently I am doing exact the same setting for my present project. Complete Configuration required under
Img->MM->IM and PI->Output Determination.ABAP help will be required to design the layout for pick list and packing list.Let me know if you need more information.
Cheers! -
Problem for Goods Receipt for Subcontracting Purchase Order
Dear all,
Presently, we are using SAP version 4.6C and we need to introduce GR for
Subcontracting Purchase Order. We have developed a ABAP program to handle
subcon Goods Receipt by uploading flat-files from our subcontractor. The
scenario is as follows :
Goods Receipt for Subcontracting Purchase Order
1. In the ABAP program, function BAPI_GOODSMVT_CREATE will be used for goods
movement.
2. Data provided to the function are as follows :
- Posting date
- Document date
- Material number
- Plant
- Storage location
- Batch
- Movement type (101)
- Quantity
- Purchase order number
- Purchase order item
- Movement indicator (B - Goods receipt for purchase order)
3. The function will do data verification and automatically determine GI
item for subcon stock:
- Movement type (543)
- Special stock (O - parts prov. vendor)
- Material
- Quantity
- Plant
Our problem is that :
Only the GR item in the interface is to be transferred and the GI item is
determined by the system. So, the quantity for subcon stock cannot be
changed using this BAPI. Then the system will continue processing the goods
receipt and create material document.
Manually, by using transaction code MIGO, the user can display the subcon
stock data and then change the quantity.
By using transaction code MB01, after the user fills in all the GR fields,
the system comes to line item 002 (subcon stock data) and then quantity can
be changed.
As per user requirement, quantity for GI item must be same with the quantity
that has been transferred to subcon vendor in Delivery for Subcon
(transaction code VL02N).
We cannot achieve this requirement by using the BAPI mentioned above. Would
appreciate any valuable help from anyone who is able to help us on this
matter. Are there any other BAPI's that can help us to achieve the same
result ?
Thank you in advance and best regards.As far as i understood the problem I suggest u to create the
BDC according to user actions that are performed in he manual
operation.
I can't say that the BAPI performs the exac solution what you want.
I have done some BDC work using MB01 and suggest you to be careful
and try to keep the complete in the logic as some chages in rows in BDC will
change the complete scenario.And throw correct quantity val in correct
material
row.
This methodology will help u even in mass uploads.
Or in case of automation u can perform the call transaction BDC in
background mode.
so As per my understanding bdc program is the solution. pls try and let me
know. -
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. -
Good receipt problem for subcontracting purchase order
Good receipt problem for subcontracting purchase order
with account assignment type E.
After update to ECC 6.0. Do good receipt for subcontracting purchase order with account assigment 'E'.The system show the error message(KI235)----Two cost elements (Change in Stock (Subcontracting)&Outside processed fee) haven't CO account assignment.but the field status for sale order is option entry , when I default cost center for the cost element in OKB9.the system post the material document and generate the following accounting document.
Doc.Type : WE ( Goods receipt ) Normal document
Doc. Number 5000056065 Company code 1000 Fiscal year 2007
Doc. date 2007.12.04 Posting date 2007.12.04 Period 12
Calculate Tax
Doc.currency HKD
tm PK Account Account short text Tx Cost Ctr SaleOrder Amount
1 89 13500000 Stock-Work in proces 1007823 10 274.4
2 96 21210010 GR/IR Clearing 1007823 10 205
3 91 41010102 Chg in Stock(Subcon) 10901099 1007823 10 274.4
4 86 41031000 Outside processed fe 10901099 1007823 10 205
5 99 13500000 Stock-Work in proces 1007823 10 69.4
6 81 41010101 Cost of Prod (Subco) 1007823 10 69.40
My problem is:
When use MIGO to do good receipt for subcontracting Purchase order, for consumption account((Change in Stock (Subcontracting)-41010102&Outside processed fee--41031000) ,why the system dont recognize the sale order filled as CO account assignment?Dear fanny chen
Did you get a solution for your open question?
I`m facing the same problem, so any help yould be appreciated.
Regards -
Batch number issue when posting goods receipt for Subcontracting PO
Dear expert,
I always heard there will be issues while posting goods receipt for subcontracting PO. If the component is managered by batch.
No batch number will be proposed during PGR in MIGO...
I dont quite understand where is the issue??
My understanding:
We have batch managered components and End Product. All have batch numbers, then we PGI the stock to 'SC stock' via 541 movement type.
Then Vendor will finish the end product and send us back the end product.
We consumption the components use 543 O movement type? And GR the end product..
So while goods receipt, the sytem just need pick the existing batch number for both components and finish products..
Where are the issues???
Thanks.Hoo Laa wrote:
I have questions for people always mentioning there are issues with batch determination while post goods receipt for subcontracting orders.
>
> I am thinking maybe they didnt active the batch determination for 543 movement type..
>
> Thanks.
Hi Hoo,
You are right!!
Setting of batch number determination has its importance in Mvt Type be it 541, 543....
The issue you might have observed would be with Batch Determination in Goods Issues which folks find it bit tough to achieve n make it work for them.
Cheers!!
Shiva -
Intra company STO for product under consigment from vendor
Hi
I know in 4.5 we were unable to transfer inventory under vendor consignment between plants using an STO. This was driven by the STO having item category U and consignment needing item category K. It looks like this also remains true in ECC 6.0 but does anyone know of a way of doing this there?
Help appreciated. Answers rewarded.
Thanks
DuncanHi
I dont think there is any way to make STO for consignment in SAP. Please let me know the reason why you want to map the process as consignment STO and how you are doing it now. You can make a return delivery to vendor and can again receive the required quantity as consignment in other plant. For reporting you can create new reason code for mvt type 122.
Regards
Praful
Maybe you are looking for
-
How to get physical number of selected row on the screen.
Hi, We have block defined with Numbers of Records Displayed = 3. In the same time the data set contains 10 records. We would like to know how to get a number of row selected on the screen. i.e. in our case that the number will be always between 1 and
-
Hello Experts-- M new into the SAP field, nd also i have heard thtfor making a good carrier in SAP, strong hold on Data Dictionery is must, so can you experts lettme know what exactly should be my flow to get all the concepts of DD and its heirarch
-
Software update has broken file sharing
Hi, I ran software update for the first time in a few weeks yesterday ... and now my file sharing is broken. I have 2 USB drives shared from my mac mini running Leopard and I access them on my MBP (running Leopard and Win XP). I couldn't connect to e
-
A friend of mine has a Lime Rev/D iMac that has a CD drive that is jamming. It isn't refusing to open or close the drive, but the actual tray is opening into the front of the computer (as in when the try opens, it is bashing into the plastic around t
-
I have been working in Logic Pro and am now having trouble with getting the file to load completely: I wasn't having issues until i changed the tempo towards the end.... and afterwards, when i try to boot up Logic and load this particular file,... th