Home News Version 1 Tech Support Pubs S2K Site Map |
This document discusses new features for SYSTEM 2000 Software that were implemented for Release 12.1.
In addition to this manual, two other new documents are being issued with Release 12.1:
Also new for Release 12.1 is a single, simplified installation process for all four products. The installation document is provided with the delivery cartridge.
Note: Reducing File 4 I/Os helps to reduce I/Os to all other files.
Also, the size of File 2 has increased. See Database Index Files.
Top of Document Top of Chapter
Top of Document Top of Chapter
Refer to the CICS interface manual for specifics on these processes. Recompiling of programs is required to take full advantage of these performance improvements.
Top of Document Top of Chapter
Top of Document Top of Chapter
Top of Document Top of Chapter
Top of Document Top of Chapter
Top of Document Top of Chapter
Top of Document Top of Chapter
Top of Document Top of Chapter
Only the database name can be specified in the ALLOC command when ALLOC=TBL. See ALLOC Execution Parameter.
Several new execution parameters have been added to increase the control you have over SAVEs and KEEPs. See New Execution Parameters.
The processing of IBM SVC 99 error message has changed. See the sections on new execution options OPT048 and OPT049.
Instructions for defining generation data groups (GDGs) are covered in Generation Data Groups.
Top of Document Top of Chapter
Top of Document Top of Chapter
Top of Document Top of Chapter
Top of Document Top of Chapter
Top of Document Top of Chapter
Top of Document Top of Chapter
Prior to Release 12.1, File 4 entries could consist of various sized blocks chained together. The pointers contained in the blocks were not ordered, and the blocks in the chain could reside on several different pages. During updates, blocks were allocated in sizes to hold the number of occurrences being added for a given key item value. A technique called padding was specified at DEFINE time to reserve an additional amount of space for pointers in File 4. Padding provided a way to reduce the number of blocks in a chain by allowing for future occurrences of a value when a block was allocated. When an update or retrieval was performed for a key item value, all the blocks in the chain were read to build a list of occurrences for that value. If blocks were spread over different pages, each page had to be read to obtain the blocks.
With Release 12.1, the structure of File 4 changed. Although padding at DEFINE time remains an option, Release 12.1 introduces a built-in padding function for allocating File 4 blocks. Blocks are allocated in incremental fixed sizes, so when a File 4 block becomes full, the software computes the block size needed to accommodate the existing block plus the number of occurrences being added. A new block is allocated, using an incremental fixed size scale, and all the pointers are placed in order in the new block.
This process continues until the number of occurrences requires a page-size block. Entries will consist of one block unless the number of occurrences requires more than one page-size block. Once a page-size block has been allocated for a File 4 entry, all further blocks added to that entry are also page-size. Only page-size blocks are chained together. The pointers contained in the blocks(s) are ordered. If two or more page-size blocks exist in a chain, an internal index is maintained to reduce search time.
Ordering the pointers in a File 4 eliminates the need to sort the entry for EQ conditions. Along with other Release 12.1 changes to File 4, this aims to reduce buffer activity when indexed items are involved in update and retrieval commands.
Benefits of the new File 4 structure are as follows:
The drawback of the new File 4 structure is that update commands require additional processing to maintain ordered pointers. However, the impact of this additional processing is more than offset by the performance gain in retrieval processing.
The new File 4 structure virtually eliminates the situation of database entries becoming scattered due to incremental loads or multiple updates. Therefore, the REORGANIZE command no longer processes File 4 entries.
Top of Document Top of Chapter
Top of Document Top of Chapter
TALLY with a where-clause allows tabulation of key or non-key items using selection criteria specified in the where-clause. The where-clause is specified first so that only the portion of the database that is qualified is considered for output.
Processing is optimized for all operators except FAILS and CONTAINS if the command specifies the same key item in both the action-clause and the where-clause. The optimized process is similar to that of TALLY without a where-clause, with the added advantage that the data to be tallied have been selected.
Top of Document Top of Chapter
Top of Document Top of Chapter
TALLY/EACH/C201 WHERE C1 EXISTS: ****************************************** ITEM- SKILL TYPE ****************************************** OCCURRENCES VALUE ------------------------------------------ 1 CARTOON ART 1 CHINESE 1 CPA 1 DP SYSTEMS AUDITING 1 FINANCIAL AUDITING 1 HEBREW 1 LIBRARY SCIENCE 1 PRINT SHOP 1 SPANISH 1 SYSTEMS ANALYSTS 1 SYSTEMS DESIGN 1 SYSTEMS PROGRAMMING 1 VISUAL DESIGN ------------------------------------------ 13 DISTINCT VALUES ------------------------------------------ 13 TOTAL OCCURRENCES ------------------------------------------This example shows a TALLY with a where-clause and the ALL option.
TALLY/ALL/C201 WHERE C1 EXISTS: ****************************************** ITEM- SKILL TYPE ****************************************** MINIMUM- CARTOON ART ------------------------------------------ MAXIMUM- VISUAL DESIGN ------------------------------------------ 13 DISTINCT VALUES ------------------------------------------ 13 TOTAL OCCURRENCES ------------------------------------------
Top of Document Top of Chapter
You can use YEARCUTOFF to specify a default for the first year of a 100-year span. Without YEARCUTOFF, the default is 1900. The currently accepted range for dates in SYSTEM 2000 is October 15, 1582, to December 31, 2499.
If the default value of nnnn (1900) is in effect, the 100-year span begins with 1900 and ends with 1999. Therefore, any dates input with a two-digit year value are assigned a prefix of 19. For example, the value 92 refers to the year 1992.
Note that the value specified in the YEARCUTOFF command can result in dates in two centuries. For example, if you specify YEARCUTOFF=1950, any two-digit value between 50 and 99 inclusive refers to the first half of the 100-year span, which is in the 1900s. Any two-digit value between 00 and 49 inclusive refers to the second half of the 100-year span, which is in the 2000s.
YEARCUTOFF |= | nnnn: |EQ | RESET: |IS nnnn is a four-digit year between 1500 and 2400.
Example # 1Sets the default century to 1900, which is the default until January 1, 2000, when the default century becomes 2000.
YEARCUTOFF = 1900:
Example # 2Causes any two-digit years in the range 43 through 99 to be assigned to 2143 through 2199, and two-digit years in the range 00 through 42 to be assigned to 2200 through 2242.
YEARCUTOFF EQ 2143:
Example # 3Resets YEARCUTOFF either to the value specified in the YEARCUTOFF parameter (specified at startup time) or to the current default.
YEARCUTOFF IS RESET:
Top of Document Top of Chapter
MUSTATS WTO MUSTATS WTO Command Number Command Number BUFFERS 1901 PADS 1908 DBNS 1902 POOLS 1909 DBN= 1903 QUEUES 1910 DBNU= 1904 THREADS 1911 DBSTAT= 1905 USER= 1912 DBSTATS= 1905 WHY= 1913 HELP 1906 ZAPS 1914 MLH= 1907 OPTIONS 1915 LHOLDS= 1907 USERS 1916
Here is a sample #POOLS command with the new output:
#pools S2K1909/01- MUSTATS****************************************************- S2K1909/01- MUSTATS-POOLS # BLK NUM FREE USE SIZE RPM WPM DPM - S2K1909/01- MUSTATS 0 4096 20 20 D 81920 - S2K1909/01- MUSTATS 1 6468 20 20 D 129360 - S2K1909/01- MUSTATS 2 11620 20 7 S 232400 - S2K1909/01- MUSTATS 3 23492 20 20 DE 469840 - S2K1909/01- MUSTATS><><><><><><><><><><><><><><><><><><><><><><><><><><-
S2K1916/01- MUSTATS-userid typ act call i/o cpus last-command rc
userid 8 characters, users's jobname
typ 2 characters, shows type of job: PL - PLEX SC - SYS2KJOB TP - SCF/TPI AC - altcon
act 3 characters, shows user activity: UPA - user partition activity NOA - no activity INA - inactive EXE - executing
call 4 characters, the number of calls the user has made to Multi-User software.
nnnn number of calls between 0 and 9,999.
nnnK number of calls between 10,000 and 999,999. The three rightmost digits are truncated. For example, 39,999 is displayed as 39K.
nnnM number of calls greater than 999,999. The six rightmost digits are truncated. For example, 42M.
i/o 4 characters, the number of I/Os performed for this user. The format is the same as that for call.
cpus. 6 characters, the amount of CPU time charged to this PLEX user if the Accounting Log is enabled. The format is the same as that for call, except that values less than 10,000 have one decimal point so that they display tenths of a second.
last-command 14 characters for PLEX, 18 characters for SCF. It displays the opcode as a mnemonic for PLEX or the last command for SCF.
rc 3 characters, PLEX only, the last return code from the user's PLEX program.
Examples of #USERS command output follow:
#users S2K1916/01- MUSTATS/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\- S2K1916/01- MUSTATS- USERID TYP ACT CALL #I/O CPUS LAST COMMAND RC - S2K1916/01- MUSTATS-DCNTJW AC EXE 1 0 0.00 #USERS - S2K1916/01- MUSTATS-DCNTJW2 PL EXE 8 340 0.73 LOCATE DYNAMIC 000- S2K1916/01- MUSTATS><><><><><><><><><><><><><><><><><><><><><><><><><><- #users S2K1916/01- MUSTATS/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\- S2K1916/01- MUSTATS- USERID TYP ACT CALL #I/O CPUS LAST COMMAND RC - S2K1916/01- MUSTATS-DCNBWC1 TP EXE 2 37 0.13 TALLY C2 WH C1 EQ - S2K1916/01- MUSTATS-DCNTJW AC EXE 1 0 0.00 #USERS - S2K1916//H- MUSTATS-DCNTJW2 PL NOA 12 531 1.11 GET S2KCOUNT 000- S2K1916//H- MUSTATS><><><><><><><><><><><><><><><><><><><><><><><><><><- #users S2K1916/01- MUSTATS/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\- S2K1916/01- MUSTATS- USERID TYP ACT CALL #I/O CPUS LAST COMMAND RC - S2K1916/01- MUSTATS-DCNTJW AC EXE 1 0 0.00 #USERS - S2K1916/01- MUSTATS-DCNTJW2 PL EXE 20 745 1.56 LOCATE DYNAMIC 000- S2K1916/01- MUSTATS-DCNBWC1 SC UPA 2 4 0.04 USER,DEMO:DBN IS E- S2K1916/01- MUSTATS><><><><><><><><><><><><><><><><><><><><><><><><><><-
Top of Document Top of Chapter
OPT051=|NO (default) |YES YES means the CPU-time is in thousandths of a second. NO means CPU-time is in hundredths of a second.
Top of Document Top of Chapter
OPT052=|NO (default) |YES YES means the PLEX opcodes will be displayed in character form (such as GET1, LOCATE). NO means the PLEX opcodes will be displayed in numeric form (such as 05, 10). Refer to the section on Operation Codes for PLEX Commands in the SYSTEM 2000 Product Support Manual, Version 12, First Edition for a complete list of character and numeric representations for PLEX opcodes.
Top of Document Top of Chapter
EXIT44 prevents unauthorized update access by SCF and PLEX users, and it is executed every time an SCF update command is parsed or a PLEX update command is issued. You can set return codes in EXIT44 that cause the current command line or PLEX update to be rejected for processing. The following parameters are available for this exit:
Parameter Label Field Description AUSRCTL user-exit control block ATMPSTOR temporary storage AEXTWT exit wait routine APASSWRD password ADBNAME data base name ACCTINFO accounting information (MU only) AERMSGLN user message length AERMSGBF user message buffer AIBUFSIZ input buffer size AIBUF input buffer address ADBIO data base I/O count ATIM elapsed CPU time ASEGIO segment data base I/O count ASEGTIM segment elapsed CPU timeThe allowable action codes are: 0, 16, and 28. In response to action codes 16 or 28, a -504- message is written to the message file.
Top of Document Top of Chapter
Top of Document Top of Chapter
Release 12.1 Job Name Replaces Release 12.0 Job Name JCLGPL1 JCLGPLD and JCLGPUN This job needs to be run only if source fixes are made to load modules S2KGLOAD and S2KGUNLD. JCLGENCB JCLGPLGO and JCLGPUGO JCLGCOB JCLGCLD and JCLGCUN JCLGCBGO JCLGCLGO and JCLGCUGOIn addition, there are two new jobs related to the program generators:
Top of Document Top of Chapter
You start the dynamic allocation process when you open a database (with either DATA BASE NAME IS, NEW DATA BASE, or RESTORE) or when you issue the ALLOC command (either with FILES=ALL or without the FILES= option). SYSTEM 2000 then attempts to allocate Files 1 through 6. If for any reason the files cannot be allocated, then any files already allocated in response to the current command are deallocated. The end result is that the process allocates all or none of the files.
The syntax for the dynamic allocation parameters in the SYSTEM 2000 Product Support Manual, Version 12, First Edition remains unchanged except for the FREE parameter. You can now specify FREE database or FREE.
Top of Document Top of Chapter
The number of entries in the file can range from 1 to 100.
Beginning Field Column Length Description DBN 1 16 Database name OFFLINE 17 1 Flag showing the database offline DSN 18 43 Data set name for the database files DISP 62 3 Disposition to be used for dynamic allocation, that is, OLD or SHR. OLD is the default.The DSN entry is required. If you omit it, the DSN cannot be constructed for dynamic allocation. A default DSN will not be used for databases listed in S2KDBCNT.
You specify whether S2KDBCNT is to be used with the parameter ALLOC. With ALLOC=YES, the file may be used, but it is not required. If the file is specified in JCL with DDNAME S2KDBCNT, or if the file exists with the default naming convention, for example, prefix.S2KDBCNT, it will be used; otherwise it will not be used. During initialization, JCL is examined to determine if you specified a DDNAME S2KDBCNT. If found, that statement identifies the S2KDBCNT file. If the DDNAME S2KDBCNT is not found, an attempt is made to dynamically allocate the file using the default DSN.
With ALLOC=YES, database files can be dynamically allocated whether or not the database is listed in S2KDBCNT.
With ALLOC=TBL, the S2KDBCNT file is required, and only databases specified in that file can be dynamically allocated.
An error message is issued if you invoke ALLOC for a database listed in S2KDBCNT and you specify a DSN different from that listed in the file.
If you specify ALLOC=YES and open a database that is not listed in S2KDBCNT, the DSN is constructed using the value of your PREFIX execution parameter as the first-level qualifier. The second-level qualifier consists of the first seven characters of the database name with an appropriate numeric or letter identifier as the eighth character.
If the database name is shorter than seven characters, the name is not padded with Xs; the numeric or letter suffix is appended after the last character of the database name. For example, if you specified PREFIX=S2K, the DSN constructed for the EMPLOYEE database File 1 would be S2K.EMPLOYE1. If you did not specify PREFIX, the DSN for EMPLOYEE would be EMPLOYE1. For TSO single-user jobs that do not use the PREFIX parameter, your TSO user prefix is used. For Multi-User, in all cases, if you do not use the PREFIX parameter, a prefix is not assumed.
Top of Document Top of Chapter
ALLOC=YES YES is the default. It stipulates that dynamic allocation, either automated or invoked with the SCF ALLOC command, is authorized. An S2KDBCNT file with this value is optional.
When you open a database and the files are to be dynamically allocated, the order of precedence for deriving the DSN is S2KDBCNT first, then ALLOC (files will be allocated prior to DBN or NDB) . Last, the DSN would be constructed based on PREFIX and database name.
ALLOC=NO NO specifies that dynamic allocation is not authorized and an S2KDBCNT file is not used.
ALLOC=TBL TBL specifies that only databases listed in S2KDBCNT can be dynamically allocated. This specification limits allocation of database DSNs to those specified in S2KDBCNT, thus reducing the risk of having erroneous files associated with production databases. Note: In this case the ALLOC command is limited to ALLOC database. No other options are allowed. The purpose of this limited command is to allow you to reallocate a database that has been closed and deallocated with the FREE command. See ALLOC Command.
Top of Document Top of Chapter
FREE=YES causes dynamically allocated database files to be deallocated when the database is closed. FREE=NO prevents database files from being deallocated, except when a close is forced by VARY or FREE commands.
Top of Document Top of Chapter
For new files, you can allocate all eight database files with one command using the option ALL, or you can allocate each file individually using the FILES= option.
For existing files, you can allocate all eight database files with one command. options is not valid for existing files. Consequently, when you specify DISP=OLD or SHR, Files 1 through 6 are allocated. Files 7 and 8 are allocated if they exist.
An error message is issued if you invoke ALLOC for a database listed in S2KDBCNT and you specify a DSN different from that listed in the file.
If you specify ALLOC=TBL in the S2KPARMS file, the ALLOC command is limited to ALLOC database. No other parameters are allowed. The purpose of this limited command is to allow you to reallocate a database that has been closed and deallocated with the FREE command. If the database is listed in S2KDBCNT, the DSN specified in that file will be used. Otherwise, the default DSN prefix.database suffix will be used.
Top of Document Top of Chapter
The FREE command can be used for any database. It causes the database to be closed. Files that were allocated by SYSTEM 2000 will be deallocated. Files will be deallocated regardless of the FREE parameter.
In Multi-User, you must open the database for exclusive use. Because you are the only user on the database when the command is processed, the close and deallocation take place immediately.
If the database is identified in S2KDBCNT, FREE sets the offline lock byte to show that the database is unavailable. Invoking the ALLOC command or VARY ONLINE are the only two ways to reallocate the database files and to open the database in that Multi-User session.
If the database is not identified in S2KDBCNT, the files are closed and deallocated, but the database is not protected by the offline lock. The files can be reallocated with the ALLOC, DATA BASE NAME IS, or NEW DATA BASE commands.
In single user, exclusive use is implied. Specifying it has no effect.
Top of Document Top of Chapter
Additionally, if the database is listed in S2KDBCNT, there is a lock in the table that prevents other users from signing onto the database. It also prevents the files from being reallocated until the VARY ONLINE command is invoked. The lock serves as a pending indicator when users are on the database and it cannot be closed. The lock is set when the command is invoked; it directs that the database be closed and deallocated when the usage count goes to zero.
In comparison, if the database is not in the S2KDBCNT table, you can vary the database offline but it is not under the protection of database lockout. You can open the database at anytime without an intervening VARY ONLINE command. Moreover, the usage count must be zero when the command is invoked, or the result is an error message and the database is not closed.
You can vary any database offline provided that the usage count is zero. The files will be closed, but only files that were dynamically allocated by SYSTEM 2000 will be deallocated.
There is no dependency on the FREE parameter for deallocation of files initiated by the VARY command.
Top of Document Top of Chapter
Except when being taken offline forces a close, databases listed in the S2KDBCNT table are not physically closed until termination of the SYSTEM 2000 session. For Multi-User, that is when Multi-User terminates. For single user, it is when STOP S2K or EXIT is processed.
In single user, S2KDBCNT may be used for file allocations (DSN and DISP specifications) , but it has no effect on physical closes. Physical closes of SYSTEM 2000 databases occur in single user as follows: Deallocation occurs only if you specify FREE=YES and the files were dynamically allocated by SYSTEM 2000:
DATA BASE NAME IS or NEW DATA BASE (SCF commands) invoke a close for your current database before initiating an open for the specified database. RELEASE deletes the database. It also invokes close processing for the database files. EXIT (SCF command) signs you off of SYSTEM 2000 and causes your database, if any, to be closed. CLOSE (PLEX command) You can have multiple databases (up to 63) open in a single-user PLEX job. Only the commands CLOSE database and STOP S2K invoke close processing.
Top of Document Top of Chapter
Top of Document Top of Chapter
The processing of error messsages has been changed. IBM SVC 99 errors are now either sent to the user's S2KMSG file or written as WTOs to the job log. See the sections below on new OPT048 and OPT049.
EXPSAVE= Expiration date for SAVEs and KEEPs
EXPSAVE=yyyyddd
yyyy is the year and ddd is the number of days. You must
enter a four-digit year and a three-digit day, for example,
1995005.
KEEPUNT= Default unit for a Keepfile
KEEPUNT=unit
unit is any valid eight-character unit.
OPT048= Destination of IBM SVC 99 messages
OPT048=|NO (default)
|YES
NO specifies the messages are to be written to the
S2KMSG file.
YES specifies the messages are to be written as WTOs.
If the allocation failure is for S2KMSG, WTOs are written
regardless of OPT048. In Multi-User, the WTOs are written
to the Multi-User log.
OPT049= Database availability checking
OPT049 =|NO (default)
|YES
NO specifies that the S2KDBCNT table is not to be
checked for database availability and that SVC 99
messages are to be written to the S2KMSG file.
YES specifies that database availability is to be checked.
For each unavailable database, a WTO message
(S2K1448/sid - database DATABASE HAS BEEN TAKEN OFF
LINE -) is to be written to the log. No SVC 99
messages are to be written.
RETPRD= Period that SAVEs and KEEPs are to be retained
RETPRD=dddd
dddd is the number of days. Maximum is 9999.
SAVEUNT= Default unit for a Savefile
SAVEUNT=unit
unit is any valid eight-character unit.
S2KMSGL= Record length for the S2KMSG file
S2KMSGL=lrecl
lrecl specifies the LRECL, for example, S2KMSGL=81
SYSOUT= S2KMSG and S2KSNAP sysout class
SYSOUT=class
class is either *
or any value from A to Z.
For example: SYSOUT=*
Top of Document Top of Chapter
//S1 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE GDG (NAME(TEST.GDG) LIMIT(5) SCRATCH) /* NAME The data set name. LIMIT The maximum number of generations available at any point in time. SCRATCH When LIMIT has been reached, the oldest generation is uncataloged and deleted. NOSCRATCH is the default.Prior to Release 12.1, Special Zap 301 was required for SAVE/KEEP GDG processing. Model DSCBs are required when a new non-SMS-managed generation is created using a relative name. Special Zap 301 allowed the customer to provide this model DSCB.
Release 12.1 supplies a default model. The default of SYS1.LINKLIB satisfies most site requirements, but any permanent cataloged data set can be used as a model. SYSTEM 2000 provides relevant DCB parameters. Special Zap 301 is still available for those sites that do not have a SYS1.LINKLIB or wish to use their own model.
Top of Document Top of Chapter
Top of Document Top of Chapter
When checking a range of return codes, the PLEX processor allows only the boolean operators EQ and NE or their equivalents.
FOR...GO TO does not work with CICS and COBOL II.
Only one NE boolean operator is allowed with each $FOR statement.
Only one NE boolean operator is allowed with $CFOR for each PLEX statement.
The PLEX processor has reached the maximum number of allowed $FOR or $CFOR statements or conditions.
$FOR and $CFOR return codes must be between 0 and 255.
The PLEX processor expects label names to be between 0 and 63 characters long.
$CFOR conditions must be enclosed in parentheses.
The PLEX processor does not allow the nesting of boolean operators with $FOR statements or conditions.
$CFOR requires two fields separated by commas in each primary set of parentheses.
$CFOR fields must be separated by commas.
Top of Document Top of Chapter
49 A serious SYSTEM 2000 failure has occurred and the system needs to be shut down.
57 An error occurred when SYSTEM 2000 was trying to load a sequential database.
108 The direct Update Log is armed.
116 An attempt to arm the direct Update Log was made with Rollback enabled.
130 The date given with the YEARCUTOFF command is unacceptable. The acceptable range is 1500 to 2400.
Top of Document Top of Chapter
239x SYSTEM 2000 software found a bad operator or end-of-file on Scratch File 2, instead of the expected data for non-key where-clause processing. See your SYSTEM 2000 Software Representative. x indicates the routine in which the error occurred:
239 PREPRE 239A GENARG 239B WTEST 239C WORDR 239D TALLYFollowing are SYSTEM 2000 error codes involving database File 4. The module issuing the error is in parentheses.
360 SYSTEM 2000 software tried to remove a data record pointer from the indexes. An error occurred as SYSTEM 2000 was addressing the index block. (LDDPAG) See your SYSTEM 2000 Software Representative.
361 SYSTEM 2000 software tried to add a data record pointer to the indexes, but the value already exists. (PENTS) See your SYSTEM 2000 Software Representative.
362 Problems occurred in high-level index processing. SYSTEM 2000 software found an error when attempting to remove a high-level index entry. (DELHLI) See your SYSTEM 2000 Software Representative.
363 Problems occurred in high-level index processing. SYSTEM 2000 found an error when attempting to allocate a high-level index entry. (LDHLIB) See your SYSTEM 2000 Software Representative.
364 SYSTEM 2000 software tried to add a data record pointer to the indexes and encountered a bad mode. (LDSPAG) See your SYSTEM 2000 Software Representative.
365 Problems occurred in high-level index processing. The requested high-level index entry was greater than the number of high-level index entries in use. (PENTSHLI) See your SYSTEM 2000 Software Representative.
366 Problems occurred in high-level index processing. SYSTEM 2000 software found an error when attempting to add a high-level index entry. (PENTSHLI) See your SYSTEM 2000 Software Representative.
367 Problems occurred in high-level index processing. SYSTEM 2000 software found an error when attempting to update a high-level index entry. (PENTSHLI) See your SYSTEM 2000 Software Representative.
368 Problems occurred in high-level index processing. SYSTEM 2000 software found an error when attempting to create a high-level index block. (CREATE) See your SYSTEM 2000 Software Representative.
369 SYSTEM 2000 software tried to read an index record but encountered a bad record header. (PENTS) See your SYSTEM 2000 Software Representative.
Top of Document Top of Chapter
552 An abend has occurred in the dependent region and was trapped with ESTAE. When ESTAE processing is complete, ESTAE is disabled and abend 552 is invoked to terminate the job.
Top of Document Top of Chapter
S2K1406/sid-job-name ISSUED text - echoes the text of an alternate console (S2OP) command that updated the Multi-User system. The message appears just before any output associated with the request.
S2K1444/sid- ALLOCATION/UNALLOCATION COMPLETE FOR THE database DATABASE - is an informative message. It appears when the VARY console operator command completes successfully, and it indicates that the specified database was varied offline or online. (In Release 12.1, this message gives the database name.)
S2K1445/sid - FAILED FOR THE database DATABASE - is a warning message. The VARY operator console command failed, and the specified database could not be varied offline or online. The database files probably do not exist, or perhaps they are allocated to another job. (In Release 12.1, this message gives the database name.)
S2K1446/sid - OFFLINE IS PENDING UNTIL THE LAST USER IS OFF OF THE database DATABASE - is an informative message. It appears when the VARY database OFFLINE operator console command cannot complete because other users are still using the specified database. When the last user job closes the database, the software will mark the database as being offline. (In Release 12.1, this message gives the database name.)
S2K1448/sid-database DATABASE HAS BEEN TAKEN OFF LINE - is an informative message. A database can be taken offline in one of two ways: 1) With a console or S2OP VARY OFFLINE command. VARY ONLINE is the only way to allow a database to be reopened in your Multi-User session. 2) With the SCF FREE command. If the database is identified in S2KDBCNT, FREE sets the lock byte to 1 to show the database is unavailable. Invoking the ALLOC command or VARY ONLINE allocates the files and allows you to open the database. If the database is not identified in S2KDBCNT, it is not protected by the lock byte; the files can be reallocated with the ALLOC command or else with DBN or NDB commands for the database.
The MUSTATS console operator commands now have unique WTO numbers. Refer to Part 3 in the SYSTEM 2000 Product Support Manual, Version 12, First Edition for detailed explanations of all fields in the WTOs.
S2K1901/sid- BUFFERS S2K1908/sid- PADS S2K1902/sid- DBNS S2K1909/sid- POOLS S2K1903/sid- DBN= S2K1910/sid- QUEUES S2K1904/sid- DBNU= S2K1911/sid- THREADS S2K1905/sid- DBSTAT= S2K1912/sid- USER= S2K1905/sid- DBSTATS= S2K1913/sid- WHY= S2K1906/sid- HELP S2K1914/sid- ZAPS S2K1907/sid- MLH= S2K1915/sid- OPTIONS S2K1907/sid- LHOLDS= S2K1916/sid- USERS
Top of Document Top of Chapter
To convert your existing databases, use the CVRT121 conversion program provided on the Release 12.1 delivery tape. CVRT121 reads an existing Savefile and produces a Release 12.1 database, which has larger internal pointers in order to accommodate more records and data.
If you want to rebuild your databases with Release 12.1 software, you can create the database definition with Release 12.1, using the same process as in earlier releases. If your definition is not already on a file, you can use the DESCRIBE/DEFINE/ command to extract the definition in DEFINE format. (For documentation of the DESCRIBE/DEFINE/ command, see the SYSTEM 2000 QUEST Language and System-Wide Commands, Version 12. First Edition.)
To load the data, you can use the SCF LOAD command or the PLEX optimized load mode. The Release 12.1 delivery tape contains two programs (S2KGUNLD and S2KGLOAD) that generate COBOL PLEX programs for unloading and loading your database. Rebuilding the database eliminates reusable space and yields a freshly loaded, compact database.
Top of Document Top of Chapter
The CVRT121 program
Note: You can also use the REBLOCK option to change the block size of a Release 12.1 database at any time.
To execute the CVRT121 program, allocate the new Release 12.1 database files in the JCL job stream for the batch job. If the database files already exist, the conversion program issues an error message and stops processing.
Executing CVRT121 takes approximately two and one-half times longer than a RESTORE, based on tests using VIO data sets. RIO data sets take considerably longer. The program reads a Savefile as input and writes the new database files. Therefore, after you run the program, you can still maintain two versions of the database until you install Release 12.1 software for production use.
Top of Document Top of Chapter
If the data sets designated as the database files in the JCL are not formatted, the CVRT121 program formats them for you. Also, if the data sets do not have block sizes assigned at OPEN time (regardless of the REBLOCK option) , the CVRT121 program assigns block sizes as defined in the Savefile. All database files are rebuilt during the conversion process.
Note: The CVRT121 program cannot convert Savefiles that were written prior to Release 10.1.
Top of Document Top of Chapter
The syntax for the parameter file is as follows:
database [(action [,action])] [ | INDEX ] | NOINDEXIf the block sizes of the database files on the Savefile are different than the block sizes specified in the JCL, you must specify the REBLOCK option for the database. Otherwise, SYSTEM 2000 issues an error message.database
is the name of an existing database that was saved on a Savefile.action
| CONVERT (default
) | REBLOCK If you specify both, they can be in either order. CONVERT indicates you want to convert a database created by Release 10.1, 11.0, 11.5, 11.6, or 12.0. REBLOCK indicates you also want the database to be reblocked. INDEX means that the Index files will be rebuilt during the conversion process. This is the default. NOINDEX means that all key items in the database will be changed to non-key. Also, an SCF command file will be generated to contain all the commands necessary to do a CREATE INDEX process against the new database.
Note: You can also reblock a Release 12.1 database by specifying the REBLOCK option, for example, SALES(REBLOCK) .
EMPLOYEE CARS(CONVERT) SALES(CONVERT,REBLOCK) FINANCE(REBLOCK)The SALES database will be rebuilt and also reblocked according to the block sizes specified in your JCL. The FINANCE database example demonstrates how to reblock a database that is already in Release 12.1 format.
For example, suppose you specify the following parameter file:
EMPLOYEE(CONVERT) DDnames in the JCL for the new database files would be //EMPLOYE1 . . . //EMPLOYE6
Here is a sample KEYS data set. Four items will become key items. Also, the Update Log and the Rollback Log are reactivated.
CONTROL: DBN IS EMPLOYEE: CONTROL: CREATE INDEX C1,C2,C3,C101: PRINT SIZE: ENABLE ROLLBACK:SAVE/: QUEST: COMMAND FILE IS INPUT:The PRINT SIZE command displays the number of pages in use for each database file after the conversion and after the indexes are recreated. Some of the files may be larger than the corresponding original files due to the longer pointers in Release 12.1.
You can edit this data set prior to executing it as a Command File for a batch SCF session. The commands rebuild the index tables in the Release 12.1 database using the keys from the original database. You might want to add more key items or remove some according to existing application needs. Notice that the last command on the file returns to INPUT, which allows you to include additional SCF commands in the job.
Note: This Command File does not begin with a USER command, which would contain the master password. You must start the SYSTEM 2000 session from an input Command File that gives the USER command, then switches to the KEYS Command File. For example,
USER,ABLE: COMMAND FILE IS KEYS:Or you could edit the appropriate master password and USER command into the KEYS Command File before you submit it.
TEMPFIL2 - Preserves database File 2 data TEMPFIL4 - Preserves database File 4 data SORTIN - Input file for the sort process SORTOUT - Output file for the sort processThese files are dynamically allocated as needed during conversion. You can specify them in a batch job, but dynamic allocation is recommended.
User allocation of TEMPFIL2 and TEMPFIL4 must follow certain guidelines. The LRECL of the data sets must match the page sizes of database Files 2 and 4 on the Savefile.
For example, if the saved database has File 2 blocked at 6216 and File 4 blocked at 4096, conversion data sets TEMPFIL2 and TEMPFIL4 must be defined the same way. The temporary files must match their corresponding Savefiles in LRECL and BLKSIZE or you will receive an IBM error message indicating the mismatch.
TEMPFIL2 and TEMPFIL4 must also be allocated with enough space to hold the contents of the database files on the Savefile. If the space is not large enough, a B37 abend occurs.
The SORTOUT file is used by the local sort routines to hold the output from a database File 4 sort. The size of this file is determined by the largest number of occurrences of any given item on the database.
The LRECL for this file must be 4. If a larger LRECL is used, you risk running out of space (B37 abend) because only four bytes of each record will be used. As with the temporary files above, it is just simpler to let the conversion process dynamically allocate the SORTOUT and SORTIN files.
If you are choosing the NOINDEX option, you will also need to do the following:
This job is on your Release 12.1 CNTL library as member JCLCNVRT.
//JCLCNVRT JOB //CONVERT EXEC PGM=CVRT121 //STEPLIB DD DISP=SHR,DSN=S2K.R121.LOAD //SYSPRINT DD SYSOUT=A //SYSUDUMP DD SYSOUT=A //EMPLOYE1 DD DISP=OLD,DSN=USER.R121.EMPLOYE1 //EMPLOYE2 DD DISP=OLD,DSN=USER.R121.EMPLOYE2 //EMPLOYE3 DD DISP=OLD,DSN=USER.R121.EMPLOYE3 //EMPLOYE4 DD DISP=OLD,DSN=USER.R121.EMPLOYE4 //EMPLOYE5 DD DISP=OLD,DSN=USER.R121.EMPLOYE5 //EMPLOYE6 DD DISP=OLD,DSN=USER.R121.EMPLOYE6 //EMPLOYES DD DISP=OLD,DSN=USER.R120.SAVEFILE //CNVPARM DD * EMPLOYEE(CONVERT,REBLOCK) /*In this example, the parameter is specified inline. Alternatively, you could specify an 80-byte sequential data set, for example, with the data set name of USER.PARMFILE:
//CNVPARM DD DISP=SHR,DSN=USER.PARMFILE
Or you could allocate the parameter file as a member of a partitioned data set:
//CNVPARM DD DISP=SHR,DSN=USER.PDS(member)
Sample JCL for executing CNVRT12 with the NOINDEX option is shown below.
The KEYS data set can be defined inline, or it can be specified as a preallocated and cataloged data set.
Or you could specify the KEYS data set as a member of an existing partitioned data set:
//KEYS DD DSN=S2K.TEST.SOURCE(KEYS1),DISP=SHR
The second logical step in the convert process executes a batch SCF job stream that uses the KEYS data set as input. This step can also be executed as a separate job.
//JCLCNVRT JOB //CONVERT EXEC PGM=CVRT121 //STEPLIB DD DISP=SHR,DSN=S2K.R121.LOAD //SYSPRINT DD SYSOUT=A //SYSUDUMP DD SYSOUT=A //EMPLOYE1 DD DISP=OLD,DSN=USER.R121.EMPLOYE1 //EMPLOYE2 DD DISP=OLD,DSN=USER.R121.EMPLOYE2 //EMPLOYE3 DD DISP=OLD,DSN=USER.R121.EMPLOYE3 //EMPLOYE4 DD DISP=OLD,DSN=USER.R121.EMPLOYE4 //EMPLOYE5 DD DISP=OLD,DSN=USER.R121.EMPLOYE5 //EMPLOYE6 DD DISP=OLD,DSN=USER.R121.EMPLOYE6 //EMPLOYES DD DISP=OLD,DSN=USER.R120.SAVEFILE //KEYS DD DSN=S2K.R121.KEYS1,SPACE=(TRK,(2,1)), // UNIT=RIO,DCB=(LRECL=80,BLKSIZE=80,RECFM=F), // DISP=(NEW,CATLG,CATLG) //CNVPARM DD * EMPLOYEE(CONVERT,REBLOCK) NOINDEX /* //EXEC PGM=SYS2K . . . //KEYS DD DSN=S2K.R121.KEYS1,DISP=SHR //S2KCOMD DD * USER,DEMO:COMMAND FILE IS KEYS:EXIT: //
Top of Document Top of Chapter
Since the saved Files 2 and 4 are moved block for block, the space allocated for the temporary files has to be large enough to contain at least as many pages as the two database files. The CVRT121 EXEC defaults for both TEMPFIL2 and TEMPFIL4 are 500 blocks. If you require more space, edit the CVRT121 EXEC as required.
The other two data sets are for sorting. SORTIN is used by index processing to hold multiple occurrences of data values. SORTOUT is used by the "sort" processor to hold the output of the sort process.
The allocated space for these two data sets is variable depending on how many multiple occurrence values are encountered for a given item. If an item is key, such as GENDER, which might contain 500,000 occurrences of the value MALE, the SORTIN and SORTOUT data sets need to be large enough to hold one word (four characters) for each occurrence. The default blocksize for these data sets is 23,464 bytes, so the space allocated must be at least 86 pages of 23,464 bytes per page.
***S2K*** ENTER THE BLOCKSIZE OF THE ***S2K*** DATA BASE TO BE CONVERTED
***S2K*** ENTER THE DATA BASE NAME OF THE ***S2K*** DATA BASE YOU WANT CONVERTED
***S2K*** ENTER THE DATABASE FILE MODE ***S2K*** THE DEFAULT FILE MODE IS 'D'
***S2K*** ENTER THE FILE MODE OF THE ***S2K*** TEMPORARY FILES
This is the scope of interaction during execution. The EXEC continues the conversion without further input. If error conditions are encountered, appropriate messages are sent to you during execution.
Note: When you are running conversion in a CMS environment, error conditions may cause your database files to be erased. If the error condition is encountered before the conversion process writes anything to the files, all files are erased by CMS.
Top of Document Top of Chapter