Year 2000 Support: 4700 Controllers/ Related Host Products This document addresses year 2000 support with regard to the 4700 Finance Communication System domain of products along with two related Host (MVS/VSE) products used for development and distribution. In addition, products that have been withdrawn and no longer supported are also identified. For the 4700 microcode, the Host Support Program (5668-989) and the Controller Resource manager (5668-753), we have chosen to implement a fixed window technique. The change focuses on data set deletion and the use of expiration dates that influence "delete/not delete" decisions. The years 70-99 are interpreted as 1970-1999. The years 00-69 are interpreted as 2000-2069. Each product has a README file that provides complete documentation including user impacts. Because of this approach, these products are considered Year 2000 Ready. The 4700 Finance Communication System controller microcode is supported at the following EC levels; (Please note that these EC levels must have patches installed to become Year 2000 Ready.) Controller EC Level Patch level required to and Model become year 2000 Ready ---------------- -------- ------------------------- 4701-1 325252 40 4701-2 325252 40 4701-5 325252 40 4701-3 325267 5 4702-1 325267 5 4702-2 325267 5 4702-3 325267 5 Prior EC levels are unsupported and are not Year 2000 Ready. Personal Computer Application Services (71G9433) is not date sensitive. The Administrative Application Support Program (5748-F55) is not date sensitive. The Finance Host Support Program (5668-989 Release 9) is currently supported however to be Year 2000 Ready, PTF UN99866 and APAR PQ20729 is required for MVS users. PTF UN99420 is required for VSE users. The Controller Resource Manager (5668-753) is currently supported, however to be Year 2000 Ready, a PTF is required. For MVS, the PTF number is UQ04633 and for VSE the PTF number is UQ04634. The Application Map Generator (5668-934) (MVS/VSE) is not date sensitive. AMG uses GDDM/IMD. The GDDM/IMD (5668-801) products have been updated for Year 2000 readiness. Since the AMG installation performs Link-Edits with these products, the link-edit step of the installation must be rerun against the newly installed versions of GDDM/IMD. Refer to the appropriate AMG program directory (MVS,VM or VSE) for details on how to rebuild your current version of AMG. The following products have been withdrawn and are no longer supported. There are no plans in place to evaluate / upgrade these products to become Year 2000 Ready. Product Number Product Name ============== ============ 5668-751 Controller Resource Manager 5668-752 Controller Resource Manager 5668-803 Controller Resource Manager 5668-935 Controller Resource Manager *5668-987 4700 COBOL Compiler (MVS) (See both "*" notes below.) *5666-266 4700 COBOL Compiler (VSE) 5799-BZD Advanced Branch Controller System 5799-BZE Advanced Branch Controller System * The 4700 Cobol Compiler does not make calculations based on dates. Therefore, in essence, it is Year 2000 Ready. However, it does provide a means for applications to get system date information. The information includes year, month and day. It does not include the century. This was consistent with other Cobol compilers at the time the 4700 Cobol Compiler was developed. * Also, listings produced by the 4700 Cobol Compiler will reflect dates of 19xx. However, the following ZAP was applied to the 4700 COBOL (MVS) product and tested at our location. This will cause listings produced by the compiler to reflect the current century, not century 19xx. Note that since this product is no longer supported, this is not an official APAR/PTF, nor is it being recommended. Users should evaluate whether this is applicable to their product. //STEP EXEC PGM=AMASPZAP //SYSPRINT DD SYSOUT=* //SYSLIB DD DISP=SHR,DSN=PROD.COBOL.R24700.CAPLOAD <<< REPLACE WITH //* <<< YOUR DSN. //SYSIN DD * NAME CAP0 CAP0 VER 0850 F1F9E8E840404040 REP 0850 F2F0E8E840404040 /* IBM has upgraded its mainframe Cobol compilers to be Year 2000 Ready by providing the century in addition to the year month and day. The new products also provide extensions that allow applications to be recompiled with minor code changes that facilitate the windowing approach to solving the year 2000 problem. The 4700 Cobol compiler, does not provide the century nor does it provide the extensions. Existing applications that perform calculations on dates, with the assumption that all years are in the same century, must change. The window approach is an option that applications can use to achieve the desired results. Below is a sample code fragment of a program that will work only if the years are within the same century. It is a credit card application that examines an expiration date to determine if the transaction can proceed. You will note that since the expiration date is yymm and no century, when the expiration date becomes 00mm, the calculation will always cause the message "expiration date passed" to be displayed. Fragment 1. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. . . * DEFINE DATE AREA * 01 CURRENT-DATE. 05 CURRENT-YEAR-MONTH PIC X(4). 05 CURRENT-DAY PIC X(2). . . . . . . . * *----CHECK CARD EXPIRATION DATE * * ACCEPT CURRENT-DATE FROM DATE. IF CURRENT-YEAR-MONTH > EXPDT GO TO EXPIRATION-DATE-HAS-PASSED. . . . . . . . EXPIRATION-DATE-HAS-PASSED. MOVE MSG-EXPIRATION-DATE-HAS-PASSED TO MECAMFTL. GO TO END-ARLYPN. . . The following code fragment addresses the problem by using a fixed window approach. The program will now treat years 70 - 99 as 1900 and years 00 - 69 as the year 2000. Fragment 2. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. 77 CENTURY-CUTOFF PIC 9(4) VALUE 7000. . . * DEFINE MAG CARD DATA ELEMENTS . 10 VTTXEXPD PIC X(4). . . * DEFINE DATE AREA 01 CURRENT-DATE. 05 CURRENT-YEAR-MONTH PIC X(4). 05 CURRENT-DAY PIC X(2). . . . . . . * *----CHECK CARD EXPIRATION DATE * * ACCEPT CURRENT-DATE FROM DATE. IF VTTXEXPD < CENTURY-CUTOFF IF CURRENT-YEAR-MONTH > CENTURY-CUTOFF GO TO EXPIRATION-DATE-HAS-NOT-PASSED ELSE IF CURRENT-YEAR-MONTH > VTTXEXPD GO TO EXPIRATION-DATE-HAS-PASSED ELSE GO TO EXPIRATION-DATE-HAS-NOT-PASSED ELSE IF CURRENT-YEAR-MONTH < CENTURY-CUTOFF GO TO EXPIRATION-DATE-HAS-PASSED ELSE IF CURRENT-YEAR-MONTH > VTTXEXPD GO TO EXPIRATION-DATE-HAS-PASSED ELSE GO TO EXPIRATION-DATE-NOT-PASSED. . . . EXPIRATION-DATE-HAS-NOT-PASSED. . . . . EXPIRATION-DATE-HAS-PASSED. . . GO TO END-ARLYPN. . . We strongly recommend that all user written 4700 Applications be evaluated by their owners to ensure that they will operate correctly at the turn of the century. If you have any questions please contact: Dick Lewis e-mail LEWISRA@US.IBM.COM internal IBM IBMUSM25(LEWISRA)