EGL segmented programs require
special considerations in
the CICS® or IMS™ environments.
When a user first invokes
an EGL segmented program in these environments,
the program behaves as follows :
- Performs initialization tasks,
including detecting that the user
has newly started the program.
- Gives control to the beginning
of the program logic.
- Implements each EGL converse statement:
- Uses a work database to save program state,
a set of user-specific values that reflect the current status of the
user-program conversation. The state includes the data for all records
and forms and the information needed to run the program from the appropriate
line.
- Commits data base and recoverable resources
- Releases
all locks
- Does not retain database position, even if the database open statement
includes the forUpdate option
- Converses
a form
- Ends
When the user performs
an action, such as updating business data,
the runtime system restores the program to memory. The program starts
from the beginning again. The segmented program automatically acts
as follows:
- Performs initialization tasks, including detecting
that the program
has been restarted.
- Restores program state, including the
data for all forms and records,
and information about which converse statement
ran in the program.
- Reads the user's input and performs any
edits.
- Continues the cycle when implementing the next converse statement:
- Saves program state
- Commits database and recoverable resources
- Releases all locks
- Does not retain database position,
even if the database open statement
includes the forUpdate option
- Converses
a form or VGUI record
- Ends