7 7 2 CALLCHECK Comments Warnings

LANSA Technical

7.7.2 CALLCHECK Comments / Warnings

  • The CALLCHECK command must be coded within a BEGINCHECK / ENDCHECK validation block. Refer to these commands for further details.
  • All programs called as part of a complex logic check must have at least 3 standard parameters. These parameters are implicit and do not have to be declared in the ADD_PARMS parameter.

Name

Description

Return code

Alphanumeric length 1. Returned by the program as '1' (good return) or '0' (bad return). Used by the program to indicate to LANSA the success or failure of the complex logic check.

Name of field

Alphanumeric length 10. Passed to the program. Contains the name (as opposed to the value) of the field that is passed in the third parameter.

Value of field

Length and type depend upon the data dictionary definition of the field. Alphanumeric fields are passed with same type and length as their data dictionary definition. All numeric fields (type P or S) are passed as packed (type P) and the same length and number of decimal positions as their data dictionary definition. Note that the value of the field is passed in a work area, thus it is not possible to change value of the field by changing the value of the parameter in the validation program.

 

  • Additional parameters may be passed to the program by nominating them in the ADD_PARMS parameter.
  • Additional parameters may be:
  • An alphanumeric literal
  • A numeric literal such as 1, 14.23, -1.141217.
  • Another field name such as #CUSTNO, #INVNUM, etc.
  • A system variable name such as *BLANKS, *ZERO, *DATE or any other system variables defined at your installation.
  • A process parameter such as *UP01, *UP02, etc.
  • an expandable group expression such as (#XG_CUST #XG_PROD *EXCLUDING #CUSTNO).
  • The type and length of the parameter(s) passed depends upon the type and length of the parameter value supplied.
  • For alphanumeric fields (alpha literals, alpha fields, alpha system variables or alpha process parameters) the parameter is passed as alpha (256) with the parameter value left aligned into the 256 byte parameter.
  • For numeric fields (numeric literals, numeric fields, numeric system variables or numeric process parameters) the parameter is passed as packed 15 with the same number of decimal positions as the parameter value.
  • For numeric literals this means the same number of decimal positions as specified in the literal (e.g.: 1.12 will be passed as packed 15,2. 7.12345 will be passed as packed 15,5. 143 will be passed packed 15,0. etc).
  • For all other types of numeric parameters this means the same number of decimal positions as their respective definitions.
  • As with the standard parameters, the actual value is passed in a work area so it is not possible to change the value of a field by changing the parameter value in the validation program.