<?xml version="1.0" encoding="utf-8"?>
<ManualTopic ID="/baanerp/ti/onlinemanual/100001" xml:lang="en">
	<Header>
		<Title xmlns:ssa="http://www.ssaglobal.com" xmlns:HTML="http://www.w3.org/TR/REC-html40">How to configure product variants and generate product structures</Title>
		<Keyword><Level1>Configuring product variants</Level1>
		</Keyword>
		<Keyword><Level1>Generating product variants</Level1>
		</Keyword>
	</Header>
	<GeneralSection><Paragraph>The procedure to configure product variants and generate product variant structures is composed of a number of separate steps.</Paragraph>
		<Paragraph>The product variant configuration process differs dependent on the module it is initiated from:</Paragraph>
		<List><ListItem><Link href="/baanerp/ti/onlinemanual/tipcf" role="module">Product Configuration (PCF)</Link> in <GUIRef href="/baanerp/ti" role="package">Manufacturing</GUIRef>.</ListItem>
			<ListItem><GUIRef href="/baanerp/td/sls" role="module">Sales Control</GUIRef> in <GUIRef href="/baanerp/td" role="package">Order Management</GUIRef>
			</ListItem>
			<ListItem><Link href="/baanerp/ti/onlinemanual/tipcs" role="module">Project Control (PCS)</Link> in <GUIRef href="/baanerp/ti" role="package">Manufacturing</GUIRef>.</ListItem>
			<ListItem><Link href="/baanerp/tp/onlinemanual/tpptc" role="module">Project Budget (PTC)</Link> in <GUIRef href="/baanerp/tp" role="package">Project</GUIRef>.</ListItem>
			<ListItem><Link href="/baanerp/tp/onlinemanual/tppss" role="module">Project Planning and Requirements (PSS)</Link> in <GUIRef href="/baanerp/tp" role="package">Project</GUIRef>.</ListItem>
		</List>
		<Paragraph>If you initiate a product variant from <GUIRef href="/baanerp/ti/pcf" role="module">Product Configuration</GUIRef>, you must define a product variant code before you start the configuration process. The product variant has the <GUIRef href="/baanerp/tc/domains/reft#standard" role="enum">Standard Variant</GUIRef> reference type.</Paragraph>
		<Paragraph>In the other instances, <Link href="/baanerp/ti/onlinemanual/tipcf" role="module">Product Configuration (PCF)</Link> module, the <GUIRef href="/baanerp/td/sls" role="module">Sales Control</GUIRef> module, the <Link href="/baanerp/ti/onlinemanual/tipcs" role="module">Project Control (PCS)</Link> module, the <Link href="/baanerp/tp/onlinemanual/tpptc" role="module">Project Budget (PTC)</Link> module, or <Link href="/baanerp/tp/onlinemanual/tppss" role="module">Project Planning and Requirements (PSS)</Link>, SSA ERP generates a product variant code so you can start the configuration immediately. The product variant has one of the following reference types: <GUIRef href="/baanerp/tc/domains/reft#sls.quotation" role="enum">Sales Quotation</GUIRef>, <GUIRef href="/baanerp/tc/domains/reft#sls.order" role="enum">Sales Order</GUIRef>, <GUIRef href="/baanerp/tc/domains/reft#budget" role="enum">Budget</GUIRef>, <GUIRef href="/baanerp/tc/domains/reft#project" role="enum">Project</GUIRef>, <GUIRef href="/baanerp/tc/domains/reft#standard" role="enum">Standard Variant</GUIRef>, or <GUIRef href="/baanerp/tc/domains/reft#tp" role="enum">TP Project</GUIRef>.</Paragraph>
		<GeneralSection><SectionTitle>The configuration process</SectionTitle>
			<List><ListIntro>The configuration process section consists of the following subsections:</ListIntro>
				<ListItem>To configure a product variant</ListItem>
				<ListItem>To select an option value</ListItem>
				<ListItem>To validate an option value</ListItem>
				<ListItem>To validate an option set</ListItem>
				<ListItem>To validate a product variant</ListItem>
			</List>
		</GeneralSection>
		<GeneralSection><SectionTitle>To configure a product variant</SectionTitle>
			<ProcedureList><ListItem>Open the <GUIRef href="/baanerp/ti/pcf/tipcf5501m000" role="session">Product Variants (tipcf5501m000)</GUIRef> session, and start the details session.</ListItem>
				<ListItem>Determine the generic item for which you want to configure a product variant.</ListItem>
				<ListItem>Start the configuration process from the <GUIRef href="/baanerp/ti/pcf/tipcf5501m000" role="session">Product Variants (tipcf5501m000)</GUIRef> details session.</ListItem>
				<ListItem>SSA ERP reads the generic configuration structure and searches for the <Link href="/baanerp/ti/glossary/glossary#100011" role="glossary">option set</Link> for the top of the product structure.</ListItem>
				<ListItem>If the option set is found, the set is displayed in the <GUIRef href="/baanerp/ti/pcf/tipcf5120m000" role="session">Product Configurator (tipcf5120m000)</GUIRef> session; go to step 6. If the option set is not found, nothing is displayed in the <GUIRef href="/baanerp/ti/pcf/tipcf5120m000" role="session">Product Configurator (tipcf5120m000)</GUIRef> session; go to step 10.</ListItem>
				<ListItem>SSA ERP reads the first option set of the generic item. Refer to subsection To read option sets.</ListItem>
				<ListItem>Click the <GUIRef href="/baanerp/ti/pcf/tipcf5120m000#tipcf520.copt" role="formfield">Option</GUIRef> field of a product feature. Double click '...' to display the valid options. The options are displayed in the <Link href="/baanerp/ti/pcf/tipcf1110m000" role="session">Options by Product Feature and Generic Item (tipcf1110m000)</Link> session. Select the desired option value. Refer to subsection To select an option value.</ListItem>
				<ListItem>SSA ERP validates the selected <Link href="/baanerp/ti/glossary/glossary#100001" role="glossary">option</Link> value. Refer to subsection To validate an option value.</ListItem>
				<ListItem>Repeat steps 7 and 8 for each new feature. After you selected a option for each product feature, SSA ERP validates the entire option set. Refer to subsection To validate an option set.</ListItem>
				<ListItem>Click the next group button to prompt SSA ERP to search for the next (lower level) option set for the item.</ListItem>
				<ListItem>SSA ERP searches for the next option set and performs the constraint section <GUIRef href="/baanerp/tc/domains/cnss#validation" role="enum">Validation</GUIRef> for the components of the generic bill of material.</ListItem>
				<ListItem>SSA ERP checks if another option set is available on this level. If Yes, go to step 5. If No, go to step 13.</ListItem>
				<ListItem>SSA ERP validates the product variant. Refer to subsection To validate a product variant.</ListItem>
			</ProcedureList>
		</GeneralSection>
		<GeneralSection><SectionTitle>To read option sets</SectionTitle>
			<ProcedureList><ListItem>SSA ERP reads the product features of the generic item and searches for the first product feature (the first option set) of the generic item in the top of the structure.</ListItem>
				<ListItem>SSA ERP checks if a product constraint is linked to the product feature. If Yes, go to step 3. If No, go to step 7.</ListItem>
				<ListItem>SSA ERP reads the product constraint and performs the <GUIRef href="/baanerp/tc/domains/cnss#before.input" role="enum">Before Input</GUIRef> constraint section.</ListItem>
				<ListItem>SSA ERP checks if the input or display of option values is allowed. If Yes, go to step 5. If No, go to step 6.</ListItem>
				<ListItem>SSA ERP checks if there are any additional features for which steps 2 through 4 must be performed. If Yes, go to step 8. If No, go to step 7.</ListItem>
				<ListItem>If the input of an option value is not allowed, SSA ERP initializes the option with the value defined in the <GUIRef href="/baanerp/tc/domains/cnss#before.input" role="enum">Before Input</GUIRef> constraint section, and continues the procedure from step 8. If input and display are not allowed for any of the options, SSA ERP disables the option field. Such option sets are called invisible option sets. Invisible option sets are option sets in which the input or display of an option value is not allowed for any product feature. These invisible option sets are automatically initialized and subsequently validated by the product configurator.</ListItem>
				<ListItem>Select the option values. Option values are discussed further in the To select an option value subsection.</ListItem>
				<ListItem>SSA ERP searches for the next product feature of the first option set.</ListItem>
			</ProcedureList>
		</GeneralSection>
		<GeneralSection><SectionTitle>To select an option value</SectionTitle>
			<ProcedureList><ListItem>Double click the Option field of the product feature for which you want to select an option value.</ListItem>
				<ListItem>SSA ERP checks if a product constraint is linked to that product feature. If Yes, go to step 3. If No, go to step 5.</ListItem>
				<ListItem>SSA ERP reads the product constraint and performs the <GUIRef href="/baanerp/tc/domains/cnss#before.input" role="enum">Before Input</GUIRef> constraint section.</ListItem>
				<ListItem>SSA ERP checks if the input or display of option values is allowed. If Yes, go to step 5. If No, go to step 6.</ListItem>
				<ListItem>Zoom to the allowed options. Click '...' to display all valid features in the <GUIRef href="/baanerp/ti/pcf/tipcf1110m000" role="session">Options by Product Feature and Generic Item (tipcf1110m000)</GUIRef> session. To compose the list of allowed options, SSA ERP carries out the <GUIRef href="/baanerp/tc/domains/cnss#validation" role="enum">Validation</GUIRef> constraint section of the relevant constraints for each available option. Go to step 7.</ListItem>
				<ListItem>If the input of an option value is not allowed, SSA ERP initializes the option with the value defined in the <GUIRef href="/baanerp/tc/domains/cnss#before.input" role="enum">Before Input</GUIRef> constraint section. Continue the procedure from step 9.</ListItem>
				<ListItem>Select the option value.</ListItem>
				<ListItem>SSA ERP validates the option value selected. Refer to subsection To validate an option value.</ListItem>
				<ListItem>Check whether another product feature is present for which options must be selected. If Yes, go to step 1. If No, go to step 10.</ListItem>
				<ListItem>SSA ERP validates the option set. Refer to subsection To validate an option set.</ListItem>
			</ProcedureList>
		</GeneralSection>
		<GeneralSection><SectionTitle>To validate an option value</SectionTitle>
			<List><ListIntro>The option value is only validated:</ListIntro>
				<ListItem>If the input of an option value is allowed for the product feature.</ListItem>
				<ListItem>If the option value is not empty.</ListItem>
			</List>
			<ProcedureList><ListItem>SSA ERP checks if the options are selective (that is, a set of option values of which you can select one), or whether you must type a value yourself. If selective, go to step 2. If not selective, go to step 3.</ListItem>
				<ListItem>If a product feature has selective options, SSA ERP checks if the selected option value is part of a set assigned to the feature. Then SSA ERP checks if the selection date falls within the validity period of the option.</ListItem>
				<ListItem>If the product feature has no selective options, SSA ERP checks if the entered option value falls within the option value domain.</ListItem>
				<ListItem>SSA ERP reads the product constraint and performs the constraint section <GUIRef href="/baanerp/tc/domains/cnss#validation" role="enum">Validation</GUIRef>, which determines whether the selected option value is allowed.</ListItem>
				<ListItem>SSA ERP checks if the selected option value is allowed. If Yes, go to step 6. If No, go to step 7.</ListItem>
				<ListItem>Double click the Option field of the next product feature.</ListItem>
				<ListItem>If you entered a value that is not allowed, you can call the constraint expression involved.</ListItem>
				<ListItem>You can record an extensive description or explanatory text that relates to the product variant option by selecting the record in the <GUIRef href="/baanerp/ti/pcf/tipcf1110m000" role="session">Options by Product Feature and Generic Item (tipcf1110m000)</GUIRef> session, and click Text..</ListItem>
			</ProcedureList>
		</GeneralSection>
		<GeneralSection><SectionTitle>To validate an option set</SectionTitle>
			<Paragraph>Option set validation occurs for each product feature of the product variant option set. SSA ERP performs this step before searching for another option set and before terminating the configuration process.</Paragraph>
			<ProcedureList><ListItem>SSA ERP reads the first product feature of the option set.</ListItem>
				<ListItem>SSA ERP reads the product constraint and carries out the <GUIRef href="/baanerp/tc/domains/cnss#before.input" role="enum">Before Input</GUIRef> constraint section.</ListItem>
				<ListItem>SSA ERP checks if the input or display of option values is allowed. If Yes, go to step 4. If No, go to step 5.</ListItem>
				<ListItem>SSA ERP checks if the options are selective. If Yes, go to step 7. If No, go to step 8.</ListItem>
				<ListItem>If the input of an option value is not allowed, SSA ERP initializes the option with the value defined in the <GUIRef href="/baanerp/tc/domains/cnss#before.input" role="enum">Before Input</GUIRef> constraint section.</ListItem>
				<ListItem>SSA ERP performs the <GUIRef href="/baanerp/tc/domains/cnss#substitution" role="enum">Parameter Substitution</GUIRef> constraint section. You can give the option a fixed value in this constraint section. This value may or may not be calculated with a formula.</ListItem>
				<ListItem>If the product feature has selective options, SSA ERP checks if the option value selected is part of a set assigned to the product feature. Then, SSA ERP checks if the selection date falls within the validity period of the option.</ListItem>
				<ListItem>If the product feature has no selective options, SSA ERP checks if the option selected falls within the option value domain.</ListItem>
				<ListItem>SSA ERP reads the product constraint and performs the <GUIRef href="/baanerp/tc/domains/cnss#validation" role="enum">Validation</GUIRef> constraint section, which determines whether the option value selected is allowed.</ListItem>
				<ListItem>SSA ERP checks if the option value selected is allowed. If Yes, go to step 11. If No, go to step 12.</ListItem>
				<ListItem>SSA ERP reads the next product feature of the option set.</ListItem>
				<ListItem>If you have selected an option value that is not allowed, you can correct the option value.</ListItem>
			</ProcedureList>
		</GeneralSection>
		<GeneralSection><SectionTitle>To validate a product variant</SectionTitle>
			<Paragraph>The product variant is only validated if you have selected an allowed option value for each product feature of each option set.</Paragraph>
		</GeneralSection>
		<Note><SectionTitle>Note</SectionTitle>
			<Paragraph>You can validate a range of product variants in the <Link href="/baanerp/ti/pcf/tipcf5200m000" role="session">Validate Product Variants (tipcf5200m000)</Link> session.</Paragraph>
		</Note>
		<GeneralSection><SectionTitle>The generation process</SectionTitle>
			<List><ListIntro>After you configured a product variant, you can continue to generate the product variant using the following sessions:</ListIntro>
				<ListItem><GUIRef href="/baanerp/ti/pcs/tipcs2220m000" role="session">Generate (Project) Structure for Product Variant (tipcs2220m000)</GUIRef> session.</ListItem>
				<ListItem><GUIRef href="/baanerp/td/sls/tdsls1201m100" role="session">Generate (Budget) Structure for Sales Quotations (tdsls1201m100)</GUIRef> session.</ListItem>
				<ListItem><GUIRef href="/baanerp/td/sls/tdsls4244m000" role="session">Generate (Project) Structure for Sales Orders (tdsls4244m000)</GUIRef> session.</ListItem>
			</List>
			<List><ListIntro>The generation process is explained in the following subsections:</ListIntro>
				<ListItem>To generate a product variant structure</ListItem>
				<ListItem>To generate item data</ListItem>
				<ListItem>To generate a variant routing</ListItem>
				<ListItem>To generate a purchase/sales price</ListItem>
			</List>
		</GeneralSection>
		<GeneralSection><SectionTitle>To generate a product variant structure</SectionTitle>
			<ProcedureList><ListItem>Select the product variant for which you want to generate the product variant structure.</ListItem>
				<ListItem>Click Generate to start the process.</ListItem>
				<ListItem>SSA ERP reads the generic product structure and searches for the first item in the top of the structure.</ListItem>
				<ListItem>SSA ERP reads the product constraint linked to the bill of material component and performs the <GUIRef href="/baanerp/tc/domains/cnss#validation" role="enum">Validation</GUIRef> constraint section.</ListItem>
				<ListItem>SSA ERP determines whether the item is part of the generic product structure. If Yes, go to step 6. If No, go to step 7.</ListItem>
				<ListItem>SSA ERP reads the item type of the item. If the type is Generic, go to step 8. If it is another item type, go to step 7.</ListItem>
				<ListItem>SSA ERP searches for next item on this level.</ListItem>
				<ListItem>SSA ERP searches for the product variant and reads the selected features and options.</ListItem>
				<ListItem>SSA ERP includes the item in the variant structure.</ListItem>
				<ListItem>SSA ERP generates the product variant structure on the basis of the features and options selected. The following are generated consecutively: product variant item data, purchase/sales price, bill of material, and routing. Refer to the subsections below for more information.</ListItem>
				<ListItem>SSA ERP checks if the item is a generic, purchased, or manufactured item. If the item is Manufactured, go to step 7. If the item is Purchased, go to step 12.</ListItem>
				<ListItem>SSA ERP continues the search for the next item on the next lower level. The procedure is resumed from step 4.</ListItem>
				<ListItem>SSA ERP generates the item data, the purchase and sales data, the bill of material and the routing of the product variant.</ListItem>
			</ProcedureList>
		</GeneralSection>
		<GeneralSection><SectionTitle>To generate item data</SectionTitle>
			<ProcedureList><ListItem>SSA ERP reads the first line of the generic item data.</ListItem>
				<ListItem>SSA ERP reads the product constraint and performs the constraint section <GUIRef href="/baanerp/tc/domains/cnss#validation" role="enum">Validation</GUIRef>.</ListItem>
				<ListItem>SSA ERP determines if the item data element can be included in the variant structure. If Yes, go to step 4. If No, go to step 5.</ListItem>
				<ListItem>SSA ERP includes the data element in the product variant structure.</ListItem>
				<ListItem>SSA ERP reads the next line of the item data.</ListItem>
			</ProcedureList>
			<ProcedureList><ListItem>SSA ERP reads the first component of the generic bill of material.</ListItem>
				<ListItem>SSA ERP reads the product constraint and performs the constraint section <GUIRef href="/baanerp/tc/domains/cnss#validation" role="enum">Validation</GUIRef>.</ListItem>
				<ListItem>SSA ERP determines if the component may or may not be included in the variant structure. If Yes, go to step 4. If No, go to step 5.</ListItem>
				<ListItem>SSA ERP performs the constraint section <GUIRef href="/baanerp/tc/domains/cnss#substitution" role="enum">Parameter Substitution</GUIRef>. Using the formulas of this constraint section, SSA ERP calculates the length, width, number of units, and net quantity of a bill of material component.</ListItem>
				<ListItem>SSA ERP includes the bill of material component in the product variant structure.</ListItem>
				<ListItem>SSA ERP reads the next component.</ListItem>
			</ProcedureList>
		</GeneralSection>
		<GeneralSection><SectionTitle>To generate a variant routing</SectionTitle>
			<ProcedureList><ListItem>SSA ERP reads the first operation of the variant routing.</ListItem>
				<ListItem>SSA ERP reads the product constraint and performs the constraint section <GUIRef href="/baanerp/tc/domains/cnss#validation" role="enum">Validation</GUIRef>.</ListItem>
				<ListItem>SSA ERP determines if the operation can be included in the variant structure. If Yes, go to step 4. If No, go to step 5.</ListItem>
				<ListItem>SSA ERP performs the constraint section <GUIRef href="/baanerp/tc/domains/cnss#substitution" role="enum">Parameter Substitution</GUIRef>. Using the formulas of this constraint section, SSA ERP calculates the setup time and the run time for the operation.</ListItem>
				<ListItem>SSA ERP includes the operation in the product variant structure.</ListItem>
				<ListItem>SSA ERP reads the next operation.</ListItem>
			</ProcedureList>
		</GeneralSection>
		<GeneralSection><SectionTitle>To generate a purchase/sales price</SectionTitle>
			<ProcedureList><ListItem>SSA ERP reads the first line of the generic price list.</ListItem>
				<ListItem>SSA ERP reads the product constraint and performs the constraint section <GUIRef href="/baanerp/tc/domains/cnss#validation" role="enum">Validation</GUIRef>.</ListItem>
				<ListItem>SSA ERP determines if the price list line can be included in the price structure of the product variant. If Yes, go to step 4. If No, go to step 5.</ListItem>
				<ListItem>SSA ERP performs the constraint section <GUIRef href="/baanerp/tc/domains/cnss#substitution" role="enum">Parameter Substitution</GUIRef>. Using the formulas of this constraint section, SSA ERP calculates the purchase/sales price or the surcharge/discountpercentage.</ListItem>
				<ListItem>SSA ERP includes the price list line in the purchase/sales price structure of the product variant.</ListItem>
				<ListItem>SSA ERP reads the next price list line.</ListItem>
			</ProcedureList>
		</GeneralSection>
	</GeneralSection>
	<RelatedTopics><SectionTitle>Related topics</SectionTitle>
		<RelTopic><Link href="/baanerp/ti/onlinemanual/100011" role="manual">PCF procedures</Link>
		</RelTopic>
	</RelatedTopics>
</ManualTopic>
