This document provides a summary of those operating functions of the Natural global buffer pool which are identical under z/OS and z/VSE.
The section covers the following topics:
The global buffer pool parameter module NATGBPRM is used to
                       set global processing options which apply to all functions and buffer pools.
                       The global buffer pool parameter module is delivered in source and object form
                       with all defaults set.
               
The following parameter is available:
This parameter enables or disables the lower/mixed case support for the global buffer pool messages.
UCTRAN=NO |  
                                 
                        Lower/mixed case support is fully enabled. 
                                     
                            This is the default value.  |  
                                
                     
UCTRAN=YES |  
                                 
                        All global buffer pool messages are issued in upper case. | 
The following functions are available:
Note:
 If no function is specified,
                          CREATE
                          is assumed when the profile parameter BPNAME is
                          specified, otherwise
                          NOP
                          is assumed.
                  
This function adds cache storage to an existing global buffer pool.
This function creates a global buffer pool with the specified parameters.
This function removes the cache storage of a global buffer pool without shutting down the buffer pool itself.
The global buffer pool is shut down, and the storage area is released.
If there are no active objects in the buffer pool,
                        FSHUT is executed immediately.
               
If there are still active objects in the buffer pool, this will be
                        indicated to the operator. Depending on the setting of the parameter
                        CONFIRM,
                        the operator is asked for a confirmation or FSHUT is
                        executed immediately.
               
This function shows all global parameter settings, that is, parameters which do not only apply to the statement for which they have been specified.
In addition, the storage key of the global buffer pool(s) is shown.
This function lists all global buffer pool caches currently owned by the job.
This function code can be used to set global parameters. It does not perform any buffer pool operation.
With the REFRESH command it is possible to
                        re-initialize an already active buffer pool. As no storage allocation takes
                        place, the buffer pool size and location (above or below 16 MB) remain
                        unchanged. However, it is possible to change the text-block size (see
                        NATBUFFER
                        parameter).
               
You should use this function only if the Current Use Count (see Fields for Buffer Pool Objects in SYSBPM Directory Information) is equal to zero (see warning below) or if the buffer pool has been destroyed.
| Warning: If you re-initialize the buffer pool while Natural objects are being executed by active sessions in this buffer pool, the results of the active sessions are unpredictable and Natural may even abend.  | 
                     
Displays all buffer pools that currently exist.
The GBP operating program is terminated. This termination does not affect any active global buffer pool.
Displays all Zaps applied to the global buffer pool operating program.
The functions of the Natural GBP operating program can be controlled with the aid of parameters. These parameters can be specified in any sequence. They can be abbreviated so that they are still unique.
Note:
 If you like to start multiple global buffer pools with an associated
                          cache, you are recommended to use a single job or (under z/OS only) a single
                          started task and to supply the different
                          CREATE
                          commands in an input data set. See Example 4 in the
                          section Natural Global Buffer Pool under z/OS or
                          Example
                             4 in the section Natural Global Buffer Pool under
                             z/VSE.
                  
The following parameters are available:
BPNAME=value is required
                        (except for the
                        TERMINATE
                        function). It specifies the name of the global buffer pool to be created.
               
| Value | Explanation | 
|---|---|
| 8 bytes | The name of the global buffer pool. 
                                     
                            Note:  |  
                                
                     
| * | For the functions
                                     DELCACHE
                                     and FSHUT,
                                     you may supply a value of "*" to process all buffer
                                     pools for the specified Natural subsystem.
                         |  
                                
                     
BPLIST=value specifies the name
                        of the preload list.
               
| Value | Explanation | 
|---|---|
| 8 bytes | The name of the preload list. 
                                     
                            Note:  |  
                                
                     
BPCSIZE=value specifies the
                        amount of storage (in KB) used to allocate a data space for the buffer pool
                        cache.
               
| Value | Explanation | 
|---|---|
100 - 2097148 |  
                                 
                        The amount of storage (in KB) used to allocate a data space for the buffer pool cache. | 
Notes:
BPCSIZE parameter is omitted (or set
                            to zero), the buffer pool is not supplied with a cache.
                  TYPE=NAT.
                  CC=value determines whether a
                        condition code is ignored when returned by a command executed by the global
                        buffer pool manager. 
               
| Value | Explanation | 
|---|---|
Y |  
                                 
                        The condition code returned after command
                                     execution is counted for the condition code of the
                                     NATGBPvr job. 
                                     
                           This is the default value.  |  
                                
                     
N |  
                                 
                        The condition code returned after command
                                     execution is ignored. 
                                     
                            This may lead to a job response code of zero although the command execution failed.  |  
                                
                     
Note:
This parameter is valid for all commands.
                  
Example of Command Execution:
The global buffer pool QA82GBP is stopped and restarted
                        with the following command sequence:
               
FSHUT BPN=QA82GBP,S=QA82,CONFIRM=N,CC=N CREATE BPN=QA82GBP,S=QA82,N=(1024),M=S,BPC=4096,I=60
The FSHUT command usually returns a condition code of 20
                        when it executes and the buffer pool is not active. However, with
                        CC=N set, any condition code is ignored. In this case, a job
                        response code greater than zero is only returned if the following
                        CREATE command fails. 
               
CONFIRM=value controls the
                        FSHUT
                        behavior if there are still active objects in the buffer pool.
               
| Value | Explanation | 
|---|---|
Y |  
                                 
                        A confirmation for the FSHUT
                                     function is required from the operator. The operator can decide to abort or to
                                     force the FSHUT function. 
                                     
                           This is the default value.  |  
                                
                     
N |  
                                 
                        FSHUT is forced without interaction
                                     with the operator.
                         |  
                                
                     
Note:
This parameter is only valid for the
                           FSHUT
                           command it has been specified with, that is, CONFIRM has to be
                           specified with each FSHUT parameter, and it does not apply to
                           subsequent FSHUT commands.
                  
IDLE=value is ignored when the
                        task does not own a buffer pool cache.
               
| Value | Explanation | 
|---|---|
| Numeric | The number of seconds to elapse before the GBP
                                     operating program checks for each buffer pool cache if its associated buffer
                                     pool is still active; if not, that buffer pool cache is released; when the last
                                     buffer pool cache owned by the task has been released, the task terminates,
                                     unless RESIDENT=Y has
                                     been specified. 
                         |  
                                
                     
60 |  
                                 
                        This is the default value. | 
Notes:
IDLE is a "global" parameter.
                            Once specified, IDLE will also apply to subsequent
                            commands, without your having to specify it again.
                  IDLE time value against the job's timeout value: the
                            specified IDLE time value internally may reduce
                            IDLE to prevent timeout abends (S322).
                  METHOD=value controls which
                        algorithm is to be used for allocating storage in the Natural buffer pool.
               
| Value | Explanation | 
|---|---|
S |  
                                 
                         Indicates that a selection process is to be
                                     used for allocating storage. 
                                     
                            The selection process consists of browsing the whole buffer pool directory and comparing different entries in order to find a most suitable entry. This method was formerly known as algorithm 1+2.  |  
                                
                     
N |  
                                 
                         Indicates that the next available unused or
                                     free space is to be used. 
                                     
                            The search for the next available space is done from a pointer to a directory entry. The pointer moves in a wrap-around fashion. This method may be used in combination with a buffer pool cache. This is the default value.  |  
                                
                     
Note:
This parameter is only valid for the
                           CREATE
                           function. If you want to change the allocation method, restart the buffer
                           pool.
                  
NATBUFFER=(size,mode,tsize) 
                        specifies the size and the mode of the buffer pool, and the text block
                        size.
               
| Syntax | Value | Explanation | 
|---|---|---|
NATBUFFER=(size,mode,tsize)
                                         |  
                                 
                        size |  
                                 
                         size is
                                     the amount of storage (in KB) to be allocated. 
                                     
                           For the Natural buffer pool ( For the other buffer pools, the default and minimum possible size is 100 KB. The specified amount of storage is always rounded up to a multiple of 4 KB. The pool size can also be specified in units of MB or GB, e.g. by specifying 10M for 10 MB. Next to the storage specified by size, one page (4 KB) of write protected storage will be allocated for administrative purposes.  |  
                                
                     
mode |  
                                 
                         mode
                                     determines if the global buffer pool is to be allocated above or below 16 MB. 
                                     
                            Possible values are:   |  
                                
                     |
tsize |  
                                 
                         tsize
                                     determines the text block size (in KB). 
                                     
                            Possible values are:   |  
                                
                     |
| size, mode and tsize have to be specified in the sequence shown above. | ||
Note:
If NATBUFFER is not specified, the default
                           values will be used. See also
                           Examples of
                              NATBUFFER Specifications.
                  
RESIDENT=value specifies the
                        behavior of the GBP operating program after the specified function has been
                        executed. The following values are possible:
               
| Value | Explanation | 
|---|---|
 Y 
                         |  
                                 
                        The GBP operating program will remain active after executing
                                     the specified function and await further commands. Once specified,
                                     RESIDENT=Y will also apply to subsequent commands, without your
                                     having to specify it again. (To stop the GBP operating program, you use the
                                     TERMINATE
                                     function.)
                         |  
                                
                     
N |  
                                 
                        The GBP operating program will terminate after executing the
                                     specified function, if no further command is available. If the task owns a
                                     buffer pool cache, RESIDENT=N is ignored and the task is not
                                     terminated.
                         |  
                                
                     
A |  
                                 
                        The GBP operating program automatically decides how to behave
                                     after having processed all commands. It will terminate if 
                                     
                           
 In other words: If no buffer pool cache is owned by the task,
                                          This is the default setting.  |  
                                
                     
Note:RESIDENT is a "global"
                           parameter. Once specified, RESIDENT will also apply to
                           subsequent commands until explicitly specified/overwritten.
                  
SUBSID=value specifies the ID
                        of the Natural subsystem.
               
| Value | Explanation | 
|---|---|
| 4 bytes |  The 4-byte ID of the Natural subsystem. 
                                     
                            Once specified,  The default value is   |  
                                
                     
NATv |  
                                 
                        This is the default value.
                                     v is the first digit of the current
                                     Natural version.
                         |  
                                
                     
Notes:
SUBSID is a "global"
                            parameter, that is, once specified, SUBSID will also
                            apply to subsequent commands until explicitly specified/overwritten.
                  DELCACHE,
                            FSHUT
                            and
                            SHOWBP,
                            you may supply a value of "*" to process all buffer
                            pools for the specified Natural subsystem.
                  TYPE=value specifies the type
                        of the buffer pool. Possible values are:
               
| Value | Explanation | 
|---|---|
 NAT 
                         |  
                                 
                        Natural buffer pool (this is the default). | 
SORT |  
                                 
                        Sort buffer pool. | 
DLI |  
                                 
                        DL/I buffer pool. | 
EDIT |  
                                 
                        Editor buffer pool. | 
MON |  
                                 
                        Monitor buffer pool. | 
RNM |  
                                 
                        Review Natural Monitor buffer pool. | 
The following examples refer to the
                       NATBUFFER
                       parameter which is used to set buffer size, mode and text block size, the
                       parameter name being abbreviated (N).
               
Example 1: To allocate a global buffer pool above 16 MB, with a size of 1 MB and a text block size of 1 KB, you specify:
N=(1000,,1)
or
N=(1M,,1)
Example 2: To allocate a global buffer pool above 16 MB, with a size of 10 MB and a text block size of 4 KB, you specify:
N=(10000)
or
N=(10M)
Example 3: To allocate a global buffer pool above 16 MB, with a size of 256 KB and a text block size of 4 KB, you specify:
N=(,,)
This is equivalent to omitting the
                       NATBUFFER
                       parameter altogether, as it causes the default values to apply.