Updating BOM Sub Items using CS_BC_BOM_CHANGE_BATCH_INPUT
Hello,
I am trying to update BOM sub items by using this function module. I am filling up all fields in all tables, still it is giving error.
Any body has any sample code for this function module...
Unfortunately there is no documentation for this FM and very little usage in standard programs...
Regards,
Krishna.
Hi,
My Code for create
DATA: BOM_HEADER TYPE CAD_BICSK ,"STRUCTURE FOR HEADER DATA
IT_BOM_ITEM TYPE TABLE OF CAD_BOM_ITEM,"INTERNAL TABLE FOR ITEM
WA_BOM_ITEM TYPE CAD_BOM_ITEM,"WORK AREA FOR ITEM
IT_BOM_SUB_ITEM TYPE TABLE OF CSSUBITEM ,"INTERNAL TABLE FOR SUB ITEM
WA_BOM_SUB_ITEM TYPE CSSUBITEM ,"WORK AREA FOR SUB ITEM
IT_DMS TYPE TABLE OF CLS_CHARAC,"INTERNAL TABLE FOR DMS_CLASS_DATA
WA_DMS TYPE CLS_CHARAC,"WORK AREA FOR DMS_CLASS_DATA
IT_SAP_FIELD TYPE TABLE OF RFCDMSDATA,"INTERNAL TABLE FOR SAP_FIELD_DATA
WA_SAP_FIELD TYPE RFCDMSDATA,"WORK AREA FOR SAP_FIELD_DATA
E_RETURN TYPE CAD_RETURN-VALUE,"STRUCTURE FOR RETURN
E_MESSAGE TYPE MESSAGE-MSGTX,"STRUCTURE FOR MESSAGE
E_MESSAGE_LEN TYPE CAD_RETURN-MESSAGE_LEN."STRUCTURE FOR MESSAGE LENGTH
LOOP AT IT_DATA INTO WA_DATA.
MOVE-CORRESPONDING WA_DATA TO WA_DATA1.
APPEND WA_DATA1 TO IT_DATA1.
ENDLOOP.
SORT IT_DATA1 BY MATNR WERKS.
DELETE ADJACENT DUPLICATES FROM IT_DATA1 COMPARING MATNR WERKS.
LOOP AT IT_DATA1 INTO WA_DATA1.
CLEAR: BOM_HEADER, WA_BOM_ITEM,WA_RET.
REFRESH: IT_BOM_ITEM.
FILL BOM HEADER
PERFORM DATE_FORMAT USING WA_DATA1-DATUV CHANGING BOM_HEADER-DATUV.
BOM_HEADER-MATNR = WA_DATA1-MATNR.
BOM_HEADER-WERKS = WA_DATA1-WERKS.
BOM_HEADER-STLAL = WA_DATA1-STLAL.
BOM_HEADER-STLAN = WA_DATA1-STLAN.
BOM_HEADER-ZTEXT = WA_DATA1-ZTEXT.
LOOP AT IT_DATA INTO WA_DATA WHERE MATNR = WA_DATA1-MATNR and werks = wa_Data1-werks.
FILL ITEM
if wa_data-postp = 'T'.
WA_BOM_ITEM-POSNR = WA_DATA-POSNR.
WA_BOM_ITEM-POSTP = WA_DATA-POSTP.
WA_BOM_ITEM-POTX1 = WA_DATA1-ZTEXT.
else.
WA_BOM_ITEM-IDNRK = WA_DATA-IDNRK.
WA_BOM_ITEM-POSNR = WA_DATA-POSNR.
WA_BOM_ITEM-POSTP = WA_DATA-POSTP.
WA_BOM_ITEM-MENGE = WA_DATA-MENGE.
endif.
APPEND WA_BOM_ITEM TO IT_BOM_ITEM.
ENDLOOP.
CALL FUNCTION 'CAD_CREATE_BOM_WITH_SUB_ITEMS'
EXPORTING
I_BOM_HEADER = BOM_HEADER
IMPORTING
E_RETURN = E_RETURN
E_MESSAGE = E_MESSAGE
TABLES
BOM_ITEM = IT_BOM_ITEM
BOM_SUB_ITEM = IT_BOM_SUB_ITEM
DMS_CLASS_DATA = IT_DMS
SAP_FIELD_DATA = IT_SAP_FIELD.
WA_RET-MATNR = WA_DATA1-MATNR.
if e_return = 0 .
wa_ret-status = 'SUCCESS'.
ELSE.
wa_ret-status = 'ERROR'.
ENDIF.
WA_RET-WERKS = WA_DATA1-WERKS.
WA_RET-MSG = E_MESSAGE.
APPEND WA_RET TO IT_RET .
ENDLOOP.
LOOP AT IT_RET INTO WA_RET.
if wa_ret-status = 'ERROR'.
APPEND wa_ret to it_erv.
ENDIF.
WRITE: /.
WRITE:(12) WA_RET-MATNR,(6) WA_RET-WERKS,(8) wa_ret-status,(70) WA_RET-MSG.
ENDLOOP.
Regards,
Manesh.R
Similar Messages
-
Function Module to Change / Update BOM Line Items
Hi,
I need a Function Module to Change / Update BOM Line Items.
Please help.
Thanks.Try this FM - CSAP_MAT_BOM_MAINTAIN
-
How to update 500 list items using Rest API
Hi All,
i have requirement that is "required to update 500 list items using rest Api".
how can i do it,please share your thoughts with me.
Thanks,
Madhu.Didn't get you correctly, if you asking reference for REST API to update list items please refer below links
http://msdn.microsoft.com/en-us/library/office/jj164022(v=office.15).aspx
Destin -MCPD: SharePoint Developer 2010, MCTS:SharePoint 2007 Application Development -
Printing SALES BOM sub items / child items
Hi,
We currently have SALES BOM materials setup & have sub items suppressed from printing on pick notes & delivery notes. I now have some materials which i need to be SALES BOM materials but i want the sub items to print on the pick notes & delivery notes.
I have copied the material type into a new material type but dont know where to look where I can allow printing of sub items for this material type?? I've look in IMG & also SMARTFORMS but can find where i need to configure this.
Can someone please help?? p.s I'm a bit of a novice so will need detailed instructions.
Many thanks in advance
DeanPlease try VBAP and VSVBAP_CN tables.
You have to take VBAP-SERNR field for your sales order and give it as input in VSVBAP_CN-SERNR and then you will get all the parent and child items. If you tell this to ABAPer, he should be able to enable this in the smartform you are going to use.
The same field is available in VBRP also.
Hope this helps. -
Material Determination in BoM sub item
Hi All,
In our current SAP system;
1. In quote if there is BOM material, it won't explode and it shows as one line item i.e BOM header.
2. Now in the BoM for one sub item there is a material determination set up.
Issue:
When i create a order with ref to quote now BoM gets exploded and material determination is NOT taking place, I was told it Is possible to activate determination in reference mode. Any idea how i can activate this?
Note: When I create an order with no reference BOM gets and exploded and materail determination also takes place with no issues.
YashHi.
Refer :
SAP Note 486680
SAP Note 549341
Regards,
Anji -
How to Disable Event firing while updating a list item using poweshell
Hi All,
I am working on a powershell code which updates most of the list items in the entire web application. I am using SystemUpdate($false) to update the items so that 'modified' and 'modified By' and versions are not changed.
However event receivers gets fired which is now a problem. I want to disable the Event receivers before update and enable it after update. I want powershell code for this. I am using SharePoint 2010.
Your help would be much appreciated. Thank you in anticipation.
Regards
Karthik R.hi
check this thread:
How to disable event firing outside an event. It contains example on C#, but it is not difficult to convert it to PowerShell.
Blog - http://sadomovalex.blogspot.com
Dynamic CAML queries via C# - http://camlex.codeplex.com -
Change the sales bom sub-item catetory
Hi,
I have created sales bom with main material assign LUMF. When I create sales order, with below feedback
item 10 - Material A with item cate. TAP
item 20 - Material B with item cate. TAN
I want to change the item cate. TAN, as we r using other item cate. (ZTAN) I have assign the item cate to sales order type
Saty ItCGR USG. HLevItCa DfltC MitCa
OR LUMP TAP TAN ZTAN> I have created sales bom with main material assign LUMF. When I create sales order, with below feedback
> item 10 - Material A with item cate. TAP
> item 20 - Material B with item cate. TAN
> I want to change the item cate. TAN, as we r using other item cate. (ZTAN) I have assign the item cate to sales order type
>
> Saty ItCGR USG. HLevItCa DfltC MitCa
> OR LUMP TAP TAN ZTAN
Hi,
Goto the T.Code "VOV4".
In this as you have assigned correctly,you can change manually to "ZTAN" as you have maintained it as Mitcat.
If you want that it should come automatically while creating the order,then Maintain "ZTAN" as the Default Item category.
Save.
Regards,
Krishna. -
Hi all
I have a following scenario
I have to sell 1 set consisting of different materials I manufactue I manufacture - how do I combine the individual items to have qty of the full set. The example is -
In Sale Order - I wll Sale FRAME GATE (2 Set)
This FRAME GATE is a BOM consists of Small Gate (2 pcs) and Big Gate (2 pcs)
These Small Gate and Big Gate has its own BOM
Now I create Production Order for Small Gate and Big Gate.
After completetion (Receipt from Production) I get in stock 2 pc Small Gate and 2 pcs Big Gate.
I would like to see in Stock FRAME GATE 2 Set
How can I set this - Can it be done through Packaging ?
Regards
IndrajitThnx to both of you for addressing the prob.
I if create a Production order for FRAME GATE then I have to issue the small and big gate
Can't it be in this way - When I complete the components I automatically get the stock of FRAME GATE.
Yes you ar correct - It will be i set.
The whole purpose is -
I will have and can see the stock of FRAME GATE
I will have and can see the stock of Small and Big gate
When I will sale FRAME GATE it will automatically deduct from stock : -
FRAME GATE - 1 set
Small gate - 2 pc
Big Gate - 2 pc
Rgds -
Simple BOM with sub-items (very very urgent)--1 item & 2 subitem
Hi all,
i am creating a BOM with sub-items using 'BAPI_MATERIAL_BOM_GROUP_CREATE'. while creating sub-item, it is taking only one subitem. but i am giving multiple sub-items per item.
i am giving a program where i am assigning 2 subitems to one item.
after tha bapi call, 1 subitem is creating.
i have tried so many times by clearing the work area & calling the bapi for each sub-item.but it is creating only one sub-item only.
i am giving an example of my report.plz correct it if i am wrong.it is veryt very urgent.
any idea will be highly appreaciated.
Regards
pabitra
REPORT ZTEST_CHIN message-id 01.
This code will create a material BoM for the material
MAINMATERIAL with the components COMPON1 and COMPON2.
Data Declaration
DATA:
it_bomgroup LIKE bapi1080_bgr_c OCCURS 0 WITH HEADER LINE,
it_variants LIKE bapi1080_bom_c OCCURS 0 WITH HEADER LINE,
it_items LIKE bapi1080_itm_c OCCURS 0 WITH HEADER LINE,
it_matrel LIKE bapi1080_mbm_c OCCURS 0 WITH HEADER LINE,
it_itemas LIKE bapi1080_rel_itm_bom_c OCCURS 0 WITH HEADER LINE,
it_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
it_subitems LIKE bapi1080_sui_c OCCURS 0 WITH HEADER LINE,
it_subitemas LIKE BAPI1080_REL_SUI_ITM_C OCCURS 0 WITH HEADER LINE.
Fill the data
Material BoM Group Header Data
CLEAR it_bomgroup.
it_bomgroup-bom_group_identification = 'BAPI_SMP_COL1'.
it_bomgroup-object_type = 'BGR'.
it_bomgroup-object_id = 'SIMPLE1'.
it_bomgroup-bom_usage = '1'. " YOU COULD CHANGE THE BOM USAGE TO YOUR
it_bomgroup-ltxt_lang = sy-langu.
it_bomgroup-technical_type = ' '.
it_bomgroup-bom_text = 'Simple BoM - FM'.
APPEND it_bomgroup.
Header Details of the different variants
CLEAR it_variants.
it_variants-bom_group_identification = 'BAPI_SMP_COL1'.
it_variants-object_type = 'BOM'.
it_variants-object_id = 'SIMPLE1'.
it_variants-alternative_bom = '01'.
it_variants-bom_status = '01'.
it_variants-base_qty = '1.000'.
it_variants-valid_from_date = sy-datum.
it_variants-function = 'NEW'.
APPEND it_variants.
Details of the materials of the different variants
CLEAR it_matrel.
it_matrel-bom_group_identification = 'BAPI_SMP_COL1'.
it_matrel-material = 'BAPIBOMFG1'.
it_matrel-bom_usage = '1'.
it_matrel-alternative_bom = '01'.
APPEND it_matrel.
Linking subitems to the corresponding variants
CLEAR it_subitemas.
it_subitemas-bom_group_identification = 'BAPI_SMP_COL1'.
it_subitemas-sub_object_type = 'SUI'.
it_subitemas-sub_object_id = 'SIM1'.
it_subitemas-super_object_type = 'ITM'.
it_subitemas-super_object_id = 'SIMPLE1'.
APPEND it_subitemas.
Linking items to the corresponding variants
CLEAR it_itemas.
it_itemas-bom_group_identification = 'BAPI_SMP_COL1'.
it_itemas-sub_object_type = 'ITM'.
it_itemas-sub_object_id = 'SIMPLE1'.
it_itemas-super_object_type = 'BOM'.
it_itemas-super_object_id = 'SIMPLE1'.
it_itemas-valid_from_date = sy-datum.
it_itemas-function = 'NEW'.
APPEND it_itemas.
Details of the items of the variants
CLEAR it_items.
it_items-bom_group_identification = 'BAPI_SMP_COL1'.
it_items-object_type = 'ITM'.
it_items-object_id = 'SIMPLE1'.
it_items-item_no = '0010'.
it_items-item_cat = 'L'.
it_items-component = 'BAPIBOMRW1'.
it_items-comp_qty = '2'.
it_items-valid_from_date = sy-datum.
APPEND it_items.
CLEAR it_subitems.
it_subitems-bom_group_identification = 'BAPI_SMP_COL1'.
it_subitems-object_type = 'SUI'.
it_subitems-object_id = 'SIM1'.
it_subitems-subitem_no = '0001'.
it_subitems-INSTALLATION_POINT = 'ab1'.
it_subitems-subitem_qty = '1'.
APPEND it_subitems.
CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
EXPORTING
all_error = 'X'
TABLES
bomgroup = it_bomgroup
variants = it_variants
items = it_items
materialrelations = it_matrel
itemassignments = it_itemas
subitems = it_subitems
subitemassignments = it_subitemas
return = it_return.
CLEAR it_subitems.
it_subitems-bom_group_identification = 'BAPI_SMP_COL1'.
it_subitems-object_type = 'SUI'.
it_subitems-object_id = 'SIM1'.
it_subitems-subitem_no = '0002'.
it_subitems-INSTALLATION_POINT = 'ab2'.
it_subitems-subitem_qty = '1'.
APPEND it_subitems.
CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
EXPORTING
all_error = 'X'
TABLES
bomgroup = it_bomgroup
variants = it_variants
items = it_items
materialrelations = it_matrel
itemassignments = it_itemas
subitems = it_subitems
subitemassignments = it_subitemas
return = it_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
LOOP AT it_return.
WRITE:/ it_return-type, it_return-id, it_return-number,
it_return-message.
ENDLOOP.Hi rich,
Thanks. i will do the same.can u plz suggest me , where i am doing mistake in my coding to create sub-items in a BOM?
Thanks & Regards
pabi -
Tutorial on how to update list items using ListData.svc
Can you please point me to a tutorial which shows how to update a list item using listdata.svc and C#?
Sorry if this is FAQ.
I have found articles on read list... but I haven't found anything on update a list item.
val it: unit=()when i try this I get an error 500
I created an ASP.NET web application that allows the user to modify data that is stored in SharePoint I rather not go into the reasons why this application was created but focus more on why doesn't the listdata.svc allow me to update a task item that was
created by a workflow collect data from user action.
1. The workflow creates the item.
I collect the item and update the item using the below code. This is not an OOTB approval workflow that is just the name I used. When I get to save changes I received the following error code.
Dim getApprovalItem As ExpenseApprovalRuleBasedTasksItem = spContext.ExpenseApprovalRuleBasedTasks.Where(Function(i) i.Id = Pam.ApprovalItemID).FirstOrDefault
If String.IsNullOrEmpty(getApprovalItem.AuditorApprovalValue) Then
getApprovalItem.AuditingComments = approvalComments
Select Case approvalDecision
Case "Approved"
getApprovalItem.AuditorApproval = ExpenseApprovalRuleBasedTasksAuditorApprovalValue.CreateExpenseApprovalRuleBasedTasksAuditorApprovalValue("Approved")
getApprovalItem.AuditorApprovalValue = "Approved"
Case "Rejected"
getApprovalItem.AuditorApproval = ExpenseApprovalRuleBasedTasksAuditorApprovalValue.CreateExpenseApprovalRuleBasedTasksAuditorApprovalValue("Rejected")
getApprovalItem.AuditorApprovalValue = "Rejected"
End Select
getApprovalItem.Outcome = "Completed"
getApprovalItem.Status = ExpenseApprovalRuleBasedTasksStatusValue.CreateExpenseApprovalRuleBasedTasksStatusValue("Completed")
getApprovalItem.StatusValue = "Completed"
getApprovalItem.Complete = True
spContext.UpdateObject(getApprovalItem)
spContext.SaveChanges()
End If -
How to load long text in BOM line item
Hello Experts
How do i load Long text in BOM Line item using LSMW
Thanks
S
Edited by: Alvaro Tejada Galindo on Jan 31, 2008 5:11 PMUse Read_text function module.
you need to pass
ID
LANGUAGE
NAME
OBJECT to the function moduel
To find the Text id name language and object these are the following steps. Example: FB02
1. goto FB02, Enter Document number
2. from menuselect Goto>Header-->header Text..... New window will be displayed
3. select the Header Text. here you can see all the text.
4. click on the TEXT (which you want to know the Text id) , then press log ICON (you can find in bottom right of the text window) it looks like a rolled paper.
5. in the Next window you will find Text Name. Text ID, Language. etc...
Regards,
Lalit Mohan Gupta. -
Sub item not appearing in consolidation.
Hi Experts,
We have an isse in consolidation. We have maintained few P&L GL accounts and have done some depreciation postings. How ever when we have checked in consolidation FS item is updating but sub item is(cost center) which is not updting.
How can we update subitems in consolidation without changing the FI data. Is there any way that we can achieve this.
Cheers
MuralidharHi,
In your case, Vendor Product Number (Supplier Parts Number) is required.
Please make sure that Vendor Product Number is in catalog and contract.
Regards,
Masa -
ECMA/CSOM script to update multiple list items
i am trying update multiple list items using CSOM/ECMA script but it updates only first record. can help out .how to update multiple list item records
Note(sharepoint hosted APP) only client side coding solution
function updateListItems() {
var itemArray = [];
var clientContext = SP.ClientContext.get_current();
var oList = clientContext.get_web().get_lists().getByTitle('TestList');
for(var i = 1; i<= 5; i++){
var oListItem = oList.getItemById(i);
oListItem.set_item('Title', 'My Updated Item!' + i);
oListItem.update();
itemArray[i] = oListItem;
clientContext.load(itemArray[i]);
clientContext.executeQueryAsync(onQuerySucceeded, onQueryFailed);
function onQuerySucceeded() {
alert('Items Updated');
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
updateListItems();Have a look at the following link for your reference
https://social.msdn.microsoft.com/Forums/office/en-US/fc91b7b5-6300-4302-af93-4fc697131ec5/client-object-model-update-multiple-list-items?forum=sharepointdevelopment
You can modify CAML query to fetch rows that you want to fetch.
Geetanjali Arora | My blogs | -
Re-costing of header material when Sub-item material BOM is updated
Hi ,
A sales order is created with a header material (HM) and coressponding sub items (SM1 & SM2 ) got populated automatically from the BOM.Now the costing for this three line items happened as expected i.e.,
For example :
Header Material : HM
Sub item1 :- SM1
Sub item2 :- SM2
MAP of Sub item 1 > SM1 = 20 USD
MAP of Sub item 2 > SM2 = 30 USD
Costing in the main line item appears as 50 USD ( 20 + 30 USD) .
Now business go to the transaction CU51 and make the changes in the sales order BOM subitem1 ,material SM1 by adding or deleting items in the BOM. After that they are trying to re-cost the sales order and it is observed that only the corresonding sub item (SM1) is getting re-costed with new value.But the header item HM is not getting updated with the new values it still have the old values .
It would be really helpful if you can let me know what is the issue for this.
Thanks!
Regards,
Dileep.Dear Pushpalas,
IF my understanding is correct then the sub-items is only to split up the exact component quantity and it's usage in the exact
production or assembly process for information or understanding purpose.
Sub-items have no operational function in the BOM. They are not copied to the production order. However, you can use sub-
items to help you create programs for your company (for example, automatic assembly programs).
http://help.sap.com/erp2005_ehp_05/helpdata/EN/ea/e9b1aa4c7211d189520000e829fbbd/frameset.htm
Regards
Mangalraj.S -
How to use CSAP_MAT_BOM_MAINTAIN for deleting / changing sub-items?
I'm trying to use CSAP_MAT_BOM_MAINTAIN for BOM create / change / delete.
Issue: This Function module is not working when I'm trying to delete / change sub-items of a BOM. I'm getting update termination (ABAP/4 processor: SAPSQL_ARRAY_INSERT_DUPREC) during BOM post.
Is there a way to fix this?
(1) BOM creation part is working fine
(2) BOM item (without any sub-item change) change / delete is also workinghi
The following parameter are important parameter and mandatory
Matnr ; Enter the material Number
BOM_USAGE : Ther many BOM available that is sales BOM and Production BOM etc here you need to mention usage of BOM that is for sales or production
I_STKO : Enter the BOM Header information . Note : Ask your Functional consultand
Apart form this parameter, all are optional so do worry
regards
anand kumar
Maybe you are looking for
-
IDOC Posting with new fields in VA01
Hi, Previously i asked for creating New fields in VA01 screen. i got that now i need to create a sales order based on the Inbound IDOC which i get and i will be getting new fields which are created . And this Fields data is coming from an Extension
-
ORA-02095 how to change db_domain
I tried with scope=spfile and failed (Release 10.2.0.5.0). Any Idea why ? SQL> alter system set db_domain=my.new.domain scope=spfile; alter system set db_domain=my.new.domain scope=spfile ERROR at line 1: ORA-02095: specified initialization parameter
-
Ok this is driving me crazy. It is pretty simple. I just want a button I click to tell another movie clip to gotoAndPlay(2); and when I click the button nothing happens. I know the path is correct because I have the other movieclip in the _root secti
-
Watching videos on wireless laptop (Linksys BEFWllS4) repeatedly freeze and streaming stops. Have upgraded firmware and adjusted MTU. What to do next?
-
Broke my laptop??? [SOLVED]
the Arch boot process is no longer displayed at full screen (1024x768) but in a small portion of the screen... Also the laptop's own bootsplash window (Dell logo) is no longer full screen.... Did I break my laptop? Or is there a simple solution to th