cancel
Showing results for 
Search instead for 
Did you mean: 

BOM Sub-Component not reading dependencies

Former Member
0 Kudos

Hi Experts,

I have a situation where I would like to have the procedures that are assigned to the config. profile of a material read when I run Material BOM Transfer (CN33) if the material is a component in the BOM of another material.

As an example, I have Material 900 (configurable material) with a BOM created for it. In the BOM I have assigned material 800 as a component in the BOM for 900. I have created a configuration profile for material 800 with dependencies, however when I run CN33, I can see that the dependencies from material 800 were not read.

The end result I am looking for is the configuration data from material 900 that is relevant to material 800 is the only part being sent over on 800. I have created a procedures that will choose the proper data, but I do not think it is being read as it is attached to a sub component.

Your help is greatly appreciated, please let me know if clarification is needed.

Accepted Solutions (1)

Accepted Solutions (1)

Ritz
Active Contributor
0 Kudos

Andrew McGrath,

The very first thing i want to suggest you is please check configuration profile for header & component materials ( your example 900 & 800 material numbers)  what BOM explosion setting is maintained there, it should have multilevel.

didnt understyand what do you mean by attaching a procedure at sum component level only?

please provide some more details.

Please check and come back.

Thanks

Ritesh

Former Member
0 Kudos

Hi Ritesh,

Thank you for your response. On the Header materials (900) config. profile I have the BOM explosion set too Sales Order (SET), multilevel, with SD01 application filter, due to needing the BOM to explode in sales order. All relevant materials for sales are set in the BOM as such.

All materials relevant for costing (800) are set to to Plnd/Prod. Order, multilevel, with a custom application. The application is set as follows in configuration SelID Z1 (priority 1, BOM usage 3), Alternative Selection checked, Prod Version Checked, MRP checked, PlndOr checked, Costing checked, Work Order checked and Order checked. The sub components are set to Costing Relevant in the BOM with a BOM usage of 3 for the BOM.   

I have a procedure on the material 800 configuration profile that when executed should be only selecting configuration from the header component relevant to the material 800. This would mean that the CUOBJ for material 800 would not have any excess characteristics or values not relevant to its procurement. This is needed for a Form I have created for vendors that prints the information from the CUOBJ linking it to the purchased component and vendor. The form call function module ME_VAR_GET_CLASSIFICATION which uses the material 800 and its CUOBJ to run.

I hope this is a bit clearer.

Thanks

Ritz
Active Contributor
0 Kudos

Andrew McGrath,

I do not have much experiance while dealing with netwroks and WBS elements in VC.

so please dont mind if iam asking too many question to understand your issue.

Have you maintained configuration profile for material as well as Network too?

Can you change BOM application for 900 to PP01 instead of SD01 , as well as maintain PP01 for 800 too.


I have a procedure on the material 800 configuration profile that when executed should be only selecting configuration from the header component relevant to the material 800. This would mean that the CUOBJ for material 800 would not have any excess characteristics or values not relevant to its procurement. This is needed for a Form I have created for vendors that prints the information from the CUOBJ linking it to the purchased component and vendor. The form call function module ME_VAR_GET_CLASSIFICATION which uses the material 800 and its CUOBJ to run.

can you give example of it configurfation for 80o too?

I am trying to understand why you need a seprate procedure at middle level specialy when you are reffing just a part of header configuration, normaly config values should automartically passed down to lower level or you can use inheritance to do so with dummy code like below.

$SELF.800 = $PARENT.900 etc

check and reply

Thanks

Ritesh

Former Member
0 Kudos
Can you change BOM application for 900 to PP01 instead of SD01 , as well as maintain PP01 for 800 too.

I can't, we have business requirement to have relevant for sales sub components explode is sales order. I can maintain PP01 for material 800 though.

I am trying to understand why you need a seprate procedure at middle level specialy when you are reffing just a part of header configuration, normaly config values should automartically passed down to lower level or you can use inheritance to do so with dummy code like below.

This is because we have multiple characteristics that allow for free text entry. When one of these is used it triggers a precondition and shows a field for the custom purchasing price which creates the variant factor for the purchased material. However the free text field is showing on the CUOBJ of all purchased materials. We are attempting to put a procedure on the sub component to only take the text from the specified characteristic. Here is an example of the the procedure:

$SELF.CUSTOM_OPTION_2_DESC = $ROOT.CUSTOM_OPTION_2_DESC

IF SPECIFIED MU_CUSTOM_OPT_2_CST_MAT_139

I know this may sound confusing and I apologize, very confusing solution was created here.

Ritz
Active Contributor
0 Kudos

Andrew McGrath,

Now its some what clear to me.

I suggested to change BOM application to PP01 as PP01 first look for BOM usage 3, please check what is BOM usage you have for 900 as well as 800, it seems your first BOM is getting exploded but system is not finding next BOM 800 and thats why configuration may not be accessed through program.

Anotehr question is it the problem with only 900 & 800 or do you other products in which such setup is working fine?

Also the inheritance I mentioned in earlier reply is same procedure you have maintained at 800.


$SELF.CUSTOM_OPTION_2_DESC = $ROOT.CUSTOM_OPTION_2_DESC

IF SPECIFIED MU_CUSTOM_OPT_2_CST_MAT_139

here you are passing values from 900 to 800 for similar set of characterstic.

can you change procedure systex a lilltle bit as below and then try

$SELF.CUSTOM_OPTION_2_DESC = $PARENT.CUSTOM_OPTION_2_DESC

IF SPECIFIED MU_CUSTOM_OPT_2_CST_MAT_139

check syntex in editor and then run configuration in simulation CU50, hope you have already check proceudre is in release status.

and come back with findings.

you can also try to attach same procedure in header configuration profile too.

Also , please mark replies helpful , if it helps you.

Thanks

Ritesh

Ritz
Active Contributor
0 Kudos

one more confusion in your procedure syntax


$SELF.CUSTOM_OPTION_2_DESC = $ROOT.CUSTOM_OPTION_2_DESC

IF SPECIFIED MU_CUSTOM_OPT_2_CST_MAT_139

as per my knowledge the second part in your procedure should have same name of characteristics used in first part.

Here i can see you are passing value of characteristic CUSTOM_OPTION_2_DESC from 900 to characteristic CUSTOM_OPTION_2_DESC of 800 , but in second line you are passing a condition of another characteristic should be specified which is  MU_CUSTOM_OPT_2_CST_MAT_139 which is diferent?

please try with below syntax

$SELF.CUSTOM_OPTION_2_DESC = $ROOT.CUSTOM_OPTION_2_DESC

IF SPECIFIED MU_CUSTOM_OPT_2_DESC

check and come back.

Thanks

Ritesh

Ritz
Active Contributor
0 Kudos

have you tried it?

Ritesh

Former Member
0 Kudos

I have implemented SAP Message 1793809 and am testing. Thanks for your help

Answers (0)