Many language conventions you were used to in EAE 3.3 have been altered. During the migration process existing logic is converted to comply with these new conventions. To help you understand the changes that have been made to your existing applications, an overview of the most important changes is provided here. Refer to the Agile Business Suite Developer Online Help for more information on any of these concepts.
Platform Independent Language Constructs
Language constructs are mostly independent of specific platforms in Agile Business Suite. This capability enhances future portability of code by making most logic-coding platform independent.
You must ensure that succeeding logic is structured so that if the commands are not executed, the logic produces valid results. If there are commands in the logic that do not apply to the targeted platform, then generation treats them as NO-OP (no operation). If you have NO-OP logic in your model, a warning message is generated when you attempt to build the application.
Command Continuation
Unless you indicate otherwise, System Modeler assumes that each command is contained in a single line of code. There is no limit on the length of each line of code, but very long lines might become unreadable and hard to maintain. To improve readability, you can break a line of code by including a continuation character. A backslash ( \ ) indicates to System Modeler that the current command continues on the following line. Any text after the continuation character on a line become comments.
Do not break a command/line within a string literal. If you want to do this use the concatenation operator in conjunction with the continuation character as follows:
Move “A very long literal “ & \
“which continues on the next line” SomeWhere
String Literals
Indicate a string (alphanumeric) literal by enclosing it in double quotes (" "). If a purely numeric literal is enclosed in double quotes, it is interpreted as a string. However, if you use a quoted numeric literal in a context where a numeric operand is expected, it is converted to the numeric equivalent.
To enter a double-quote character within a string either escape it with a preceding backslash (\) character or by another double-quote character. For example, """" is treated at runtime as a string containing only one double-quote character. If you want to include a backslash (\) character within a string then precede it with another backslash, for example “\\”.
Numeric Literals
Numeric literals no longer require any special character to delimit them.
“Dot” Forms
The “dot” forms of logic commands are now unnecessary, particularly when a command can be entered in mixed case, such as AdhocMode. Where “dot” forms of commands exist in your model the dot is removed on migration and the name elements combined into a single word.
Comments
Use the colon (:) character to indicate a comment in your logic. Comments might appear on a line by themselves or at the end of a command statement. In addition, you can include comments after a continuation character in a command statement. (Refer to Command Continuation.)
Command Abbreviations
As with EA Developer 3.3, nearly all logic commands in System Modeler have abbreviated forms. For example, the EndExit command can be abbreviated to EE. However, the commands in System Modeler might not be the same (or use the same shortened versions) as the commands you used in EA Developer 3.3.
The Agile Business Suite Developer Online Help provides the full and abbreviated forms of all existing logic commands.
Other Behaviors
Other important language behaviors include:
The semicolon used to indicate the end of a logic command is no longer necessary in LDL+ and causes a validation error if included.
Logic command names and command options are no longer case sensitive in System Modeler.
There are no reserved words in LDL+.
The DoWhen command has been changed to use a conditional expression, and profile condition logic is specified using the general form of expression.
The behavior of the Move logic command can be replicated using the ':=' assignment operator. Use of the assignment operator, where possible, rather than the Move logic command, is the LDL+ preferred format. (Refer to Operators and Expressions.)