PROIV Workspace

PROIV Functions are loaded into the PROIV Workspace when they are run. The workspace comprises three important areas: the Data Area, the Stack and the Specification Area. The data buffers are loaded into the Data Area, while the specifications are loaded into the Specification Area of the workspace. The area between the end of the Data Area and the fixed boundary at the start of the Specification Area is called the Stack.

An issue of workspace wastage can occur in the Stack and in the Specification Area, and the environment variables, DATABUFFERSIZE and SPECSIZE manage the size of these workspace areas to help reduce this wastage.

Autosizing

It has been noted that occasionally when running PROIV Functions, the following message displays, ‘The function has exceeded the workspace’. Autosizing functionality has been introduced to ameliorate these memory issues. Autosizing allows Global Functions to obtain only the amount of memory they actually need to run, and not the full fixed size of the top level workspace. This also means that certain large functions which are 'gennable' in the top level workspace can request and obtain a memory area larger than the top level fixed size.

Section links:

Autosizing Overview contains an overview of the Autosizing functionality.

PROIV Workspace Dimensions and Calculations contains details of the PROIV Workspace proportions, and also includes useful calculations.

Setting up Autosizing explains how to enable Autosizing.

DATABUFFERSIZE explains how to use the DATABUFFERSIZE environment variable.

SPECSIZE explains how to use the SPECSIZE environment variable.

Memory Management Error Messages contains details of the error messages that are related to memory management issues.

 

Comment on this topic

Topic ID: 720287