In this section: |
You can customize many of the default FOCUS space allocations, command lists and naming conventions while doing your install. Customizable items include:
The default buffer size has been increased to 32K in FOCUS 7.2 (from the 16K default in prior releases). This new default is the required size for both the LINREC and DATREC buffers and may no longer be changed.
How to: |
FOCUS sites can limit the maximum number of cache pages allowed per FOCUS session. Check your IBM documentation for cache requirements. During installation, you can set a cache page limit of between 3 and 524,288 pages (the hardware maximum), with each page 4096 bytes in length. The FOCUS default is 0 pages. The HiperFOCUS default is 256.
Individual users or batch jobs can reset cache page limits to one less than the site-selected maximums by using the SET CACHE command:
SET CACHE = {0|n}
where:
The default FOCUS setting allocates no space for cache; Cache is inactive.
Is the number of 4K-byte pages of contiguous storage allocated to cache memory. The minimum is two pages. The maximum value is either 524287, or one less than the site-specified maximum value.
In normal use, the number of pages requested by users should be far less than the hardware maximum to avoid degrading the performance of the paging subsystem.
MAXPAGES EQU 524288
Replace 524288 with the maximum number of cache pages you wish to allow. The value of MAXPAGES must be between 3 and 524288. Do not change any other lines in this file. After setting MAXPAGES, save member CCHCOM back into data set FOCCTL.DATA.
//ASSEM EXEC PGM=IEV90,PARM='LIST,OBJ,NOALIGN' //SYSLIB DD DISP=SHR,DSN=SYS1.MACLIB //SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(30,10)) //SYSUT2 DD UNIT=SYSDA,SPACE=(TRK,(30,10)) //SYSUT3 DD UNIT=SYSDA,SPACE=(TRK,(30,10)) //SYSPRINT DD SYSOUT=* //SYSPUNCH DD DUMMY //SYSLIN DD DISP=SHR,DSN=prefix.OBJ(CCHCOM) //SYSIN DD DISP=SHR,DSN=prefix.FOCCTL.DATA(CCHCOM)
where:
Is the high-level qualifier for your FOCUS production data sets.
//LINKFOC EXEC PGM=IEWL,PARM='LET,NCAL,LIST,SIZE=1024K' //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(10,1)) //SYSLMOD DD DISP=OLD,DSN=prefix.FOCLIB.LOAD <-- FOCUS //MAINTAIN DD DISP=SHR,DSN=prefix.FOCCTL.DATA <-- FOCCTL //OBJECT DD DISP=SHR,DSN=prefix.OBJ <-- Assembled code //SYSLIN DD * INCLUDE OBJECT(CCHCOM) <--------- Assembled CCHCOM INCLUDE SYSLMOD(CORFOC) <--------- Module to be Changed INCLUDE MAINTAIN(CORFOC) <--------- Linkedit Control Statements NAMES FOCUS(R) <--------- New Module /*
where:
Is the high-level qualifier for your FOCUS production data sets.
//LINKFOC EXEC PGM=IEWL,PARM='LET,NCAL,LIST,SIZE=1024K' //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(10,1)) //SYSLMOD DD DISP=OLD,DSN=prefix.FOCLIB.LOAD <-- FOCUS //MAINTAIN DD DISP=SHR,DSN=prefix.FOCCTL.DATA <-- FOCCTL //OBJECT DD DISP=SHR,DSN=prefix.OBJ <-- Assembled code //SYSLIN DD * INCLUDE OBJECT(CCHCOM) <--------- Assembled CCHCOM INCLUDE SYSLMOD(HLISNK) <--------- Module to be Changed INCLUDE MAINTAIN(HLISNK) <--------- Linkedit Control Statements NAMES HLISNK(R) <--------- New Module /*
where:
Is the high-level qualifier for your FOCUS production data sets.
FOCUS dynamically allocates output data sets not allocated by the user. To reset the default space attributes for these dynamically allocated ddnames, edit member IBITABLA of the FOCCTL.DATA PDS.
To change the FOCUS default allocations for output data sets, you must copy file IBITABLA to a data set allocated to ddname ERRORS. IBITABLA is a fixed columnar file and you must make all changes in the appropriate columns, which are as follows:
Column Name |
Starting Column |
Length |
---|---|---|
DDname |
01 |
8 |
Allocation units (CYLS,TRKS) |
10 |
4 |
Primary space |
15 |
3 |
Secondary space |
19 |
3 |
Number of Directory entries (PDS) |
23 |
2 |
Sysout class (OFFLINE only) |
26 |
1 |
Volume |
28 |
6 |
Unit (SYSDA, DASD, HIPER, NOHIPER*) |
35 |
8 |
Unit Count |
44 |
2 |
*Use NOHIPER as a unit name to exclude particular data sets from HiperFOCUS.
IBITABLA defines the default allocations for all dynamically allocated Information Builders files. It is provided to allow each customer to tailor these defaults as required, thereby creating a local copy of IBITABLA.
*...+....1....+....2....+....3....+....4....+ HOLD CYLS 5 10 3, HOLDMAST TRKS 5 5 36 NOHIPER , SAVE CYLS 5 10 3, REBUILD CYLS 5 10 3, FOCSML CYLS 5 5 2, FOCUS CYLS 5 5 1, FOCSTACK TRKS 5 5 2, FOCSORT CYLS 5 5 1, OFFLINE CYLS A , SESSION TRKS 5 5 2, FOCCOMP TRKS 5 5 12 , HOLDACC TRKS 5 5 12 , FMU TRKS 5 5 12 , TRF TRKS 5 5 12 , FOCPOOLT CYLS 5 20 NOHIPER 4, MDI CYLS 5 20 NOHIPER 4, FOC$HOLD CYLS 5 5 2, EXTINDEX CYLS 5 5 2,
In this section: |
To take advantage of the automatic FOCUS allocation facility, certain naming conventions must be followed. These can be adjusted to site standards during FOCUS installation.
The following list shows the default naming conventions:
prefix.FOCEXEC.DATA |
For FOCEXEC |
prefix.FOCCOMP.DATA |
For compiled MODIFY procedures |
prefix.MASTER.DATA |
For MASTER files |
prefix.ddname.FOCUS |
For database files |
prefix.MODEL.DATA |
For FOCCALC® spreadsheets |
SYS1.ADMCFORM |
For ICU format files |
SYS1.ADMCDATA |
For ICU data files |
prefix.TTEDIT.DATA |
For TABLETALK saved sessions |
prefix.FMU.DATA |
For FMU files |
prefix.TRF.DATA |
For TRF files |
prefix.WINFORMS.DATA |
For online Maintain applications |
The prefix is selected based on the following rules:
You can adjust the table of naming conventions for data sets allocated dynamically during FOCUS installation. The FOCUS data source is no longer dynamically allocated. The ERRORS PDS must be allocated prior to the execution of FOCUS.
The current table is member DSNTAB in FOCCTL.DATA. You can adjust the contents of this table by editing, compiling, and link-editing it into FOCUS. You can also adjust it with the AMASPZAP utility.
DSNTAB contains allocation information used when dynamically allocating MASTER, FOCEXEC, FIXFORM, and other files:
DSNTAB CSECT * 1 MASTER DC C'PREFIX MASTER.DATA 1' * 2 FOCEXEC DC C'PREFIX FOCEXEC.DATA 1' * 3 FOCUS Database DC C'PREFIX DATABASE.FOCUS 1' * 4 FIXFORM File DC C'PREFIX DDNAME.DATA 1' * 5 Errors DC C'SYS1 FOCUS.ERRORS.DATA 1' * 6 Set_prefix_value - 8 characters long DC C' ' * 7 FOCCOMP File DC C'PREFIX FOCCOMP.DATA 1' * 8 FOCCALC Spreadsheet DC C'PREFIX MODEL.DATA 1' * 9 ICU Format File DC C'SYS1 ADMCFORM 1' * 10 ICU Data File DC C'SYS1 ADMCDATA 1' * 11 TTEDT TableTalk saved session PDS DC C'PREFIX TTEDIT.DATA 1' * 12 FMU DC C'PREFIX FMU.DATA 1' * 13 TRF DC C'PREFIX TRF.DATA 1' * 14 WINFORMS DC C'PREFIX WINFORMS.DATA 1' * END
Each entry in the table is 53 bytes long and has the following format:
prefix (8 char) | data set name (44 char) | flag (1 char) |
---|---|---|
0 | 8 | 52 |
where:
Is an 8-character field beginning at byte 0. If it contains the word PREFIX, the TSO prefix will be substituted for the prefix value; otherwise, the prefix is whatever is entered in this field. If the SET PREFIX command is issued, it takes priority and the SET value will be substituted.
Is a 44-character field beginning at byte 8. Data set name must contain the reserved word DATABASE for FOCUS files and DDNAME for FIXFORM files being allocated. These reserved words can appear anywhere in the 44-character string.
Is a 1-character field beginning at byte 52 that indicates whether or not the DDNAME should be allocated dynamically. If FLAG=1, it indicates that the file should be allocated by FOCUS. If FLAG=0, then it should not be allocated.
//LINK1 EXEC PGM=IEWL,PARM='LET,NCAL,LIST,SIZE=1024K' //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(10,1)) //OLDMOD DD DSN=prefix.FOCLIB.LOAD,DISP=SHR //DSNTAB DD DSN=assembled.dsntab,DISP=SHR //MAINTAIN DD DSN=prefix.FOCCTL.DATA,DISP=SHR //SYSLMOD DD DSN=prefix.TEST.FOCLIB.LOAD,DISP=SHR //SYSLIN DD * INCLUDE DSNTAB INCLUDE OLDMOD(CORFOC) <----- MODULE TO BE CHANGED INCLUDE MAINTAIN(CORFOC) <----- LINK1 CNTL STATEMENTS NAME FOCUS(R) <----- NEW MODULE
/*
where:
Is the high-level qualifier for your FOCUS production data sets.
Is the name of the data set that contains the assembled version of DSNTAB.
How to: |
For optimal efficiency, FOCUS maintains a list of commonly executed TSO commands assumed valid without verification that are passed control whenever called (member TSOTAB in FOCCTL.DATA). TSO commands not on this list can also be run, but must first be verified by searching the STEPLIB, JOBLIB, and linklist libraries using the BLDL macro. The TSO command sequence is not significant and the list is terminated by the first 8 bytes of hex FF encountered (do not include the TIME command in this list).
To augment the list, first edit TSOTAB, and then compile and link-edit it into FOCUS. The JCL for this operation appears below.
//LINK1 EXEC PGM=IEWL,PARM='LET,NCAL,LIST,SIZE=1024K' //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(10,1)) //OLDMOD DD DSN=prefix.FOCLIB.LOAD,DISP=SHR //TSOTAB DD DSN=assembled.tsotab,DISP=SHR //MAINTAIN DD DSN=prefix.FOCCTL.DATA,DISP=SHR //SYSLMOD DD DSN=prefix.TEST.FOCLIB.LOAD,DISP=SHR //SYSLIN DD * INCLUDE TSOTAB INCLUDE OLDMOD(CORFOC) <----- MODULE TO BE CHANGED INCLUDE MAINTAIN(CORFOC) <----- LINK1 CNTL STATEMENTS NAME FOCUS(R) <----- NEW MODULE
/*
where:
Is the high-level qualifier for your FOCUS production data sets.
Is the name of the data set that contains the assembled version of TSOTAB.
How to: |
FOCUS allows ten data exception interrupts before terminating a run with the following error message:
(FOC204) TOO MANY INTERRUPTS. RUN TERMINATED.
You can change this limit with the SET MAXDATAEXCPT command.
Issue the following command in any supported profile, in a FOCEXEC, or at the FOCUS prompt:
SET MAXDATAEXCPT={10|n}
Issue the following command in a TABLE request
ON TABLE SET MAXDATAEXCPT {10|n}
where:
Is a one to four-digit number that represents how many data exceptions can occur before the session is terminated. 10 is the default value. The value zero (0) allows an unlimited number of data exceptions. The value one (1) terminates the session at the first data exception.
If MAXDATAEXCPT is changed in a request, a new count is established for the request. The session counter is saved and is restored after the request executes.
Each time you issue the command outside of a TABLE request, the running counter is reset to zero.
This command is not supported on a FOCUS Database Server (sink machine).
Information Builders |