Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Statements for BPGSIZE

The following statements are available for the BPGSIZE utility routine:

Statement

Function

ALLOCATE-BUFFER-POOL

Define buffer size

CONVERT-DATABASE

Convert database

END

Terminate input of statements

OPEN-DATABASE

Open database

UNDO

Cancel effect of statement

Table 49: Statements for BPGSIZE

BPGSIZE statements can be applied on not only the user realms of the database, but also the database directory (DBDIR) and the database compiler realm (DBCOM). Temporary realms must not be specified.

Rules for statements

Incorrectly entered statements can be corrected, and every correctly entered statement can also be cancelled with the UNDO statement.

If conflicting entries are made with respect to the function or object, the last specification entered always applies.

The ALLOCATE-BUFFER-POOL, OPEN-DATABASE and UNDO statements are executed immediately by BPGSIZE. All valid CONVERT-DATABASE statements are executed by BPGSIZE after the END statement.

The statements must be entered in the following order:

  1. ALLOCATE-BUFFER-POOL

  2. OPEN-DATABASE

  3. CONVERT-DATABASE (possibly more than once)

  4. UNDO (if required)

  5. END

Statement syntax

The individual statements are described in detail below in alphabetic order. 

ALLOCATE-BUFFER-POOL (define buffer size)

The ALLOCATE-BUFFER-POOL statement is used to define the size of the used buffer pools in Mbytes
(see the "Database Operation" manual).

The ALLOCATE-BUFFER-POOL statement must be specified as the first statement. It may be dropped if the default values are to be used for buffer initialization.

The ALLOCATE-BUFFER-POOL statement will then no longer be offered in the SDF mask.

The ALLOCATE-BUFFER-POOL statement cannot be canceled with the UNDO statement.

ALLOCATE-BUFFER-POOL

BUFFER-SIZE = STD / <integer 1..2000>

BUFFER-SIZE = STD

Sets the buffer pool to the default size of 2 Mbytes.

BUFFER-SIZE = <integer 1..2000>
Size of the buffer pool in Mbytes. The size of the buffer pool must lie within the specified limits. The maximum value depends on the operating system version, the main memory configuration of the system, and the ADDRESS-SPACE-LIMIT value set for the specific user ID.

CONVERT-DATABASE (control database conversion)

The CONVERT-DATABASE statement is used to control the conversion of realms. The realms of the converted database are created by BPGSIZE with the copy name NEW. For every database conversion, the DBDIR must be the first realm to be converted.

The CONVERT-DATABASE statement may be specified more than once in each BPGSIZE run. The statement is considered valid (i.e. can be executed) only if all the realms named in it are present. If a realm that has already been converted is specified in the CONVERT-DATABASE statement, the realm is not converted again.

CONVERT-DATABASE

REALM-NAME = *ALL / *ALL-EXCEPT(...) / list-poss(30): <realm-name>


*ALL-EXCEPT(...)



|

NAME = list-poss(30): <realm-name>

,DATABASE-PAGE-LENGTH = *UNCHANGED / 2KB / 4KB / 8KB

,TABLE-FILLING = *UNCHANGED / *MAXIMUM / <integer 1..100>

REALM-NAME = *ALL

All realms of the database, including the DBDIR and DBCOM, are converted.Every database conversion involves the execution of a BPGSIZE run with only one CONVERT-DATABASE statement using REALM-NAME=*ALL. This must be

  • the first and only BPGSIZE run if the entire database is to be converted at once and with the same occupancy level (see below) for all tables, or

  • the final update run after all realms of the database have been converted in earlier BPGSIZE runs.

REALM-NAME = *ALL-EXCEPT(...)
All realms except for those specified are converted.

NAME = list-poss(30): <realmname>
Names of realms to be excluded from conversion. You can also specify the DBDIR (database directory) and DBCOM (database compiler realm) here.

REALM-NAME = list-poss(30): <realmname>
All specified realms are converted. You can also specify the DBDIR (database directory) and DBCOM (database compiler realm) here.

BPGSIZE does not create a converted realm for a realm specified with REALM-NAME=... in the following cases:
  • The realm does not exist.

  • The realm is detached.

  • The realm is inconsistent.

  • The realm does not match the original DBDIR (dbname.DBDIR) or the converted DBDIR (dbname.DBDIR.NEW).

DATABASE-PAGE-LENGTH = *UNCHANGED

The database page length is not changed during conversion. If the original realm contain empty or only partially filled pages, this option can be used to reduce the storage space requirements for the realm.

DATABASE-PAGE-LENGTH = 2KB
Sets the database page length in the converted database to 2048 bytes. This entry is only allowed for 2-Kbyte databases and has the same effect there as the value *UNCHANGED. If a 4-Kbyte or 8-Kbyte database is involved, the statement is rejected.

DATABASE-PAGE-LENGTH = 4KB
Sets the database page length in the converted database to 4000 bytes. This entry is only allowed for 2-Kbyte and 4-Kbyte database. If an 8-Kbyte database is involved, the statement is rejected.

DATABASE-PAGE-LENGTH = 8KB
Sets the database page length in the converted database to 8096 bytes. In the case of an 8-Kbyte database, the entry has the same effect as the value *UNCHANGED.

The database page length in the converted database must be uniform.

Consequently, the following must be observed when specifying the DATABASE-PAGE-LENGTH:

  • In the first BPGSIZE run for the database:
    If multiple CONVERT-DATABASE statements are specified with different DATABASE-PAGE-LENGTH values, BPGSIZE will always use the DATABASE-PAGE-LENGTH value entered in the last valid CONVERT-DATABASE statement. This entry thus determines the page length in the converted database. This is reported by means of a runtime message of BPGSIZE.

  • In all other BPGSIZE runs for the database:
    The page length specified in the first BPGSIZE run must be specified for all DATABASE-PAGE-LENGTH values. Otherwise, BPGSIZE will terminate the run with an error message.

TABLE-FILLING = *UNCHANGED

The level to which tables are filled in the converted realms remain (virtually) unchanged.

TABLE-FILLING = *MAXIMUM
Every table in the converted realms is filled as follows:

  • One table entry remains free at level 0 (base level).

  • Up to 95 % of the table is filled on level 1.

  • One table entry remains free on every higher level that follows.

TABLE-FILLING = <integer 1..100>
Every table in the converted realms is filled as follows:

  • On level 0 (base level), the table is filled in accordance with the specified occupancy level (%).

  • Up to 95 % of the table is filled on level 1.

  • One table entry remains free on every higher level that follows. 

If the same realm is addressed in multiple CONVERT-DATABASE statements with different TABLE-FILLING values, the entry found in the last valid CONVERT-DATABASE statement in which that realm is addressed will apply to the associated converted realm.

Since all tables of the converted realm are filled up to the specified percentage, a converted realms may require more storage space than the associated original realm in some cases. It is therefore generally advisable to use a high occupancy level (i.e. 99, 100 or *MAXIMUM). More details on selecting a meaningful occupancy level can be found in the “SSL” chapter of the "Design and Definition" manual.

END (terminate input of statements)

The END statement terminates the input of statements and starts execution.

END               


This statement has no operands.

OPEN-DATABASE (open database)

The OPEN-DATABASE statement defines the database to be processed by subsequent statements.

This statement is not allowed if the database has already been assigned using SET-FILE-LINK LINK-NAME=DATABASE.

OPEN-DATABASE

DATABASE-NAME = <dbname>

,COPY-NAME = *NONE / <copyname>

,USER-IDENTIFICATION = *OWN / <userid>

DATABASE-NAME = <dbname>

Name of the database. You can only process a database that is available under your own user ID. A database from another user ID can only be processed from the TSOS ID of the system administrator.

COPY-NAME = *NONE

The original database is processed.

COPY-NAME = <copyname>
The database copy (shadow database) with the specified copy name is processed.

USER-IDENTIFICATION = *OWN

The database is located under the user‘s own ID.

USER-IDENTIFICATION = <userid>
The specification of a foreign database ID is only allowed under the TSOS ID.

UNDO (cancel statement)

The UNDO statement cancels the last correctly entered statement (other than UNDO itself).

The UNDO statement cannot be used to cancel the ALLOCATE-BUFFER-POOL statement.

A sequence of two UNDO statements cancels the two statements that immediately precede the UNDO sequence; a sequence of three UNDO statements cancels the three statements that precede the sequence, and so on.

UNDO               


This statement has no operands.