BOM Explosion level

Hi,
Can u pls anyone tell.....to how many levels we can explode BOM???...any definite no......
rgds
Saravan

Hi,
Multi level bom is a Bom which it has different components at different level..for example:
- A ( finished material)
- B ( semi finished)
- C ( Raw material)
When you run the MRP, Bom will explode upto last level and it will plan the requirement of each individual material.
What ever may be the kind of BOM to be created transaction codes are as below:
- CS01 : BOM create
- CS02: BOM Change
- CS03: BOM display
Pre requisites are material master record for the materials.
What you have to keep in mind is:
1. BOM creation is through CS01 only.
2. When you have to create multilevel BOM, you have to carry craetion of BOM level by level.
3. First create BOM for assemblies (means materials which are produced inhouse, means materials with procurement type "E" in the material master MRP 2 view).
4. Finally create BOM for the finished product using these assemblies as components.
5. When you see the BOM of finished part after creation through CS03, you can find these assemblies with a tick mark in the field "Assembly".  When you double click you can see the susequent BOM of these  assemblies.
6. Example would be for a vehicle suppose engine, front wheel, back wheel are the "E"parts.  Create BOM first for these engine, front wheel and backwheel with respective material components.
Then create BOM for vehicle with these three "E".
When you see the BOM of vehicle after creation, you can see a tick mark against these E parts which shows that they have BOM furtehr down and you can double click and see the components of these .
regards,
Anup.

Similar Messages

  • BOM Explosion Levels: SAP Help needs some help (and so do I!)

    I'm using CS12 to explode a BOM. I added some fields to my layout - specifically "PPH" which the (f1) help calls "Path (Predecessor)" 
    The SAP Help has a BOM tree example but the formats are all wrong.  I can't tell which of their real/dummy materials go into which level of build...not to mention, shouldn't "Mat J" be a 3/1 - 3rd level of the BOM??
    I am creating a custom components report and trying to understand how these Path-Pred / Level values so I can correlate my BOM levels visually to the report results.

    Hi,
    Agree the help display of the BOM structure is not so user friendly.
    For level, the number increases when you move in vertical direction in the BOM across levels (T to B).
    For path, the number increases when you move in horizontal direction in the BOM at a given level (L to R).
    So now look thru' the values in CS12 & you should be able to figure it out.
    Regards,
    Vivek

  • BOM explosion in subcontracting order according to revision level

    Hello experts
    I have different revision levels available for a subcontracted material, e.g. the BOM of this material has different versions depending on the validity date.
    When a BOM explosion is carried out in the subcontracting order (either in the purchase request or in the purchase order) the selected version of the BOM is done accordingly to the delivery date. It does NOT take into account the revision level even when I change it manually.
    Do you have any idea if it is possible to force SAP to consider the revision level instead of the delivery date for the BOM explosion ? (custo, user exit, BAdI, ...)
    Many thanks
    Amaury

    Hi
    BOM explosion in Subcon PO will be carried out automatically when you select the item category L.
    If you want to control the BOM selection based on the Alternative then you can go with Production version option and get the help from PP consultant to create the production version.
    Assign the production version in Subcontracting Inforecord.
    Click the BOM explosion button the switch to alternative BOM during the PO creation.
    Hope it helps
    Thanks/Karthik

  • Bom Explosion first level, if first level having phanthom it has to explode

    Dear All,
    Kindly tell any function module is available for BOM explosion first level.
    if first level having any sub assembly part, bom not to explode below level.
    if first level having any phanthom material, it has to explode below level, in this phanthom material having any below phanthom material part of bom, it also explode below level.
    it means only phanthom material has explode below level, no sub assembly part.
    If any functional module is available for this bom explosion.
    i tried functional module - CS_BOM_EXPL_MAT_V2, but if i put "X" in field  - MEHRS, sub assembly part also exploding below level.
    kindly help on this.
    Regards,
    sakthi

    Hi,
    i tried functional module - CS_BOM_EXPL_MAT_V2, but if i put "X" in field - MEHRS, sub assembly part also exploding below level.
    Ans: Do not set this MEHRS indicator. This will explode the BOM to first level.
    Then add another loop on first level materials to check if any of them is phantom and explode the phantoms using same FM module in a loop. Follow this until all are done.
    Regards,
    Santosh Sarda

  • Multi level BOM explosion

    Hi,
    For multilevel BOM explode I have to use the "Functional Module" CS_BOM_EXPL_MAT_V2. I checked it in system but I didnt understand which input parameters I need to give (Which are mandatory) as ther are lot of input fields available.
    Please suggest whether this Functional Module is fine OR there is any other way? also suggest about the input field data.

    Dear
    Function module CS_BOM_EXPL_MAT_V2 is used for BOM explosion for a given material. It belongs to function group CSS4 u2013 BOM explosions. This function module can explose multi-level BOM with a given validation date.
    You need to specify necessary input parameters to call this function module, such as CAPID u2013 App ID, DATUV u2013 Validation date, MEHRS u2013 Multi-level, MTNRV u2013 Material number, STLAL u2013 alternate, STLAN u2013 BOM usage.
    Some useful tables you can provide to your ABAPer and discuss the same .
    TABLES: MARA,                               "Master Data
            MAKT,                               "Matl Desc.
            MARC,                               "Plant Data for Matl.
            MAST,                               "Bom to material link
            STKO,                               "Bom Header
            STPO.                               "Bom Item
    Refer : Multi-level BOM explosion using CS_BOM_EXPL_MAT_V2
    Regards
    JH
    Edited by: Jiaul Haque on Jan 3, 2011 10:24 PM

  • BOM Explosion for Multiple Process Orders

    Hi,
    I hope someone can assist me with the following: Is there a report I can run or transaction I can do to have BOM explosion for multiple Process Orders? I would like to input process orders for a week and see the BOM details per PO.
    Thanks

    Dear Sukendar,
    1.For this requirement you have to go for a Z report and you can give the Functional Spec's to prepare
    this report to your ABAP consultant.Prepare the input format,logic of the program and the output format.
    In the logic part you can make use of this Functional Modules's CSAP_MAT_BOM_READ or 
    CSEP_MAT_BOM_READ  or CS_BOM_EXPLOSION   or CS_BOM_EXPL_MAT_V2 .
    2.Using CEWB helps you to identify all the material that's having the BOM,but here the report does not
    shows you the level by level by BOM for a FERT.
    Check and revert back.
    Regards
    Mangalraj.S

  • How to restrict BOM explosion in Quotation and Sales  Order

    Dear all,
    How can we restrict BOM main item explosion in Sales Order.
    this BOM main item is having special order items which have to generate purchase requisition (item category - BANC),
    with out exploding bom main item, can we generate a  purchase requisition for BOM subitems, can any body explain me that how can we do that.
    your suggestions will be highly appreciated.
    thank you
    Raghu Ram

    Hi Raghu Ram,
    The BOM explosion is controlled by item category.
    In the item category configuration screen, under "Bills of Material/ Configuration", you can see "Structure Scope" field.
    Select the one which is applicable to your case:-
    "blank" - Do not explode material structure
    A - Explode single-level BOM
    B - Explode multi-level BOM
    C - Configuration, no BOM explosion
    D - Configuration, poss. with BOM explosion
    E - Structure from Customer_Function (product selection)
    Hope this helps
    Regards,
    Nicole

  • MRP RUN- KIT BOM explosion not working

    We setup one layer BOM’s for our maintenance KITs as parent material and components as child material.  For  example KIT is TS10000-K1 and components are TS10001, TS10002 etc setup as next layer with in the BOM. Both KITS and components are defined as material types ERSA (Spare parts). These one layers BOMs are setup as production BOMs and expected to create purchase requisitions for KITS and components by exploding BOMs during MRP runs. We use purchase requisitions and convert them into POs to procure both KITS and components. We DO NOT USE Panned orders and Production orders. 
    The safety stocks / reorder point are considered as demand for KITS and components as we do not have any external demand for KITS and components.  
    MRP run is creating purchase requisitions automatically for both KITS and components as per safety stocks and reorder point defined in MRP Views of Material Master. This is working as expected.  
    The issue is: KIT BOM’s are not exploding to generate purchase requisitions for the dependent components of KIT BOM. Please suggest the way to resolve this issue. 
    Split valuation: Also we plan to use split valued KITS with both new and refurbished. So we need BOM explosion for split valued KITS
    also (after the 1st issue is resolved).   
    I verified the following items to make sure the required configuration and data setup is defined correctly.
    1) Planning file activated Plant - OMDU 
    2) Executed MRP run with Total Planning - MDBT and MD02 (single item, multiple levels)
    3) BOM explosion for MRP activated- OS23 
    4) MRP type in MRP1 view- PD and VB (I tried both separately but BOM is not exploding).
    5) Procurement type “F” (MRP 2 view) and lot size “EX”  
    6) Planning strategy in MRP 3 view (tested w/o planning strategy and with strategies 10 and 40. But BOM is not exploded)
    7) BOM status and usage (status is active and usage is for production-CS02 and OS20)  
    8) BOM Validity date (Valid) 
    9) BOM structure in CS12 (BOM is exploding in CS11) 
    10) Availability check  
    11) Selection of BON ID to have BOM usage indicator assign (OS31).
    12) No alternate BOMs or production versions or work scheduling view are used.
    Please review the above 2 issues and suggest any workable solution. Thanks in advance!
    NOTE: I extensively used MRP with multi-level BOM explosion in my earlier projects without any issue. However the above issue is a  bit strange  why one layer BOM is not exploded in this case. 
    Regards
    Srini  

    Hi
    Thanks for your response. I reviewed all SAP notes and none of them are applicable to my scenario.
    1808396 - BOM changes not considered by MRP: I have not changed BOMs.
    1781324 - MD11: Valid BOM alternative is not found. We do not have alternative BOMs.
    1791009 - No BOM explosion after changing production version: We am not using production versions.
    Our Material KITS are PM spare assemblies set up as BOMs and consists of individual spare parts as components. We are creating purchase requisitions and not planned orders. We are not using PP functionality/Production orders.
    MRP is generating purchase requisitions for KITS and components as per ROP and safety stocks. In other words it is working as expected.  The issue is BOMs which are parent assemblies are not exploding to the next lower level components.
    Please note that I am not getting any error messages when MRP is executed.
    Regards
    Srini.

  • Report for Cost of Multiple products with Multilevel BOM explosion

    Hi,
    Our client has a requirement of a report showing standard cost estimate of multiple FG products, with multi-level BOM explosion.
    In short, the requirement is to get a CK13N report for multiple products.
    Has anyone come across such requirement? The requirements seems to be very normal.
    But, I have not seen any standard report for the same. If there is any, please suggest.
    or suggest a better solution for the same.
    Thanks in advance. Pts guaranteed.

    Hi,
    I totally agree with you that this is a totally vague requirement.
    However, let me share the reason for such client requirement.
    We have a customer, for which we produce certain parts for select models. Now, the arrangement with customer for pricing is based on the raw material and other production cost for all such parts. Based on the fluctuations in cost, the pricing would be finalised.. on a monthly or quarterly basis.
    For this purpose, the customer requires to know the raw materials used in each of the part.
    Individually it could have been managed. But the price change in terms of % is decided at global level and not for each part.
    Please suggest

  • How about this implementation of BOM Explosion(simulate stack)

    REPORT  YZWX00301_06 LINE-SIZE  142
                         LINE-COUNT 65
                         MESSAGE-ID YM1
                         NO STANDARD PAGE HEADING .
    INCLUDE
    INCLUDE: YXXI00050.
    *TABLES use table define
    TABLES: MARA,        " Material General Table
            MARC,        " Plant Data for Material
            MDMA,        " MRP Area table
            EORD,        " Vendor table
            A018,        " Vendor material mapping table
            KONP,        " Vendor condition table
            MAST,        " Material BOM table
            STPO,        " Material BOM Component table
            STAS.        " Material BOM Component table detail
    *CONSTANTS define
    CONSTANTS:
      C_DAT_X        TYPE C VALUE 'X',
      C_MODE         LIKE dxfields-fileoper VALUE 'R',
      C_MASK         LIKE dxfields-filemask VALUE '.',
      C_FLG_LOCATION TYPE C VALUE 'A',
      C_DFPATH(15)   TYPE C VALUE '\bmwx\'.
    Work Area Define
    ---- build stack structure -
    DATA: BEGIN OF WK_STACK,
            LEVEL(1)      TYPE C,            "Save Level
            QUANT         TYPE I,            "Save Quantity
          END OF WK_STACK.
    ---- BOM work area -
    DATA: BEGIN OF WK_BOM,
             LEVEL(1)     TYPE C,            "BOM LEVEL
             MATNR        LIKE MARC-MATNR,   "MATERIAL      18
             POSTP        LIKE STPO-POSTP,   "ITEM CATEGORY  1
             MENGE        LIKE STPO-MENGE,   "BOM COMPONENT 13
             DATUV        LIKE STPO-DATUV,   "VALID FROM    10
             DATUB        LIKE STPO-DATUV,   "VALID TO      10
    END OF WK_BOM.
    ---- DATA work area -
    DATA: BEGIN OF DATAITEM,
             LEVEL(1)     TYPE C,            "BOM LEVEL
             MATNR        LIKE MARC-MATNR,   "MATERIAL
             POSTP        LIKE STPO-POSTP,   "ITEM CATEGORY
             MENGE        LIKE STPO-MENGE,   "BOM COMPONENT
             DATUV        LIKE STPO-DATUV,   "VALID FROM!!!
             DATUB        LIKE STPO-DATUV,   "VALID TO
             EKGRP        LIKE MARC-EKGRP,   "PURCHASE ORG
             LIFNR        LIKE EORD-LIFNR,    "Vendor code     10
             MARK(1)      TYPE C,             "Mark
             KBETR        LIKE KONP-KBETR,    "Rate price      11
             KONWA        LIKE KONP-KONWA,    "Currency        5
             KPEIN        LIKE KONP-KPEIN,    "Unit Qty        5
             KMEIN        LIKE KONP-KMEIN,    "Condition Unit  3
             DATAB        LIKE A018-DATAB,    "Condition from  10
             DATBI        LIKE A018-DATBI,    "Condition to    10
           END OF DATAITEM.
    ---- File Line work area -
    DATA: BEGIN OF LINE,
             WERKS(4)     TYPE C,                               "Plaint   4
             MATNR(18)    TYPE C,             "Material Number 18
             EKGRP(3)     TYPE C,             "Purchase Group  3
             LIFNR(10)    TYPE C,             "Vendor code     10
             VDATU        LIKE EORD-VDATU,    "Vendor valid from 10
             BDATU        LIKE EORD-BDATU,    "Vendor valid to   10
             MARK(1)      TYPE C,             "Mark
             KSCHL(4)     TYPE C,             "Condition type  4
             KBETR(18)    TYPE C,             "Rate price      11
             KPEIN(5)     TYPE C,             "Rate unit       5
             KONWA(5)     TYPE C,             "Currency        5
             KMEIN(3)     TYPE C,             "Condition Unit  3
             DATAB        LIKE A018-DATAB,    "Condition from  10
             DATBI        LIKE A018-DATBI,    "Condition to    10
           END OF LINE.
    *Local Data Object Define
    DATA:  WK_CNT TYPE I,                   "Count variable
           WK_LVL TYPE I,                   "BOM level
           WK_QTY TYPE I.                   "BOM component qty
    DATA: WK_LIFNR LIKE EORD-LIFNR,
          WK_MATNR LIKE MARC-MATNR.
    *Internal Table define
    DATA TAB_STACK LIKE STANDARD TABLE OF WK_STACK.   "STACK TABLE
    DATA TAB_BOM   LIKE STANDARD TABLE OF WK_BOM.     "FOR BOM
    DATA TAB_DATA  LIKE STANDARD TABLE OF DATAITEM.   "FOR ALL
    Parameter in Block1
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.         "TITLE TEXT-001.
    PARAMETERS:
      P_WERKS LIKE MARC-WERKS DEFAULT 'WX01',              "Plant
      P_STLTY LIKE STPO-STLTY DEFAULT 'M',                 "BOM Category
      P_MATNR LIKE MARC-MATNR OBLIGATORY,                  "Material
      P_STDAT LIKE EORD-VDATU OBLIGATORY DEFAULT SY-DATUM. "Standard Date
    SELECTION-SCREEN END OF BLOCK B1.
    Parameter in Block2
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: P_SCREEN RADIOBUTTON GROUP R1.     "Screen output
    SELECTION-SCREEN COMMENT 03(21) TEXT-001.
    SELECTION-SCREEN POSITION 32.
    PARAMETERS: P_FILE RADIOBUTTON GROUP R1.       "NTFILE output
    SELECTION-SCREEN COMMENT 34(17) TEXT-002.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK B2.
    Parameter in Block3
    SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME.
    PARAMETERS:
    P_NTFILE(45)  TYPE C    LOWER CASE OBLIGATORY.
      P_PCFILE      LIKE RLGRAP-FILENAME.
    SELECTION-SCREEN END   OF BLOCK B3.
    INITIALIZATION
    INITIALIZATION .
      CLEAR :  WK_CNT,
               WK_LVL,
               WK_QTY,
               WK_MATNR,
               WK_STACK,
               WK_BOM,
               DATAITEM.
      WK_LVL = 0.
      WK_QTY = 1.
      REFRESH: TAB_STACK,
               TAB_DATA,
               TAB_BOM.
    *&      AT SELECTION-SCREE ON VALUE-REQUEST
    *AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_NTFILE.
    PERFORM F_SHOW_FILE_POPUP CHANGING P_NTFILE.       "Popup display
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PCFILE.
      PERFORM F_FILENAME_GET USING P_PCFILE
                          CHANGING P_PCFILE.
    *&      Form  F_FILENAME_GET
      --> ST_DAT_PATH     : Preset path
      <-- ST_DAT_FILENAME : Selected file name
    FORM F_FILENAME_GET USING st_dat_path
                     CHANGING st_dat_filename.
      CALL FUNCTION 'WS_FILENAME_GET'
        EXPORTING
          def_filename     = SPACE
          def_path         = st_dat_path
          mask             = ',.,.,'
          mode             = '0'
          title            = 'TXT-file select'
        IMPORTING
          filename         = st_dat_filename
        EXCEPTIONS
          inv_winsys       = 1
          no_batch         = 2
          selection_cancel = 3
          selection_error  = 4
          OTHERS           = 5.
      IF sy-subrc <> 0.
        MESSAGE s002(yf1) WITH 'F_FILENAME_GET' sy-subrc.
      ENDIF.
    ENDFORM.                    "F_FILENAME_GET
    MAIN PROCESS
    START-OF-SELECTION.
    ---- Check material -
      PERFORM CHECK_PROD.
    ---- get vendor data -
      PERFORM GET_VENDOR_DATA.
    ---- output screen/file -
      IF P_SCREEN = 'X'.
        PERFORM SET_OUTPUT.            "Output to screen directly
      ELSEIF P_FILE = 'X'.
        IF P_PCFILE <> ''.
          PERFORM DOWNLOAD_DATA.       "Write data into ntfile
        ELSE.
          MESSAGE E007(00) WITH 'P_PCFILE'.
        ENDIF.
      ENDIF.
    END-OF-SELECTION.
      ULINE (142).
      WRITE: /002 'Component Material Count:', WK_CNT.
    TOP-OF-PAGE
    TOP-OF-PAGE.
      WRITE: /002 'Product:', 013 P_MATNR,
              030 '****** BOM Price List ******',
              070 SY-DATUM,
              095 'PAGE:',
              100 SY-PAGNO.
      ULINE (142).
      WRITE: /001   '|Level',
              007   '|Material',
              026   '|Cat',
              030   '|Quantity',
              044   '|From',
              055   '|To',
              066   '|PurG',
              071   '|Vendor',
              082   '|MK',
              085   '|Price',
              101   '|Crncy',
              107   '|UnitQty',
              115   '|Unit',
              120   '|From',
              131   '|To',
              142   '|'.
      ULINE (142).
    *&FORM CHECK_PROD
    text
    -->p1      text
    <--p2      text
    FORM CHECK_PROD.
      SELECT SINGLE * FROM MARC
                     WHERE WERKS = P_WERKS           " Plant
                     AND   MATNR = P_MATNR           " Material
                     AND   DISPR IN ('F100','F200'). " Product
      IF SY-SUBRC = 0.
        PERFORM CHECK_BOM1 USING MARC-MATNR MARC-WERKS. " CHECK_BOM1
      ELSE.
        MESSAGE E022.
      ENDIF.
    ENDFORM.                                         " CHECK_PROD
    *&FORM CHECK_BOM1
    text
    -->p1      text
    <--p2      text
    FORM CHECK_BOM1 USING VALUE(FP_MATNR) VALUE(FP_WERKS).
      SELECT SINGLE * FROM  MAST
                      WHERE MATNR = FP_MATNR     AND      "Material
                            WERKS = FP_WERKS.             "Plant
      IF SY-SUBRC = 0.
        PERFORM PUSH_STACK USING WK_LVL WK_QTY.   "Save parent attribute
        PERFORM CHECK_BOM2 USING MAST-STLNR.                    "Check BOM2
      ENDIF.
    ENDFORM.                                                    "CHECK_BOM1
    *&FORM CHECK_BOM2
    text
    -->p1      text
    <--p2      text
    FORM CHECK_BOM2 USING VALUE(FP_STLNR).
      SELECT * FROM  STPO
               WHERE STLTY = P_STLTY        AND        "BOM category
                     STLNR = FP_STLNR.                 "BOM number
        PERFORM POPOUT_WK.                  "Pop out to work area
        WK_BOM-LEVEL = WK_LVL.              "Current BOM level
        WK_BOM-MATNR = STPO-IDNRK.          "Material number
        WK_BOM-POSTP = STPO-POSTP.          "ITEM Category
        WK_QTY       = STPO-MENGE * WK_QTY. "For Stack
        WK_BOM-MENGE = WK_QTY.              "BOM Component qty
        PERFORM CHECK_BOM3 USING STPO-STLTY STPO-STLNR STPO-STLKN.
        PERFORM CHECK_BOM1 USING STPO-IDNRK P_WERKS.
      ENDSELECT.
      PERFORM POPOUT_STACK.
    ENDFORM.                                                    "CHECK_BOM2
    *&FORM CHECK_BOM3
    text
    -->p1      text
    <--p2      text
    FORM CHECK_BOM3 USING VALUE(FP_STLTY) VALUE(FP_STLNR) VALUE(FP_STLKN).
      SELECT SINGLE * FROM  STAS
                      WHERE STLTY = FP_STLTY        "BOM category
                      AND   STLNR = FP_STLNR        "BOM number
                      AND   STLKN = FP_STLKN        "BOM item
                      AND   DATUV <= P_STDAT        "Valid from
                      AND   LKENZ = ' ' .           "Valid
      IF SY-SUBRC = 0.
        WK_BOM-DATUV = STAS-DATUV.                  "Valid from
      ENDIF.
      SELECT SINGLE * FROM  STAS
                      WHERE STLTY = FP_STLTY        "BOM category
                      AND   STLNR = FP_STLNR        "BOM number
                      AND   STLKN = FP_STLKN        "BOM item
                    AND   DATUV > P_STDAT         "Valid from
                      AND   LKENZ = 'X' .           "Invalid
      IF SY-SUBRC = 0.
        SELECT SINGLE * FROM  STAS
                       WHERE STLTY = FP_STLTY        "BOM category
                       AND   STLNR = FP_STLNR        "BOM number
                       AND   STLKN = FP_STLKN        "BOM item
                       AND   DATUV > P_STDAT         "Valid from
                       AND   LKENZ = 'X' .           "Invalid
        IF SY-SUBRC = 0.
          WK_BOM-DATUB = STAS-DATUV.          "Valid to
          APPEND WK_BOM TO TAB_BOM.
        ENDIF.
      ELSE.
        WK_BOM-DATUB = '99991231'.          "Manul input
        APPEND WK_BOM TO TAB_BOM.
      ENDIF.
    ENDFORM.                                                    "CHECK_BOM3
    *&FORM PUSH_STACK
    text
    -->p1      text
    <--p2      text
    FORM PUSH_STACK USING VALUE(FP_LVL) VALUE(FP_QTY).
      WK_STACK-LEVEL = FP_LVL + 1.
      WK_STACK-QUANT = FP_QTY.
      APPEND WK_STACK TO TAB_STACK.    "Push stack
      SORT TAB_STACK BY LEVEL.         "Sort table by level
    ENDFORM.                           "PUSH_STACK
    *&FORM PUSH_STACK
    text
    -->p1      text
    <--p2      text
    FORM POPOUT_STACK.
      DESCRIBE TABLE TAB_STACK LINES WK_CNT.
      IF WK_CNT > 0.
        DELETE TAB_STACK INDEX WK_CNT.     "Popout stack
        SORT TAB_STACK BY LEVEL.           "Sort table by level
      ENDIF.
    ENDFORM.                               "POPOUT_STACK
    *&FORM POPOUT_WK
    text
    -->p1      text
    <--p2      text
    FORM POPOUT_WK.
      DESCRIBE TABLE TAB_STACK LINES WK_CNT.
      IF WK_CNT > 0.
        READ TABLE TAB_STACK INTO WK_STACK INDEX WK_CNT.   "Popout stack
        IF SY-SUBRC = 0.
          WK_LVL = WK_STACK-LEVEL.                         "Current Level
          WK_QTY = WK_STACK-QUANT.                         "Parent Qty
        ENDIF.
      ENDIF.
    ENDFORM.                    "POPOUT_WK
    *&FORM DOWNLOAD_DATA
    text
    -->p1      text
    <--p2      text
    FORM DOWNLOAD_DATA.
      DATA: L_RETURN     TYPE   SY-SUBRC.
      PERFORM GUI_DOWNLOAD
                  TABLES
                     TAB_DATA
                  USING
                     P_PCFILE
                     'X'
                  CHANGING
                     L_RETURN.
      IF L_RETURN <> 0.
        MESSAGE S020.
      ELSE.
        MESSAGE S021.
      ENDIF.
    ENDFORM.                    " DOWNLOAD_DATA
    *&FORM GET_VENDOR_DATA
    text
    -->p1      text
    <--p2      text
    FORM GET_VENDOR_DATA.
      LOOP AT TAB_BOM  INTO WK_BOM.
        CLEAR DATAITEM.
        SELECT * FROM MARC
                WHERE WERKS = P_WERKS             "Plant
                  AND MATNR = WK_BOM-MATNR.       "Material
          DATAITEM-EKGRP = MARC-EKGRP.
          SELECT SINGLE * FROM  MARA
                          WHERE MATNR = MARC-MATNR    AND   "Material number
                                MTART IN ('1211','1221').
          IF SY-SUBRC = 0.
            SELECT COUNT(*) FROM  EORD
                           INTO  (WK_CNT)
                     WHERE WERKS  = P_WERKS        AND  "Plaint
                           MATNR  = WK_BOM-MATNR   AND  "Material
                           VDATU <= P_STDAT        AND  "Valid-From
                           BDATU >  P_STDAT.            "Valid-To
            IF WK_CNT > 1.
              DATAITEM-MARK = '*'.
            ELSEIF WK_CNT = 0.
              MOVE-CORRESPONDING WK_BOM TO DATAITEM.
              APPEND DATAITEM TO TAB_DATA.
            ENDIF.
            SELECT * FROM  EORD
                     WHERE WERKS  = P_WERKS        AND  "Plaint
                           MATNR  = WK_BOM-MATNR   AND  "Material
                           VDATU <= P_STDAT        AND  "Valid-From
                           BDATU >  P_STDAT.            "Valid-To
              MOVE-CORRESPONDING WK_BOM TO DATAITEM.
              DATAITEM-LIFNR  = EORD-LIFNR.             "Vendor code
              SELECT  * FROM  A018
                        WHERE LIFNR  =  EORD-LIFNR  AND  "Vendor code
                              MATNR  =  EORD-MATNR  AND  "Material
                              EKORG  =  EORD-EKORG  AND  "Purchase org
                              DATAB <=  P_STDAT     AND  "Valid-from
                              DATBI >   P_STDAT.         "Valid-to
                DATAITEM-DATAB = A018-DATAB.    "Condition From
                DATAITEM-DATBI = A018-DATBI.    "Condition To
                IF SY-SUBRC = 0.
                  SELECT * FROM  KONP
                           WHERE KNUMH = A018-KNUMH   AND   "Cnd Number
                                 KSCHL = A018-KSCHL   AND   "Cnd Type
                                 KAPPL = A018-KAPPL.        "Cnd Cat
                    DATAITEM-KBETR = KONP-KBETR.            "Price
                    DATAITEM-KONWA = KONP-KONWA.            "Currency
                    DATAITEM-KPEIN = KONP-KPEIN.            "Price Unit
                   DATAITEM-KMEIN = KONP-KMEIN.            "Unit of Material
                    APPEND DATAITEM TO TAB_DATA.            "Append TAB_DATA
                  ENDSELECT.
                ENDIF.
              ENDSELECT.
            ENDSELECT.
          ELSE.
            MOVE-CORRESPONDING WK_BOM TO DATAITEM.
            APPEND DATAITEM TO TAB_DATA.
          ENDIF.
        ENDSELECT.
        IF SY-SUBRC <> 0.
          MOVE-CORRESPONDING WK_BOM TO DATAITEM.
          APPEND DATAITEM TO TAB_DATA.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    "GET_DATA
    *&      Form  SET_OUTPUT
          text
    -->  p1        text
    <--  p2        text
    FORM SET_OUTPUT .
      CLEAR WK_CNT.
      LOOP AT TAB_DATA INTO DATAITEM.
        WRITE: /001   '|', 002 DATAITEM-LEVEL,   "Material Number
                007   '|', 008 DATAITEM-MATNR,   "Purchase Grp
                026   '|', 027 DATAITEM-POSTP,   "Item category
                030   '|', 031 DATAITEM-MENGE,   "BOM Component qty
                044   '|', 045 DATAITEM-DATUV,   "BOM valid from
                055   '|', 056 DATAITEM-DATUB,   "BOM valid to
                066   '|', 067 DATAITEM-EKGRP,   "Purchase Org
                071   '|', 072 DATAITEM-LIFNR,   "Vendor
                082   '|', 083 DATAITEM-MARK,    "Mark flag
                085   '|', 086 DATAITEM-KBETR,   "Price
                101   '|', 102 DATAITEM-KONWA,   "Currency
                107   '|', 108 DATAITEM-KPEIN,   "Unit Qty
                115   '|', 116 DATAITEM-KMEIN,   "Unit OM
                120   '|', 121 DATAITEM-DATAB,   "Cnd From
                131   '|', 132 DATAITEM-DATBI,   "Cnd To
                142   '|'.
        WK_CNT = WK_CNT + 1.
      ENDLOOP.
    ENDFORM.                    " SET_OUTPUT

    Prabhu Peram,
    Thanks very much.
    I want to show an idea of BOM explosion by constructing a stack.
    BOM explosion uses first-root-searching and pushes the "root" material into stack.If the "root" has no left-child,pops out the "root" material and searchs the right-child....and completes the entire BOM explosion.
    Message was edited by:
            Mic chen
    Message was edited by:
            Mic chen

  • BOM explosion in chracteristic Plng

    Hi
    I am trying to map a scenario by characteristic plng. scenario is like, i have steel industry product which is differentiated on basis of grade, dia, shape (major characteristics). and my major objective with plng of finished good is to aggregate molten metal requirement (SFG) on grade wise.
    so what I planned is i made configurable material grade wise using material type KMAT, plng stratagy 56.
    I have defined character (dia&shape, grade) and assigned to a class type 200(as per literature on sap help). and in class is defined for bom explosion.and in class object are assigned as per characteristic.
    i have defined BOM for configure material ,,,,bom item is class(as defined above one) with all required setting.
    I have created planning table & profile in DM.
    when  i m creating PIR ...characteristic wise it is taking but on taking MRP run it is not exploding bom....i.,e it is not picking right material as per class characteristic match.
    help me on this
    thanks in advance
    Rajesh

    Hi prakash
    yaa...it is variant based planning. but it is based on characteristics and for that I am using class type 200 & strategy 56. as per your reply if I go for strategy 54 than i have to use class type 300 and I have to make configure profile that is not my case.
    In my scenario first i have to create PIR for configure material for that pre-requisite is planning profile, planning table & chracteristics combination. I have maintained all these, these thing are all reflected when i am creating PIR (MD61) but when I am taking MRP run Planned order for configure material is generated but dependent requirement is not generated for down level material. I am using class item as BOM component, I don't know why it is not picking right component as per characteristics.
    thanks
    Rajesh

  • BOM explosion in BOMBOS transfer

    Hello,
          can any one tell me how BOM explosion happens in BOMBOS transfer? Thanks!!
    Regards,
    Saravana

    Dear Saravana
    I believe if you use "standard" configuration the is no BOM explosion done. This is not needed. The reason is "simple". Any BOM item must be as well a specification. Thsi specification will have it self a composition. The BOMBOS transfer "end" normally on REAL_SUB level. Therefore the "leaflet" REAL_SUB must be maintained by youe (composition) either using PURE_SUB or LIST_SUB. But if needed: there is some user exit available (more than one) which you could try to use so that the "BOS" which is generated on EHS side is the "exploded" 
    The reason why this is all "customer" specific developmet is "quite"  easy. You have a "main" BOM per plant; and you have alternative ones. How should the "explosion" be done? The system can not know thos. Do you always would liek to use the "Standard BOM"? Don'T know. But oplease check paralell thread:BOMBOS transfer SPRO settings and technical details
    C.B.

  • BOM Explosion in CRM & ECC

    Does anyone know of a way to control Sales BOM explosion at the item category level in the middleware?  We have boms created in our ECC system for both standard and configurable materials.  For our standard materials I need the sales BOMs to explode on the CRM order (for ISA shopping basket purposes) and to prevent a duplicate explosion in the ECC backend I have parameter NOSTRUCTURE set to X in SMOFPARSFA.
    CRM does not support using configurable products as the header or component of sales boms so for these materials I do want the bom explosion to happen in ECC as the order flows from CRM to ECC.
    I've tried adding order types and item categories to the parameter names for NOSTRUCTURE but it didn't work.  OSS confirmed my findings that it would not work.

    Hi,
    I did work on single level BOM explosion in a couple of projects. As per SAP note 549341 - FAQ: BOMs in the sales order, it is very much possible to explode multi-level BOMs.
    Check this note and item category BOM explosion options.
    <b>Do not forget to reward if it helps,</b>
    Regards,
    Paul Kondaveeti

  • BOM explosion in CRM Service Contract

    Hello
    We want have a BOM explosion working in CRM for service contracts
    Here are the details :
    We have replicated the materials from ECC to CRM. We are not maintaining any BOMu2019s in ECC.
    The idea is that we maintain the BOM Structure in CRM only, as we donu2019t want to have the Items as a billable item in a position, only for information purposes (or later on for metering)
    We have maintained the product category for the header product in CRM so we are able to maintain depended components
    (Relationship type SCDEC S Dependent Components (DC) )
    Not we are able to assign dependent component to the header material
    Item category groups:
    We understand that the standard item category groups that should be used are ERLA for the header product and LUMF for the Item product.
    In order to support the same functionality for the given item category group , maintained at the product level in ECC we copied the same setting for the item category group from the standard to
    our settings.
    Standart
    Tx type Item Cat Group item category structure scope
    TA ERLA TAQ A single level Explosion of Structured Product
    TA LUMF TAP A single level Explosion of Structured Product
    So we have copied TAQ to ZTAQ and TAP to ZTAP.
    ZS01 is a copy of SC (service contract)
    Tx type Item Cat Group item category structure scope
    ZS01 ZLEI ZTAQ A single level Explosion of Structured Product
    ZS01 LEIS ZTAP A single level Explosion of Structured Product
    But when we use a header product in the service contract, we cannot see the BOM is exploding.
    We have also created some products in CRM with exactly the same Item Category groups as the standard and when we create a standard order (TA) in CRM, the BOM is NOT exploding.
    Questions:
    Is it possible to have the BOM setup only in CRM, like we try to do it?
    Is it possible to use our own item category groups in CRM more is the functionality only working with ERLA and LUMF?
    Is it possible to use the BOM Explosion in Service contracts as well ?
    What steps are we missing to get the BOM explosion in CRM ?
    Thank you for your help
    Frank

    Hi,
    I did work on single level BOM explosion in a couple of projects. As per SAP note 549341 - FAQ: BOMs in the sales order, it is very much possible to explode multi-level BOMs.
    Check this note and item category BOM explosion options.
    <b>Do not forget to reward if it helps,</b>
    Regards,
    Paul Kondaveeti

  • BOM EXPLOSION IN SUBCONTRACTING SCENERIO

    Hi,
    To all Experts,
    This is regarding the bom explosion in subcontracting P.O(scenerio).Scenerio prob. is explained as follows -
    1) I have an assembly which includes the semifinish & raw materials.
    2) By cs11 it explpodes whole BOm
    3) When i made P.O. for job work order(subcon.), in mateial data view it displys only the semifinish components(i.e. component or explode bom) ,but not the raw,which we want to send to vendor.
    so due to above,how we can determine, what the material we are sending to vendor?
    In short i want to explode the bom in po,in which it displys the semifinish as well as its raw.
    So please suggest a propper solution for above query.
    Hoping suggestion quickly
    Thanks in advance
    Manish

    Hello Manish,
    Could you please tell me how you have resolved this problem. I have the similar requirement.
    "want to explode the bom in subcontracting po,in which it displys the semifinish as well as its raw."
    we are exploring the PHANTOM ASSEMBLY but still no luck.
    When i set at BOM item level - Phantom Assembly off indictor and  Spec. Procurement 50
    system is still requesting for transfer of Phantom Assembly instead of components to the vendor.
    Thanks in advance

Maybe you are looking for

  • Another iTunes won't open question

    When opening iTunes, I receive the "iTunes has encountered a problem and needs to close. We are sorry for the inconvenience." My system is a Microsoft Windows XP Professional Version 2002 with Service Pack 1. It is equiped with McAfee EPO, McAfee Vir

  • Completely PC-less

    Hello, I just purchased an iPAD2 and am looking to see if there are resources I can use to reach my goal of becoming PC-less.  I love the functionality of the iPad and would like this to become my one source for all my business needs.  I specifically

  • Games and 3D-Mark do not recognise/accpet Hydra GPU's

    I'm running a 870a motherboard with a MSI 6870. I decided I would try the Lucid function so I bought a 4670 just to assess performance gain before splashing out on something more expensive.  I tried 3D Mark which did not recognise the configuration a

  • How do I change the desktop image?

    In System preferences/desktop and screensaver/desktop I presumed that I could specify a directory for my desktop background, but when I try an add a directory to the list it says: 'The folder you selected is already present in the picture source list

  • No volume in loudspeakers

    i ave a hp folio 13 1000 ex ,with windows 7 64 Bit, there is no volume in the loudspeakers but there is volume in headset.Plz advice