The built-in Construct, Main, and Destruct SQL script methods are respectively equivalent to the Pre-Amble, Main, and Post-Amble logics defined in EAE.
SQL Scripts are migrated as classes with the SQLScript stereotype. Construct, Destruct and Main logic for SQL Scripts are loaded into the respective methods of their corresponding class.
Some SQL script related attributes that were allowable in EAE have been superseded in System Modeler:
GLB.MAINSQLMESSAGE
GLB.MAINSQLSTATE
GLB.MAINSQLWARN
GLB.POSTSQLMESSAGE
GLB.POSTSQLSTATE
GLB.POSTSQLWARN
GLB.PRESQLMESSAGE
GLB.PRESQLSTATE
GLB.PRESQLWARN
These system data items are not deleted during migration of the LCIF model file. However these data items do not reflect the value as it was on EAE. Instead ABS sets GLB.MAINSQLCODE, GLB.PRESQLCODE and GLB.POSTSQLCODE.
Note: The translation of these system data items does not occur automatically upon migration of a LCIF file (.mdl) or versionable element extracted from Enterprise Application Developer 3.x into Agile Business Suite. If references to these data items are detected during migration, the affected logic is marked invalid, and the migrated element should be modified to remove these references prior to compilation.
Migration of SQL Statements for Agile Business Suite
Agile Business Suite uses an ADO.NET interface to the database, while Enterprise Application Environment 3R3 used ODBC. This difference requires users to manually change and SQL Statements to be compatible with ADO.NET . These changes are as follows.
Qualification of Parameters
Any IN or OUT parameter should be qualified with a colon(:). Colon is an indication of an INPUT OUTPUT parameter.
Examples:
Fetch Next from GLOBAL_CUR INTO :NGENVar1 , :NGENVar2 , :NGENVar3 INSERT INTO table values ( :NGENVar1 , :NGENVar2 , :NGENVar3 )
Configurable Parameters
Agile Business Suite requires the parameters of the following SQL connection properties to be configurable:
Connection Timeout
Command Timeout
Lock Timeout
Enterprise Application Environment 3R3 uses configurable parameters for these properties. As a result, during migration, the deployed application encounters SqlTimeout exceptions. By applying the settings described below, this situation can be avoided.
The following table gives the details for the new and current values for these three properties.
Property | Current Value | New Value | Default EAE 3R3 Value |
---|---|---|---|
Connection Timeout | 15 Sec | 0 | Infinite |
Command Timeout | 30 Sec | 0 | Infinite |
Lock Timeout | 30 Sec | 0 | Infinite |
These properties are made configurable because, for any deployed component, these values are required to be changed depending on the database usage and other factors.
Calling Stored Procedures
Use EXEC while calling stored procedure and functions, instead of CALL. CALL is ODBC Driver statement. Agile Business Suite uses ADO.NET drivers
Fully qualify the stored procedure name
Example:
In 3r3, a CALL statement below
CALL fnGetNxtSeq SEQNAME ,1 , ’YES’ ,SEQNUM out ;
should be modified for use in Agile Business Suite as follows.
EXEC master.dbo.fnGetNxtSeq :SEQNAME ,1 , ’YES’ ,:SEQNUM out ;
Note the migration process does not automatically do the conversion.