<?xml version="1.0" encoding="utf-8"?>
<Session ID="/baanerp/tt/adv/ttadv2130s000" xml:lang="en">
	<Header>
		<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Program Scripts/Libraries (ttadv2130s000)</Title>
	</Header>
	<HelpTopic xml:lang="en"><AimSection><Paragraph class="Default">
                                 Use this session to create and maintain program scripts by package VRC. A <Link href="/baanerp/tt/glossary/glossary#progscript.tt" role="glossary">program script</Link> is used to program actions to be done in addition to the standard program. A program script can be linked to a session.</Paragraph>
		</AimSection>
		<RelatedTopics><SectionTitle>
                                 Related topics
                              </SectionTitle>
			<RelTopic><Link href="/baanerp/tt/onlinemanual/100129" role="manual">Program Scripts Overview</Link>
			</RelTopic>
		</RelatedTopics>
	</HelpTopic>
	<Fields><FieldHelp ID="ttadv230.cpac"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Package</Title>
			</Header>
			<FuncDesc>The program script or library's <Link href="/baanerp/tt/glossary/glossary#000000000000008" role="glossary">package</Link> code.</FuncDesc>
			<Note><SectionTitle>
                                    Note
                                 </SectionTitle>
				<Paragraph class="Default">Each program script or library belongs to a module in a specific package.</Paragraph>
			</Note>
		</FieldHelp>
		<FieldHelp ID="ttadv230.vers"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">VRC</Title>
			</Header>
			<FuncDesc>The <Link href="/baanerp/tt/glossary/glossary#000000000000009" role="glossary">version</Link> code of the <Link href="/baanerp/tt/glossary/glossary#000000000000008" role="glossary">package</Link> for which the program script or library is defined.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttadv230.rele"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">VRC</Title>
			</Header>
			<FuncDesc>The <Link href="/baanerp/tt/glossary/glossary#000000000000010" role="glossary">release</Link> code of the <Link href="/baanerp/tt/glossary/glossary#000000000000008" role="glossary">package</Link> for which the program scrip or library is defined.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttadv230.cust"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">VRC</Title>
			</Header>
			<FuncDesc>The <Link href="/baanerp/tt/glossary/glossary#000000000000011" role="glossary">customer</Link> extension of the <Link href="/baanerp/tt/glossary/glossary#000000000000008" role="glossary">package</Link> for which the program script or library is defined.</FuncDesc>
			<Note><SectionTitle>
                                    Note
                                 </SectionTitle>
				<Paragraph class="Default">This is only necessary for customized software.</Paragraph>
			</Note>
		</FieldHelp>
		<FieldHelp ID="ttadv230.cmod"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Module</Title>
			</Header>
			<FuncDesc>The code of the <Link href="/baanerp/tt/glossary/glossary#100004" role="glossary">module</Link> to which the program script or library belongs.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttadv230.cprs"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Program Script</Title>
			</Header>
			<FuncDesc>The code of the <Link href="/baanerp/tt/glossary/glossary#progscript.tt" role="glossary">program script</Link> or library.</FuncDesc>
			<SimpleSection><Paragraph class="Default">A script or library is uniquely identified by the combination of package code, module code, and script or library code.</Paragraph>
			</SimpleSection>
			<SimpleSection><SectionTitle>
                                    Example
                                 </SectionTitle>
				<TABLE border="1" borderstyle="default" space-and-orientation="indented-estimated"><TBODY><TR><TD rowspan="1" colspan="1">Package Code:</TD>
							<TD rowspan="1" colspan="1">ti</TD>
							<TD rowspan="1" colspan="1">
                                             ERP LN Manufacturing</TD>
						</TR>
						<TR><TD rowspan="1" colspan="1">Module Code :</TD>
							<TD rowspan="1" colspan="1">pcf</TD>
							<TD rowspan="1" colspan="1">Product Configuration</TD>
						</TR>
						<TR><TD rowspan="1" colspan="1">Script Code :</TD>
							<TD rowspan="1" colspan="1">0110</TD>
							<TD rowspan="1" colspan="1">Maintain Features</TD>
						</TR>
					</TBODY>
				</TABLE>
				<Paragraph class="Default">The total identification of the program script or library is: tipcf0110</Paragraph>
			</SimpleSection>
		</FieldHelp>
		<FieldHelp ID="ttadv230.ptyp"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Script Type</Title>
			</Header>
			<FuncDesc>The following script types are used:</FuncDesc>
			<SimpleSection><List><ListItemHead>UI Script with Database handling</ListItemHead>
					<ListItem>A 4GL user interface script is used for display and maintain sessions. The script is called by the 4GL engine (standard program) on certain events.</ListItem>
					<ListItemHead>UI Script for Print/Processing Session</ListItemHead>
					<ListItem>A 4GL user interface script is used for print and processing sessions. The script is called by the 4GL engine (standard program)on certain events.</ListItem>
					<ListItemHead>3GL (Without 4GL Engine)</ListItemHead>
					<ListItem>A 3GL script has no interaction with the 4GL engine (standard program). That means that all logic of the program must be included in this script. The well-known General Table (ttaad4100/ttaad4500) sessions are examples of 3GL scripts.</ListItem>
					<ListItemHead>General Library</ListItemHead>
					<ListItem>General DLL - Dynamic Link Library</ListItem>
					<ListItemHead>Integration DLL</ListItemHead>
					<ListItem>Dynamic Link Library that integrates between packages.</ListItem>
					<ListItemHead>DAL</ListItemHead>
					<ListItem>Data Access Layer that contains the Business Logic related to a table. The DAL is called by the 4GL engine on certain events. Since version 2 of DAL is available, Infor advises you to use DAL (version 2) scripts.</ListItem>
					<ListItemHead>DAL (version 2)</ListItemHead>
					<ListItem>Data Access Layer that contains the Business Logic related to a table. The DAL is called by the 4GL engine on certain events. DAL (version 2) is more integrated with the Business Object Layer and Open Architecture.</ListItem>
					<ListItemHead>Business Object Layer</ListItemHead>
					<ListItem>This type of script is a DLL generated by the Business Object Layer and contains logic used by a Business Object. A Business Object in turn calls DALs for the related tables.</ListItem>
				</List>
			</SimpleSection>
		</FieldHelp>
		<FieldHelp ID="ttadv230.conc"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Compile Flags</Title>
			</Header>
			<FuncDesc>The compile flag.</FuncDesc>
			<SimpleSection><Paragraph class="Default">In (3GL and 4GL) sources you can use compile flags to compile a part of the source depending on certain conditions. This is called conditional compiling and is described in <Link href="/baanerp/tt/onlinemanual/100031" role="manual">To use the preprocessor</Link>.</Paragraph>
			</SimpleSection>
			<SimpleSection><SectionTitle>
                                    Example
                                 </SectionTitle>
				<CodeBlock space-and-orientation="indented-estimated"> | Compile Flag: -DMYTEST | Source ... #if MYTEST message(Some debug information) #endif ...
				</CodeBlock>
				<Paragraph class="Default">You can specify several compile flags separated by a space " ". For example:</Paragraph>
				<CodeBlock space-and-orientation="indented-estimated">Compile Flags: -DMYTEST -DVERSION_1 -DVERSION3.0 </CodeBlock>
				<Paragraph class="Default"> 
                                    Note The preprocessor only works during compilation of a 3GL source because the standard generator std_gen6.2 does not have a preprocessor pass. So, you cannot use 4GL events in a #if, #ifdef or #ifndef.</Paragraph>
			</SimpleSection>
		</FieldHelp>
		<FieldHelp ID="object.prod"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Product ID Object</Title>
			</Header>
			<FuncDesc>The product Id for which a license is needed to run the object. If the field is empty, no license is needed to run the object.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="source.prod"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Product ID Source</Title>
			</Header>
			<FuncDesc>The product Id for which a license is needed to compile the object. If the field is empty, no license is needed to compile the object.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttadv230.xc_btiv"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Tools Interface Version</Title>
			</Header>
			<FuncDesc>The Tools Interface Version (TIV) number of the script/library. The TIV number is used to guarantee backward compatibility and is related to a particular version of the porting set, the Infor Enterprise Server and the 4GL Tools. For example, the TIV number for Enterprise Server 7, delivered together with ERP LN 6.1 FP1, is 1010. When you insert a new script, the TIV is automatically set to the highest supported TIV number.</FuncDesc>
			<SimpleSection><Paragraph class="Default">By setting a TIV number for each object, the behavior of these objects can be different for incompatible features executed with different versions of the porting set or the ERP LN Enterprise Engine.</Paragraph>
				<List><ListIntro>For example: the "set.synchronized.dialog" function was changed in TIV 1000. Therefore objects, in which this function is used, show different behavior for different TIVs:</ListIntro>
					<ListItem>If the object's TIV is less than 1000, a synchronized dialog is started when a record is inserted or duplicated in an editable grid.</ListItem>
					<ListItem>If the object's TIV is 1000, <Emphasis>no</Emphasis> synchronized dialog is started when a record is inserted or duplicated: the new record is entered directly in the grid.</ListItem>
				</List>
				<Paragraph class="Default">For details about the TIV, refer to the <DocRef>ERP LN 6.1 Programmer's Guide</DocRef> ( <Code>progguide.chm</Code> Help file), which is stored in the <Code>help</Code> folder in the installation folder of your BW Client.</Paragraph>
				<Paragraph class="Default">Note: the <Code>progguide.chm</Code> Help file is delivered with the Dynamic Form Editor ( DFE ). If the file is not present on your PC, you must first install the DFE from the ERP LN installation CD.</Paragraph>
			</SimpleSection>
		</FieldHelp>
		<FieldHelp ID="ttadv230.expi"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Expired</Title>
			</Header>
			<FuncDesc>
                                 If this check box is selected, the <Link href="/baanerp/tt/glossary/glossary#progscript.tt" role="glossary">program script</Link> or library is expired for this <Link href="/baanerp/tt/glossary/glossary#000000000000013" role="glossary">package VRC</Link> and package VRCs derived from this one.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttadv230.crus"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">User</Title>
			</Header>
			<FuncDesc>The user who created the <Link href="/baanerp/tt/glossary/glossary#progscript.tt" role="glossary">program script</Link>.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttadv230.crdt"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Date</Title>
			</Header>
			<FuncDesc>The date on which the <Link href="/baanerp/tt/glossary/glossary#progscript.tt" role="glossary">program script</Link> is created.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttadv230.upus"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">User</Title>
			</Header>
			<FuncDesc>The user who last updated the <Link href="/baanerp/tt/glossary/glossary#progscript.tt" role="glossary">program script</Link>.</FuncDesc>
			<Note><SectionTitle>
                                    Note
                                 </SectionTitle>
				<Paragraph class="Default">An update of the program script is only detected if user option 2 is called and the script was really changed during editing.</Paragraph>
			</Note>
		</FieldHelp>
		<FieldHelp ID="ttadv230.updt"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Date</Title>
			</Header>
			<FuncDesc>The date on which the <Link href="/baanerp/tt/glossary/glossary#progscript.tt" role="glossary">program script</Link> is last updated.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="docu"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Tech.Document.</Title>
			</Header>
			<FuncDesc>
                                 If this check box is selected, a technical document is available for the script.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="reln"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Release Notes</Title>
			</Header>
			<FuncDesc>
                                 If this check box is selected, <Link href="/baanerp/tt/glossary/glossary#000000000000010" role="glossary">release</Link> notes are available for this script.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttadv230.xb_seak"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Search Key 1</Title>
			</Header>
			<FuncDesc>The first search key.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttadv230.xb_sea2"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Search Key 2</Title>
			</Header>
			<FuncDesc>The second search key.</FuncDesc>
		</FieldHelp>
		<FieldHelp ID="ttadv230.xb_sea3"><Header>
				<Title xmlns:HTML="http://www.w3.org/TR/REC-html40">Search Key 3</Title>
			</Header>
			<FuncDesc>The third search key.</FuncDesc>
		</FieldHelp>
	</Fields>
</Session>
