In addition to the upgrade considerations for FOCUS 7.7.06, the following 7.7.09 upgrade considerations can be found by the SCANFOC tool. The letter and number preceding the upgrade consideration description refer to the test name as displayed in the SCANFOC output report.
For information about finding upgrade issues in your applications using the SCANFOC tool, see Option 5: Scanning for Possible Upgrade Issues.
-READ reads a record, assigning the physical bytes to variables defined in the -READ command. Due to code tightening, only .An and .In are accepted as legitimate formats. This test identifies -READ statements that include variable formats other than the accepted types. The format .An can be used for all types.
Explanation
Date formats use a single letter, D, M, or Y, to indicate two digits. Year and century is indicated with YY. The use of YYYY to indicate year and century was previously tolerated, but is now treated as an error.
Correction
Change the YYYY to YY.
Explanation
Pooled TABLES is no longer supported in FOCUS. The command to control it, SET POOL, is identified by this test. Pooled TABLES collected multiple requests on the same file, created and ran a single request that covered the data required by these multiple requests, and then subdivided the retrieved data for each participating request.
Correction
If this functionality is flagged, review the participating requests, recognizing that each individual participating request will now be reading the data file, increasing I/O and CPU usage. On very large files this could be significant, especially for batch jobs.
Explanation
HOLD FORMAT WP record format is now VB with a settable number of bytes, no longer 368. Also we no longer add on four bytes to the value set when creating the file (required for VB, to identify the length of the record). In prior releases, if you wanted 362 bytes, you had to set 366. Now 366 means 366. This may be a problem if HOLD FORMAT WP is processed downstream by a program not understanding the variable nature of the file. Previous limits on the file were LRECL 72 - 252, RECFM VB.
Correction
This test will flag the HOLD FORMAT WP lines. Please check to be sure the allocations for those files are correct and will continue to work as required for your situation. WPMINWIDTH will not force line truncation as in the past but, rather, extend the LRECL to the required length. SET WPMINWIDTH = value (max 32K) has been added to provide a default value for this behavior. This command can be issued with ON TABLE SET WPMINWIDTH value as well. The default value is 0. If value is larger than required, it will still be used to set the LRECL.
Explanation
The LOG function built with the new IBM C runtime library is generating more accurate results. These can be seen by examining the numbers generated using the USAGE format D33.29.
Correction
Be sure to verify that the new LOG function is giving you the numeric results that you expect.
Explanation
Using RUN in place of -RUN, typically following a TABLE request, is no longer supported. In 7706, a FOC227 message will be issued because the RUN is assumed to be a RUN for a compiled MODIFY, but no compiled MODIFY name was provided. A subsequent TABLE request will be run correctly. As of 7709M, the next line will be assumed to start with the name of the compiled MODIFY. This will usually result in the message FOC1517 UNRECOGNIZED COMMANDS for subsequent lines, with no output from any subsequent request.
Correction
In most cases, the RUN should be changed to a -RUN.
Explanation
Compiled MODIFYs are no longer supported in 64bit FOCUS 7709M. In order to allow existing applications to continue to run, FOCUS will automatically convert RUN focexecname to EX focexecname. This will work provided the FOCEXEC library containing the original MODIFY code is included in the FOCEXEC concatenation.
Correction
Make sure the FOCEXEC library containing the original MODIFY code is included in the FOCEXEC concatenation.
Explanation
The FOCMAP utility that provided reporting access to z/OS PDS member information is no longer supported in 7709M. This test will report instances of its use. Each case should be examined to determine the type information being requested. Much of this information can be secured by using the suffix FMI master files to provide TABLE access to OS-level information. SYSFILES for example can be used to secure a list of FOCEXEC names or Master names. For example:
DYNAM ALLOC FI MYFEX DA EDASYS.EDAPORT.MVSAPP.FOCEXEC.DATA SHR REU SQL FMI SET SYSFILES MYFEX DEFINE FILE SYSFILES SHORT_PHNAME/A36 = SUBSTR(80,PHNAME,1,80,36,SHORT_PHNAME); END TABLE FILE SYSFILES HEADING CENTER " SYSFILE STATISTICS FOR <SHORT_PHNAME " " ALLOCATED TO DDNAME <LGNAME " " " PRINT FILENAME/A8 USERID/A8 VERSION MOD LINECNT SIZE DATE TIME END
Correction
Change any FOCMAP requests to requests against the system tables.
Explanation
When using SET RECORDLIMIT = {RECORDLIMI|OUTPUTLIMIT} with RECORDLIMIT, or when using WHERE OUTPUTLIMIT, the number of rows returned with the RECORDLIMIT may now be different. OUTPUTLIMIT processing has been adjusted so that the actual output will be demonstrated with a minimum number of lines.
OUTPUTLIMIT will use as many records as is required to exercise all of the code in the FOCEXEC and will have the same first n rows as RECORDLIMIT. This is useful when there are WHERE TOTAL or IF TOTAL phrases.
Correction
Change the SET command to use OUTPUTLIMIT instead of RECORDLIMIT.
Explanation
Packed or integer date formats using only the date format Mt to translate month to three-character upper/lower case will be respected as dates only for formats P6, P8, I6, or I8. The meaning of M depends on the field type. For a date in 6- or 8-byte fields, it will represent month, which can include the edit format t for translation. On non-date numeric fields, with the advent of the data abbreviation t to represent trillions, M will be treated as a floating currency symbol. While it is unlikely that this error will appear, if it does, consider using smart dates, or reformatting to a 6- or 8-byte field, in order to retain the date character of the field.
Correction
Consider using smart dates, or reformatting the date field to a 6- or 8-byte field, in order to retain the date character of the field.
Explanation
FOCUS no longer supports compiling MODIFY procedures. The COMPILE command is no longer functional, and is ignored. An error message FOC1885 PLATFORM CURRENTLY DOES NOT SUPPORT FOCUS COMPILED MODIFY is generated. RUN modifyname will be automatically converted to EX modifyname. Also, LOAD modifyname will now load the FOCEXEC version of the MODIFY, ignoring the FOCCOMP file. It is important to verify that the original FOCEXEC for the compiled MODIFY is included in the FOCEXEC concatenation.
Correction
Verify that the original FOCEXEC for the compiled MODIFY is included in the FOCEXEC concatenation.
Explanation
Prior to release 7.7, data exceptions involving DFIX files would generate the fatal FOC1049 error message, ending the request and placing the fatal error number 1049 in FOCERRNUM. This behavior has been replaced with a non-fatal warning message, FOC1271, which will allow the request to continue to run to completion (excluding the records with exceptions), while providing information about the truncated fields. The warning number 1271 is not placed in FOCERRNUM. If you are testing for the FOCUS error 1049, that test will no longer succeed.
Correction
Review the purpose of your test, and either eliminate the test, as the request is now continuing to completion, or change the 1271 message to a fatal error using SET ERROROUT=OVERRIDE/filename, then test for that new value.
|
Information Builders |