You are here: LANSA for i User Guide > 2. Fields > 2 10 Simple Logic Rule

2.10 Simple Logic Rule

This display results when:

 

 DC@P700106               Simple Logic Rule                            

                                                                       

  File         : XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   

  Field        : XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   

                                                                       

 Order to process / source . . . 999 / DATA DICTIONARY                 

 User description of rule  . . . ______________________________        

 Use rule when performing  . . . ADD   CHG    DLT                      

 Check field by evaluating the truth of the condition :                

  __________________________________________________________

  __________________________________________________________

  __________________________________________________________

  __________________________________________________________

  __________________________________________________________

                                                                       

 If           the condition above is found to be true   : NEXT         

 Else         the condition above is found to be false  : ERROR        

 Specify error message number, file and library : ______  ____  _____ 

 Or text : __________________________________________________________  

                                                                       

                                                                       

 Fnn=Help  Fnn=Exit  Fnn=Cancel  Fnn=Messages                          

 

 

 

Note that file name is only displayed when working at file level. Change and Delete function keys are only enabled when displaying an existing check.

 

If an existing rule is being reviewed then the CHANGE key can be used to place the screen in change mode and the required changes made.

If an existing rule is being reviewed then the DELETE key can be used to delete the rule. Note that the delete is immediate. No confirmation is required.

If a new rule is being added then the screen will be presented initially with default values. Change as required and press Enter to complete specification of the rule.

Input Options

These input options apply to a simple logic rule:

Order to Process:

Mandatory, but always prefilled to <highest order number + 10>. Validation rules are performed (and displayed) in the sequence of these order numbers (within the validation level). Order numbers must be unique within the validation level.

For instance:

Rule

Level

Order To Process

RULE01

Dictionary

100

RULE02

Dictionary

200

RULE03

File

20

RULE04

Dictionary

50

RULE05

File

10

 

would be performed: RULE04, RULE01, RULE02, RULE05, RULE03.

Source

Output field. Indicates the source or level at which the rule applies.

User Description of Rule

Mandatory. Enter a brief description of the rule to aid other users in understanding its purpose.

Use Rule When Performing

At least one entry required. Prefilled to ADD and CHG. Specifies "when" the rule is to be performed. Allowable values are:

ADD

When information is added (inserted) to the database.

ADDUSE

When information is added, and the field is actually specified/used in the INSERT command being executed.

CHG

When information is changed (updated) in the database.

CHGUSE

When information is changed, and the field is actually specified/used in the UPDATE command being executed.

DLT

When information is deleted (removed) from the database.

Most commonly used entries are ADD, CHG and CHGUSE. Use of DLT by itself is a common and a very powerful check mechanism. If ADDUSE is specified, ensure that the default value of the field is a valid database value. Use caution when specifying CHGUSE with a rule that involves multiple fields, because the check will only be done when the field linked to the rule is specified on an UPDATE command, and not done when it is omitted, regardless of whether or not any of the other fields referenced in the rule are specified.

Check Field by Evaluating the Truth of the Condition

Mandatory. An expression that can be evaluated must be specified. The expression provided is evaluated and produces a "true" or "false" result. This is used in conjunction with other details provided to either proceed to the next rule, issue an error message or accept the field unconditionally.

Components of the expression can be:

Note that alphanumeric literals do NOT have to be in quotes when used in an expression. Quotes are only required when the alphanumeric literal contains lowercase characters. If no quotes are used the alpha literal is converted to uppercase. Thus BALMAIN = balmain = Balmain = balMAIN, however, Balmain does not equal 'Balmain'.

Note also that field names must be preceded by a # (hash) symbol when used in expressions. This allows LANSA to differentiate between fields and alphanumeric literals. For instance the expression CNTRY = AUST does not indicate which of the components is the field and which is the alphanumeric literal. The correct format is #CNTRY = AUST or #CNTRY = 'AUST'.

Valid expression operators are:

Operator

Description

(

Open bracket

)

Close bracket

+

Add

-

Subtract

/

Divide

*

Multiply

=

Compare equal

^=

Compare not equal

<

Compare less than

<=

Compare less than or equal to

>

Compare greater than

>=

Compare greater than or equal to

*EQ

Compare equal

*NE

Compare not equal

*LT

Compare less than

*LE

Compare less than or equal to

*GT

Compare greater than

*GE

Compare greater than or equal to

AND

And

OR

Or

*AND

And

*OR

Or

 

Expression evaluation is left to right within brackets, so use brackets whenever in doubt as to the order in which the expression will be evaluated.

Expression components are checked for type and length compatibility. The syntax of the expression is checked. It must also be remembered that when evaluating numeric variables the leading variable will be used to determine the decimal precision. Error messages are issued that indicate any problems found when attempting to evaluate the expression.

If the Condition Above Is Found to Be True

Mandatory. Prefilled to NEXT. Specifies what is to happen if the expression is found to be "true" after evaluation. Allowable values are:

NEXT

Field is "okay". Proceed to next rule for this field.

ERROR

Field is in error. Issue error message described below.

ACCEPT

Field is okay. Bypass all other rules for this field.

Else the Condition Above Is Found to Be False

Mandatory. Prefilled to ERROR. Specifies what is to happen if the expression is found to be "false" after evaluation. Allowable values are:

NEXT

Field is "okay". Proceed to next rule for this field.

ERROR

Field is in error. Issue error message described below.

ACCEPT

Field is okay. Bypass all other rules for this field.

 

Error Message Number, File and Library:

Optional. Specify either error message number, file and library or error message text (described below), but not both. Error message files and error message numbers are a native part of the IBM i operating system. Refer to the IBM supplied Control Language Reference Manual for details. CL commands involving message files include CRTMSGF and ADDMSGD.

If you are working on an IBM i, you can directly edit the message details from this screen panel. Enter as much of the message details as is known and use the function key labeled "Work Msgd" (Work Message Description). This will cause a WRKMSGD command to be executed, using as much of the supplied message details as is possible. This operating system facility will allow you to create or edit the message details. Upon completion of the WRKMSGD command, this screen panel will be redisplayed, unchanged, to allow you to proceed.

Do not store user defined messages in, or modify "shipped" messages in, the LANSA message file DC@M01 via this or any other message file editing facility. It is regularly replaced by new version or PC (program change) installations.

Text

Optional. If you do not wish to use an error message file (described above) to store the message text, then you may enter the text of the error message to be displayed directly. If this facility is used then the message will have no second level text associated with it. Refer to the section on Messages and the Help Key.

If neither an error message number, file and library nor error message text is specified LANSA will insert a default error message number, file and library as the error message. These default messages are "general purpose" and do not provide much detail about the specific cause of the error.