Natural parameter default values for DL/I can be changed to meet your
                      particular requirements. The object module NDLPARM, which is used
                      for Natural static parameter assignment in a DL/I environment, must then be
                      appropriately modified and reassembled.
               
This section covers the following topics:
The following parameters are contained in NDLPARM:
               
| Possible Values | Default Value | 
|---|---|
5 - 200 |  
                                 
                        25 |  
                                
                     
This parameter is used to indicate the maximum number of entries in the table of translated format buffers.
An entry in this table is created for each active Natural input/output
                        statement (FIND,
                        READ,
                        UPDATE,
                        STORE).
               
When increasing DFBNUM or
                        DFFNUM, take into consideration that the allocated
                        storage area size is obtained by multiplying these values and not by
                        adding them.
               
| Possible Values | Default Value | 
|---|---|
5 - 1000 |  
                                 
                        10 |  
                                
                     
This parameter is used to indicate the average number of fields contained in each single entry of the table of translated format buffers.
A field entry in this table is created for each field referenced in a
                        Natural input/output statement (FIND,
                        READ,
                        UPDATE,
                        STORE).
               
When increasing DFFNUM or
                        DFBNUM, take into consideration that the allocated
                        storage area size is obtained by multiplying these values and not by
                        adding them.
               
| Possible Values | Default Value | 
|---|---|
0 - 32767 |  
                                 
                        50 |  
                                
                     
This parameter is used to indicate the number of entries in the Fast Locate Buffer. This buffer holds absolute addresses of Natural for DL/I objects (that is, NDBs, NSBs, UDFs) in the buffer pool.
The addresses are stored in wrap-around technique.
This buffer is especially useful if Natural for DL/I objects have been
                        marked as "resident" in the buffer pool (see the related
                        parameters RESINDB, RESINSB,
                        RESIUDF).
               
It allows Natural for DL/I to use the Fast Locate algorithm of the Natural buffer pool manager when locating objects.
| Possible Values | Default Value | 
|---|---|
1000 - 32767 (bytes)
                         |  
                                 
                        1000 |  
                                
                     
This parameter is used to indicate the initial size of the buffer which is used to copy the DL/I call parameter list and the call parameters below 16 MB if Natural operates in a z/OS environment. If the initial size is not sufficient, Natural automatically increases the size of this buffer accordingly.
| Possible Values | Default Value | 
|---|---|
1000 - 32767 (bytes)
                         |  
                                 
                        1000 |  
                                
                     
This parameter is used to indicate the initial size of the I/O area for
                        DL/I calls. This area is re-used for subsequent DL/I calls if no
                        GET HOLD call has been issued.
               
If the initial size is not sufficient, Natural automatically increases the size of this buffer accordingly.
| Possible Values | Default Value | 
|---|---|
NO/YES |  
                                 
                        NO |  
                                
                     
This parameter is used to inform IMS TM that Natural is prepared to
                        accept status codes BA or BB regarding data
                        unavailability.
               
The setting of this parameter only applies if Natural runs in a BMP or MPP region.
| Possible Values | Default Value | 
|---|---|
1 - 15 |  
                                 
                        10 |  
                                
                     
This parameter is used to indicate the maximum number of PCB levels which can be processed by Natural.
When increasing PCBLEV, take into consideration
                        that the allocated storage area size is obtained by multiplying these values
                        and not by adding them.
               
| Possible Values | Default Value | 
|---|---|
1 - 255 |  
                                 
                        25 |  
                                
                     
This parameter is used to indicate the maximum number of PCBs which can be contained within a single PSB.
When increasing PCBNUM, take into consideration
                        that the allocated storage area size is obtained by multiplying these values
                        and not by adding them.
               
| Possible Values | Default Value | 
|---|---|
NO/YES |  
                                 
                        NO |  
                                
                     
This parameter is used to inform the Natural nucleus whether or not Natural for DL/I requests relocation events.
With RELEVNT=YES, Natural for DL/I is called for
                        relocation on every relocation event, that is, even if no DL/I call has been
                        issued since the last relocation event.
               
With RELEVNT=NO, Natural for DL/I is not called for
                        relocation. Instead, it checks itself whether relocation is required before a
                        DL/I call is issued.
               
| Possible Values | Default Value | 
|---|---|
NO/YES |  
                                 
                        YES |  
                                
                     
This parameter is used to indicate whether NDBs are to be kept resident in the buffer pool.
| Possible Values | Default Value | 
|---|---|
NO/YES |  
                                 
                        YES |  
                                
                     
This parameter is used to indicate whether NSBs are to be kept resident in the buffer pool.
| Possible Values | Default Value | 
|---|---|
NO/YES |  
                                 
                        YES |  
                                
                     
This parameter is used to indicate whether UDFs are to be kept resident in the buffer pool.
| Possible Values | Default Value | 
|---|---|
1000 - 3000 (bytes)
                         |  
                                 
                        1000 |  
                                
                     
This parameter is used to indicate the size of the save area.
Do not increase the default value, unless you receive an error message which indicates that a save area overflow has occurred.
| Possible Values | Default Value | 
|---|---|
5 - 100 |  
                                 
                        20 |  
                                
                     
This parameter is used to indicate the maximum number of nested sequential accesses which can be processed by Natural.
When increasing the values for the SEQNUM and
                        SEQSSA parameters, remember that the storage area
                        allocated is dependent on the product of these areas, not their
                        sum.
               
| Possible Values | Default Value | 
|---|---|
10 - 500 (bytes)
                         |  
                                 
                        50 |  
                                
                     
This parameter is used to indicate the maximum size of an SSA related to sequential access.
When increasing the values for the SEQNUM and
                        SEQSSA parameters, remember that the storage area
                        allocated is dependent on the product of these areas, not their
                        sum.
               
| Possible Values | Default Value | 
|---|---|
2000 - 32000 (bytes)
                         |  
                                 
                        3000 |  
                                
                     
This parameter only applies under IMS TM or under CICS in pseudo-conversational mode.
This parameter is used to indicate the size of the table which is used to save field values in hold status when running under IMS TM or under CICS in pseudo-conversational mode.
| Possible Values | Explanation | 
|---|---|
ALL |  
                                 
                        Trace all modules | 
CMD |  
                                 
                        Trace command execution | 
REQ |  
                                 
                        Trace request modules | 
ROU |  
                                 
                        Trace routines | 
SER |  
                                 
                        Trace service modules | 
OFF |  
                                 
                        Trace is not active. Default value. | 
This parameter is used to indicate whether Natural trace information is to be created and printed or not.
The options CMD, REQ, SER and
                        ROU can be combined.
               
| Possible Values | Default Value | 
|---|---|
NO/YES |  
                                 
                        NO |  
                                
                     
This parameter is used to indicate whether numeric or packed segment fields from DL/I are to be checked for valid data and repaired, if necessary.
With TYPCHCK=NO, no data check is performed. Natural for
                        DL/I would abend with data exception if, for example, a packed field contained
                        blanks.
               
With TYPCHCK=YES, a data check is performed. If the field
                        does not contain format compatible data, it is filled with zeroes. In addition,
                        a message is issued, depending on the setting of the parameter
                        TYPWARN (see below).
               
| Possible Values | Default Value | 
|---|---|
NO/YES |  
                                 
                        NO |  
                                
                     
This parameter only applies if
                        TYPCHCK
                        has been specified (see above).
               
This parameter is used to indicate whether a message is to be issued if a data check and repair has been performed.
With TYPWARN=NO, no message is issued if a data repair has
                        been performed.
               
With TYPWARN=YES, a message is issued if a data repair has
                        been performed. This message displays the short name of the field in error. The
                        message is issued as a warning (only), which means that:
               
The message is not issued via the Natural error exit but is directly inserted into the page buffer.
The message(s) is (are) only issued when the page buffer is full.
There is no backout transaction.
The program flow is not interrupted.
| Possible Values | Default Value | 
|---|---|
NO/YES |  
                                 
                        YES |  
                                
                     
This parameter is used to indicate whether the NSB is to be validated (against the PSB).
With VALNSB=YES, the NSB is validated. The NSB name in the
                        NATPSB command is checked against the PSB name in
                        the EXEC statement of the batch environment. 
               
If the names are not identical, a message is issued.
With VALNSB=NO, NSB validation is bypassed. This allows
                        for multiple business units sharing the same application. Improper use may
                        cause mismatch problems or abends. 
               
| Possible Values | Default Value | 
|---|---|
1000 - 3000 |  
                                 
                        1000 |  
                                
                     
This parameter is used to indicate the size of the work areas. Natural allocates six work areas of this size.
Do not increase the default value, unless you receive an error message which indicates that a work area overflow has occurred.
The memory size required by Natural for DL/I is determined by the following items:
Object code: 90 KB.
Save areas: 3 KB.
Work areas: 6 KB.
Fast Locate Buffer: 12 bytes for each entry.
XRST buffer: 2 KB.
Internal tables: the amount of storage allocated depends on parameters
                               specified in the module NDLPARM. The following formula can be used
                               to compute the amount of storage required for initial table allocation:
                     
Amount of Storage =
SEQNUM * (SEQSSA + 64) + 32 + DFBNUM * (28 + (DFFNUM * 12)) + 20 + PCBNUM * (24 + 12 + (PCBLEVL * 5)) + 20 + TCHSIZE
The above formula can be described as follows:
| Term | Computational Expression | 
|---|---|
| Sequential Access Table | SEQNUM * (SEQSSA + 64) + 32 | 
| Field Table | DFBNUM * (28 + (DFFNUM * 12)) + 20 | 
| PCB Map | PCBNUM * (24 + 12 + (PCBLEVL * 5)) + 20 | 
| Table of Fields in Hold | TCHSIZE | 
 If the standard values of these NDLPARM
                               parameters are used in the above formula, 14 KB of storage is allocated.
                     
Segment I/O areas are to be added on additionally.
Note:
 The object code is shared among all Natural sessions. There is a
                          copy of all other areas for each active Natural session.
                  
The storage required for save areas, work areas, Fast Locate Buffer,
                       XRST buffer and internal tables is allocated from the thread at the
                       initialization of the Natural session. Six GETMAINs are performed, the sizes of
                       which are determined by the values of the parameters in the
                       NDLPARM module. If the default values of the NDLPARM
                       parameters are used, the total size required is 27 KB.
               
The total size available is determined by the profile parameter
                       DLISIZE
                       in the Natural parameter module; see the Natural Parameter
                          Reference documentation.
               
The BUS (Buffer Usage
                       Statistics) system command can be used to obtain information on the sizes of
                       the buffers allocated by Natural for DL/I. The following information is
                       provided:
               
| Buffer | Content | 
|---|---|
DLISIZE0 |  
                                
                        Contains the Fast Locate Buffer, the XRST buffer and the save areas. | 
DLISIZE1 |  
                                
                        Contains the work areas. | 
DLISIZE2 |  
                                
                        Contains the sequential access table. | 
DLISIZE3 |  
                                
                        Contains the field table. | 
DLISIZE4 |  
                                
                        Contains the PCB map. | 
DLISIZE5 |  
                                
                        Contains the table of fields in hold status. | 
Before Natural issues a DL/I call in a z/OS environment, it checks whether the call parameter list or any of the call parameters reside above the 16 MB line. This is the case if the Natural threads have been placed above this line. If so, the parameter list and all parameters are copied into a buffer which has been allocated below the line via GETMAIN. The pointers in the parameter list are modified accordingly to point to the new parameters.
The initial size of this buffer is set by the
                       INGSIZE parameter of
                       NDLPARM. If the initial size is not sufficient, Natural
                       automatically increases the size of this buffer accordingly.
               
This overhead is required because DL/I terminates programs abnormally if parameter addresses passed in DL/I calls do not refer to code or storage areas below the 16 MB line.