<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: By-products in bill-of-materials (Proc BOM) in Mathematical Optimization, Discrete-Event Simulation, and OR</title>
    <link>https://communities.sas.com/t5/Mathematical-Optimization/By-products-in-bill-of-materials-Proc-BOM/m-p/178277#M928</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your reply. You are right, sub-levels of by-products technically seem not make sense.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The correct product structure and part master would be:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data ProductStructure;&lt;BR /&gt;&amp;nbsp; Input Product $ Component $ Qty;&lt;BR /&gt;&amp;nbsp; Datalines;&lt;BR /&gt;&amp;nbsp; P2&amp;nbsp; C1&amp;nbsp; 0.80&lt;BR /&gt;&amp;nbsp; P2&amp;nbsp; C4&amp;nbsp; 0.35&lt;BR /&gt;&amp;nbsp; P2&amp;nbsp; C5&amp;nbsp; -0.1&lt;BR /&gt;&amp;nbsp; C1&amp;nbsp; C11 0.30&lt;BR /&gt;&amp;nbsp; C1&amp;nbsp; C12 0.50&lt;BR /&gt;&amp;nbsp; C1&amp;nbsp; C5&amp;nbsp; 0.25&lt;BR /&gt;&amp;nbsp; ;&lt;BR /&gt;Run;&lt;/P&gt;&lt;P&gt;Data PartMaster;&lt;BR /&gt;&amp;nbsp; Input Descr $ Text $35.;&lt;BR /&gt;&amp;nbsp; Datalines;&lt;BR /&gt;&amp;nbsp; P2&amp;nbsp; Product_2&lt;BR /&gt;&amp;nbsp; C1&amp;nbsp; Component_1&lt;BR /&gt;&amp;nbsp; C4&amp;nbsp; Component_4&lt;BR /&gt;&amp;nbsp; C5&amp;nbsp; Byproduct_of_P2_and_Component_of_C1&lt;BR /&gt;&amp;nbsp; C11 Subcomponent_1&lt;BR /&gt;&amp;nbsp; C12 Subcomponent_2&lt;BR /&gt;&amp;nbsp; ;&lt;BR /&gt;Run;&lt;/P&gt;&lt;P&gt;Proc BOM Data=ProductStructure&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMData=PartMaster&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Out=BOM_Result&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;&amp;nbsp; Structure / Part=Descr&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Parent=Product&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Component=Component&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Quantity=Qty&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ID=(Text)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;Run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is, that the by-product (C5) occurs as input and output (exactly the same name and material number), this is I can´t directly use a "Is_Output_or_Input"-Flag or so (would have to add the flag to ID, then proc bom, then correct result).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The quantities cannot cancel out each other because they are on different levels of the b-o-m.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry that I didn't get the product structure right the first time. Graphically, what I mean is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="bom.jpg" class="jive-image-thumbnail jive-image" src="https://communities.sas.com/legacyfs/online/6828_bom.jpg" width="450" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 17 Jul 2014 06:27:48 GMT</pubDate>
    <dc:creator>user24feb</dc:creator>
    <dc:date>2014-07-17T06:27:48Z</dc:date>
    <item>
      <title>By-products in bill-of-materials (Proc BOM)</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/By-products-in-bill-of-materials-Proc-BOM/m-p/178274#M925</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;I have to deal with a product structure that includes by-products. For example (sample code below), product P2 requires per unit 0.8 units of component C1 and 0.5 units of component C4, resp. In addition, the production step yields .25 units of by-product C5.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;My question is, whether there is a structured approach to deal with this. I think that I can get to the desired result by some data manipulation (checking if a component has a predecessor which is a by-product), but I am looking for a way to get there without doing too much "violence" to the data.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;Thanks&amp;amp;kind regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;An example code would look like this (gives a wrong result due to the negative product component):&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data ProductStructure;&lt;BR /&gt;&amp;nbsp; Input Product $ Component $ Qty;&lt;BR /&gt;&amp;nbsp; Datalines;&lt;BR /&gt;&amp;nbsp; P1&amp;nbsp; C1&amp;nbsp; 0.60&lt;BR /&gt;&amp;nbsp; P1&amp;nbsp; C2&amp;nbsp; 0.30&lt;BR /&gt;&amp;nbsp; P1&amp;nbsp; C3&amp;nbsp; 0.40&lt;BR /&gt;&amp;nbsp; P1&amp;nbsp; C4&amp;nbsp; 0.05&lt;BR /&gt;&amp;nbsp; P2&amp;nbsp; C1&amp;nbsp; 0.80&lt;BR /&gt;&amp;nbsp; P2&amp;nbsp; C4&amp;nbsp; 0.50&lt;BR /&gt;&amp;nbsp; P2&amp;nbsp; C5&amp;nbsp; -0.25&lt;BR /&gt;&amp;nbsp; C1&amp;nbsp; C11 0.30&lt;BR /&gt;&amp;nbsp; C1&amp;nbsp; C12 0.15&lt;BR /&gt;&amp;nbsp; C1&amp;nbsp; C13 0.15&lt;BR /&gt;&amp;nbsp; C5&amp;nbsp; C51 0.50&lt;BR /&gt;&amp;nbsp; C5&amp;nbsp; C52 0.50&lt;BR /&gt;&amp;nbsp; ;&lt;BR /&gt;Run;&lt;/P&gt;&lt;P&gt;Data PartMaster;&lt;BR /&gt;&amp;nbsp; Input Descr $ Text $15.;&lt;BR /&gt;&amp;nbsp; Datalines;&lt;BR /&gt;&amp;nbsp; P1&amp;nbsp; Product_1&lt;BR /&gt;&amp;nbsp; P2&amp;nbsp; Product_2&lt;BR /&gt;&amp;nbsp; C1&amp;nbsp; Component_1&lt;BR /&gt;&amp;nbsp; C2&amp;nbsp; Component_2&lt;BR /&gt;&amp;nbsp; C3&amp;nbsp; Component_3&lt;BR /&gt;&amp;nbsp; C4&amp;nbsp; Component_4&lt;BR /&gt;&amp;nbsp; C5&amp;nbsp; Byproduct_5&lt;BR /&gt;&amp;nbsp; C11 Subcomponent_1&lt;BR /&gt;&amp;nbsp; C12 Subcomponent_2&lt;BR /&gt;&amp;nbsp; C13 Subcomponent_3&lt;BR /&gt;&amp;nbsp; C51 Subbyproduct_1&lt;BR /&gt;&amp;nbsp; C52 Subbyproduct_2&lt;BR /&gt;&amp;nbsp; ;&lt;BR /&gt;Run;&lt;/P&gt;&lt;P&gt;Proc BOM Data=ProductStructure&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMData=PartMaster&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Out=BOM_Result&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;&amp;nbsp; Structure / Part=Descr&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Parent=Product&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Component=Component&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Quantity=Qty&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ID=(Text)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;Run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Jul 2014 12:16:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/By-products-in-bill-of-materials-Proc-BOM/m-p/178274#M925</guid>
      <dc:creator>user24feb</dc:creator>
      <dc:date>2014-07-14T12:16:26Z</dc:date>
    </item>
    <item>
      <title>Re: By-products in bill-of-materials (Proc BOM)</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/By-products-in-bill-of-materials-Proc-BOM/m-p/178275#M926</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi! Thanks for your question. We are currently investigating this and will reply soon.&lt;/P&gt;&lt;P&gt;Lindsey&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Jul 2014 15:40:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/By-products-in-bill-of-materials-Proc-BOM/m-p/178275#M926</guid>
      <dc:creator>lipury</dc:creator>
      <dc:date>2014-07-16T15:40:03Z</dc:date>
    </item>
    <item>
      <title>Re: By-products in bill-of-materials (Proc BOM)</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/By-products-in-bill-of-materials-Proc-BOM/m-p/178276#M927</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We weren't sure in your example if the C51 and C52 items are used to produce more of C5 or if the C5 by-product is used to produce C51 and C52. We do want to fully explore your requirement in the hope that we might be able to help. I spoke with the developer of the BOM procedure, and he thought that typically the by-products are produced in one BOM and consumed in another. You might introduce a multiplier variable (1 or -1) that could be carried into the output with the ID= option, to indicate whether the item is produced or consumed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Lindsey&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Jul 2014 21:23:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/By-products-in-bill-of-materials-Proc-BOM/m-p/178276#M927</guid>
      <dc:creator>lipury</dc:creator>
      <dc:date>2014-07-16T21:23:24Z</dc:date>
    </item>
    <item>
      <title>Re: By-products in bill-of-materials (Proc BOM)</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/By-products-in-bill-of-materials-Proc-BOM/m-p/178277#M928</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your reply. You are right, sub-levels of by-products technically seem not make sense.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The correct product structure and part master would be:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data ProductStructure;&lt;BR /&gt;&amp;nbsp; Input Product $ Component $ Qty;&lt;BR /&gt;&amp;nbsp; Datalines;&lt;BR /&gt;&amp;nbsp; P2&amp;nbsp; C1&amp;nbsp; 0.80&lt;BR /&gt;&amp;nbsp; P2&amp;nbsp; C4&amp;nbsp; 0.35&lt;BR /&gt;&amp;nbsp; P2&amp;nbsp; C5&amp;nbsp; -0.1&lt;BR /&gt;&amp;nbsp; C1&amp;nbsp; C11 0.30&lt;BR /&gt;&amp;nbsp; C1&amp;nbsp; C12 0.50&lt;BR /&gt;&amp;nbsp; C1&amp;nbsp; C5&amp;nbsp; 0.25&lt;BR /&gt;&amp;nbsp; ;&lt;BR /&gt;Run;&lt;/P&gt;&lt;P&gt;Data PartMaster;&lt;BR /&gt;&amp;nbsp; Input Descr $ Text $35.;&lt;BR /&gt;&amp;nbsp; Datalines;&lt;BR /&gt;&amp;nbsp; P2&amp;nbsp; Product_2&lt;BR /&gt;&amp;nbsp; C1&amp;nbsp; Component_1&lt;BR /&gt;&amp;nbsp; C4&amp;nbsp; Component_4&lt;BR /&gt;&amp;nbsp; C5&amp;nbsp; Byproduct_of_P2_and_Component_of_C1&lt;BR /&gt;&amp;nbsp; C11 Subcomponent_1&lt;BR /&gt;&amp;nbsp; C12 Subcomponent_2&lt;BR /&gt;&amp;nbsp; ;&lt;BR /&gt;Run;&lt;/P&gt;&lt;P&gt;Proc BOM Data=ProductStructure&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMData=PartMaster&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Out=BOM_Result&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;&amp;nbsp; Structure / Part=Descr&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Parent=Product&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Component=Component&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Quantity=Qty&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ID=(Text)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;BR /&gt;Run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is, that the by-product (C5) occurs as input and output (exactly the same name and material number), this is I can´t directly use a "Is_Output_or_Input"-Flag or so (would have to add the flag to ID, then proc bom, then correct result).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The quantities cannot cancel out each other because they are on different levels of the b-o-m.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry that I didn't get the product structure right the first time. Graphically, what I mean is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="bom.jpg" class="jive-image-thumbnail jive-image" src="https://communities.sas.com/legacyfs/online/6828_bom.jpg" width="450" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Jul 2014 06:27:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/By-products-in-bill-of-materials-Proc-BOM/m-p/178277#M928</guid>
      <dc:creator>user24feb</dc:creator>
      <dc:date>2014-07-17T06:27:48Z</dc:date>
    </item>
    <item>
      <title>Re: By-products in bill-of-materials (Proc BOM)</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/By-products-in-bill-of-materials-Proc-BOM/m-p/178278#M929</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi! Thanks for the clarification. Unfortunately we don't currently see a way for the BOM procedure to automatically handle the by-product in the same BOM. The only thing we can suggest is to add a by-product flag (1 if a by-product or 0 if not) to the product structure data set, and use the RID= option to specify the new variable. Then, at least, you will be able to identify by-products in the indented BOM for post-processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Lindsey&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jul 2014 14:24:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/By-products-in-bill-of-materials-Proc-BOM/m-p/178278#M929</guid>
      <dc:creator>lipury</dc:creator>
      <dc:date>2014-07-18T14:24:48Z</dc:date>
    </item>
  </channel>
</rss>

