1.4 What is an I/O Module?

An I/O Module (also called an Object Access Module) is a program created by LANSA to handle all access to files. Each file used by LANSA will have an I/O Module whether created by LANSA or defined as an OTHER file used in existing non-LANSA applications.

Each I/O module contains the Repository features defined for its file and fields. Centralizing these features in an I/O module reduces the impact of file changes on your applications. By channeling file access through the I/O module, whether from a IBM i or client application, the validity of your data is protected because it is always subjected to the same validation and security checks.

LANSA's I/O modules on the IBM i are compiled in RPG, making IBM i data access via LANSA Open very efficient. An RPG compiler is therefore required on the IBM i on which the Repository is maintained. (The compiler used for I/O modules varies with the deployment platform).

The step that creates the I/O module is called "Making the file operational". Some changes to the Repository definitions require the I/O module to be regenerated and some do not. Following is a list of file and field changes indicating whether the file needs to be "made operational" after the change, thus regenerating the I/O module.

Files need to be "made operational" after changes to these items:

Files do not need to be "made operational" after changes to these items:

Access Routes with Predetermined Join Fields

Access Routes without Predetermined Join Fields

Batch Control


Default Values

Column Headings & Labels

Field Length or Type

Display Attributes

Logical View

Edit Codes/Words

Physical File

Help Text

Trigger Conditions


Trigger Points


Validation Rules


Virtual Fields