ztta/as4/roll_shm_cpp_16MB

Parameter

ztta/as4/roll_shm_cpp_16MB

Short text

Size of AS/400 C++ administration area (u.of 16MB)

Parameter Description

(See SAP Note 376827) If C++ objects are created on the AS/400 with the new-operator then these are stored on the system heap. On the other hand, C++ offers the option to overload the new-operator and to overwrite it with an implementation of your own. This is done in some places of the SAP code in order that objects are stored in the SAP roll area rather than the heap. If the objects instantiated in the roll area in this way use virtual functions then pointers to a table of virtual functions are stored with the object in the roll area. As these virtual functions in the process-local memory of the work process (technically seen as an own activation group), the roll area therefore contains pointers to the process local memory. If a user is now temporarily interrupted during a transaction and is taken out of the work process (rolled out), then the pointer is retained. If the processing is continued in another work process, the user gets the previous roll area back but with virtual function pointers that still point to the previous activation group (that is, the previous work process). If this pointer was still in use, the work process would cancel with an MCH error (illegal pointer). To avoid this canelation, SAP tries to correct this pointer and to point to the process-local virtual function in the new work process when continuing the transaction of a user in another work process. Prerequisite for this is that the activation groups (= work processes) are structured identically. SAP introduces a system-wide table in the shared memory at all places that could potentially contain virtual function pointers in the roll area. This table must include the data of all users. It is used when revoking a transaction to find all locations with virtual function pointers for the special user and to correct them in such a way that they point to the new work process.

Application Area

System

Parameter Unit

Whole number multiple of 16MB

Default Value

5

Who is permitted to make changes?

Customer

Operating System Restrictions

OS/400 only

You May Also Like

Leave a Reply?