Static data

Static data is ECB-specific information that can be updated and referenced by various functions in an application without affecting other ECBs. Static data enables multiple applications to run the same program using different data, which allows that data to be retained and unchanged throughout multiple calls without impacting other application processes.
Note: For threaded processes, static data is shared by all threaded ECBs in the process.

When an ECB runs a program, it is always initialized with the same data. This data is referred to as static data and, as a result of this process, is page protected. (Page protection protects the data from accidental corruption.) However, when an application needs to change this data, the copy-on-write facility creates an ECB-unique copy of the 4 KB page to hold the changed data. The 4 KB page is copied to an extended system work block (XWB) and the XWB is mapped to the 4 KB page in the ECB virtual memory (EVM) where the static data is located. The original program that the ECB ran is not changed during this process; programs that are reentrant remain reentrant.