Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Some character values may corrupt the output file if they are inserted into the output data. This option specifies what should happen if an invalid character is encountered. The set of invalid characters that are scanned for varies by requested output format as follows:

Format

Invalid Characters

A & B

Horizontal Tab, Vertical Tab, Carriage Return, Form Feed, Back Space, New Line (Line Feed), Double Quotes, End of String Delimiter (i.e. X'00').

O

Horizontal Tab, Vertical Tab, Carriage Return, Form Feed, Back Space, New Line (Line Feed), Comma, End of String Delimiter (i.e. X'00').

T, C & D

Horizontal Tab, Vertical Tab, Carriage Return, Form Feed, Back Space, New Line (Line Feed), End of String Delimiter (i.e. X'00').

Note
Note: Only Alpha, Char, String, BLOB, CLOB fields are scanned for invalid characters.

...

The following table indicates the types of errors that you can trap at the RDML level with an "ER" return code (User Trap) and those that will cause a complete failure of your application (System Error). System errors invoke Visual LANSA full error handling and cause the entire X_RUN "session" to end. They cannot normally be trapped at the RDML level.

Type Of Error

Resulting Action

Attempt to open too many output files

System Error

Output file option is not A, T, C, D, B or O

System Error

Invalid character option is not I, B or R

System Error

Carriage control option is not Y, N or T

System Error

Close file option is not Y or N

System Error

Invalid appendage option in appendage list

System Error

Error when attempting to open output file

User Trap

Error while writing to opened output file

System Error

Note

Note: It is very strongly recommended that you avoid building complex error handling schemes into your applications. Use a very simple trap like this at all levels of your application.

     if (#retcode *ne OK)
          abort msgtxt('Failed to .............................')
endif

Let the standard error handling Built-In Function to every generated application take care of the problem. Situations have arisen where user defined error handling logic has become so complex as to consume 40 - 50% of all RDML code (with no obvious benefit to the application). Do not fall into this trap.

...