<?xml version="1.0" encoding="utf-8"?>
<ManualTopic ID="/baanerp/tc/onlinemanual/000359" xml:lang="en">
   <Header>
      <Title>To define user-specific constraints in unit effectivity</Title>
      <Keyword type="header" order="d1e1461407">
         <Level1>unit effectivity</Level1>
      </Keyword>
   </Header>
   <AimSection>
      <Paragraph>In the <GUIRef href="/baanerp/tc/uef/tcuef0106m000" role="session">Requirements (tcuef0106m000)</GUIRef> session you can use the <GUIRef href="/baanerp/tc/uef/tcuef0106m000#tcuef006.catg" role="manual">Category</GUIRef> field and the <GUIRef href="/baanerp/tc/uef/tcuef0106m000#tcuef006.excl" role="manual">Exclusive Indicator</GUIRef> field to specify constraints to
		apply requirements.</Paragraph>
   </AimSection>
   <ExampleSection>
      <SectionTitle>Example</SectionTitle>
      <Paragraph>Three requirements exist, HEAVY, NORMAL, and LIGHT, which denote
		three models. If you define the same categories and exclusive indicators for
		those requirements, you specify that only one of those requirements can be
		selected for a specific effectivity unit.</Paragraph>
   </ExampleSection>
   <GeneralSection>
      <SectionTitle>To define more than one constraint</SectionTitle>
      <Paragraph>The combination of category and exclusive indicator for an
		effectivity unit specifies only one constraint. Some customers want to define
		more than one (customer-specific) constraint. Therefore, customers can program
		their own constraints and actions in a set of predefined, empty functions,
		which are called by the tcuef007 DAL. The empty functions are located in
		tcuef.dll8007. The following functions exist:</Paragraph>
      <List>
         <ListItem>tcuef.dll8007.before.save.object</ListItem>
         <ListItem>tcuef.dll8007.before.destroy.object</ListItem>
         <ListItem>tcuef.dll8007.after.save.object</ListItem>
         <ListItem>tcuef.dll8007.after.destroy.object</ListItem>
         <ListItem>tcuef.dll8007.eopt.check</ListItem>
         <ListItem>tcuef.dll8007.effn.check</ListItem>
      </List>
      <Paragraph>To customize the dll, you must copy the dll to another VRC,
		after which you can make changes in the copy VRC. The reason for this is that
		during development in ERP Enterprise, new functions could be added to the dll by ERP Enterprise developers or ERP Enterprise support. As a result, customizations in the original dll
		could be overwritten. If you copy the dll to a new VRC, you can extend the ERP Enterprise logic without customizing the standard ERP Enterprise program source
		code.</Paragraph>
   </GeneralSection>
   <ExampleSection>
      <SectionTitle>Examples of potential use</SectionTitle>
      <List>
         <ListItem>To add extra checks, which are executed if you insert a
		  requirement for an effectivity unit.</ListItem>
         <ListItem>To automatically insert a requirement SAFETY_DEV if you insert
		  a requirement ENGINE_3000 for an effectivity unit.</ListItem>
      </List>
      <Paragraph/>
   </ExampleSection>
   <RelatedTopics>
      <SectionTitle>Related topics</SectionTitle>
      <RelTopic>
         <Link href="/baanerp/tc/onlinemanual/000300" role="manual">Overview of unit effectivity</Link>
      </RelTopic>
   </RelatedTopics>
</ManualTopic>