BOM Data
Hi BW Gurus,
I have requirement where user wants report on BOM Usage. Here I m clear on data coming from R/3. BOM stucture which has parent material and its component is from transaction CS03 that is table MAST and STPO.
The material consumption data is from MSEG table (may be from AFPO also ). Here parent material and its component have different movement types . In BW for particular period the report should show - Plant, Parent Material , Component, Parent Material Qty(MSEG-Menge), Component Qty(MSEG-Menge). Does anyone has come across such req or does anybody know about standard SAP Business Content which addresses this question.
Thanks in advance....
Samir
Hi Samir
Check this link below...
Re: How to pull Material BOM from ECC to BI
Regards,
William
Similar Messages
-
BOM data uploading for PP -step step required
Hi experts ,
can any body tell me step by step method for uploading BOM data for PP module , what are the possible methods
rgds
shaziahi shazia,
Your question is wide open. I would like to suggest you to try to design the integration scenario you need (according to your requirements) and if you have doubts in some of its steps (and didn't find in any other place at SDN) post it here and probably someone will help you.
regards.
roberti -
Loading All Levels of BOM data to BW
Hi Experts,
I am loading all BOM data that is all levels of BOM data to BW. can anyone suggest me the steps using what should i create generic exctractor FM or view on tables (MAST,STKO,STPO) ?? please give me the detailed steps for the loading data to BW from R/3. because i want to do reporting at any level. ?
vikranthttp://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b0af489e-72b1-2b10-159d-abb8058fb88d?quicklink=index&overridelayout=true
Just check if this helps
Prathish -
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
authiSRM 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 -
Can we get BOM Data from the Table RESB.....
Hi Engin,
I am talking about the Bill Of Materrial Data, i.e in making a product what all materials are used in what proportion.....
Thanks
Sucharu Kotwal
Edited by: SucharuKotwal18 on Jun 3, 2011 9:50 AM -
BOM data source ... Li Xu???
Hi Li,
In one of your earlier posts I saw that you have created a custom data source for BOM extraction. I am desperately trying to create a BW data source for BOM with explosion to lowest level. Can you please help me with the logic and the code for the custom extractor..
Delta? Time dependency?
I would really appreciate your help.
My email is [email protected]
Thanks in advance!
Ani.Hi Ani,
the BOM data source we implemented is based on R/3 tables. The steps:
1. you may need to identify the tables and fields and their relationship and requirement first together with your R/3 biz/IT partners.
2. create a table view by joining the tables and fields identified above.
3. create generic customer data source against the view.
4. replicate DS in BW and assign it to IS ....
we didn't use ABAP coding for this data source.
Hope it helps. -
Hi all,
I want to do a BOM data analysis.
There is a two BOMs in R/3, One for engineering design, the other for production. I want to extract the BOM data ( including BOM's item ) to BW and compare them.
Can I extract the data by BW business content datasource? If there is not business content datasource, shall I do it by the general datasource? Which table do the BOM data store in R/3?
Many thanks!Hi..
i need to know precises... as per my understanding .. check this links
Re: Extract BOM data from R/3 to BW
Re: Loading Bill of Material
BOM (Bill of Material) Master Data in Business Content?????
BOM Material Master Data in BW -
Has anyone know whether BOM data can be transfered from Autocad automatically using any 3rd party software? If yes, may i know the software?
Thanks and regards,
Zahari Jasmani<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by erik anthonsen ([email protected]):
<HR></BLOCKQUOTE>
i have been researching . if you find anything please let me know. i have some leads w/ companies like cap,sweet's. so far nothing definite. i will keep informed.
thank you
null -
How to enter BOM data in BOM header
I need a small help from SAP GURUS regarding the subject given above. When i was trying to enter BOM data in DIR enabled object links of BOM header, it was not allowing (Disabled) to enter the same.
How to enter BOM details in BOM header in DIR?
Is their any proceedure to enter the BOM data in DIR object?
Thanks in advance.
Regards
Suresh. JHi Suresh,
unfortunatly it is not possible to add a BOM header link from document side.
Generally the linkage of objects to a DIR is designed as such that a
user can create and maintain the link from object-side as well as from
document-side. There are, however, some exceptions like the production
order (PORDER), BOM item (STPO_DOC) and BOM header (STKO_DOC). Links to
these objects can only be created and maintained from object-side.
Regarding BOM objects the reason for this restriction is due to the
engineering change master, which is completely connected to BOM. The
functionality at this level only allows the display of BOM objects from
the DMS application.
The check for these objects is done in the following coding:
Main Program SAPLCV130
Source code of LCV130O01
MODULE (PBO) L201_BLANKLINES
***special settings
IF drad-dokob = 'PORDER' or drad-dokob = 'STPO_DOC' or
drad-dokob = 'STKO_DOC' or drad-dokob = 'DPR_OBJLNK'.
PERFORM display_col_change USING 'PORDER-CO_POSNR' 1 1. " no icon
GF_no_edit_screen_link = 'X'.
ENDIF.
if not gf_no_edit_screen_link is initial
and display_mode NE c_dms_display.
message w321 with intdrad-dokob.
endif.
ENDMODULE. " L201_BLANKLINES OUTPUT
I hope this information is usefull for you. In that case please reward points.
Best regards,
Christoph -
Extract BOM data from R/3 to BW
Hello BW Gurus,
what is the method of extracting BOM data from R/3 into BW.
Thanks in advance.
rgds,
TR PRADEEPHi Pradeep,
unfortunately you have to create something custom in order to manage BOM data in BW.
Doing that, consider that all your BOM data is available in R/3 tables STKO and STPO (Header and Item).
With the table MAST you can find also the link among the combination material/plant with every BOM codes.
At this point your might create a view (and then link it with your custom datasource) by using these tables (however you have to consider your specific needs).
Please keep in mind that you will extract all historical data of that BOM number. So, use the "Created date" to use the BOM data you are interested in.
By the way, access against these tables is not so feasible...try to search in your R/3 (I don't have the access now) a function module (search with BOM) that has as input parameters BOM Header, Alternative and others and gives back a table of the respective BOM items. You can create an InfoSet on the table STKO, enhance it with some code that calls the FM and writes the returned values in the Infoset (then use it to create your custom datasource !)
Hope it helps !
Bye,
Roberto -
Hi Gurus,
I am working on to get BOM information in BI and using a FM which is calling Function CS_BOM_EXPL_MAT_V2.
Here is the entire FM.
FUNCTION ybwpp_bom_exp_itm_3rd_lvl.
""Local Interface:
*" IMPORTING
*" REFERENCE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR
*" REFERENCE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
*" REFERENCE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
*" REFERENCE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
*" REFERENCE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY OPTIONAL
*" REFERENCE(I_REMOTE_CALL) TYPE SBIWA_FLAG OPTIONAL
*" TABLES
*" I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE YPPBW_MAST_STPO OPTIONAL
*" EXCEPTIONS
*" ERROR_PASSED_TO_MESS_HANDLER
*" NO_MORE_DATA
======================================================================
Function Module Name - YBWPP_BOM_EXP_ITM_3RD_LVL *
===============================REVISIONS==============================
Cut *
Programmer Over Date MOC# Description *
======================================================================
Maximum number of lines for DB table
STATICS: s_s_if TYPE srsc_s_if_simple,
counter
s_counter_datapakid LIKE sy-tabix,
cursor
s_cursor TYPE cursor.
DATA: lt_stb TYPE STANDARD TABLE OF stpox WITH HEADER LINE,
lt_matcat TYPE STANDARD TABLE OF cscmat WITH HEADER LINE.
DATA wa_mast_stpo TYPE yppbw_mast_stpo.
initialization mode (first call by sapi) or data transfer mode
(following calls) ?
IF i_initflag = sbiwa_c_flag_on.
Initialization: check input parameters
buffer input parameters
prepare data selection
CHECK datasource VALIDITY
CASE i_dsource.
WHEN 'YBWPPBOMITMMASTSTPO'.
WHEN OTHERS.
IF 1 = 2.
MESSAGE e009(r3).
ENDIF.
This is a typical log call. Write every error message like
log_write 'E' "message type
'R3' "message class
'009' "message number
i_dsource "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDCASE.
APPEND LINES OF i_t_select TO s_s_if-t_select.
Fill parameter buffer for data extraction calls
s_s_if-requnr = i_requnr.
s_s_if-dsource = i_dsource.
s_s_if-maxsize = i_maxsize.
Fill field list table for an optimized select statement
(in case that there is no 1:1 relation between InfoSource fields
and database table fields this may be far from beeing trivial)
APPEND LINES OF i_t_fields TO s_s_if-t_fields.
ELSE. "Initialization mode or data extraction ?
Data transfer: First Call OPEN CURSOR + FETCH
Following Calls FETCH only
First data package -> OPEN CURSOR
IF s_counter_datapakid = 0.
Fill range tables BW will only pass down simple selection criteria
of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
LOOP AT s_s_if-t_select INTO l_s_select.
CASE l_s_select-fieldnm.
WHEN 'YYMATNR'.
MOVE-CORRESPONDING l_s_select TO r_matnr.
APPEND r_matnr.
WHEN 'YYWERKS'.
MOVE-CORRESPONDING l_s_select TO r_werks.
APPEND r_werks.
WHEN 'YYSTLAN'.
MOVE-CORRESPONDING l_s_select TO r_stlan.
APPEND r_stlan.
WHEN 'YYSTLAL'.
MOVE-CORRESPONDING l_s_select TO r_stlal.
APPEND r_stlal.
ENDCASE.
ENDLOOP.
Determine number of database records to be read per FETCH statement
from input parameter I_MAXSIZE. If there is a one to one relation
between DataSource table lines and database entries, this is trivial.
In other cases, it may be impossible and some estimated value has to
be determined.
*-- Fill the Range Table for Plants.
r_werks-sign = 'I'.
r_werks-option = 'EQ'.
r_werks-low = '1027'.
APPEND r_werks.
r_werks-low = '1028'.
APPEND r_werks.
r_werks-low = '1037'.
APPEND r_werks.
r_werks-low = '1042'.
APPEND r_werks.
r_werks-low = '1043'.
APPEND r_werks.
r_werks-low = '1077'.
APPEND r_werks.
r_werks-low = '1088'.
APPEND r_werks.
r_werks-low = '1315'.
APPEND r_werks.
*-- Retrive Valid Material Number, Plant, BoM Usage & Alternative UoM
OPEN CURSOR WITH HOLD s_cursor FOR
SELECT matnr werks stlan stlal
FROM mast
WHERE matnr IN r_matnr AND
werks IN r_werks AND
stlan IN r_stlan AND
stlal IN r_stlal.
ENDIF. "First data package ?
Fetch records into interface table.
FETCH NEXT CURSOR s_cursor
INTO TABLE gt_mast
PACKAGE SIZE s_s_if-maxsize.
IF sy-subrc NE 0.
CLOSE CURSOR s_cursor.
RAISE no_more_data.
ENDIF.
LOOP AT gt_mast INTO wa_mast.
*-- Get BOM explosion for material
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
capid = 'STD1'
datuv = sy-datum
mktls = 'X'
mehrs = 'X'
mtnrv = wa_mast-matnr
stlal = wa_mast-stlal
stlan = wa_mast-stlan
werks = wa_mast-werks
TABLES
stb = lt_stb
matcat = lt_matcat
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.
*-- Get BOM item record
PERFORM get_bom_item_stpo TABLES lt_stb .
ENDIF.
MOVE-CORRESPONDING wa_mast TO wa_mast_stpo.
LOOP AT lt_stb.
CLEAR wa_mast_stpo.
PERFORM move_mast_records_finaltab USING wa_mast_stpo.
PERFORM move_bom_exp_to_finaltab USING lt_stb
wa_mast_stpo.
MOVE-CORRESPONDING lt_stb TO wa_mast_stpo.
READ TABLE gt_stpo INTO wa_stpo
WITH KEY stlty = lt_stb-stlty
stlnr = lt_stb-stlnr
stlkn = lt_stb-stlkn
stpoz = lt_stb-stpoz.
IF sy-subrc = 0.
PERFORM move_stpo_to_finaltab USING wa_mast_stpo.
MOVE-CORRESPONDING wa_stpo TO wa_mast_stpo.
ENDIF.
APPEND wa_mast_stpo TO e_t_data.
CLEAR e_t_data.
ENDLOOP.
ENDLOOP.
s_counter_datapakid = s_counter_datapakid + 1.
ENDIF.
ENDFUNCTION.
I am not getting any output. Can someone please tell me what am I doing wrong in here.
Thanks
Edited by: Ray_Ray on Jul 30, 2010 1:02 AMHi,
I am not sure as to what values are getting passed into your function module because all the cursor statements look OK.
My suggestion would be that you put a break-point at the function module for BOM CS_BOM_EXPL_MAT_V2 and then go to RSA3. Provide your datasource and execute it. At the breakpoint you should be able to see if the values that are getting passed are valid or not and whether this function module is returning any value. Also, check if your internal table gs_nast is getting any values or not after the fetch cursor statement. -
Hi,
We plan to create new fields in the BOM header through INCLUDE structure CI_STKO and do a data upload into these fields through LSMW. However, the issue is that CI_STKO structure is not included in the BI structure BICSK used in LSMW, hence the fields added to the BOM header through CI_STKO cannot be loaded through LSMW.
This works fine at the item level - since CI_STPO is included in BICSP.
Can anyone let me know if they have faced similar problem and are aware of a solution.
Thanks,
VikasHi,
Insted of LSMW goo for BDC.. if not goo for BAPI.. you have an enhancemnet concept by using this concept you can enhance the standard BAPI.. and you can process for upload ...
BAPI_MATERIAL_BOM_GROUP_CREATE -
Hi,
I'm migrating simple BOMs using BODI tool which calls the function module: IDOC_INPUT_BOMMAT in order to transfer the BOMs from the idoc to the internal sap tables.
Although the quantity in menge field exists I'm facing the following problem:
*Start processing in API: CSAP_MAT_BOM_CREATE
Item 0010 L :
Enter a quantity
End of processing in API: CSAP_MAT_BOM_CREATE*
The Component Item Category is 'L' --> Stock
PLEASE ADVISEHi Expert
Even I am also stuck at the sam end..
Using Idoc BOMORD01
GEtting error ITem 0010 L
Data incomplete.
All data is given.
Pls help
Regards
Deepak Sodhi -
i am creating one report which will give data of BOM component.
i am using MAST STKO and STPO,
but while debugging i found there are more than one line item are coming in STKO(BOM header ) table itself,
and STPO is not having alternative BOM, STPO is giving all BOM component how to restrict.
so can any body tell how to get correct data from STPO.
regards]
ChandramaniHi,
Please check the code below for a similar requirement.
*& Report ZPPPRM_1087_BOM
report zppprm_1087_bom.
include zbom_data_declarartion.
include zbom_selection_screen.
include zform_used.
*initialization
initialization.
prm1 = 'SELECTION'.
prm2 = 'Materials'.
START-OF-SELECTION
start-of-selection.
Get the data from data base tablees
perform get_data.
*Format the final data
perform final_data.
*Display the final data
perform display_final.
*& Include ZBOM_DATA_DECLARARTION
T Y P E - P O O L S
tables: mara, "Material Master
mast, "Material to BOM Linkage
stpo. "BOM item
type-pools: slis .
types: begin of ty_mara,
matnr type matnr,
mtart type mtart,
end of ty_mara.
types: begin of ty_mast,
matnr type matnr,
werks type werks_d,
stlan type stlan,
stlnr type stnum,
stlal type stalt,
end of ty_mast.
types: begin of ty_header,
matnr type matnr,
werks type werks_d,
end of ty_header.
types: begin of ty_stpo,
stlty type stlty,
stlnr type stnum,
stlkn type stlkn,
stpoz type cim_count,
idnrk type idnrk,
meins type kmpme,
menge type kmpmg,
preis type cprei,
peinh type peinh,
end of ty_stpo.
types: begin of ty_bom,
matnr type matnr,
werks type werks_d,
idnrk type idnrk,
meins type kmpme,
menge type kmpmg,
end of ty_bom.
Internal tables used in the code
data: it_stpo type standard table of ty_stpo,
it_mara1 type standard table of ty_mara,
it_mara2 type standard table of ty_mara,
it_mast type standard table of ty_mast,
it_bom type standard table of ty_bom,
it_header type standard table of ty_header.
Work Areas used in the code
data: wa_mast type ty_mast,
wa_stpo type ty_stpo,
wa_mara type ty_mara,
wa_bom type ty_bom,
wa_header type ty_header.
data: v_matnr type mara-matnr.
data: col_pos type i.
data: sortcat type slis_t_sortinfo_alv,
sortcat_ln type slis_sortinfo_alv,
fcat type slis_t_fieldcat_alv,
s_fcat type slis_fieldcat_alv.
data: obj_hieralv type ref to cl_salv_hierseq_table.
data: it_binding type salv_t_hierseq_binding,
wa_binding type salv_s_hierseq_binding.
*& Include ZBOM_SELECTION_SCREEN
*-Declaration of selection screen forthe program-*
selection-screen begin of block blk1 with frame title prm1.
selection-screen begin of line.
selection-screen comment (10) prm2 for field so_matnr.
Selection Option.
select-options : so_matnr for v_matnr.
selection-screen end of line.
selection-screen end of block blk1.
*& Include ZFORM_USED
*& Form GET_DATA
text
form get_data .
*LOADING FINISHED MATERIALS INTO AN INTERNAL TABLE
select matnr
mtart
into table it_mara1
from mara
where matnr in so_matnr
and mtart = 'FERT'.
if sy-subrc = 0.
sort it_mara1 by matnr.
endif.
*LOADING CORRESPONDING FROM Material to BOM LINK TABLE
if it_mara1 is not initial.
select matnr
werks
stlan
stlnr
stlal
into table it_mast
from mast
for all entries in it_mara1
where matnr = it_mara1-matnr .
if sy-subrc = 0.
sort it_mast by stlnr.
loop at it_mast into wa_mast.
move-corresponding wa_mast to wa_header.
append wa_header to it_header.
endloop.
endif.
endif.
*LOADING CORRESPONDING BOM COMPONENTS FRON BOM ITEM TABLE
if it_mast is not initial.
select stlty
stlnr
stlkn
stpoz
idnrk
meins
menge
preis
peinh
from stpo
into table it_stpo
for all entries in it_mast
where stlnr = it_mast-stlnr.
if sy-subrc eq 0.
sort it_stpo by stlnr.
endif.
endif.
*LOAD SEMIFINISHED MATERIAL
select matnr
mtart
from mara
into table it_mara2
where mtart = 'HALB'.
if sy-subrc eq 0.
sort it_mara2 by matnr.
endif.
endform. " GET_SELECT
*& Form FINAL_data
text
form final_data .
loop at it_stpo into wa_stpo.
clear wa_mara.
read table it_mara2 into wa_mara
with key matnr = wa_stpo-idnrk
binary search.
if sy-subrc ne 0.
continue.
else.
read table it_mast into wa_mast
with key stlnr = wa_stpo-stlnr
binary search.
if sy-subrc eq 0.
clear wa_bom.
wa_bom-matnr = wa_mast-matnr.
wa_bom-werks = wa_mast-werks.
wa_bom-idnrk = wa_stpo-idnrk.
wa_bom-meins = wa_stpo-meins.
wa_bom-menge = wa_stpo-menge.
collect wa_bom into it_bom.
move-corresponding wa_mast to wa_header.
append wa_header to it_header.
endif.
endif.
endloop.
sort it_header by matnr werks.
sort it_bom by matnr werks idnrk.
delete adjacent duplicates from it_header comparing matnr werks.
endform. " FINAL_data
*& Form display_summary
text
form display_final.
wa_binding-master = 'MATNR'.
wa_binding-slave = 'MATNR'.
append wa_binding to it_binding.
*Process of binding the header and BOM info in hirarchial form
try.
call method cl_salv_hierseq_table=>factory
exporting
t_binding_level1_level2 = it_binding
importing
r_hierseq = obj_hieralv
changing
t_table_level1 = it_header
t_table_level2 = it_bom.
catch cx_salv_data_error .
catch cx_salv_not_found .
endtry.
*to dispay the info
call method obj_hieralv->display.
endform.
Hope this will help you,
Murthy. -
BOM data refresh for a change in material master
Hi!!
I would like to ask for your help..
I have to change frequently procurement type in material master (view "MRP 2")
How can I, afterwards, refresh the BOM linked to that material, so to have new procurement updated for my production order??
Thanks for your kind answer!!!
Regards
ChiaraDear Chiara,
For the already existing production orders,after entering the order no in CO02,click on Functions--->Read PP Master Data,so
that the made changes become effective.
For the change which you have made can be seen during the next MRP run in the system.
Check and revert back.
Regards
Mangalraj.S
Maybe you are looking for
-
My account has been hacked and I have lost control over it. UNFORTUNATELY I am not able to get help without having my login information. The birth dates on my account have been changed along with the email associated with my account. So when I reques
-
Can photos have date, but not time?
Though I've got a digital camera, in many ways I still prefer the "real" camera - however, I've now taken to getting all the films I have developed scanned & would like to merge them into relevant events. I can generally work out the date that someth
-
Not sure if this is the correct forum, if incorrect my apologies, Good day, Another ZCM related issue has cropped up, this time with a Satellite server, that is going to be performing the Imaging Role, I have included screen captures of the Satellite
-
I have created my first JSR-168 portlet and consumed it in the JSF page. Everything looks good with my AJAX stuff except my JavaScript does not get called when clicking on the "Refresh" action from the portlet header menu. My portlet calls the JavaSc
-
What is the luma key and how is it used in PE4?
How do I used this effect? Thank you