BOM Cost Implosion
Object | BOMTCI |
Class | Transaction |
Method(s) | Post |
Functional Area | Bill of Material Primary Posting |
Version released | SYSPRO 8 2021 R1 |
Functionality
The BOM Cost Implosion business object lets you calculate and update costs using SQL-only statements (instead of temporary files). The business object is only used if you uncheck the Run cost implosion in legacy mode option of the Cost Implosion program.
Security
You can secure access to this business object using the Operator Groups program.
You can secure access to transactions for this business object using the following eSignature(s):
-
BOM Cost Implosion e.net
Functionality considerations
-
You can't update non-current revisions/releases of an item.
-
You can't revert to route 0 when the what-if cost of a route (other than route 0) is not found.
Input XML
The BOMTCI.XML and BOMTCI.XSD files indicate the parameters schema and an instance of an XML document for this business object.
The BOMTCIDOC.XML and BOMTCIDOC.XSD files indicate the schema and an instance of an XML document for this business object.
Output XML
The XXXXXXOUT.XML indicates a sample of the XML returned by this business object.
Sample files

<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2016 SYSPRO Ltd.-->
<!--
This is an example XML instance to demonstrate
use of the BOM Cost Implosion business object
-->
<PostBOMCostImplosion xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="BOMTCI.XSD">
<Parameters>
<ValidateOnly>N</ValidateOnly>
<IgnoreWarnings>N</IgnoreWarnings>
<ApplyIfEntireDocumentValid>N</ApplyIfEntireDocumentValid>
<CostBasedOn>I</CostBasedOn>
<CostToUpdate>W</CostToUpdate>
<Route>0</Route>
<UpdateUnitRunTimes>N</UpdateUnitRunTimes>
<AccumMassToParent>N</AccumMassToParent>
<AccumVolumeToParent>N</AccumVolumeToParent>
<DetailReport>N</DetailReport>
<eSignature>{36303032-3330-3031-3038-323434363433}</eSignature>
</Parameters>
</PostBOMCostImplosion>

<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2016 SYSPRO Ltd.-->
<!--
This is an example XML instance to demonstrate
use of the BOM Cost Implosionbusiness object
-->
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="IgnoreWarnings" default="N">
<xsd:annotation>
<xsd:documentation>This element indicates whether or not a transaction must be rejected if there are any warnings such as "Document value is zero". (N - No, Y - Yes, W - Warning) If not supplied it defaults to 'N'. </xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Y"/>
<xsd:enumeration value="N"/>
<xsd:enumeration value="W"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Parameters">
<xsd:annotation>
<xsd:documentation>This contains the parameters</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ValidateOnly" minOccurs="0"/>
<xsd:element ref="IgnoreWarnings" minOccurs="0"/>
<xsd:element ref="ApplyIfEntireDocumentValid" minOccurs="0"/>
<xsd:element ref="CostBasedOn" minOccurs="0"/>
<xsd:element ref="CostToUpdate" minOccurs="0"/>
<xsd:element ref="Route" minOccurs="0"/>
<xsd:element ref="UpdateUnitRunTimes" minOccurs="0"/>
<xsd:element ref="AccumMassToParent" minOccurs="0"/>
<xsd:element ref="AccumVolumeToParent" minOccurs="0"/>
<xsd:element ref="DetailReport" minOccurs="0"/>
<xsd:element ref="eSignature" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="PostBOMCostImplosion">
<xsd:annotation>
<xsd:documentation>This is the root element</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Parameters"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ValidateOnly" default="N">
<xsd:annotation>
<xsd:documentation>Specifies whether to only validate the contents of the document. (N - validate and apply function if no errors, Y - only validate the document). Default N - (validate and apply function if no errors).</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Y"/>
<xsd:enumeration value="N"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ApplyIfEntireDocumentValid" default="N">
<xsd:annotation>
<xsd:documentation>Specifies whether the entire document must be validated first before applying the function (N - apply function for each valid item, Y - all items must be valid before function is applied). This element will default to 'N' if not supplied.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="N"/>
<xsd:enumeration value="Y"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CostBasedOn" default="I">
<xsd:annotation>
<xsd:documentation>Since the implosion begins at the lowest level (i.e. raw materials) you must decide on the basis of the costs to be used for each of the raw materials and the rate to charge for labour and overheads. (I - Inventory, L - Last cost, W - What-if, B - BOM) Default value I.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="I"/>
<xsd:enumeration value="L"/>
<xsd:enumeration value="W"/>
<xsd:enumeration value="B"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CostToUpdate" default="W">
<xsd:annotation>
<xsd:documentation>Select the costs to update. (B - BOM, W - What-if, X - BOM and What-if). Default value is W.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="B"/>
<xsd:enumeration value="W"/>
<xsd:enumeration value="X"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Route" type="xsd:string" default="0">
<xsd:annotation>
<xsd:documentation>Indicate the specific routing that must be used for the implosion. The routing defaults to Use route on warehouse (~) when the Apply warehouse BOM costs option is enabled and route 0 when the Apply warehouse BOM costs option is not enabled</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="UpdateUnitRunTimes" default="N">
<xsd:annotation>
<xsd:documentation>Select this to recalculate and update the BOMOPS file with the calculated run time for Block and Rate type work centers based on the time taken and quantity fields. (Y - Yes, N - No). Default value is N.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Y"/>
<xsd:enumeration value="N"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="AccumMassToParent" default="N">
<xsd:annotation>
<xsd:documentation>Accumulates the mass against each component up to the parent item to calculate the mass of the parent item. (Y - Yes, N - No). Default value is N.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Y"/>
<xsd:enumeration value="N"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="AccumVolumeToParent" default="N">
<xsd:annotation>
<xsd:documentation>Accumulate volume to parent Accumulates the volume against each component up to the parent item to calculate the volume of the parent item. (Y - Yes, N - No). Default value is N.
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Y"/>
<xsd:enumeration value="N"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DetailReport" default="N">
<xsd:annotation>
<xsd:documentation>This will output the detail information for the BOM Cost Implosion, before and after values. (Y - Yes, N - No). Default value is N.</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Y"/>
<xsd:enumeration value="N"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="eSignature" type="xsd:string">
<xsd:annotation>
<xsd:documentation>GUID for eSignatures</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:schema>

<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2016 SYSPRO Ltd.-->
<!--
This is an example XML instance to demonstrate
use of the BOM Cost Implosion business object
-->
<PostBOMCostImplosion xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="BOMTCIDOC.XSD">
<Filter>
<StockCode FilterType="A" FilterValue=" "/>
<Warehouse FilterType="A" FilterValue=" "/>
<ProductClass FilterType="A" FilterValue=" "/>
<Supplier FilterType="A" FilterValue=" "/>
<Buyer FilterType="A" FilterValue=" "/>
<Planner FilterType="A" FilterValue=" "/>
<JobClassification FilterType="A" FilterValue=" "/>
</Filter>
</PostBOMCostImplosion>

<?xml version="1.0" encoding="Windows-1252"?>
<!-- Copyright 1994-2016 SYSPRO Ltd.-->
<!--
Schema for the Post BOM Cost Implosion business object
-->
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Filter">
<xsd:annotation>
<xsd:documentation>This is the Parent filter element</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="StockCode"/>
<xsd:element ref="Warehouse"/>
<xsd:element ref="ProductClass"/>
<xsd:element ref="Supplier"/>
<xsd:element ref="Buyer"/>
<xsd:element ref="Planner"/>
<xsd:element ref="JobClassification"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="PostBOMCostImplosion">
<xsd:annotation>
<xsd:documentation>This is the Root element.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Filter"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="StockCode">
<xsd:annotation>
<xsd:documentation>Indicate a selective range of stock items that must be included in the cost implosion. (A - All, S - Single, R - Range, L - List).
Default value is A.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="FilterType" use="optional" default="A">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="A"/>
<xsd:enumeration value="R"/>
<xsd:enumeration value="S"/>
<xsd:enumeration value="L"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="FilterValue" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Warehouse">
<xsd:annotation>
<xsd:documentation>Indicate a selective range of warehouses that must be included in the cost implosion. (A - All, S - Single, R - Range, L - List).
Default value is A.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="FilterType" use="optional" default="A">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="A"/>
<xsd:enumeration value="R"/>
<xsd:enumeration value="S"/>
<xsd:enumeration value="L"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="FilterValue" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="ProductClass">
<xsd:annotation>
<xsd:documentation>Indicate a selective range of product classes according to which items will be selected for inclusion in the cost implosion. (A - All, S - Single, R - Range, L - List).
Default value is A.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="FilterType" use="optional" default="A">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="A"/>
<xsd:enumeration value="R"/>
<xsd:enumeration value="S"/>
<xsd:enumeration value="L"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="FilterValue" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Supplier">
<xsd:annotation>
<xsd:documentation>Indicate a selective range of suppliers according to which items will be selected for inclusion in the cost implosion. (A - All, S - Single, R - Range, L - List).
Default value is A.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="FilterType" use="optional" default="A">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="A"/>
<xsd:enumeration value="R"/>
<xsd:enumeration value="S"/>
<xsd:enumeration value="L"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="FilterValue" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Buyer">
<xsd:annotation>
<xsd:documentation>Indicate a selective range of buyers according to which items will be selected for inclusion in the cost implosion. (A - All, S - Single, R - Range, L - List).
Default value is A.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="FilterType" use="optional" default="A">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="A"/>
<xsd:enumeration value="R"/>
<xsd:enumeration value="S"/>
<xsd:enumeration value="L"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="FilterValue" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Planner">
<xsd:annotation>
<xsd:documentation>Indicate a selective range of planners according to which items will be selected for inclusion in the cost implosion. (A - All, S - Single, R - Range, L - List).
Default value is A.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="FilterType" use="optional" default="A">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="A"/>
<xsd:enumeration value="R"/>
<xsd:enumeration value="S"/>
<xsd:enumeration value="L"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="FilterValue" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="JobClassification">
<xsd:annotation>
<xsd:documentation>Indicate a selective range of job classifications according to which items will be selected for inclusion in the cost implosion. (A - All, S - Single, R - Range, L - List).
Default value is A.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="FilterType" use="optional" default="A">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="A"/>
<xsd:enumeration value="R"/>
<xsd:enumeration value="S"/>
<xsd:enumeration value="L"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="FilterValue" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Copyright © 2021 SYSPRO PTY Ltd.