Overall BOM Details

Hi friends,
Please an anybody answer to my following:
1) T-code to display overall BOM of all Finsihed goods (FG) i.e., if suppose i put a range for FG say 1000 to 1999 then the overall BOM of those FG should display
2) How can i insert a image to my BOM
3) How can i view long text in all BOM through display T-code
4) How can i delete the BOM permanent from the system
5) How can i create my own display of BOM through Z
it will be very help if you answer me this question. Thanks in advance have a nice day.

Dear Phalgun,
1.Is there any business requirement to view all the BOM details of all finishes goods?If so i will suggest you to develop a Z report
using the functional module CS_BOM_EXPL_MAT_V2,but however make some restriction for the maximum no of entries that is
allowed to view or download.
2.You can attach the drawings as document items (as BOM component using the item category D) by first creating documents
using CV01N.
3.You can use long text functionality to enter the long text for each component under item details.
4.For BOM deletion check this link,
http://help.sap.com/saphelperp60_sp/helpdata/en/ea/e9bc124c7211d189520000e829fbbd/content.htm_
Regards
Mangalraj.S

Similar Messages

  • How to created exit for CS02 transaction to maintain bom details of a mater

    hi ,
         plz explain how to created exit for CS02 transaction to maintain BOM details of a material. what is the BOM component . give me sample example.

    Hi,
    these are the user-exits for CS02
    Transaction Code - CS02                     Change Material BOM
    Exit Name           Description
    PCSD0001            Applications development R/3 BOMS
    PCSD0002            BOMs: Customer fields in item
    PCSD0003            BOMs: Customer fields in header
    PCSD0004            BOM comparison
    PCSD0005            BOMs: component check for material items
    PCSD0006            Mass changes user exit
    PCSD0007            Check changes in STKO
    PCSD0008            WBS BOM: Customer-specific explosion for creating
    PCSD0009            Order/WBS BOM, determine URL page
    PCSD0010            Order/WBS BOM, determine explosion date
    PCSD0011            Knowledge-based order BOM, parallel update
    PCSD0012            Customer - Mat. number/mat. number during material exchange
    PCSD0013            Customer-specific processing of an explosion for BOM browser
    Regards
    Nilesh

  • Function module to get the BOM details for a material-plant combination

    hi
    Is there any function module to get the BOM details such as
            BOM Usage       -STLAN
            Alternative BOM -STLAL
            Items                -POSNR
            Required Quantity-EMENG
            Resulting Quantity-MENGE
            Unit of measure    -BMEIN
            Base unit of measure-MEINS
    for a given material-plant combination
    if so please suggest me some FMs.................
    Awaiting for ur reply..............

    try the below fm it may be useful for you
    DATA : BEGIN OF I_BOM OCCURS 0.
            INCLUDE STRUCTURE STPOX.
    DATA : END OF I_BOM.
    CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
        EXPORTING
          CAPID                 = 'PP01'
          DATUV                 = SY-DATUM
          MEHRS                 = 'X'
          MTNRV                 = P_MATNR
          WERKS                 = P_WERKS
        TABLES
          STB                   = I_BOM
        EXCEPTIONS
          ALT_NOT_FOUND         = 1
          CALL_INVALID          = 2
          MATERIAL_NOT_FOUND    = 3
          MISSING_AUTHORIZATION = 4
          NO_BOM_FOUND          = 5
          NO_PLANT_DATA         = 6
          NO_SUITABLE_BOM_FOUND = 7
          CONVERSION_ERROR      = 8
          OTHERS                = 9.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    just befor use it check your application area.for my case it is PP01. you can find it in CS12 when you are exploding the bom the value you are giving in BOM application that is the value for CAPID.
    Just go to se37 and checkout the fm it has lot of options here I am using the minimum things.
    regards
    shiba dutta

  • BOM Details in to a Purchase and Sales Documents

    Hi
    How to get BOM Details in to a Purchase and Sales Documents (With COmponentItems Details).

    Hi Chakrapani Bandaru,
    According to our knowledge, only BOM of 'Sales' type can be displayed with its components together in Sales documents. But this kind of BOM can not be selected in Purchase documents since they can not be 'Purchased Item' (Item Master Data).
    Additionally, BOM of 'Template' type can also display its components in Sales/Purchase documents, but in a different way. The parent and its children are parallel in the documents.
    Regards,
    Candice Ren
    SAP Business One Forums Team

  • BOM Details

    Hai All,
               I am developing 1 report of BOM details.
    In the below query, I am joining Marc and plpo table.
    But no data is coming to i_final internal table.
    I am not able to find out the reason. Please help me.
    SELECT a~matnr
                     a~werks
                     a~basmg
                     a~bstmi
                     a~bstma
                     b~meinh
                     b~ltxa1
                     b~vgw01
                     b~vge01
                     b~vgw02
                     b~vge02
                     b~lifnr
                     b~istnr
                INTO CORRESPONDING FIELDS OF TABLE i_final
                FROM marc AS a INNER JOIN plpo AS b
                ON aplnnr = bplnnr
               FOR ALL ENTRIES IN i_stpo
                WHERE a~matnr = i_stpo-idnrk.

    Hi Kavitha ,
       U can try it by spliting the query into two parts like below may be it will help u out.
       SELECT matnr
    plnnr
    werks
    basmg
    bstmi
    bstma
    INTO CORRESPONDING FIELDS OF TABLE i_final
    FROM marc
    FOR ALL ENTRIES IN i_stpo
    WHERE matnr = i_stpo-idnrk.
    once i_final is populated with these entries u can  move further as:-
    make another table it_final having fields matnr
    werks
    basmg
    bstmi
    bstma
    and
    meinh
    plnnr
    ltxa1
    vgw01
    vge01
    vgw02
    vge02
    lifnr
    istnr and
    select.
    SELECT meinh
    plnnr
    ltxa1
    vgw01
    vge01
    vgw02
    vge02
    lifnr
    istnr
    INTO CORRESPONDING FIELDS OF TABLE it_final
    FROM plpo
    FOR ALL ENTRIES IN i_final
    where plnnr =it_final-plnnr.
    now
    loop at it_final.
    l_index = sy-tabix.
    read table i_final with key plnnr = i_final-plnnr.
    if sy-subrc = 0.
    modify it_final index l_tabix transporting matnr werks basmg bstmi bstma.
    endif.
    endloop.
    or
    select plnnr as well in ur query.
    hope this solves ur problem
    Thanks & Regards,
    Ruchi Tiwari
    Edited by: Ruchi Tiwari on Mar 2, 2009 8:40 AM

  • Getting BOM Details of a material

    Hi All
    I have a scenario where I want to get the BOM details of a material.
    I have displayed the sales order details and want to see if the BOM exists for the line item or not.
    when I double click on the line item it should take me to the next screen where the BOM details of the material should appear.
    But I am not aware how to use the FMs 'CAVC_C_EXECUTE', 'CAVC_C_GET_INSTANCES' and similar FMs ans what should be there sequence?
    If any one knows about these FMs and there use, please help me.
    Thanks in Advance
    Lalit Gupta

    Use these function modules.
    CSAI_BOM_READ.
    CS_BOM_EXPL_MAT_V2.
    You can also use FM CS_WHERE_USED_MAT to check if material bom exists for BOM component.

  • BOM Detailed REport

    Hi what tcode/s to use to generate report of BOM with details of internal and external activities and also their cost per item. thanks

    Hi
    You can use following transactions to view BOMs
    CS11 for material BOMs and CSPB for order BOMs.
    Regards
    Srikrishna

  • Query to showed all level of BOM details, sort by create/update date

    Hi expert,
    I need a query to display all the level of BOM and can be sort by create / update date.
    The display of query should be as below:
    A (1st level) Parent BOM
    B (2nd level) Child BOM 1
    B (2nd level) Child BOM 2
    C (3rd level)  Child BOM 2 - 1
    C (3rd level)  Child BOM 2 - 2
    B (2nd level) Child BOM 3
    B (2nd level) Child BOM 4
    Below is the BOM  query that can only display up to 2nd level and cannot sort by date.
    Can someone please help to modify or there is a better query?
    Thanks
    Declare @BOMDetails table(TreeType Nvarchar(MAX),PItem NVARCHAR(Max),PName NVARCHAR(MAX),CItem  NVARCHAR(Max),CName NVARCHAR(MAX),[Quantity] Numeric(18,2),[UoM] NVARCHAR(MAX),[WareHouse] NVARCHAR(MAX),[IssuMethod] NVARCHAR(MAX),[PriceList] NVARCHAR(MAX))
    INSERT Into @BOMDetails
    SELECT T1.TreeType ,T0.Father AS [Parent Code], T2.ItemName AS [Parent Description], T0.Code AS [Child Code],
    T1.ItemName AS [Child Description], T0.Quantity ,T0.Uom ,T0.Warehouse ,T0.IssueMthd,T0.PriceList  
    FROM ITT1 T0 INNER JOIN OITM T1 ON T0.Code = T1.ItemCode
                 INNER JOIN OITM T2 ON T0.Father = T2.ItemCode
    Union All
    SELECT ' ',T0.Father as [Parent Code], T2.ItemName AS [Parent Description], ' ', ' ', 0, ' ',' ',' ' , 0 FROM ITT1 T0 INNER JOIN OITM T1
    ON T0.Code = T1.ItemCode INNER JOIN OITM T2 ON T0.Father = T2.ItemCode
    Group By T0.Father,T2.ItemName
    ORDER BY T0.Father,t0.Code
    update @BOMDetails set PItem='' ,PName='' where TreeType='N' or TreeType='P'
    Select PItem as[Parent Code] ,PName as [Parent Description],CItem as [Child Code],CName as [Child Description],Quantity,UoM,IssuMethod ,PriceList    from @BOMDetails

    Hi,
    Try this query and modify as per your requirement:
    SELECT
    T0.[Father] as
    'Assembly',T0.[code] as 'Component1', t10.[ItemName]
    'Description1',T1.[Code] as 'Component2', t11.[ItemName]
    'Description2', T2.[Code] as 'Component3', t12.[ItemName]
    'Description3', T3.[Code] as 'Component4', t13.[ItemName]
    'Description4',T4.[Code] as 'Component5', t14.[ItemName]
    'Description5', T5.[Code] as 'Component6', t15.[ItemName]
    'Description6'
    FROM
    ITT1 T0 LEFT OUTER
    JOIN ITT1 T1 on T0.Code = T1.Father LEFT OUTER JOIN ITT1 T2 on
    T1.Code = T2.Father LEFT OUTER JOIN ITT1 T3 on T2.Code = T3.Father
    LEFT OUTER JOIN ITT1 T4 on T3.Code = T4.Father LEFT OUTER JOIN ITT1
    T5 on T4.Code = T5.Father LEFT OUTER JOIN ITT1 T6 on T5.Code =
    T6.Father left outer join oitm t20 on t0.father = t20.itemcode left
    outer join oitm t10 on t0.code = t10.itemcode left outer join oitm
    t11 on t1.code = t11.itemcode left outer join oitm t12 on t2.code =
    t12.itemcode left outer join oitm t13 on t3.code = t13.itemcode left
    outer join oitm t14 on t4.code = t14.itemcode left outer join oitm
    t15 on t5.code = t15.itemcode
    Thanks & Regards,
    Nagarajan

  • BOM details required

    Hi,
    I need to know the sub part no for a specific part no.
    I request you to also tell me how will I know which is the mail part no and the sub part related to it.
    I need to get the details for the subpart whoses quantity is less for production purpose.
    Need the fields which I need to work on.
    Regards,
    Kamlesh

    Hi,
      Check the tables..
    MAST
    STKO
    STPO
    STZU..
    THanks,
    Naren

  • PDS BOM details extraction

    Hi experts,
    If I want to extract the component details of a particular assembled product; just like how it shows up in PDS, where exactly can i get that info...
    I mean, if I want to create a report that this particular assembled product has all this components, then, from where that data can be pulled....
    Thanks for your answers...

    Hi
    I think you can create a query based on /sapapo/curtowul and /sapapo/curtosnp tables in APO. To the best of my knowledge , i dont think there is a standard report in APo for this.
    Please refer to this wiki
    http://wiki.sdn.sap.com/wiki/display/SCM/SCMUsefulTables
    It has the list of all SCM tables
    Thanks
    Aparna

  • Configured material BOM table details requried for component list

    Hi PLM Experts,
          As per the client requirement, we need to activate one sales condition type based on Super BOM components list. To define a logic for the above requirement, to list out the component we checked in STPO Table and in this table its appearing only the phantham materials not the real BOM of the component is appearing.
        So can you please suggest the table name where i can find the Bill Of Material of my Finished Product (Configured material) in the Table level.
    Warm Regards.
    Velmurugan P

    Thanks Ajit.
    But the problem still persist. The tables you have listed will suits for regular BOM compoents list. But we want to know the Table / procedure details in case of Configured material BOM details. Because for configured materials the BOM will be determined during sales order (Planned order) only.
        This BOM of configured material won't get stored in the table you have listed. As per our requirement we are looking for table details where we can list out the components list to perform the additional charges in the sales order based on BOM.
    Warm Regards,
    VEL

  • 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

  • Need to show data related to Process order request , BOM in a smart form

    Hi,
    I need to show data related to
    •     Process order request
    •     BoM
    Now in selection screen we are entering the followings.
    Manufacturing  Plant ,MRP Controller, Production scheduler, Order type , Order , Material, Sales order, WBS Element,Release,Scheduled start, Scheduled finish ,Selection profile.
    how to get 1> Process Order number,Produced Material,Material Description,Print date,Narcotics indicator , Quantity produced , Phase number , Phase description ,Resource description,Standard value  to show in a request form.
      2> Item category ,Component code,Component description , Component quantity ,Component Unit of measure ,BoM base quantity.
    Please help me how to get those values , what should be the aaproach , how to write the select quiry.
    Thanks

    Hi
    To get BOM details, do the following:
    1. Use the material number and goto Article to BOM link table (MAST) to get STLNR (BOM).
    2. With this STLNR, goto STPO table (where STLNR is the key field).  Here you will get all the BOM details like components (IDNRK), UoM (MEINS) etc....
    Hope this helps.
    THanks
    Vijay
    <b>PLZ REWARD POINTS IF HELPFUL</b>

  • BOM explosion in process order

    Dear PP experts
    In my scenario, the sales order and process orders for the corresponding line items got generated by uploading some details of master contract through some Z code. The client provide me details regarding the BOM for the process orders from their third party software, which process through XI. I have to trigger that bom into process order. for that i first maintain the bom details in CS61 and then trigger the "Read Master Data" in process order manually. Now i have to do it automatically. means when the BOMvdata flows from third party software, it should get updated in cs61 and simontaneously "read master dat" should get triggered. how can i do this. please suggest

    Hi,
    Check for any BAPI / Function Module in SE37 which can fulfill your requirement.
    Search BAPI with SAP component ---> PP option in search help(F4).
    Regards,
    Tejas

  • URGENT: REGARDING BOM EXPLORE REPORT

    HI,
    I making dis report and i want to display the BOM Explosion in which i have to display the output whihc conatins the details of it. I am sending my code in whihc it displays correct for 1 BOM but when comes to miultiple BOM it has following problem:-
    1.) The materaial no does not change on the top of report .
    2.) The DIVSION No. of the some of the materails are displayed and some of dem are not displaying.
    plzz help me out with dis problem as help will be definately rewarded.
    REPORT ZTET1.
    TABLES: MBEW,           "Material Valuation
            MSLB,           "Special stocks with vendor
            MARA,           "Material Master
            MAKT,           "Material Descriptions
            MARD,           "Material Master: Storage Location/Batch Segment
            MAST,           "BOM Header
            STKO,           "BOM Detail
            STPO,           "Bom Components
            STAS.           "BOM Alternative
    Text Elements
    Plant
    SELECT-OPTIONS: S_WERKS FOR MAST-WERKS DEFAULT 'CA',
    Material
                    S_MATNR FOR MAST-MATNR,
    Material Type
                    S_MTART FOR MARA-MTART.
    Base Quantity
    PARAMETERS: S_BASE TYPE I DEFAULT '1'.
    Display up to Level
    PARAMETERS: S_LVL  TYPE I DEFAULT '99'.
    PARAMETERS: stlal  type mast-stlal default '01'.
    SELECTION-SCREEN SKIP.
    Include Vendor Stock
    PARAMETERS: X_MSLB  AS CHECKBOX.
    DATA: W_MATNR LIKE MAPL-MATNR.
    DATA: PARENT_MATNR LIKE MAST-MATNR,
          CHILD_MATNR LIKE STPO-IDNRK,
          CHILD_WERKS LIKE MAST-WERKS,
          CHILD_STLAL LIKE MAST-STLAL,
          W_MAKTX LIKE MAKT-MAKTX,
          W_STD TYPE P DECIMALS 5,
          W_MAV TYPE P DECIMALS 5,
          W_MENGE TYPE P DECIMALS 3,
          W_LEVEL TYPE I,
          W_DOT(1),
          W_LVL(12),
          W_LVL1(12),
          W_LVL2(2),
          W_COL TYPE I,
          W_LFLAG,
          W_TTL LIKE MARD-LABST.
      DATA: SPART LIKE MARA-SPART.
    DATA: BEGIN OF INT1 OCCURS 50,
            LGORT(6),
            LABST LIKE MARD-LABST,
          END OF INT1.
    IF S_BASE EQ 0.
      S_BASE = 1.
    ENDIF.
    append multi level routing
    SELECT * FROM MAST WHERE WERKS IN S_WERKS AND
         MATNR IN S_MATNR and stlal = stlal.
      SELECT SINGLE SPART FROM MARA INTO SPART WHERE MATNR = MAST-MATNR.
        write: 'aaaaa', sy-dbcnt.
    SELECT SINGLE * FROM MARA WHERE MATNR = MAST-MATNR AND
          MTART IN S_MTART.
      IF SY-SUBRC NE 0.
        CONTINUE.
      ENDIF.
      IF MARA-LVORM <> 'X'.
        PARENT_MATNR = MAST-MATNR.
        CHILD_MATNR  = MAST-MATNR.
        CHILD_WERKS  = MAST-WERKS.
        CHILD_STLAL  = MAST-STLAL.
        SELECT SINGLE * FROM MAKT WHERE MATNR = MAST-MATNR AND
             SPRAS = 'E'.
        W_MAKTX = MAKT-MAKTX.
       REFRESH INT1.
       SELECT * FROM MARD WHERE MATNR = MAST-MATNR AND
            WERKS = MAST-WERKS AND
            LABST NE 0.
         MOVE MARD-LGORT TO INT1-LGORT.
         MOVE MARD-LABST TO INT1-LABST.
         APPEND INT1.
       ENDSELECT.
       IF X_MSLB EQ 'X'.
         SELECT * FROM MSLB WHERE MATNR EQ MAST-MATNR AND
              WERKS EQ MAST-WERKS AND
              LBLAB NE 0.
           MOVE MSLB-LIFNR TO INT1-LGORT.
           MOVE MSLB-LBLAB TO INT1-LABST.
           APPEND INT1.
         ENDSELECT.
       ENDIF.
        W_LEVEL = 1.
       NEW-PAGE.
        PERFORM GETCHILD.
      ENDIF.
    ENDSELECT.
    get child parts
    FORM GETCHILD.
      SELECT * FROM STPO WHERE STLNR = MAST-STLNR
            ORDER BY POSNR.
        SELECT SINGLE * FROM STKO WHERE STLNR = STPO-STLNR
              AND STLAL = MAST-STLAL.
        SELECT SINGLE * FROM STAS WHERE STLNR = STPO-STLNR AND
              STLKN = STPO-STLKN AND
              STLAL = MAST-STLAL.
        IF SY-SUBRC EQ 0.
          CLEAR: W_DOT, W_LVL, W_LVL1.
          PERFORM WRT_DTL.
          CHILD_MATNR = STPO-IDNRK.
          W_LEVEL = W_LEVEL + 1.
          IF W_LEVEL <= S_LVL.
            PERFORM SUBCHILD.
          ENDIF.
          W_LEVEL = W_LEVEL - 1.
        ENDIF.
      ENDSELECT.
    ENDFORM.
    get grand children parts
    FORM SUBCHILD.
      SELECT SINGLE * FROM MAST WHERE MATNR = CHILD_MATNR
         AND WERKS = CHILD_WERKS.
      IF SY-SUBRC NE 0.
        EXIT.
      ENDIF.
      SELECT * FROM STPO WHERE STLNR = MAST-STLNR.
        SELECT SINGLE * FROM STKO WHERE STLNR = STPO-STLNR AND
          STLAL = MAST-STLAL.
        SELECT SINGLE * FROM STAS WHERE STLNR = STPO-STLNR AND
            STLKN = STPO-STLKN AND
            STLAL = STKO-STLAL.
          IF SY-SUBRC EQ 0.
            W_DOT = '.'.
            PERFORM WRT_DTL.
            CHILD_MATNR = STPO-IDNRK.
            W_LEVEL = W_LEVEL + 1.
            IF W_LEVEL <= S_LVL.
              PERFORM SUBCHILD.
            ENDIF.
            W_LEVEL = W_LEVEL - 1.
            SHIFT W_LVL.
          ENDIF.
        ENDSELECT.
    ENDFORM.
    TOP-OF-PAGE.
    WRITE:/ SY-DATUM,SY-UZEIT,
           85 'ABC PTE LTD',
          182 'Page', SY-PAGNO.
    WRITE: / SY-REPID,
             75 'BOM STRUCTURE  (WITH LOCATION BALANCES)',
             182 SY-UNAME.
    SKIP.
    CLEAR W_LFLAG.
    WRITE:/ 'Material No.:', PARENT_MATNR,
            60 'Plant    :', MAST-WERKS.
    W_COL = 90.
    CLEAR W_TTL.
    **LOOP AT INT1.
    IF W_COL > 195.
       IF W_LFLAG IS INITIAL.
         WRITE:/ 'Description :', W_MAKTX,
              60 'Base Qty :', S_BASE LEFT-JUSTIFIED.
         W_LFLAG = 'X'.
         W_COL = 90.
       ELSE.
         W_COL = 90.
         SKIP.
       ENDIF.
    ENDIF.
    WRITE AT W_COL 'Loc :'.
    W_COL = W_COL + 6.
    WRITE AT W_COL INT1-LGORT.
    W_COL = W_COL + 7.
    WRITE AT W_COL(12) INT1-LABST LEFT-JUSTIFIED.
    W_COL = W_COL + 16.
    W_TTL = W_TTL + INT1-LABST.
    **ENDLOOP.
    **IF W_LFLAG IS INITIAL.
    WRITE:/ 'Description :', W_MAKTX,
          60 'Base Qty :', S_BASE LEFT-JUSTIFIED,
          90 'Total :', W_TTL LEFT-JUSTIFIED.
    **ELSE.
    WRITE AT W_COL 'Total :'.
    W_COL = W_COL + 8.
    WRITE AT W_COL W_TTL LEFT-JUSTIFIED.
    **ENDIF.
    SKIP.
    ULINE.
    WRITE: /001 'Level',
            011 'Item',
            017 'Component',
            037 'Description',
            079 '    Per',
            089 'UOM',
            094 ' Std Price',
            106 'Moving Avg',
            119 'Location',
            128 ' Balance',
            139 'Location',
            148 ' Balance',
            159 'Location',
            168 ' Balance',
            179 'Total Quantity'.
    ULINE.
    FORM WRT_DTL.
      CLEAR: MAKT-MAKTX, W_MAV, W_STD.
      SELECT SINGLE * FROM MAKT WHERE MATNR = STPO-IDNRK AND
           SPRAS = 'E'.
    SELECT SINGLE * FROM MBEW WHERE MATNR = STPO-IDNRK AND
          BWKEY = MAST-WERKS.
    IF SY-SUBRC = 0.
       W_MAV = MBEW-VERPR / MBEW-PEINH.
       W_STD = MBEW-STPRS / MBEW-PEINH.
    ENDIF.
    W_MENGE = ( STPO-MENGE / STKO-BMENG ) * S_BASE.
    W_LVL2 = W_LEVEL.
      CONCATENATE W_DOT W_LVL INTO W_LVL.
      CONCATENATE W_LVL W_LVL2 INTO W_LVL1.
    SELECT SINGLE SPART FROM MARA INTO SPART WHERE MATNR = MAST-MATNR.
    SELECT SINGLE SPART FROM MARA INTO SPART WHERE MATNR = STPO-IDNRK.
      WRITE: /001 ' ',
              011 STPO-POSNR,
              017 STPO-IDNRK,
              037 MAKT-MAKTX,
              079 SPART.
             079(8) W_MENGE,
             089 STPO-MEINS,
             094(10) W_STD,
             106(10) W_MAV.
    W_COL = 119.
    CLEAR W_TTL.
    SELECT * FROM MARD WHERE MATNR = STPO-IDNRK AND
          WERKS = MAST-WERKS AND
          LABST NE 0.
       IF W_COL > 166.
         W_COL = 119.
         WRITE AT /W_COL ' '.
       ENDIF.
       WRITE AT W_COL MARD-LGORT.
       W_COL = W_COL + 5.
       WRITE AT W_COL(13) MARD-LABST.
       W_COL = W_COL + 15.
       W_TTL = W_TTL + MARD-LABST.
    ENDSELECT.
    IF X_MSLB EQ 'X'.
       SELECT * FROM MSLB WHERE MATNR = STPO-IDNRK AND
            WERKS = MAST-WERKS AND
            LBLAB NE 0.
         IF W_COL > 166.
           W_COL = 119.
           WRITE AT /W_COL ' '.
         ENDIF.
         WRITE AT W_COL(6) MSLB-LIFNR.
         W_COL = W_COL + 6.
         WRITE AT W_COL(12) MSLB-LBLAB.
         W_COL = W_COL + 14.
         W_TTL = W_TTL + MSLB-LBLAB.
       ENDSELECT.
    ENDIF.
    WRITE AT 179(15) W_TTL.
    ENDFORM.

    Hi Ric
    hope this will help you.
    pls reward if help.
    REPORT ZMULTIBOM NO STANDARD PAGE HEADING LINE-SIZE 195
                    LINE-COUNT 60(2) MESSAGE-ID Z1.
    TABLES: MBEW,           "Material Valuation
            MSLB,           "Special stocks with vendor
            MARA,           "Material Master
            MAKT,           "Material Descriptions
            MARD,           "Material Master: Storage Location/Batch Segment
            MAST,           "BOM Header
            STKO,           "BOM Detail
            STPO,           "Bom Components
            STAS.           "BOM Alternative
    Text Elements
    Plant
    SELECT-OPTIONS: S_WERKS FOR MAST-WERKS DEFAULT 'CA',
    Material
                    S_MATNR FOR MAST-MATNR,
    Material Type
                    S_MTART FOR MARA-MTART.
    Base Quantity
    PARAMETERS: S_BASE TYPE I DEFAULT '1'.
    Display up to Level
    PARAMETERS: S_LVL  TYPE I DEFAULT '99'.
    SELECTION-SCREEN SKIP.
    Include Vendor Stock
    PARAMETERS: X_MSLB  AS CHECKBOX.
    DATA: W_MATNR LIKE MAPL-MATNR.
    DATA: PARENT-MATNR LIKE MAST-MATNR,
          CHILD-MATNR LIKE STPO-IDNRK,
          CHILD-WERKS LIKE MAST-WERKS,
          CHILD-STLAL LIKE MAST-STLAL,
          W_MAKTX LIKE MAKT-MAKTX,
          W_STD TYPE P DECIMALS 5,
          W_MAV TYPE P DECIMALS 5,
          W_MENGE TYPE P DECIMALS 3,
          W_LEVEL TYPE I,
          W_DOT(1),
          W_LVL(12),
          W_LVL1(12),
          W_LVL2(2),
          W_COL TYPE I,
          W_LFLAG,
          W_TTL LIKE MARD-LABST.
    DATA: BEGIN OF INT1 OCCURS 50,
            LGORT(6),
            LABST LIKE MARD-LABST,
          END OF INT1.
    IF S_BASE EQ 0.
      S_BASE = 1.
    ENDIF.
    append multi level routing
    SELECT * FROM MAST WHERE WERKS IN S_WERKS AND
         MATNR IN S_MATNR.
      SELECT SINGLE * FROM MARA WHERE MATNR = MAST-MATNR AND
           MTART IN S_MTART.
      IF SY-SUBRC NE 0.
        CONTINUE.
      ENDIF.
      IF MARA-LVORM <> 'X'.
        PARENT-MATNR = MAST-MATNR.
        CHILD-MATNR  = MAST-MATNR.
        CHILD-WERKS  = MAST-WERKS.
        CHILD-STLAL  = MAST-STLAL.
        SELECT SINGLE * FROM MAKT WHERE MATNR = MAST-MATNR AND
             SPRAS = 'E'.
        W_MAKTX = MAKT-MAKTX.
        REFRESH INT1.
        SELECT * FROM MARD WHERE MATNR = MAST-MATNR AND
             WERKS = MAST-WERKS AND
             LABST NE 0.
          MOVE MARD-LGORT TO INT1-LGORT.
          MOVE MARD-LABST TO INT1-LABST.
          APPEND INT1.
        ENDSELECT.
        IF X_MSLB EQ 'X'.
          SELECT * FROM MSLB WHERE MATNR EQ MAST-MATNR AND
               WERKS EQ MAST-WERKS AND
               LBLAB NE 0.
            MOVE MSLB-LIFNR TO INT1-LGORT.
            MOVE MSLB-LBLAB TO INT1-LABST.
            APPEND INT1.
          ENDSELECT.
        ENDIF.
        W_LEVEL = 1.
        NEW-PAGE.
        PERFORM GETCHILD.
      ENDIF.
    ENDSELECT.
    get child parts
    FORM GETCHILD.
      SELECT * FROM STPO WHERE STLNR = MAST-STLNR
            ORDER BY POSNR.
        SELECT SINGLE * FROM STKO WHERE STLNR = STPO-STLNR
              AND STLAL = MAST-STLAL.
        SELECT SINGLE * FROM STAS WHERE STLNR = STPO-STLNR AND
              STLKN = STPO-STLKN AND
              STLAL = MAST-STLAL.
        IF SY-SUBRC EQ 0.
          CLEAR: W_DOT, W_LVL, W_LVL1.
          PERFORM WRT_DTL.
          CHILD-MATNR = STPO-IDNRK.
          W_LEVEL = W_LEVEL + 1.
          IF W_LEVEL <= S_LVL.
            PERFORM SUBCHILD.
          ENDIF.
          W_LEVEL = W_LEVEL - 1.
        ENDIF.
      ENDSELECT.
    ENDFORM.
    get grand children parts
    FORM SUBCHILD.
      SELECT SINGLE * FROM MAST WHERE MATNR = CHILD-MATNR
         AND WERKS = CHILD-WERKS.
      IF SY-SUBRC NE 0.
        EXIT.
      ENDIF.
      SELECT * FROM STPO WHERE STLNR = MAST-STLNR
            ORDER BY POSNR.
        SELECT SINGLE * FROM STKO WHERE STLNR = STPO-STLNR AND
          STLAL = MAST-STLAL.
        SELECT SINGLE * FROM STAS WHERE STLNR = STPO-STLNR AND
            STLKN = STPO-STLKN AND
            STLAL = STKO-STLAL.
          IF SY-SUBRC EQ 0.
            W_DOT = '.'.
            PERFORM WRT_DTL.
            CHILD-MATNR = STPO-IDNRK.
            W_LEVEL = W_LEVEL + 1.
            IF W_LEVEL <= S_LVL.
              PERFORM SUBCHILD.
            ENDIF.
            W_LEVEL = W_LEVEL - 1.
            SHIFT W_LVL.
          ENDIF.
        ENDSELECT.
    ENDFORM.
    TOP-OF-PAGE.
    WRITE:/ SY-DATUM,SY-UZEIT,
           85 'ABC PTE LTD',
          182 'Page', SY-PAGNO.
    WRITE: / SY-REPID,
             75 'BOM STRUCTURE  (WITH LOCATION BALANCES)',
             182 SY-UNAME.
    SKIP.
    CLEAR W_LFLAG.
    WRITE:/ 'Material No.:', PARENT-MATNR,
            60 'Plant    :', MAST-WERKS.
    W_COL = 90.
    CLEAR W_TTL.
    LOOP AT INT1.
      IF W_COL > 195.
        IF W_LFLAG IS INITIAL.
          WRITE:/ 'Description :', W_MAKTX,
               60 'Base Qty :', S_BASE LEFT-JUSTIFIED.
          W_LFLAG = 'X'.
          W_COL = 90.
        ELSE.
          W_COL = 90.
          SKIP.
        ENDIF.
      ENDIF.
      WRITE AT W_COL 'Loc :'.
      W_COL = W_COL + 6.
      WRITE AT W_COL INT1-LGORT.
      W_COL = W_COL + 7.
      WRITE AT W_COL(12) INT1-LABST LEFT-JUSTIFIED.
      W_COL = W_COL + 16.
      W_TTL = W_TTL + INT1-LABST.
    ENDLOOP.
    IF W_LFLAG IS INITIAL.
      WRITE:/ 'Description :', W_MAKTX,
           60 'Base Qty :', S_BASE LEFT-JUSTIFIED,
           90 'Total :', W_TTL LEFT-JUSTIFIED.
    ELSE.
      WRITE AT W_COL 'Total :'.
      W_COL = W_COL + 8.
      WRITE AT W_COL W_TTL LEFT-JUSTIFIED.
    ENDIF.
    SKIP.
    ULINE.
    WRITE: /001 'Level',
            011 'Item',
            017 'Component',
            037 'Description',
            079 '    Per',
            089 'UOM',
            094 ' Std Price',
            106 'Moving Avg',
            119 'Location',
            128 ' Balance',
            139 'Location',
            148 ' Balance',
            159 'Location',
            168 ' Balance',
            179 'Total Quantity'.
    ULINE.
    FORM WRT_DTL.
      CLEAR: MAKT-MAKTX, W_MAV, W_STD.
      SELECT SINGLE * FROM MAKT WHERE MATNR = STPO-IDNRK AND
           SPRAS = 'E'.
      SELECT SINGLE * FROM MBEW WHERE MATNR = STPO-IDNRK AND
           BWKEY = MAST-WERKS.
      IF SY-SUBRC = 0.
        W_MAV = MBEW-VERPR / MBEW-PEINH.
        W_STD = MBEW-STPRS / MBEW-PEINH.
      ENDIF.
      W_MENGE = ( STPO-MENGE / STKO-BMENG ) * S_BASE.
      W_LVL2 = W_LEVEL.
      CONCATENATE W_DOT W_LVL INTO W_LVL.
      CONCATENATE W_LVL W_LVL2 INTO W_LVL1.
      WRITE: /001 W_LVL1,
              011 STPO-POSNR,
              017 STPO-IDNRK,
              037 MAKT-MAKTX,
              079(8) W_MENGE,
              089 STPO-MEINS,
              094(10) W_STD,
              106(10) W_MAV.
      W_COL = 119.
      CLEAR W_TTL.
      SELECT * FROM MARD WHERE MATNR = STPO-IDNRK AND
           WERKS = MAST-WERKS AND
           LABST NE 0.
        IF W_COL > 166.
          W_COL = 119.
          WRITE AT /W_COL ' '.
        ENDIF.
        WRITE AT W_COL MARD-LGORT.
        W_COL = W_COL + 5.
        WRITE AT W_COL(13) MARD-LABST.
        W_COL = W_COL + 15.
        W_TTL = W_TTL + MARD-LABST.
      ENDSELECT.
      IF X_MSLB EQ 'X'.
        SELECT * FROM MSLB WHERE MATNR = STPO-IDNRK AND
             WERKS = MAST-WERKS AND
             LBLAB NE 0.
          IF W_COL > 166.
            W_COL = 119.
            WRITE AT /W_COL ' '.
          ENDIF.
          WRITE AT W_COL(6) MSLB-LIFNR.
          W_COL = W_COL + 6.
          WRITE AT W_COL(12) MSLB-LBLAB.
          W_COL = W_COL + 14.
          W_TTL = W_TTL + MSLB-LBLAB.
        ENDSELECT.
      ENDIF.
      WRITE AT 179(15) W_TTL.
    ENDFORM.

Maybe you are looking for

  • Windows 7 install stuck on "completing installation"

    Hey guys, Iv been trying to install Windows 7 on my Macbook Pro 13'' mid summer - 2010 from bootcamp. Im running 10.7.3. Everytime I try to install windows It gets stuck on "Completing installation" Iv left it running for hours (4-5 hours) and nothin

  • Premiere elements 9 workspace will not load up after reinstalling the software

    i have been using premiere elements 9 on my laptop for a few years.    recently, I took my laptop into the local computer store to have it cleaned up due to virus', they backed up all my data, and left me with nothing but my windows 7 and my backed u

  • Right click, scroll and highlighting not working?

    So basically my trackpad has been messing up for about a month on and off, it seems to choose when it wants to work. I am unable to scroll down a page by holding the trackpad down and scrolling at the same time , i cant move windows by using the trac

  • Errors in executing VI with a project

    Hello, The Vi file attached is running when it is not included in a project i.e when I run it separately. When I add it to a project on cRIO in FPGA mode it does not run. I get all the possible errors like 'Sub VI is not executable (for all sub VIs)'

  • Printing multiple sheets

    Am I being stupid... or is it not possible to print all or multiple sheets from the same file in pages? I've tried selecting all the thumbnails at the left hand side and selecting File > Print Sheet but only the sheet with the yellow box around it pr