Segmentation concerns how a program interacts with its environment before issuing a converse statement.
By default a program that presents text forms is non-segmented, which means that the program behaves as if it were always in memory and providing a service to only one user. The following rules are in effect before a non-segmented program issues a converse statement:
A called program is always non-segmented.
A non-segmented program can be easier to code. For example, you do not need to reacquire a lock on an SQL row after a converse. Disadvantages include the fact that SQL rows are held during user think time, a behavior that leads to performance problems for other users who need to access the same SQL row.
Two techniques are available for releasing or refreshing resources before a converse in a non-segmented program:
The setting of sysVar.commitOnConverse never affects system variables or EGL tables.
The behavior of a segmented program is unaffected by the value of the system variable sysVar.commitOnConverse.
Related concepts
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.