Replenishment in Subcontracting

hello friends,
I want to know that whether replenishment is possible in subcontracting,i.e. suppose i want to maintain a stock of 1000 finished components at vendor,whenever he delivers material i will issue him raw material for that much quantity only.the order will be an annual order for the order say 1000000 nos.

Hi,
The quantities of the components to be provided to the vendor are entered into the stock of material to be provided to vendor. This stock has the following features:
It is managed as part of your total valuated stock, and is available for MRP.
It is only managed at plant level, since it is not stored at your own company but on the vendor's site.
Two stock types are possible:
unrestricted-use stock
quality inspection stock
Stock can be transferred between the two stock types. Withdrawals can only be posted from unrestricted stock, however.
You can take a physical inventory of the stock of material to be provided to vendor.
<b>It is only managed at plant level</b>
BR
Diwakar

Similar Messages

  • KANBAN Subcontract Replenishment

    We have a scenario where we are using KANBAN to manage a subcontract item.  We know that subcontract scheduling agreements will not properly deduct the component inventory from the supplier's inventory (543 movement type) and that SAP admits that scheduling agreements cannot be used for this replenishment.
    We would rather avoid using purchase orders for the replenishment, as the number of created purchase orders would overwhelm the accounts payable folks.
    What other solutions would be available to us to manage subcontract through KANBAN?

    It's been explained in the OSS Message 0020079747 0000841607 2009
    that        
    "In Customizing under Logistics Execution ->Warehouse Management ->    
    Interfaces -> Stock Transfer for Kanban, you assign the WM storage type
    (interface) to the KANBAN (demand) storage location and also define the
    movement type for the transfer posting from the WM storage location to 
    the KANBAN storage location (standard 311)."                                                                               
    If you are doing stock transfer with Kanban, the material will be      
    transferred from the WM storage location via the Kanban interface to the
    supply area, which is set in the control cycle. Therefore, the Kanban  
    interface must be maintained in the customizing specific to each of the
    receiving(supply area) storage locations. It is imperative that we have
    different interface storage types for each of the receiving Kanban     
    storage locations.                                                                               
    It is not the question of permitting multiple supply areas rather is the
    restriction of using same interface storage type for many supply areas 
    (belonging to different storage locations). Please check if the Kanban 
    interface storage type assigned in control cycle under question is     
    already been defined as the interface for some other Storage location in
    which case you may have to define new storage type for each of the     
    Supply area storage locations!

  • Kit Management in Intercompany Replenishment

    Dear Gurus,
    I've this problem:
    I'm mananging the kits in normal sales with a main item categories with structure scope B (explode multi level BOM) so that, when the sales order is created it born with all materials of the BOM. In the item category assignment I'm managing the item categories types of the components in the BOM.
    And, refereed to this sales order, the outbound delivery is created correctly, with all components of the BOM (BOM is a Sales BOM)
    When I created a purchase order for intercompany replenishment, when i create the referred outbound delvery(with transaction VL10B) the delivery is created with the main material only, without all components.
    How is possible to have all components in outbound delivery?
    I need the BOM explosion in the outbound delivery created from the Purchase Order
    Regards
    Could you help me?
    Thanks

    As I understand you want to have BOM explosion in purchase order, something similar to sales BOM.
    As per my best knowledge this functionality does not exist in standard system. You can explode only subcontracting BOM in PO but of course those components are to be provided and not procured.
    There might be industry specific solutions in which you may get this (functionality), e.g. structured article in IS-Retaik:
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/2b/b03886df3611d1953b00a0c930e0da/frameset.htm
    And it's also a good question how SAP APO can handle this problem.

  • Subcontracting with MRP areas / Customer consigment

    Dear all,
    I'm currently looking for some information regarding subcontracting processes with MRP areas.
    On the first hand I need a general overview how subcontracting purchase orders would be handled with MRP areas. In addition I'm really interested in the replenishment of the subcontractor stocks. On the other hand some facts about the customizing would be fine.
    My second topic is consigment stocks at the customer. So I need similar information as for the MRP areas but regarding this customer consigment.
    It would be really great if someone has some literature recommendations or official documentations about these issue.
    Many thanks in advance!
    Regards
    Enrico

    Hi Enrico,
    Working with subcontracting and MRP area's gives you the option to plan the requirements for the subcontractor separately and you can then order the components separately. This functionality is used when working with scheduling agreements and direct deliveries to the subcontractor as there this is a requirement.
    A second instance where one would use and MRP area with sucontracting is that when a material is used both by the subcontractor and it's also used directly in the plant production. The requirements for the subcontractor can be separately planned using an MRP area.
    The following links may give you some more information regarding working with subcontracting and MRP area's
    [MRP area|http://help.sap.com/saphelp_470/helpdata/en/c4/106956ae8a11d1a6720000e83235d4/content.htm]
    [Planning for Components to be Provided in Subcontracting|http://help.sap.com/erp2005_ehp_04/helpdata/EN/c4/106956ae8a11d1a6720000e83235d4/frameset.htm]
    Edited by: Peter Pallen on Jun 5, 2011 7:19 PM

  • Subcontracting or service Po

    Hi,
    We are sending machines to a vendor for repair. Most of the times we are providing the spares- say as an example gear to the vendor. Sometimes vendor can also use this gear from his own if it is not available with us. In addition if required some other spare in the machine need to be changed, he can use his own spare.
    He sends us the bills for his services and of spares if he has used any.
    This scenario will fit in which process- Subcontracting or service Po?
    If it is service PO than how can we issue the material to the vendor and how the accounting entries will look like?
    Regards
    Neeru

    Hi Neeru,
    In your case better is to send a subcontracting PO for the Finished component you required from the subcontractor.
    and you can maintain the same value in subcontracting Info record irrespective of the material he use .
    Now if he uses gears from his own which is defined in your BOM but you havent provided but vendor fited from his own
    in this scenario raise a PO to that vendor for that component and provide the drop shipment info in the delivery tab
    as subcontractor this will replenish the material at that vendor end. And now when you are doing ME20 you will have already material at vendor end if you have raised this PO before or if after raising subcontract PO you can provide it and it will be
    in the stocks of Vendor and now at MIGO you can collectivelly do the 543 movement of this components.
    This will stream line your process into two steps without faults else you will awlays have a mess ann will hard to account for.
    still you can look into another options but I encountered the same situation and we adopted this method which is working well.
    Cheers,
    Biren Agnihotri

  • Report for Material at subcontract AND PO number

    We are preparing for Inventory verification at subcontractors.
    My boss believes it would be easier for the SC vendor if we could supply the PO number for which the material was shipped.
    I haven't found such a report.  Is there one?
    If you know the tables and links, I can write a ABAP query
    Thank you for any help that can be provided.
    Althea

    Hi,
    ME2O works fine if you want to track which subcontracting PO's are still open and what is the current stock at vendor.
    ME2ON is another version of the same basic ME2O report.
    Try also MBLB - Stocks at subcontractor.
    As far as PO to 541 link is concerned, I do not think it is possible to find it unless there is some specific business process being followed which is supported by custom code.
    The reason is that when you issue against 541, you are simply providing materials to vendor that the vendor needs.
    There might be multiple open SC POs for same material/batch and there is no point in tracking against a particluar PO. Its the same material/batch the vendor receives.
    When you post a PGR for a SC PO, then the stock from vendor premises is consumed by 543 and the track to your SC PO is maintained.
    I tried maintaining EBELN as required in OMJJ for 541 but still no MSEG-EBELN is populated. Maybe I am missing something.

  • Subcontract Opening and closing stock and program

    Dear All,
    Is there any standard program for subcontract stock for which i can give previous date range and get the stock on older date to older date for the vendor (example like in MB5B for inhouse stock)
    also we need to insert this details in custom report program so can anybody have developed such program or any function module is available for this
    Pl suggest
    Regards,
    Vimlesh

    dear sir.
    Tcode : S_P00_07000140 - inventory and raw material for special stock report.
    in selection-field give the special stock indicator O. and give the selection Date : Date on which u and to see the stock at vendor.
    and exective it will show the stock on date.
    in selection-fields we have an option for vendor and material also.
    regards
    jrp

  • Error while creating PO in operation subcontracting

    I am getting an Error while creating PO in operation subcontracting.When I'm trying to convert the purchase requisition for the operation in the routing into a Purchase order it gives me the error "Not possible to determine any components".Please guide me why I am getting this error. I have already assigned the component to the operation in the routing. I also have this component in stock. But no Idea why I'm getting this error

    Hi  Sam,
    please check ,
    Assign a recursive BOM for the material for which you want to  create the purchase order .ie. create a BOM  of mat say X having a component  X and marking the indicator  recursive ticked.
    Please create the BOM  which is valid much before the date of creating a purchase requisition .
    And proceed for the creation of subcontract purchase requisition.
    Please Revert back, if the problem is solved.
    OMKAR

  • Error while posting GR for subcontracting process

    Dear Friends,
    while creating a GR for a subcontracting PO, I get the following error. please suggest what to do. i checked the configuration for the movement type and could not come up with the solution.
    Fld selectn for mvmt type 543 / acct 7449990 differs for Vendor goods movement (014)
    Message no. M7093
    Diagnosis
    Comparison of the field selection strings from movement type 543 and G/L account 7449990 has revealed that there is an incompatible field selection combination at one or more points.
    Field for which the field selection is different: Vendor goods movement
    Example
    On the movement type screen, a given field is a mandatory-entry field, whereas on the G/L account screen, the same field is suppressed.
    System Response
    You cannot post this transaction, unless you have changed the field selection adequately.
    Procedure
    Contact your system administrator.
    Action to be taken by the system administrator
    Check whether any postings resulting from this movement type are to be made to the G/L account determined automatically. If you find that the G/L account is not correct, check the automatic account determination in the Customizing system for valuation.
    Proceed
    If the G/L account is correct, use the report RM07CUFA to compare the field selection for the movement type with the field selection for the G/L account and change the incorrect settings or the field status group of the G/L account.
    Proceed

    The field is mandatory in acct 7449990 and hidden in movement type 543 or vice versa.  To check the field status for that movement type, you can run the program RM07CUFA
    Once you execute this program and found that the field is set to mandatory, then it should be mandatory for that movement type field status also.
    Alternatively, Go to txn OMJJ, click on Movement Type and execute.  There double click on "Field selection (Enjoy) and see whether the movement is maintained as Required Entry or Optional Entry.
    Now go to FS00, input the G/L Account 7449990 and execute.  There go to tab Create/bank/interest and chech whether you have maintained any value against "Field status group" and also you have checked the box for "Post automatically only".
    This should be done in consultation with FI people only if the issue is in production client.
    thanks
    G. Lakshmipathi

  • Error while releasing Billing document in Subcontract process

    Hi All,
    We are working on Subcontract process as explained below:
    Company code X purchases the component A and sends it to Company code Y on Subcontract. Company codes X and Y belongs to one company using single operative chart of Accounts, Controlling area & operating concern. FI configuration has been maintained in OBYA by treating above company codes Inter company GLs. The component A is sent to company code Y as non value added item. Through 501 movement type, as the component is sent by Company code X.
    Company code Y will add some components (like B,C and charges some expenses as service component D for preparing Finished good) and send this FG to Company code X. For this company code Y will raise a Sales order and followed by MRP run and Production order is created.
    In VA02 of above Sales Order, while entering Item details, where the Settlement rule is asking for PA Transfer structure (in Account assignment tab of Item details) and giving the following error analysis:
    Enter a PA transfer structure
    Message no. KD 044
    Diagnosis
    A PA transfer structure is required for settlement to profitability analysis.
    System Response
    You cannot save this settlement rule.
    Procedure
    Enter a PA transfer structure. To do this, choose the "Parameters" function in the settlement rule. As part of customizing, you can also store a default value for the PA analysis structure, in the settlement profile. The system then uses this default value when you enter a settlement rule.
    In addition to above, another issue has raised while releasing the Billing document after doing PGI. Accounting document is not getting generated and while releasing the Billing document (VF02) it is throwing an error as
    “Enter profitability segment as cost object for Revenue and COGS posting”
    Message no. ZC 001.
    MM,PP,SD & FICO configuration settings maintained:
    1. All required OBYC settings
    2. All cost element and Cost element categories have been maintained
    3. From MM side the system is generating FI & CO documents
    4. Settlement profile in Production Order type is maintained (in KOT2). Allocation structure and PA transfer structure were maintained in (OK06, OK07 & KEI1).  In PA transfer structure we have assigned the required Sources and Value fields and settlement cost elements.
    5. In VKOA condition types KOFI and KOFK were maintained for relevant Customer & Material Account Assignment groups.
    6. Required settings have maintained in OKB9.
    Movement types 501 (sub contract), Received back to Company code X through Movement  type 101. In spite of these settings still we are getting the above mentioned errors.
    Could any one help to provide some inputs on the above issue as early as possible.
    Thanks in advance.

    Hi,
    check  in the sales order line item procurement tab . u can get the requirement type. in SPRo check the requiremnt class for the requirement type. in that requirement clas u will get settrlemnt profile for the sales order. Check that settlemnt profile there u have to maintain the PA transfer structure.
    I think both problem will get solved by maintaing the PA structure..
    You are doing sales order costing right....and i hope it is non vsaluated sales order costing .....
    If help ful please assign points.
    cheers
    Prabhat

  • Subcontracting in scheduling agreement

    Dear all,
    while doing subcontracting scheduling agreement, how can we add the child components to the parent material.
    in cs01 ,we maintained the bill of material for the parent material.in CS11 we are able to view it.
    Regards,
    velu

    Hi,
    If you have already maintained the BOM in CS01, you need  not have to maintain the seperate BOM in Scheduling Agreement, because, the already existing BOM will get copied. The only thing you will have to do is that, define special procurement category as 30 (Sub-Contracting) in MRP2 view of the material master & then create the SchedulingAgreement with item category as L (Sub-Contracting).
    Hope this clears.
    Regards,
    Prashant
    - Pl. reward points if the answer is helpful to you

  • Account determination error in Subcontract PO-MIGO.?

    Hi all
    While doing GR, i mgetting error i "Account determination for entry LDCA BSV 0001 ___ 5010 not possible".
    The above PO is subcontract PO .
    Thanks
    sap-m

    Hi,
    For subcontracting..maintain these keys..so that you will not get any problem..
    BSX, BSV, WRX, PRD, FRL
    Regards,
    Prasath

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

    Dear 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

  • 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

  • LTP Planning for Subcontracting Purchase Order

    Hi All,
    I am doing LTP run for the Finished Material.
    Finished Material is having few open subcontracting Purchase order's.
    When I take the LTP run  in MS02, system is considering the Open PO's and adjusting (netting) it with the Planned independent requirements of finished material. This is ok.
    But the planning is not creating depending procurement proposals for the child items.
    It is subcontracting PO of finished material, system suppose to create the dependent requirements.
    In the MRP run it is working fine in MD02. But not working in LTP planning run in MS02 Transaction.
    Rgds /  Shailendra
    Edited by: Shailendra Hadkar on Apr 7, 2010 10:44 AM

    Hi All,
    I have found one BAdi u201CMD_CHANGE_MRP_DATAu201D  for showing up Subcon requirements in MS04 for child materials.
    This BADI "MD_CHANGE_MRP_DATA" requires to implement using method "CONSIDER_RESB".
    But implementation of this BADI using method "CONSIDER_RESB" will open up Dependent requirements/reservations of phantoms in phantom assembly planning and other reservations also.
    How I can implement this BADI for specific Subcon requirements or Specific MRP element??
    Regards,
    Shailendra
    Please refer below post by Nethi Venkata R... 
    LTP Doubt

Maybe you are looking for