<?xml version="1.0" encoding="utf-8"?>
<Session ID="/baanerp/tt/aud/ttaud1510m000" xml:lang="en">
	<Header>
		<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Transaction Notifications (ttaud1510m000)</Title>
	</Header>
	<HelpTopic xml:lang="en"><AimSection><Paragraph class="Default">
                                 Use this session to view the <Link href="/baanerp/tt/glossary/glossary#100236" role="glossary">transaction notifications</Link> for a particular <Link href="/baanerp/tt/glossary/glossary#000023" role="glossary">company</Link> and <Link href="/baanerp/tt/glossary/glossary#table.tt" role="glossary">table</Link>.</Paragraph>
		</AimSection>
		<GeneralSection><Paragraph class="Default">When changes to audited fields are saved, the <Link href="/baanerp/tt/glossary/glossary#100235" role="glossary">transactions</Link> are first logged in the audit files, and subsequently are committed the database: when a transaction is logged in the audit files, the transaction gets the "Prepared" status and the bshell creates a transaction notification. A transaction notification contains the transaction ID and information on where to find the transaction information in the audit sequence file.</Paragraph>
			<List><ListIntro>Transaction notifications:</ListIntro>
				<ListItem>can be used as a trigger for any process that needs to react to database changes such as a replication process.</ListItem>
				<ListItem>enable fast access to the audit trail data.</ListItem>
				<ListItem>are written into the Transaction Notifications (ttaud110) table in the database.</ListItem>
			</List>
			<List><ListIntro>The user transaction and the corresponding transaction notification are committed in the database within the same transaction scope:</ListIntro>
				<ListItem>if the transaction is committed, the bshell writes the transaction notification into the Transaction Notifications table. In the audit file, the transaction status is changed to "Committed".</ListItem>
				<ListItem>if the transaction is aborted, the bshell does not write the notification. In the audit file, the transaction status is changed to "Aborted".</ListItem>
			</List>
			<Paragraph class="Default">This mechanism ensures that transaction notifications are only stored for transactions that are committed in the database. A replication process that is based on transaction notifications will therefore only replicate committed transactions.</Paragraph>
			<ExampleSection><SectionTitle>
                                    Example
                                 </SectionTitle>
				<Paragraph class="Default">A transaction, "A", is saved in the audit file and a transaction notification is generated. The transaction is committed and the transaction notification is saved in the Transaction Notifications table.</Paragraph>
				<Paragraph class="Default">Another transaction, "B", is saved in the audit file and a transaction notification is generated. However, this transaction fails: the transaction is not committed and the transaction notification is <Emphasis>not</Emphasis> saved in the Transaction Notifications table.</Paragraph>
				<Paragraph class="Default">A replication process is used to transfer changes to another system. The replication process reads the Transaction Notifications table. Therefore only transaction "A" will be replicated.</Paragraph>
			</ExampleSection>
			<Note><SectionTitle>
                                    Note s</SectionTitle>
				<Paragraph class="Default">Transaction notifications are the replacement of the two-phase commit protocol used in previous versions. They eliminate the in-doubt transactions that can occur if the transaction is prepared but the data is not yet committed or aborted.</Paragraph>
				<Paragraph class="Default">Refer to the <DocRef>Infor Enterprise Server 8.5 Technical Manual (U8172 US)</DocRef> for more details.</Paragraph>
			</Note>
		</GeneralSection>
	</HelpTopic>
	<Fields><FieldHelp ID="ttaud110.trid"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Transaction ID</Title>
			</Header>
			<FuncDesc>The <Link href="/baanerp/tt/glossary/glossary#100235" role="glossary">transaction</Link> identification number.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttaud110.tsnr"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Table number</Title>
			</Header>
			<FuncDesc>A sequence number that indicates the order in which tables, within the same <Link href="/baanerp/tt/glossary/glossary#100235" role="glossary">transaction</Link>, are updated.</FuncDesc>
			<SimpleSection><ProcedureList><ListIntro>For example: a transaction (ID 10609546320000042619) performs the following actions in two tables (A and B):</ListIntro>
					<ListItem>Update a row in table A</ListItem>
					<ListItem>Update a second row in table A</ListItem>
					<ListItem>Update a row in table B</ListItem>
					<ListItem>Update a third row in table A</ListItem>
				</ProcedureList>
				<List><ListIntro>Two transaction notifications are generated for transaction 10609546320000042619:</ListIntro>
					<ListItem>A notification for table A. The table number is 1, since the first update in the transaction is in table A. This notification contains information on where to find the audit information for the three update actions on table A.</ListItem>
					<ListItem>A notification for table B. The table number is 2. This notification contains information on where to find the audit information for the update action on table B.</ListItem>
				</List>
			</SimpleSection>
		</FieldHelp>
		<FieldHelp ID="ttaud110.sess"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Session</Title>
			</Header>
			<FuncDesc>The name of the <Link href="/baanerp/tt/glossary/glossary#session.tt" role="glossary">session</Link> that was used to perform the <Link href="/baanerp/tt/glossary/glossary#100235" role="glossary">transaction</Link>.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttaud110.user"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">User</Title>
			</Header>
			<FuncDesc>The name of the <Link href="/baanerp/tt/glossary/glossary#000000000000023" role="glossary">user</Link> that performed the <Link href="/baanerp/tt/glossary/glossary#100235" role="glossary">transaction</Link>.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttaud110.comt"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Commit Time</Title>
			</Header>
			<FuncDesc>Displays the UTC date and time at which the <Link href="/baanerp/tt/glossary/glossary#100235" role="glossary">transaction</Link> was committed.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttaud110.seqn"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Index to Audit Files</Title>
			</Header>
			<FuncDesc>The sequence number of the audit sequence file in which the <Link href="/baanerp/tt/glossary/glossary#100235" role="glossary">transaction</Link> information is logged.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttaud110.trof"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Offset in File</Title>
			</Header>
			<FuncDesc>A number that indicates the position, in the audit sequence file, of the first log data of the first database action on the table.</FuncDesc>
		</FieldHelp>
	</Fields>
</Session>
