| 
 | 
I've been informed that functions %NOD and %CTD also need to be checked - they have a problem with 6 digit dates. *EDATE also has to be checked (don't know what this function does). So I've updated the scan program and re-attached it. This is for user-modified programs only. BPCS original programs don't use these functions. >--------------------- >CHGCENGEN >--------------------- > >Once you've done an upgrade you will need to switch on the century >generation flag to make generated programs Y2K compliant. For some reason >the default is 'N'. To do this: > >ADDLIBLE ASSETO >CHGCENGEN + F4 to prompt >then change the 'Enhance century Generation (GENERATE)' parameter to 'Y', >and press Enter. > >You then need to find all the programs that use the century conversion >functions: %CMD, %DMC, %MDC, %CJL and recompile them. This is difficult to >do with Query and SQL because of the multi-membered files involved and >because % is used as a wild-string. So I wrote a quick-n-dirty RPG program >(attached) which did the trick. My apologies for the indicator usage. > >Bernard Burchell.
      *  This program scans all the members of ASSETF/ACT for
      *  occurrances of Century Date conversion functions.
      *  The sets are searched in creation order - not alphabetic.
      *  Run time approx. half hour.
      *
     FACTL06  IF  E           K        DISK         KINFDS ACTI       UC
     FQSYSPRT O   F     132     OF     PRINTER
     I              'abcdefghijklmnopqrst-C         LO
     I              'uvwxyz'
     I              'ABCDEFGHIJKLMNOPQRST-C         UP
     I              'UVWXYZ'
     IACTI        DS
     I                                      129 138 MBRACT
      *
     C           'OVRDBF ' CAT  'ACTL06'  CMD       P
     C                     CAT  'MBR(':1  CMD
     C                     CAT  '*ALL)':0 CMD
     C                     CALL 'QCMDEXC'
     C                     PARM           CMD   100
     C                     PARM 100       CMDLEN 155
     C                     OPEN ACTL06
      *
     C                     READ ACTL06                   LR
     C           *INLR     DOWEQ*OFF
     C           ACTGTY    IFNE ';'
     C           LO:UP     XLATEACTXT     SCNTX  96
     C                     SETOF                         01
     C           '%CMD'    SCAN SCNTX                    01
     C  N01      '%DMC'    SCAN SCNTX                    01
     C  N01      '%MDC'    SCAN SCNTX                    01
     C  N01      '%CJL'    SCAN SCNTX                    01
     C  N01      '%NOD'    SCAN SCNTX                    01
     C  N01      '%CTD'    SCAN SCNTX                    01
     C  N01      '*EDATE'  SCAN SCNTX                    01
     C           *IN01     IFEQ *ON
     C                     MOVELACTXT     ACTXT2 63
     C                     EXCPTDETAIL
     C   OF                EXCPTHEAD
     C                     END
     C                     END
     C                     READ ACTL06                   LR
     C                     ENDDO
     C                     CLOSE*ALL
      *
     OQSYSPRT E    1           HEAD
     O        E  1             DETAIL
     O                         MBRACT    10
     O                         ACETYP    12
     O                         ACNAME    23
     O                         ACSCNM    34
     O                         ACTYPE    36
     O                         ACGRID    47
     O                         ACNO      55
     O                         ACTGTY    57
     O                         ACTAR     68
     O                         ACTXT2   132
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.