<?xml version="1.0" encoding="utf-8"?>
<ManualTopic ID="/baanerp/performance/tc/P000001_first_free_numbers" xml:lang="en">
   <Header>
      <Title>First free numbers</Title>
      <Keyword type="header" order="d1e1382286">
         <Level1>Valid for ERP LN FP0, FP1, FP2, FP3, FP4, FP5, FP6, Infor10, 10.2 ERP Enterprise</Level1>
         <Level2>first free numbers</Level2>
      </Keyword>
      <Keyword type="header" order="d1e1382291">
         <Level1>Effect on CPU</Level1>
         <Level2>first free numbers</Level2>
      </Keyword>
      <Keyword type="header" order="d1e1382296">
         <Level1>First free numbers</Level1>
         <Level2>performance</Level2>
      </Keyword>
      <Keyword type="header" order="d1e1382301">
         <Level1>Performance</Level1>
         <Level2>first free numbers</Level2>
      </Keyword>
   </Header>
   <GeneralSection>
      <Paragraph>In several ERP Enterprise processes, numbers must be assigned to entities such as shipments,
		orders, and invoices. However, in terms of system performance, the assignment
		of numbers can be the bottleneck.</Paragraph>
      <Paragraph>To improve the performance of sessions in which new order
		numbers are assigned, define a cache size for a series in the <Link href="/baanerp/tc/mcs/tcmcs0150m000" role="session">First Free Numbers (tcmcs0150m000)</Link> session. The cache size is the number of
		new series numbers ERP Enterprise generates simultaneously. If there are series numbers in cache, users do not
		have to wait while ERP Enterprise generates and checks the next series numbers.</Paragraph>
      <List>
         <ListItemHead>Cache size = 0</ListItemHead>
         <ListItem>
            <Paragraph>No caching is applied. If you request a new number, the
			 number is only committed after the transaction to which the number applies is
			 completed.</Paragraph>
            <Paragraph>Disadvantage: The number series is locked during the
			 transaction. Other users cannot request a new number from the same series until
			 the transaction is completed.</Paragraph>
            <Paragraph>Advantage: No numbering gaps.</Paragraph>
            <Paragraph>If number gaps are not allowed, use a cache size of 0.
			 Preferably, request a new number close to the end of a transaction to reduce
			 locking time. In high volume implementations, a cache size of 0 can cause
			 performance and locking problems.</Paragraph>
         </ListItem>
         <ListItemHead>Cache size = 1</ListItemHead>
         <ListItem>
            <Paragraph>If you request a new number, the number is committed
			 immediately, even if the transaction to which the number applies is not yet
			 completed.</Paragraph>
            <Paragraph>Disadvantage: Numbering gaps can occur if a transaction is
			 not completed.</Paragraph>
            <Paragraph>Advantage: The number series is only locked for a short
			 time, which improves performance.</Paragraph>
            <Paragraph>A cache size of 1 is the default value for number series. In
			 this way, performance and locking problems in high volume implementations are
			 avoided as much as possible.</Paragraph>
         </ListItem>
         <ListItemHead>Cache size &gt; 1</ListItemHead>
         <ListItem>
            <Paragraph>The value of the cache size indicates how many new numbers
			 are requested simultaneously. The numbers are committed immediately, even if
			 transactions are not yet completed.</Paragraph>
            <Paragraph>Disadvantage: Large numbering gaps can occur if more than
			 one transaction is unfinished.</Paragraph>
            <Paragraph>Advantage: The number series is only locked for a short
			 time. Furthermore, for all numbers requested, the number series must only be
			 updated once, which improves performance.</Paragraph>
            <Paragraph>A cache size larger than 1 is only recommended if a cache
			 size of 1 does not solve locking problems sufficiently.</Paragraph>
         </ListItem>
      </List>
      <GeneralSection>
         <SectionTitle>Performance aspects</SectionTitle>
         <List>
            <ListItem>Effect on CPU: Yes</ListItem>
            <ListItem>Effect on database growth: Not applicable</ListItem>
         </List>
      </GeneralSection>
      <Note>
         <SectionTitle>Note</SectionTitle>
         <Paragraph>For more information, refer to the <DocRef>ERP Enterprise- Performance,
		  Tracing and Tuning Guide (U9357)</DocRef>.</Paragraph>
      </Note>
   </GeneralSection>
   <RelatedTopics>
      <SectionTitle>Related topics</SectionTitle>
      <RelTopic>
         <Link href="/baanerp/tc/onlinemanual/000004" role="manual">To use number groups and series</Link>
      </RelTopic>
   </RelatedTopics>
</ManualTopic>