<?xml version="1.0" encoding="utf-8"?>
<ManualTopic ID="/baanerp/tt/onlinemanual/100006" xml:lang="en">
	<Header>
		<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Audit Configuration Management</Title>
		<Keyword ContextSensitive="No"><Level1>audit</Level1>
		</Keyword>
	</Header>
	<AimSection><Paragraph class="Default">This document explains the <Link href="/baanerp/tt/glossary/glossary#100069" role="glossary">audit</Link> configuration management functionality.</Paragraph>
	</AimSection>
	<GeneralSection><Paragraph class="Default">The audit functionality is centered around the concept of <Link href="/baanerp/tt/glossary/glossary#100237" role="glossary">audit profiles</Link>. You define which tables and fields are audited, and when they are audited, in the context of an audit profile. To bundle profiles in the same functional area, you can relate them to audit categories. The <Link href="/baanerp/tt/glossary/glossary#100020" role="glossary">audit trail</Link> is stored in <Link href="/baanerp/tt/glossary/glossary#100242" role="glossary">sequence files</Link>, which are generated for each combination of company and table. Audit profiles can be exported and imported with various options to enable a quick configuration.</Paragraph>
		<List><ListIntro>This document contains the following sections:</ListIntro>
			<ListItem><Link href="#settings" role="internal">Audit Trail and Audit Host Settings</Link> These settings provide the information that is required to create the audit trails.</ListItem>
			<ListItem><Link href="#procedure" role="internal">Audit Configuration Procedure</Link> This section provides an overview of the steps you must take to configure the audit settings. According to this configuration the audit trails are created.</ListItem>
			<ListItem><Link href="#additionalfunctions" role="internal">Additional Functions</Link> This section contains some information about other functions, such as importing and exporting profiles, generating reports, and migrating from an earlier version of ERP LN Tools.</ListItem>
			<ListItem><Link href="#netresult" role="internal">How to determine the net result of the audit configuration</Link> This sections describes how you can determine the net result of the audit configuration, when the configuration is converted to run time.</ListItem>
			<ListItem><Link href="#general" role="internal">General Remarks</Link> This section lists a few important facts and rules you must keep in mind.</ListItem>
			<ListItem><Link href="#oldhelp" role="internal">To use audit file directories</Link> This section provides the complete online manual topic about auditing in ERP LN Tools 7.3a. This information is provided as reference source for the migration to ERP LN Tools 7.4a and later versions.</ListItem>
		</List>
		<GeneralSection ID="settings"><SectionTitle>Audit Trail and Audit Host Settings</SectionTitle>
			<Paragraph class="Default">Before an <Link href="/baanerp/tt/glossary/glossary#100020" role="glossary">audit trail</Link> can be created, the following information is required:</Paragraph>
			<List><ListItem>The size of the trail files ( <Link href="/baanerp/tt/glossary/glossary#100242" role="glossary">sequence files</Link> ) that are created. Define the trail file size in the <GUIRef href="/baanerp/tt/aud/ttaud3135m000" role="session">Audit Trail File Sizes (ttaud3135m000)</GUIRef> session. Because the maximum number of sequence files for each table/company combination is 999, and you cannot delete the currently active file, you must choose a file size that enables you to delete old files, while keeping at least the currently active file. The trail file size must be large enough to store the audit trail of a large transaction, else the transaction is aborted.</ListItem>
				<ListItem>The path to the directory where the audit trail files are stored. Define the paths in the <GUIRef href="/baanerp/tt/aud/ttaud3136m000" role="session">Audit Trail Paths (ttaud3136m000)</GUIRef> session.</ListItem>
				<ListItem>The security settings for reading, maintaining and deleting the sequence files. Define the security settings in the <GUIRef href="/baanerp/tt/aud/ttaud3137m000" role="session">Audit Trail Security (ttaud3137m000)</GUIRef> file.</ListItem>
				<ListItem>The <Link href="/baanerp/tt/glossary/glossary#100239" role="glossary">audit host</Link> settings. Define the audit hosts in the <GUIRef href="/baanerp/tt/aud/ttaud3130m000" role="session">Audit Hosts (ttaud3130m000)</GUIRef> session. Audit hosts are defined per company. Defining audit hosts is optional. If no host is defined for a company, the local system is used as host. If your system makes use of a master application server, and one or more other application servers, it is recommended to define one audit host for all audit servers. Else the transaction IDs in the audit trail may not be successive.</ListItem>
			</List>
			<Note><SectionTitle>
                                    Note
                                 </SectionTitle>
				<Paragraph class="Default">To make these settings active, you must convert them to run time, using the <GUIRef href="/baanerp/tt/aud/ttaud3200s000" role="session">Create run time Audit Definitions (ttaud3200s000)</GUIRef> session, with the correct check boxes selected. Only the security settings are effective immediately, and must not be converted to run time.</Paragraph>
			</Note>
		</GeneralSection>
		<GeneralSection ID="procedure"><SectionTitle>Audit Configuration Procedure</SectionTitle>
			<Paragraph class="Default">This section provides an overview of the steps you must take to configure the audit settings, assumed that no audit settings are yet present.</Paragraph>
			<ProcedureList><ListIntro>To configure the audit settings, take the following steps, in the respective sessions:</ListIntro>
				<ListItem><GUIRef href="/baanerp/tt/aud/ttaud3100m000" role="session">Audit Categories (ttaud3100m000)</GUIRef> <List><ListItem>Define one or more <Link href="/baanerp/tt/glossary/glossary#100238" role="glossary">audit categories</Link>. Note that audit categories are optional. It is possible to define the audit configuration without using audit categories. You can also skip this step now, and define audit categories later.</ListItem>
					</List>
				</ListItem>
				<ListItem><GUIRef href="/baanerp/tt/aud/ttaud3140m000" role="session">Company Groups (ttaud3140m000)</GUIRef> <List><ListItem>Define one or more company groups. Company groups enable you to configure audit settings for several companies at once. Company groups are required in several sessions. If you do not define company groups, you only have the option to specify the audit settings for all companies. Note that in the current session, you only define the names and descriptions of the company groups. To define which companies are related to the company groups, use the following session.</ListItem>
					</List>
				</ListItem>
				<ListItem><GUIRef href="/baanerp/tt/aud/ttaud3145m000" role="session">Companies by Company Group (ttaud3145m000)</GUIRef> <List><ListItem>Define which companies are related to the company groups.</ListItem>
					</List>
				</ListItem>
				<ListItem><GUIRef href="/baanerp/tt/aud/ttaud3110m000" role="session">Audit Profiles (ttaud3110m000)</GUIRef> <ProcedureList><ListItem>Define an audit profile, by entering a name and description.</ListItem>
						<ListItem>Optionally, you can link the profile to a category.</ListItem>
						<ListItem>Select whether the profile is valid for all companies or for a company group. You can only select one company group per profile.</ListItem>
						<ListItem>Select the <GUIRef href="/baanerp/tt/aud/ttaud3110m000#ttaud310.acti" role="manual">Active</GUIRef> check box for the profiles you currently want to use. Only profiles with the <GUIRef href="/baanerp/tt/aud/ttaud3110m000#ttaud310.acti" role="manual">Active</GUIRef> check box selected, are converted to run time. Note that further on in the audit configuration process also records that contain audit settings for tables and fields can be Active, or Not Active.</ListItem>
						<ListItem>Optionally you can attach a text that stores additional information to the profile.</ListItem>
					</ProcedureList>
				</ListItem>
				<ListItem><GUIRef href="/baanerp/tt/aud/ttaud3120m000" role="session">Audit Tables by Profile (ttaud3120m000)</GUIRef> <ProcedureList><ListItem>Define the tables that must be audited, by selecting the appropriate packages, modules and tables. Through the <GUIRef href="" role="menu">Specific</GUIRef> menu, you can also zoom to the <Link href="/baanerp/tt/aud/ttaud3220s000" role="session">Load Audit Tables for Profile (ttaud3220s000)</Link> session to load a list of tables, from which you can delete the tables you do not require.</ListItem>
						<ListItem>Define whether all fields in the table must be audited, or only specified fields. Refer to the following main step if you only want to audit certain fields.</ListItem>
						<ListItem>Define the <Link href="/baanerp/tt/glossary/glossary#100240" role="glossary">audit type</Link> for tables you want to audit completely.</ListItem>
						<ListItem>Select the <GUIRef href="/baanerp/tt/aud/ttaud3120m000#ttaud320.acti" role="manual">Active</GUIRef> check box for the records that must be converted to run time when the current profile is converted to run time.</ListItem>
					</ProcedureList>
				</ListItem>
				<ListItem><GUIRef href="/baanerp/tt/aud/ttaud3125m000" role="session">Audit Fields by Table (ttaud3125m000)</GUIRef> <ProcedureList><ListIntro>
                                          Note that this step is optional and only required if you want to configure the audit settings for specific fields.</ListIntro>
						<ListItem>Select the fields that must be audited. Through the <GUIRef href="" role="menu">Specific</GUIRef> menu, you can also load a list of all (key) fields from which you can delete the fields you do not require. Note that the fields that are part of the <Link href="/baanerp/tt/glossary/glossary#primarykey.tt" role="glossary">primary key</Link> of the table are selected by default. Do not delete these fields, unless you are sure that a valid key is not necessary for your audit purposes.</ListItem>
						<ListItem>Define the <Link href="/baanerp/tt/glossary/glossary#100240" role="glossary">audit type</Link> for fields you want to audit.</ListItem>
						<ListItem>Select the <GUIRef href="/baanerp/tt/aud/ttaud3125m000#ttaud325.acti" role="manual">Active</GUIRef> check box for the records that must be converted to run time when the current profile is converted to run time.</ListItem>
					</ProcedureList>
				</ListItem>
				<ListItem><GUIRef href="/baanerp/tt/aud/ttaud3200s000" role="session">Create Run Time Audit Definitions (ttaud3200s000)</GUIRef> <List><ListItem>Select the <GUIRef href="/baanerp/tt/aud/ttaud3200s000#profiles" role="manual">Audit Profiles</GUIRef> check box, and click <GUIRef href="/baanerp/tt/aud/ttaud3200s000#exec.cont.process" role="command">Create</GUIRef> to convert the settings to run time.</ListItem>
					</List>
				</ListItem>
			</ProcedureList>
			<Note><SectionTitle>
                                    Note
                                 </SectionTitle>
				<Paragraph class="Default">When you use auditing, make sure that enough disk space is available. This is necessary for both the <GUIRef href="" role="manual">Transaction Notifications (ttaud110)</GUIRef> table and the sequence files. Additionally, give attention to the disk or disks to be used. Do not introduce performance bottlenecks, because they will impact all users that execute transactions on the database.</Paragraph>
			</Note>
		</GeneralSection>
		<GeneralSection ID="additionalfunctions"><SectionTitle>Additional Functions</SectionTitle>
			<List><ListIntro>The audit configuration management sessions provide the following additional functions:</ListIntro>
				<ListItem>You can export and import profiles through the following sessions: <List><ListItem><GUIRef href="/baanerp/tt/aud/ttaud3201s000" role="session">Export Audit Profiles (ttaud3201s000)</GUIRef>
						</ListItem>
						<ListItem><GUIRef href="/baanerp/tt/aud/ttaud3202s000" role="session">Import Audit Profiles (ttaud3202s000)</GUIRef>
						</ListItem>
						<ListItem><GUIRef href="/baanerp/tt/aud/ttaud3203s000" role="session">Import Audit Profile from Additional File (ttaud3203s000)</GUIRef> This session is used for profiles that are delivered with the ERP LN software.</ListItem>
					</List>
				</ListItem>
				<ListItem>You can analyze the audit profiles, and view where specific tables and fields are used, by means of the following sessions: <List><ListItem><GUIRef href="/baanerp/tt/aud/ttaud3521m000" role="session">Where Used Audit Tables (ttaud3521m000)</GUIRef>
						</ListItem>
						<ListItem><GUIRef href="/baanerp/tt/aud/ttaud3526m000" role="session">Where Used Audit Table Fields (ttaud3526m000)</GUIRef>
						</ListItem>
					</List>
				</ListItem>
				<ListItem>To help you to migrate to from ERP LN Tools 7.3a to ERP LN Tools 7.4a and later versions, you can use the <Link href="/baanerp/tt/aud/ttaud3204s000" role="session">Audit Configuration Migration (ttaud3204s000)</Link> session. Refer to the session Help of that session, and to the <Emphasis>To use audit file directories</Emphasis> section of the current document for more information.</ListItem>
				<ListItem>To maintain the generated sequence files, the following sessions can be used: <List><ListItem><GUIRef href="/baanerp/tt/aad/ttaad4560s000" role="session">Display Audit Sequences (ttaad4560s000)</GUIRef> Use this session to display information about the sequence files.</ListItem>
						<ListItem><GUIRef href="/baanerp/tt/aad/ttaad4461m000" role="session">Print Range of Audit Files (ttaad4461m000)</GUIRef> and <GUIRef href="/baanerp/tt/aad/ttaad4463m000" role="session">Print Range of Audit Files (Multi Lines) (ttaad4463m000)</GUIRef> Use these sessions to print the content of sequence files.</ListItem>
						<ListItem><GUIRef href="/baanerp/tt/aud/ttaud1510m000" role="session">Transaction Notifications (ttaud1510m000)</GUIRef> Use this session to view detailed information about all transactions in a specific company and table. Only transactions on audited tables are logged.</ListItem>
						<ListItem><GUIRef href="/baanerp/tt/aad/ttaad4460m000" role="session">Check Audit Files Integrity (ttaad4460m000)</GUIRef> Use this session to check the integrity of the sequence files.</ListItem>
						<ListItem><GUIRef href="/baanerp/tt/aad/ttaad4261m000" role="session">Purge Audit Files (ttaad4261m000)</GUIRef>
						</ListItem>
					</List>
				</ListItem>
			</List>
		</GeneralSection>
		<GeneralSection ID="netresult"><SectionTitle>How to determine the net result of the audit configuration</SectionTitle>
			<Paragraph class="Default">There is no session that displays the net result of the configuration when you convert the configuration to run time. If you want to view the net result for a specific table or field, you can use the Where Used sessions, although these sessions do not specify for which companies the tables and fields are audited. However, you can also view the net result of the configuration as it is stored in the audit_cols file, which you can find in the \$BSE\lib directory. This file is easy to read. The information in this file has the following format:</Paragraph>
			<Formula space-and-orientation="indented-estimated"><Paragraph class="Default">&lt;audit_cols&gt; ::= &lt;line&gt;*
	&lt;line&gt; ::= &lt;tables&gt;:&lt;companies&gt;:&lt;audit_type&gt;
		&lt;tables&gt; ::= '*'|&lt;package&gt;[&lt;module&gt;[&lt;table&gt;]]
		&lt;companies&gt; ::= '*'|&lt;company&gt;[,&lt;company&gt;]*
			&lt;company&gt; ::= (0-9)+(0-9)+(0-9)
		&lt;audit_type&gt; ::= 'C'|'A':[&lt;field_name&gt;[,field_name&gt;]*]</Paragraph>
			</Formula>
			<Paragraph class="Default">The code must be read as follows: The audit_cols file exists of one or more lines. Each line specifies one or more tables, one or more companies, and the audit type. The tables are specified as '*' or as a packagecode (mandatory), a module code (optional) and a table number (optional). If you specified '*', all tables are selected. If you only specifiy a packagecode, all tables in all modules are selected. If you also specify a module code, but no table number, all tables in the module are selected. The company must be specified by a '*', which specifies all companies, or by one or more company numbers. The audit type is either C or A. Audit type C only logs transactions if a field is changed. Audit type A logs transactions always, that is, if any field in the table is changed. Optionally you can specify one or more fields. If fields are specified, the audit type only applies to that fields. If no fields are specified, the audit type applies to all fields in the table. Note that fields can only be specified if the line did specify only one table.</Paragraph>
			<ExampleSection><SectionTitle>
                                    Example
                                 </SectionTitle>
				<List><ListItem><Code>tdsls:*:C</Code> For all tables in this module (tdsls) in all companies (*), all fields are audited (no fields specified), but only if the field is changed (C). Note however, that the fields of the primary key are by default always audited.</ListItem>
					<ListItem><Code>tdsls400:500:A:col1,col2</Code> For table tdsls400 in company 500, only col1 and col2 are audited, and they are audited always, that is, for any transaction in this table. The other fields of this table are not audited, unless another line, for example, tdsls:*:C, specifies that they must be audited.</ListItem>
				</List>
			</ExampleSection>
			<Paragraph class="Default">Note that to audit a field means that the old and the new value of the tablecell are logged.</Paragraph>
			<Paragraph class="Default">Because the relation between audit type (A or C) and field specification can be confusing, the following tables display the meaning of each combination. Each combination is illustrated by two examples.</Paragraph>
			<TABLE border="1" borderstyle="default" space-and-orientation="indented-estimated"><CAPTION>
                                    Legend
                                 </CAPTION>
				<TBODY><TR><TD rowspan="1" colspan="1">C</TD>
						<TD rowspan="1" colspan="1">Column (not specified)</TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">S</TD>
						<TD rowspan="1" colspan="1">Specified column</TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">K</TD>
						<TD rowspan="1" colspan="1">Keyfield (either mandatory, or optionally specified or not specified)</TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">R</TD>
						<TD rowspan="1" colspan="1">Record</TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">A</TD>
						<TD rowspan="1" colspan="1">Audited</TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">(A)</TD>
						<TD rowspan="1" colspan="1">Audited if specified (keyfield)</TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">T</TD>
						<TD rowspan="1" colspan="1">Transaction</TD>
					</TR>
				</TBODY>
			</TABLE>
			<Paragraph class="Default"></Paragraph>
			<TABLE border="1" borderstyle="default" space-and-orientation="indented-estimated"><CAPTION>Possible combinations of audit type and field specification</CAPTION>
				<TBODY><TR><TH rowspan="1" colspan="1">﻿</TH>
						<TH rowspan="1" colspan="1">All fields</TH>
						<TH rowspan="1" colspan="1">Specified fields</TH>
					</TR>
					<TR><TH rowspan="1" colspan="1">Audit Type A</TH>
						<TD rowspan="1" colspan="1">1</TD>
						<TD rowspan="1" colspan="1">2</TD>
					</TR>
					<TR><TH rowspan="1" colspan="1">Audit Type C</TH>
						<TD rowspan="1" colspan="1">3</TD>
						<TD rowspan="1" colspan="1">4</TD>
					</TR>
				</TBODY>
			</TABLE>
			<ExampleSection><SectionTitle>
                                    Example 1</SectionTitle>
				<Paragraph class="Default">Every tablecell in the record concerned is audited when any transaction in the table occurs.</Paragraph>
				<TABLE border="1" width="50%" borderstyle="default" space-and-orientation="indented-estimated"><CAPTION>Audit type A, all fields</CAPTION>
					<TBODY><TR><TH rowspan="1" colspan="1">﻿</TH>
							<TH rowspan="1" colspan="1">K</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">C</TH>
						</TR>
						<TR><TH rowspan="1" colspan="1">R</TH>
							<TD rowspan="1" colspan="1">A</TD>
							<TD rowspan="1" colspan="1">A</TD>
							<TD rowspan="1" colspan="1">A T</TD>
							<TD rowspan="1" colspan="1">A</TD>
							<TD rowspan="1" colspan="1">A</TD>
							<TD rowspan="1" colspan="1">A</TD>
						</TR>
						<TR><TH rowspan="1" colspan="1">R</TH>
							<TD rowspan="1" colspan="1">A T</TD>
							<TD rowspan="1" colspan="1">A</TD>
							<TD rowspan="1" colspan="1">A</TD>
							<TD rowspan="1" colspan="1">A</TD>
							<TD rowspan="1" colspan="1">A</TD>
							<TD rowspan="1" colspan="1">A</TD>
						</TR>
					</TBODY>
				</TABLE>
			</ExampleSection>
			<ExampleSection><SectionTitle>
                                    Example 2</SectionTitle>
				<Paragraph class="Default">Only the tablecells in the record concerned in the specified columns are audited when any transaction in the table occurs.</Paragraph>
				<TABLE border="1" width="50%" borderstyle="default" space-and-orientation="indented-estimated"><CAPTION>Audit type A, specified fields</CAPTION>
					<TBODY><TR><TH rowspan="1" colspan="1">﻿</TH>
							<TH rowspan="1" colspan="1">K</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">S</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">S</TH>
						</TR>
						<TR><TH rowspan="1" colspan="1">R</TH>
							<TD rowspan="1" colspan="1">(A)</TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1">T</TD>
							<TD rowspan="1" colspan="1">A</TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1">A</TD>
						</TR>
						<TR><TH rowspan="1" colspan="1">R</TH>
							<TD rowspan="1" colspan="1">(A)</TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1">A</TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1">A T</TD>
						</TR>
					</TBODY>
				</TABLE>
			</ExampleSection>
			<ExampleSection><SectionTitle>
                                    Example 3</SectionTitle>
				<Paragraph class="Default">Every tablecell in every column in the table can be audited, but only the tablecell in which a transaction occurs is actually audited.</Paragraph>
				<TABLE border="1" width="50%" borderstyle="default" space-and-orientation="indented-estimated"><CAPTION>Audit type C, all fields</CAPTION>
					<TBODY><TR><TH rowspan="1" colspan="1">﻿</TH>
							<TH rowspan="1" colspan="1">K</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">C</TH>
						</TR>
						<TR><TH rowspan="1" colspan="1">R</TH>
							<TD rowspan="1" colspan="1">A</TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1">A T</TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1"></TD>
						</TR>
						<TR><TH rowspan="1" colspan="1">R</TH>
							<TD rowspan="1" colspan="1">A</TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1">A T</TD>
							<TD rowspan="1" colspan="1"></TD>
						</TR>
					</TBODY>
				</TABLE>
			</ExampleSection>
			<ExampleSection><SectionTitle>
                                    Example 4</SectionTitle>
				<Paragraph class="Default">Only tablecells in the specified columns can be audited. A tablecell is audited when a transaction occurs in a specified column.</Paragraph>
				<TABLE border="1" width="50%" borderstyle="default" space-and-orientation="indented-estimated"><CAPTION>Audit type C, specified fields</CAPTION>
					<TBODY><TR><TH rowspan="1" colspan="1">﻿</TH>
							<TH rowspan="1" colspan="1">K</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">S</TH>
							<TH rowspan="1" colspan="1">C</TH>
							<TH rowspan="1" colspan="1">S</TH>
						</TR>
						<TR><TH rowspan="1" colspan="1">R</TH>
							<TD rowspan="1" colspan="1">(A)</TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1">T</TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1"></TD>
						</TR>
						<TR><TH rowspan="1" colspan="1">R</TH>
							<TD rowspan="1" colspan="1">(A)</TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1">A T</TD>
							<TD rowspan="1" colspan="1"></TD>
							<TD rowspan="1" colspan="1"></TD>
						</TR>
					</TBODY>
				</TABLE>
			</ExampleSection>
		</GeneralSection>
		<GeneralSection ID="general"><SectionTitle>General Remarks</SectionTitle>
			<Paragraph class="Default">The commands that cause a table transaction to be audited, are only the commands that affect the table data, that is, Insert, Update, and Delete commands. Several table level commands that affect all rows in a table are also audited, such as Create Table, Drop Table, and Clear Table.</Paragraph>
			<Paragraph class="Default">The audit configuration uses a positive approach, which means that you can only define the tables and fields that must be audited, but not the tables and fields that must not be audited. To compensate for this limitation, you can load lists of all packages, modules, tables or fields through the <GUIRef href="" role="menu">Specific</GUIRef> menu of the sessions concerned.</Paragraph>
			<List><ListIntro>Because tables and fields can be used in several profiles, with conflicting settings, the following rules determine which setting take precedence over the conflicting setting:</ListIntro>
				<ListItem>A higher level takes precedence over a lower level. So, if you define in profile A that all tables in a module must be audited, but in profile B that only one table in this module must be audited, the result, when you convert these profiles to run time, is that all modules in the package concerned are audited.</ListItem>
				<ListItem>The setting <GUIRef href="" role="manual">Always</GUIRef> takes precedence over <GUIRef href="" role="manual">Changed</GUIRef>. So, if profile A defines that a field must only be audited, when it is changed, and profile B defines that this field must always be audited, the field is audited always.</ListItem>
			</List>
			<Paragraph class="Default">The following tables illustrate this behavior:</Paragraph>
			<TABLE border="1" borderstyle="default" space-and-orientation="indented-estimated"><TBODY><TR><TH rowspan="1" colspan="1">Package</TH>
						<TH rowspan="1" colspan="1">Module</TH>
						<TH rowspan="1" colspan="1">Table</TH>
						<TH rowspan="1" colspan="1">Audit Type</TH>
					</TR>
					<TR><TD rowspan="1" colspan="1">tt</TD>
						<TD rowspan="1" colspan="1">adv</TD>
						<TD rowspan="1" colspan="1">*</TD>
						<TD rowspan="1" colspan="1">Always</TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">tt</TD>
						<TD rowspan="1" colspan="1">adv</TD>
						<TD rowspan="1" colspan="1">200</TD>
						<TD rowspan="1" colspan="1">Changed</TD>
					</TR>
					<TR><TH rowspan="1" colspan="1">Result:</TH>
						<TD rowspan="1" colspan="1"></TD>
						<TD rowspan="1" colspan="1"></TD>
						<TD rowspan="1" colspan="1"></TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">tt</TD>
						<TD rowspan="1" colspan="1">adv</TD>
						<TD rowspan="1" colspan="1">*</TD>
						<TD rowspan="1" colspan="1">Always</TD>
					</TR>
				</TBODY>
			</TABLE>
			<Paragraph class="Default"></Paragraph>
			<TABLE border="1" borderstyle="default" space-and-orientation="indented-estimated"><TBODY><TR><TH rowspan="1" colspan="1">Package</TH>
						<TH rowspan="1" colspan="1">Module</TH>
						<TH rowspan="1" colspan="1">Table</TH>
						<TH rowspan="1" colspan="1">Audit Type</TH>
					</TR>
					<TR><TD rowspan="1" colspan="1">tt</TD>
						<TD rowspan="1" colspan="1">adv</TD>
						<TD rowspan="1" colspan="1">*</TD>
						<TD rowspan="1" colspan="1">Changed</TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">tt</TD>
						<TD rowspan="1" colspan="1">adv</TD>
						<TD rowspan="1" colspan="1">200</TD>
						<TD rowspan="1" colspan="1">Always</TD>
					</TR>
					<TR><TH rowspan="1" colspan="1">Result:</TH>
						<TD rowspan="1" colspan="1"></TD>
						<TD rowspan="1" colspan="1"></TD>
						<TD rowspan="1" colspan="1"></TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">tt</TD>
						<TD rowspan="1" colspan="1">adv</TD>
						<TD rowspan="1" colspan="1">*</TD>
						<TD rowspan="1" colspan="1">Changed</TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">tt</TD>
						<TD rowspan="1" colspan="1">adv</TD>
						<TD rowspan="1" colspan="1">200</TD>
						<TD rowspan="1" colspan="1">Always</TD>
					</TR>
				</TBODY>
			</TABLE>
			<Paragraph class="Default">When also company groups are added to a profile, the result of the convert to run time action on these profiles is determined by these company groups also, as illustrated in the following table:</Paragraph>
			<TABLE border="1" borderstyle="default" space-and-orientation="indented-estimated"><TBODY><TR><TH rowspan="1" colspan="1">Package</TH>
						<TH rowspan="1" colspan="1">Module</TH>
						<TH rowspan="1" colspan="1">Table</TH>
						<TH rowspan="1" colspan="1">Companies</TH>
						<TH rowspan="1" colspan="1">Audit Type</TH>
					</TR>
					<TR><TD rowspan="1" colspan="1">tt</TD>
						<TD rowspan="1" colspan="1">*</TD>
						<TD rowspan="1" colspan="1">*</TD>
						<TD rowspan="1" colspan="1">001, 002</TD>
						<TD rowspan="1" colspan="1">Changed</TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">tt</TD>
						<TD rowspan="1" colspan="1">adv</TD>
						<TD rowspan="1" colspan="1">*</TD>
						<TD rowspan="1" colspan="1">002, 003</TD>
						<TD rowspan="1" colspan="1">Always</TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">tt</TD>
						<TD rowspan="1" colspan="1">adv</TD>
						<TD rowspan="1" colspan="1">200</TD>
						<TD rowspan="1" colspan="1">002, 004</TD>
						<TD rowspan="1" colspan="1">Changed</TD>
					</TR>
					<TR><TH rowspan="1" colspan="1">Result:</TH>
						<TD rowspan="1" colspan="1"></TD>
						<TD rowspan="1" colspan="1"></TD>
						<TD rowspan="1" colspan="1"></TD>
						<TD rowspan="1" colspan="1"></TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">tt</TD>
						<TD rowspan="1" colspan="1">*</TD>
						<TD rowspan="1" colspan="1">*</TD>
						<TD rowspan="1" colspan="1">001, 002</TD>
						<TD rowspan="1" colspan="1">Changed</TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">tt</TD>
						<TD rowspan="1" colspan="1">adv</TD>
						<TD rowspan="1" colspan="1">*</TD>
						<TD rowspan="1" colspan="1">002, 003</TD>
						<TD rowspan="1" colspan="1">Always</TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">tt</TD>
						<TD rowspan="1" colspan="1">adv</TD>
						<TD rowspan="1" colspan="1">200</TD>
						<TD rowspan="1" colspan="1">004</TD>
						<TD rowspan="1" colspan="1">Changed</TD>
					</TR>
				</TBODY>
			</TABLE>
			<Paragraph class="Default">The following table displays the same information, but now per company, and only for table ttadv200:</Paragraph>
			<TABLE border="1" borderstyle="default" space-and-orientation="indented-estimated"><TBODY><TR><TH rowspan="1" colspan="1">Companies</TH>
						<TH rowspan="1" colspan="1">Audit Type</TH>
						<TH rowspan="1" colspan="1">Comment</TH>
					</TR>
					<TR><TD rowspan="1" colspan="1">001</TD>
						<TD rowspan="1" colspan="1">Changed</TD>
						<TD rowspan="1" colspan="1"></TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">002, 003</TD>
						<TD rowspan="1" colspan="1">Always</TD>
						<TD rowspan="1" colspan="1"></TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">004</TD>
						<TD rowspan="1" colspan="1">Changed</TD>
						<TD rowspan="1" colspan="1"></TD>
					</TR>
					<TR><TD rowspan="1" colspan="1">005</TD>
						<TD rowspan="1" colspan="1">-</TD>
						<TD rowspan="1" colspan="1">For other companies, table ttadv200 is not audited.</TD>
					</TR>
				</TBODY>
			</TABLE>
			<Paragraph class="Default">It is possible to configure audit settings for tables in another <Link href="/baanerp/tt/glossary/glossary#000000000000012" role="glossary">package combination</Link>. However, you cannot zoom to these tables; you must enter them manually.</Paragraph>
			<Paragraph class="Default">When you convert the audit configuration to run time, the result is stored in the following four files, which you can find in the \$BSE\lib directory:</Paragraph>
			<List><ListItem>audit_spec</ListItem>
				<ListItem>audit_cols</ListItem>
				<ListItem>audit_hosts</ListItem>
				<ListItem>auditdef6.2</ListItem>
			</List>
			<Paragraph class="Default">Because converting the configuration to run time can affect the audit trails that are logged, it is recommended that all users leave ERP LN before you convert to run time.</Paragraph>
			<Note><SectionTitle>
                                    Note
                                 </SectionTitle>
				<Paragraph class="Default">The files created by the <GUIRef href="/baanerp/tt/aud/ttaud3200s000" role="session">Create Runtime Audit Definitions (ttaud3200s000)</GUIRef> session must not be updated manually, because the manual changes will be overwritten when running the session again.</Paragraph>
			</Note>
		</GeneralSection>
		<GeneralSection ID="oldhelp"><SectionTitle>To use audit file directories</SectionTitle>
			<Important><SectionTitle>
                                    Important!
                                 </SectionTitle>
				<Paragraph class="Default">This section contains the online manual topic about auditing for ERP LN Tools 7.3a. This information is only provided as a reference source for migration purposes. The information in this section (until the end of this document) is not valid for ERP LN Tools 7.4a and later versions.</Paragraph>
			</Important>
			<List><ListIntro>Audit files are log files that contain data of database actions on a table. Every delete, update, or insert action on records is logged when:</ListIntro>
				<ListItem>The Audit Trail check box in the <GUIRef href="/baanerp/tt/adv/ttadv4122s000" role="session">Table Fields (ttadv4122s000)</GUIRef> session is selected for the table fields of the record.</ListItem>
				<ListItem>The Audit On check box in the <GUIRef href="/baanerp/tt/aad/ttaad4111m000" role="session">Tables by Database (ttaad4111m000)</GUIRef> session is selected for the database definition of the table which must be logged.</ListItem>
			</List>
			<Paragraph class="Default">The data specified in the <GUIRef href="" role="manual">Audit File Directories (ttaad4116m000)</GUIRef> session is stored in the auditdef6.X file in the $BSE/lib directory when it is converted to the run-time <Link href="/baanerp/tt/glossary/glossary#100005" role="glossary">data dictionary</Link>.</Paragraph>
			<Paragraph class="Default">This file has the following structure:</Paragraph>
			<Paragraph class="Default">&lt;table name&gt;:&lt;company number&gt;:&lt;directory&gt;</Paragraph>
			<List><ListIntro>The table name indicates the table to which the audit trail refers. The <GUIRef href="" role="manual">Table Name</GUIRef> field can be filled with a:</ListIntro>
				<ListItem>* (all modules of all packages).</ListItem>
				<ListItem>Package and module code. For example, tccom, and tcibd.</ListItem>
				<ListItem>Package and module code with a table number. For example, tcibd010, and tccom001. Table names are separated by commas.</ListItem>
			</List>
			<List><ListIntro>The company number of the specified table(s) can be filled as a:</ListIntro>
				<ListItem>* (all possible company numbers)</ListItem>
				<ListItem>Three-digit company number. Company numbers are separated by commas.</ListItem>
			</List>
			<Paragraph class="Default">The directory contains the path name where the audit files must be stored.</Paragraph>
			<Paragraph class="Default">For example:</Paragraph>
			<Paragraph class="Default">tcibd,ttaad:100,200:/usr/adm/AUDIT</Paragraph>
			<Paragraph class="Default">*:*:/usr1/AUDIT</Paragraph>
			<Paragraph class="Default">All tcibd tables in the example are stored in the /usr/adm/AUDIT/atcibd directory, and all ttaad tables are stored in the /usr/adm/AUDIT/attaad directory. For all other tables, respective directories are created under /usr1/AUDIT.</Paragraph>
		</GeneralSection>
	</GeneralSection>
</ManualTopic>
