BOM -construction

Sir,
We were asked to created BOM for equipments. I planned though LSMW.
But, TL asked me to create only constructiontypes to reduce data load.
What is construction type and where we can assign
what is bom assembly and equepment assembly
how to cretae the above.
Sai meghana

Hi ,
Consutruction type :- To my knowledge it is Material BOM .. you can assign create a material BOM and assign that to different eqpt rather than creating eqpt BOMs ..
Ex :-If u have 10MOTORs then u can create one Material BOM in CS01 and assign in all the eqpts ..where if ur going for Eqpt BOM then u need to create 10BOMs respective for each eqpt ..in this way u can reduce load ..
In ie02 under structure tab - u can mention material BOM ..created in CS01 -in construction type field ..
For defining material BOM -first create Material and then create BOM for that Material in CS01
generally Assembly means it has further some parts inside ,example -Gear Box .. assembly
regards
giri

Similar Messages

  • BOM Construction Advice

    Hey guys, new here so go easy! lol
    We have had SAP business one for over a year now, and use it for SOP and POP well.
    we have structured our BOM's and Items in a way which makes it very complicated, but this is the way we were told by our installer.
    A breif description on how we work:
    you pick a product, you choose options and add ons which substitute other standard options. Nothing out of the ordinary.
    E.g you want to buy a bike, which comes with plastic pedals as standard, but you want to upgrade to metal pedals, this sort of thing.
    how would you structure the Bill's of Materials suitably.
    many thanks.
    Martin.
    Edited by: MediPlinth on Sep 20, 2010 4:26 PM

    It would be easier modify the BOM at entry time,  just delete the line (Plastic Pedals) off the BOM and then add  the line for the metal pedals when entering the order.
    If you were to swap the pedals from an existing assembly:
    Item            Desc.                                                 Qty
    bk000000   Bike Generic c/w Plastic Pedals         1
    bk000001   Plastic Pedals                                    -1
    bk000002   Metal Pedals                                        1
    so if for example, using the bike method again,
    i have a BOM for the bike with 2 plastic pedals as a positive
    and then a second BOM for the metal pedals with positive 2 metal pedals and negative 2 plastic pedals.
    will this then even my stock for the plastic and negative my metal pedal stock?
    would this be a viable route for the business to go?

  • Constructions Industry - Use of SO BOM

    Hi,
    We are using ECC 6 and my client is a constuction company.
    The company is using SAP material no - material type DIEN and this is entered during SO creation.
    We dont keep any inventory as the nature of the business is construction/service.
    For example - we have SO - Construction of 2Storey Building  - Material No = C2S
    There is a template that constitute the activity being done for C2S ( ie: Excavation, Pilling, BackPilling etc) which has its corresponding cost equivalent.
    The sum up cost of the activity is the SO price which include some mark up.
    At the moment, this activity is manually calculate and outside of SAP.
    My client now want to incorporate the template/activity with cost  to SAP - the intention is that- when a Sales Order coming in. The template will automatically captured for that  order with the corresponding price et..
    Not sure but it seems the concept is to activate the BOM.
    Pls consider me as totally newbie on BOM, i understand its concept but i dont know how it will be done through SAP setting..
    Appreciate if i got the right approach and value all the help of how to achieve it in SAP.
    Thanks in advance.
    She

    Hi She,
    The requirement detailed by you is a typical requirement, which most of the customer wants irrespective of industry. This requirement cannot be and should not be addressed in SAP logically. The reason being that the cost of procurement will vary. In the example of Construction industry, labour price will vary from place to place withing same city, other charges like electricity consumed will also differ based on service provider, if the site is not easily approachable by regular or large teucks / containers, the cost of transportation will vary, and so on.....  This is a part of wish list a client will always have, but it is important to draw a line, beyond which even a development should not be proposed. The value will as it be required to be entered manually on most occasion, as there will be no standard price of procument.
    Even if a thought is given for Development, the impact of development on the system, volume of added master data, time to be considered to trigger the event during transaction, feasiablity and system performance also require to be considered.
    Regards,
    Rajesh Banka

  • Runtime Error # DBIF_RSQL_INVALID_RSQL for large size BOMs

    Hi All,
    I am facing problem running a custom report for Routing summary. When Executing the report gives the above runtime error.
    ShrtText: Error in RSQL module of database interface. 
    Error analysis :
    An exception occurred. This exception is dealt with in more detail below                      
        . The exception, which is assigned to the class 'CX_SY_OPEN_SQL_DB', was neither caught nor passed along using a RAISING clause, in the procedure                              
         "CP_SC_MTK_LOAD_COMPLEX_BY_TSK" "(FUNCTION)"                                                 
    Since the caller of the procedure could not have expected this to occur, the running program was terminated.                                                
        The reason for the exception is: The SQL statement generated from the SAP Open SQL Statement violates restriction imposed by the database system used in R/3.                                                                               
    Possible errors:                                                                               
    o The maximum size of an SQL statement has been exceeded.                                    
         o The statement contains too many input variables.                                           
         o The space needed for the input data exceeds the available memory.
    How to correct the error                                                                               
    The SAP Open SQL statement must be divided into several smaller units.                        
        If the problem occurred due to the use of an excessively large in an IN itab construct, you can use the addition FOR ALL ENTRIES                             
        instead.  When you use this addition, the statement is split into smaller according to the restrictions of the database system used.                                                                               
    You may able to find an interim solution to the problem in the SAP note system. If you have access to the note system yourself,                       
        use the following search criteria:                                                                               
    "DBIF_RSQL_INVALID_RSQL" CX_SY_OPEN_SQL_DBC                                                   
        "SAPLCPSC" or "LCPSCU03"                                                                      
        "CP_SC_MTK_LOAD_COMPLEX_BY_TSK"   
    This report uses SAP standard Function module "CP_SC_MTK_LOAD_COMPLEX_BY_TSK" in the select statement.
    When Analysed, We found that since the BOM size for routing is large(More than 2000 components), this dump is coming. for rest of the routings, the report works fine.
    I could not found any SAP note relevant for this.
    This is definitely related to large BOM size, if anybody of you came across such problem and how to correct it now.

    Hi,
    We did solve this problem. This problem usually comes when there is very large records in internal table (More than 2000 Approx).
    We need to split that select statement and make multiple statements so that the memory overflow doesn't happen. refer SAP note: 13607.
    We modified the coding as follows by splitting the SELECT statementu2026
    SELECT DISTINCT MANDT PLNTY PLNNR PLNAL MATNR WERKS VBELN POSNR
            INTO CORRESPONDING FIELDS OF TABLE E_MTK_IDENT
            FROM MAPL FOR ALL ENTRIES IN I_TSK_IDENT
            WHERE PLNTY =  I_TSK_IDENT-PLNTY    AND
                  PLNNR =  I_TSK_IDENT-PLNNR    AND
                  PLNAL =  I_TSK_IDENT-PLNAL    AND
                  MATNR IN I_CPSC_MTK_SEL-MATNR AND
                  WERKS IN I_CPSC_MTK_SEL-WERKS AND
                  VBELN IN I_CPSC_MTK_SEL-VBELN AND
                  POSNR IN I_CPSC_MTK_SEL-POSNR AND
                 (FREE_WHERE-WHERE_TAB).
      SELECT MANDT PLNTY PLNNR PLNAL MATNR WERKS VBELN POSNR
             INTO CORRESPONDING FIELDS OF TABLE E_MTK_IDENT
             FROM MAPL FOR ALL ENTRIES IN I_TSK_IDENT
             WHERE PLNTY =  I_TSK_IDENT-PLNTY    AND
                   PLNNR =  I_TSK_IDENT-PLNNR    AND
                   PLNAL =  I_TSK_IDENT-PLNAL    AND
                  (FREE_WHERE-WHERE_TAB).
      Delete E_MTK_IDENT where matnr NOT in I_CPSC_MTK_SEL-MATNR.
      Delete E_MTK_IDENT where werks NOT in I_CPSC_MTK_SEL-WERKS.
      Delete E_MTK_IDENT where VBELN NOT in I_CPSC_MTK_SEL-VBELN.
      Delete E_MTK_IDENT where POSNR NOT in I_CPSC_MTK_SEL-POSNR.
    Hope this helps you.
    Regards, Madhu

  • 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

  • Item cost in Bills of material(BOM)

    How to see item cost(FIFO, Average) for all raw material when constructing BOM. I feel strange why SAP is calling out from price list since price list consist of purchase cost or selling price rather than actual inventory cost based on inventory valuation method?
    Regards
    Thomas

    Hi Thomas,
    What about using the "Last Calculated Pricelist".  Would'nt that carry forward the Valuation Price?  You would need to run a "Update Parent Prices Globally" to update the latest Valuation of the Item.  Please check on this as I am not 100% sure of it.
    So try this as it may work.
    - Create a pricelist called "Valuation Pricelist" and base this pricelist on the "Last Calculated Pricelist" and at a factor of 1.
    - Set your Components Item's Pricelist as the "Valuation Pricelist" on your Item's BOM.
    - Set your Parent's Item Pricelist also to the "Valuation Priclist" on you Item's BOM and click the orange arrow/triangle button to update the "Parent Product Price" value.
    - Update the BOM
    - Run a full Production cycle and see what your results are and this should have a "Total Variance" (between your "Actual Components Cost" and your "Actual Product Cost") to zero $0.00
    If I am correct, this should carry the total components' values over to that manufactured parent's value.
    But every time you purchase a component ("Recieve"), you will need to do an "Update Parent Item Prices Globally".
    Try this and let me know what your results are.
    Thanks
    Message was edited by: Noor Jooma

  • Need BOM related solution for Textile Industry (Weaving proces)

    HIi,
    Made to Order Strategy:
    Every times customer sends the specification of product. Specification format as given below:
    Ex. 80x100/154x80*3-118u201D 4/1 Twill
    Details of specifications:
         80: Count of EPI (Ends Per Inch)
         100: Count of PPI (Picks Per Inch)
         154: EPI
         80: PPI
         3: Insertation
         118u201D u2013 Width in Inch
         4/1 Twill : Design of Fabric
    Operations Details:
    1 Warping
    2. Sizing
    3. Weaving
    4. Quality Inspection
    5. Packing
    As Is Business Process:
    There are mainly four production lines viz. Warping, Sizing, Weaving and Quality Inspection. For all the production lines the individual machine work centers will be as listed below with brief description:
    1.     Sectional Warping:
    A kind of Warping specially used to prepare fabrics for shirting. In sectional warping dyed yarns are used to prepare warping beam. The end constraint of sectional warping is 720 ends at a time. The actual capacity of Sectional warping is 800 MTR/min.  This activity is job work for DEESAN group.
    2.     Direct warping:
    Direct warping process is used to prepare warping beam. The end constraint of warping is 1088 ends per beam. Machine width of the beam in 2200 mm, speed of warping varying from 300 MTR to 1200 MTR per minute depending upon the construction required. It has backup procedure for next round. Uploading speed   for single yarn is 8 yarn / min / person.
    3.      Sizing:
    Sizing process is used to prepare specific number of EPI/ beam as per the requirement of construction. A calculated no of warp beam used to prepare a single sizing beam. Speed of sizing 45 to 55 MTR / minute depending on the requirement of fabric.     
    4.     Preparation of Drawing:
    This process is used to preparation of new drawing for the loom machine. Drawing includes frame & reed. It will take 12 hr for 2 persons to prepare a single drawing i.e. 8000 ends per shift. This activity given as job work to some group of people.      
    5.     Weaving:
    Two types of weaving machines used are CAM and DOBBY. Fabric to fabric PPI is varying, the capacity of loom machine depends upon the PPI so the capacity of loom machines varying with the type of fabric. CAM is used specially for plain fabrics.
    6.     Quality Inspection:
    The beams of fabrics coming from looming machine are inspected on Inspection machine. 100% fabrics are inspected on QA machine for further grading, which is then bifurcated in Export, Local and chindi type.
    7.     Rolling:
    Rolling machine is used for rolling of inspected fabric on card board rolls according to the quality of fabric. A roll contain of maximum 350 MTR of fabric. Which are then packed with LDPE followed by HDPE with appropriate coding on rolls.
    Material Requirement:
    For ex. 80x100/154x90*3-118u201D 4/1 Twill
    Order Qty.: 20000 M
    Currently they are using single level BOM.
    Formulas for calculate raw material requirements as given below:
    Warp wt / mtr = (EPIWidthCrimp) /(1693*Count of EPI)
              = (154 * 118 * 1.025)/(1693 * 80)
              = 0.137524
              = 0.138 Kg/Mtr
    Weft wt / mtr  = (PPIInsertationWidth * Crimp) /(1693*Count of PPI)
              = (9031181.025)/(1693100)
              = 0.192891
              = 0.193 Kg/Mtr
    Total Qty req:
    Warp = 0.138 * 20000 + add 5% loss
         = 2898 KG
    Weft = 0.193 * 20000 + add 4% loss
         = 4014 KG
    Packaging material requirement :
    1. Paper tube = Total order qty / approximately for 300 m 1 paper tube required + 5% loss
              = 20000 / 300 *1.05
              = 70
    2. HDPE sheet = No. of paper tube * 0.4 KG
          = 70 * 0.4
         = 28 KG
    3. LDPE sheet = No. of paper tubes * 0.15 KG
              = 70 * 0.15
              = 10.5 KG
    Chemical consumption in terms of yarn on KG basis. Its combination of 4-6 chemicals depends on construction to construction also material availability.
    Note: We will consume chemicals against cost center.
    Production planning at execution time:
    Sizing and warping calculation:
    1.     Sizing :
    EPI per inch = 154
    On loom will be = 154 * 1.025
               = 157.85
    Total no of ends for 118u201D width = 157.85 * 118
                        = 18626
    Add one more ends per 1000 ends = 18626 / 1000
                        = 19 ends
    Total no of ends  = 18626 + 19
              = 18645 for  sizing
    Warping :
    Warping m/c capacity of output is 1088 Ends per set/beam.
    Speed of machine 300-1200 MPM.
    So for sizing we need 18645 ends. Now we want to calculate no warp set required for sizing & no. of ends per warp set.
    Ends required per set = 18645 / 18 = 1036
         i.e. 18 * 1036 = 1 Sizing set
    We need total yarn on KG basis
    Issue related to BOM:
    1.     How We can feet below 2 issues in BOM
    a.     we want to calculate RM(Yarn) material requirement in Unit of  u201CENDu201D
    NOTE: Procurement of Raw material Unit- KG as well as it depends no. of ends required for warp set / beam. i.e. its multiple of yarn cone required for 1 warp set.
    As per Bom of Raw Martial Unit- Ends (EA)
    b.     Also we want to calculate no of warp set required for sizing and no of ends required for warping process.

    Hi Pankaj,
    Hope you might have completed the project for Textile industry. I need to know implementation in Textile and some specific process. If you can share some documentation for Textile industry would be very helpful for me. My id k.anamika06 at gmail
    Thanks a lot
    Anamika

  • Sample bom creation and explosion in sales order

    hi,
         can any one help to create a simple bom with atleast one sub item for the bom and create a sales order in which the bom explodes ( i mean when u enter the main bom item it should list its sub items as its line item below it)...
    (also mention what item categories are to be taken care ... )
    rewards for sure
    thanks
    mmn

    Hi MMn,
    Bill of materials (BOM)
    1. In the SAP System, you can use BOMs to represent different objects (such as materials, equipment, functional location BOMs, and documents) and to maintain object-specific data.
    2. Document BOM: A complex document may be made up of several documents, such as a program, technical drawings, papers, and photographs. These related information and documentation objects are grouped together as a unit using a document structure – a BOM for a document.
    3. Equipment BOMs are used to describe the structure of equipment and to assign spare parts to equipment for maintenance purposes. Bills of material for functional locations group together the elements of a technical structure, such as the functional unit of an entire plant.
    4. You work with order BOMs when you specially tailor the make-to-order production of your products to the requirements of your customers. In order to meet the customer requirements, sales order specific modifications to various assemblies are often required. Furthermore, assemblies are often specially constructed for a particular sales order.
    5. Before you can create a BOM for the component parts of an object, the object must have a valid master record in your system.
    6. A bill of material that you create for a material is known as a material BOM in the SAP System. A BOM explosion answers the question: What is the product made of? This question arises in various situations, such as when you want to:
    Determine material requirements for a product
    Look at the overall structure of a product in a design department
    See an overview of the parts and materials required
    Calculate the effects of changes to costs
    7. BOM is a collection of materials that make up a product. For example – computer, home theatre system. Material BOM is complex and is dependent on sales and distribution, material management or production planning.
    8. The most important rule is that the material type has to be a FINISHED PRODUCT (FERT) in order to categorise it as a BOM.
    9. BOM processing is divided into two different ways – either at the MAIN item level if the item is assembled or at the sub-item level (i.e. at the component level) if the material is not assembled.
    10. BOM is configured at the item category level (VOV7) and transaction code to create a BOM is CS01.
    11. In case of single level BOM, main item categories TAQ and TAP should represent single level BOM in VOV7 and in case of multi level BOM, the main item categories should represent multi level BOM.
    Main item level processing
    1. The material master records should have the item category group ERLA in the sales org.2 screen of the finished product. In this case, the associated sub items function only as text items, and thus are not relevant for delivery. This process ensures that pricing, inventory control and delivery processing is carried out the header level that is for the finished product only. This is mainly relevant to the assembled products.
    2. item category group – ERLA; main item category – TAQ (schedule line – CP) and sub item category – TAE (schedule line – CT)
    Sub-item level processing
    1. If the business prefers to have the sub-items be responsible for pricing, inventory control and delivery processing, the item category group should be LUMF on screen sales org.2 of the respective material master record. This ensures that subcomponents are relevant for processing. This is relevant to the products that are not assembled.
    2. item category group – LUMF; main item category – TAP (schedule line is CT), sub item category – TAN (schedule line is CP)
    Multi-level BOM
    In order to activate the multi-level BOM, structure scope in VOV7 has to be changed from single level explosion to multi level explosion.
    Try this and revert back fr clearifications
    Reward Points if helpful.
    Regards
    Srini

  • Stop or Control BOM explosion

    Hello Experts,
    I have a business case where my customer builds very large constructions. The have large BOMs (many levels) representing these constructions.
    Obviously, they do not want to just assign the top material of this mulitlevel BOM to an activity and run MRP. they need to be able to assign different sub-components to different network activities to be able to track both costs and progression.
    My problem is that I am not able to control how much of the BOM that explodes. The top assembly should be assigned to one activity, but there, I only want the BOM to explode down to the next level and so on.
    I am sure that this is a quite normal requirement, but I am simply not able to solve it. Have spent hours on help.sap.com, talking to other consultants and looking in this forum without finding the answer.
    All my components need to be held in stock, so phantom items will not help me.
    Anyone who has any suggestions on how to do this?
    rgds
    GAR

    Hi,
    As per me u can define BOM status in OS03.
    1. In one BOM staus parameter u define MRP not allowed by unticking MRP exlposion.
    2. In another BOM status u can Tick MRP explosion parameter.
    Whereever u want MRP shuld not exploded u can assigne BOM status for Header material as 1 as in case of subassy. And if u want MRP shuld exploded for Header matrl u can assign BOM status as 2 in CS01 Header matrial Qty/long text  tab
    Rgds

  • Use of construction type field in Equipment master

    Dear All,
    What is the use of construction type field in equipment master and how can i use in plant maintenance  processes or transactions
    If possible give some examples.Also any one have some document or link related to construction type, kindly provide.
    Thanks & Regards,
    Sandeep

    Construction Type is used for identify the equipments having similar construction of materials.
    For examples: Identical Mechanical seal used in different pumps.
    A BOM can be linked to a technical object in two ways:
    By direct assignment: directly assigned BOM
    If you create a bill of material directly for a technical object, it is assigned directly. If all the technical objects are identical in terms of structure, the BOM items are valid for all the allocated technical objects.
    By indirect assignment: indirectly assigned BOM
    For technical objects that have a material BOM - if you enter a material number in the Construction type field of a master record, the material BOM is indirectly assigned to the object. This is a good idea when a company has several identical technical objects grouped under one material number.
    Regards
    Dhiren

  • How to manage bom effective in and out dates

    The parent-child relationships in my BOMs have effective in and out dates. The in date is when the child part starts to participate in the BOM cascade. Then out date is when it stops participating.
    My questions is, how to express this in IOP speak. Specifically, when I want to say is,
    dependent demand = dependent demand + <total demand from parent> * if (today is in [BOM.in_date .. BOM.out_date], BOM.usage, 0)
    I'm sure it can be done, just haven't been able to figure out how. I poked around the function reference in jdocs, but haven't come up with a way to do this. Seems like the key here is to construct locations out of the dates I pull out of the rowsource. Once I have that, I should be able to use the in() and range() functions.
    Thanks for your advice.

    Matt
    Yes, this is fundamental and supported well. Unfortunately, it used to be custom code before the release coming out soon. In this release, we have introduced generic functions to achieve that. The in_date and out_date are function of the relationship I assume.
    Here is what you could do with the new release -- remember this should be coded in the rolldown/rollup formula --
    dependent demand = dependent demand + <total demand from parent> * if (isCurrentDateInRange(
    lookupDate("BOM_STRUCTURE_RS", property("BomDim", "name"), sourceSparseMember("BomDim"), "start_date"),
    lookupDate("BOM_STRUCTURE_RS", property("BomDim", "name"), sourceSparseMember("BomDim"), "end_date")),
    lookup("BOM_STRUCTURE_RS", property("BomDim", "name"), sourceSparseMember("BomDim"), "SCALE_FACTOR"), 0)
    lookupDate and isCurrentDateInRange are introduced now.
    Lookup in general is a cool function that lets you do arbitrary query to rowsource. It is like table lookup and it is efficient within a block calculation.

  • BOM DAta Access in SRM

    Hi,
    WE are implementing a PLM - SRM integration wherein products once finalised would need to be communicated over to the Vendors for finalising product design. we would be having SAP R/3 as the system which would be the bedrock so as to say. after product design stage where the BOM would be constructed, how can we access the BOM DATA through SRM ? i checked the SRM master data, ALL of which would be sourced through R/3 using CRM Middleware, what i want to knwo is, how will we import BOM data into SRM ?
    regards
    authi

    SRM does not have native capability to store structured items (like bill of materials or bill of services) like in R/3.  Even if you somehow replicate the BOM into SRM (using CRM middleware) the procurement documents cannot handle such structure items.
    Kind Regards, Suresh.
    Message was edited by: Suresh Ramanathan

  • Construction Issues

    Hi All,
    My client is an Ifrastructure Developer, the issue here is as follows:
    We treat construction of a building (with 10 appartments) as a project, this project has got 11 WBS at level 1. The first Level 1 WBS (lets call it Construction) will have sub WBS which will cover the cost for all the project, and the other 10 WBS elements represent the 10 appartments.
    Every month end the cost on the Construction WBS will be settled proportionately to all 10 WBS for appartments.
    Any Appartment when booked for sales, the sales order is created with acct assignment of that respective WBS. Everything works properly after this - RA / Settlement etc.
    Issue is when out of these 10 appartments, 2 are not sold but are completed - customer wants to place them in Inventory - ie quantity and value.
    Is it possible or is there any work around ?? its MTS + MTO scenario without BOM.
    Thanks in Advance
    Sandeep GHAG

    Example:
    Construction    L1
         Land Acquisition           L2
         General Development    L2
         Sub-Structure               L2
         Super-Structure            L2
         Water Connections       L2
         Electricity Connections L2
         Interiors                       L2
    Apartment 01  L1
    Apartment 02  L1
    Apartment 03  L1
    Apartment 04  L1
    Now the WBS - Construction will incur actual costs in terms of labor, material etc (from the Level 2 WBS like Land Acquisition / General Development etc) - this cost will be settled periodically to every Apartement WBS proportionately.
    Only the WBS for Apartments will be Billing Elements and Sales order for every Apartment will be created with Acct Assignment for individual WBS Apartment. RA will be run for every Apartment WBS that will be sold out.
    Now the issue is can we show the Apartment (Finished Good) as inventory incase it is not sold ??
    Regards
    Sandeep GHAG
    Edited by: Sandeep Ghag on May 26, 2009 2:05 PM

  • BOM for textile (weaving process)

    Hi,
    Can any one tell me how to maintain BOM for textile (weaving process). I need BOM logic with stage wise.
    For ex. I had order of following construction 60x60/154x58^3-120"
    Now I need multilevel BOM logic for this construction.
    list of operations as given below:
    1. Warping
    2. Sizing
    3. Weaving
    4. Packing
    Thanks & Regards,
    Dhamane

    Dear Dhamane,
    Whatever you have provided is the specification of your product which alone is not required to design the structure of a BOM.
    Kindly provide the details of the materials used in production with the sequence in which the final product is formed.
    Thanks & Regards,
    Vijaya Bhaskar A

  • Assemblies & BOM in PM

    Hi,
    I need help to understand as to how assembly is used in PM ?
    I have crated one assembly,then created a quipment BOM and the same I have assigned it to the order from the assembly and list icon in component tab. Now I need to understand how it works further ? The flow ?
    Also what is the difference if we create Equipment BOM or Material BOM ?
    Regards,
    Meghaa

    Hi
    Please check the link very useful to understand.
    http://www.sap-img.com/plant/plant-maintenance-assembly.htm
    Equipment BOM we create when there are less in number or very unique structure but if we have equipment like similar structure we go for material BOM  and use the functionality of Construction type in Equipment Master data.
    Shail

Maybe you are looking for

  • IOS4 upgrade

    Can someone tell me how long it generally takes for apple to recognise the problem on the iOS4 software with car audios? and issue upgrade to solve it, or is it just a waiting game?

  • SQLPlus login hangs because of "Thread 1 cannot allocate new log"

    Hi to everybody! Could you please give an advice how to overcome the following situation. In my 10GR2 database I have destination for archive logs placed in ASM disk group. When suddenly this disk group becomes overfilled I can not login into the dat

  • How do I get old wallpapers back from ios 6?

    Hi, I recently updated my iPad to iOS 7, and I had my homesreen with an ios 6 wallpaper picture.  I was looking around with the wallpapers when I accidently put another wallpaper.  I wanted to change it back,  but I saw that wallpaper is not there an

  • Multiple file download

    I'm using FileReference.download() to download a single file from a server to a local machine. The download() function opens a dialog box where the user select where he wants to save the file and what name give to it. Is it possible to download X fil

  • Can only import non-iTune songs

    I have a new XP computer and want to import via CDs from older computer. Do not get import option for CD with iTunes songs, but do get it for non-iTunes CDs. Apple documentation says transfer of iTunes to a certain number of authorized computers is l