2007 U.S. Daylight Saving Time TZTAB Replacement for the HPe3000 |
||||||||||||||||||||||||
|
TZTAB Location and UseThe TZTAB file on the HPe3000 is located in the LIB group of the SYS account, the full file name is TZTAB.LIB.SYS. The TZTAB file is used by C library functions such as localtime(), ctime() and mktime() to convert Coordinated Universal Time or UTC (also referred to as Greenwich Mean Time or Zulu Time) to local time. The TZTAB file contains time zone definitions which describe how many hours above or below UTC local time is. It also describes when a "Daylight Saving Time" adjustment should be made. The C library uses the CI or shell environment variable "TZ" to determine which time zone should be used to calculate local time. For example: In the MPE/iX Command Interpreter (or CI)Or in the shell:SETVAR TZ="PST8PDT" shell/iX> export TZ="PST8PDT" Downloading TZTABNote: It is recommended that prior to restoring the new TZTAB that you rename or copy the existing TZTAB file. Please see Installation Tips below for more details. Note: When the TZTAB file is accessed by a C library function it is opened and then immediately closed so it will probably not appear to be accessed if you use one of the the MPE/iX CI LISTFILE command formats to view it. If your applications frequently call C library functions you should consider replacing the TZTAB file during a period of low system activity to prevent the possiblity that a call to a C library time function using TZTAB may fail to find the file. If that were to happen that time function would translate UTC to U.S. Eastern Standard Time. The replacement TZTAB is available in two formats, a byte stream store-to-disk file and in WRQ Reflection "Label" Format. If you choose to use the store-to-disk format you will need to download the file to your PC and then transfer it to your HPe3000 using FTP or a similar method such as WRQ Reflection "Binary" file transfer. Once on your HP3000 translate it from a byte stream file to a fixed record file as follows: :RUN FROMBYTE.HPBIN.SYS;info="-b ./tztab.std TZTABSTD" This will translate the downloaded file "./tztab.std" into a fixed record binary file called TZTABSTD. With that you can then restore TZTAB. For example: :FILE T=TZTABSTD;DEV=DISC :RESTORE *T;TZTAB.LIB.SYS;SHOW If you choose to download the WRQ Reflection "Label" format you would download the file to your PC and use the WRQ Reflection "Label" file transfer option to move the file to your HPe3000. This method does not require that you translate the file from byte stream to fixed format once downloaded to your HPe3000. Note: If you are using Microsoft's Internet Explorer you will need to right click the link above and select "Save Target As..." to download the WRQ Reflection "Label" format copy of TZTAB. TZTAB is a text file and so is the "Label" format produced by WRQ Reflection therefore IE will want to display that in the browser window rather than issuing a download dialog box. This behavior may also be true for other browser types. MPE Patches Replacing TZTABThe MPE patch LBCNX09 is now available for download from itrc.hp.com which will also replace the TZTAB file. Please note that LBCNX09 supersedes LBCMXY5. Versions of this patch are:
Identifying Versions of TZTAB.LIB.SYSThe TZTAB file installed by LBCNX09 will contain the following as the first line of that file:# @(#) HP C/iX Library A.xx.02 2007-09-01
The TZTAB file installed by LBCMXY5 will contain the following as the first line
# @(#) HP C/iX Library A.xx.01 2007-03-01
And the TZTAB file installed by LBCMXX4 will contain the following as the first line
of that file:
# @(#) HP C/iX Library A.xx.00 2006-09-20
Where: 'xx' will be 75 for MPE/iX 7.5, 70 for MPE/iX 7.0 and 65 for MPE/iX 6.5.
However this file is NOT MPE/iX version dependent. The release "VUF" indicator
is only used for consistency in MPE/iX patches. It does not matter whether that
"VUF" matches the release of MPE/iX running on the system! Any version of the
current file will work on any version of MPE.
Earlier versions of TZTAB may contain the first line reading:
# @(#) HP C/iX Library A.06.04 2000-11-10
Or other similar values.
Notes on Using LBCNX09 To Replace TZTABIf you elect to install one of the official patches that replace TZTAB the PatchiX installation process will first create a CSLT/STORE tape of the TZTAB file and then require a "Phase II" where the file will be restored to its proper location in LIB.SYS. PatchiX will not create a copy of the old file. If you wish to retain a copy of the original TZTAB you will need to manually COPY the existing TZTAB file before beginning the Phase II process, for example::COPY TZTAB.LIB.SYS,TZTABOLD.LIB.SYSAs with the manual installation process if your applications make frequent calls to C library time functions (ctime(), mktime(), localtime() etc.) then you should consider installing the TZTAB replacement patch during a period of low system activity. Changes Take Effect ImmediatelyThere is no need to reboot your HPe3000 after replacing the TZTAB file. Changes take effect immediately.InstallationA quick way to restore and replace the new TZTAB would be to upload the WRQ Label format file from this page (see Downloading TZTAB above) and then download it to your HPe3000 using an alternate name such as "TZTABNEW" for example. Then use an MPE/iX Command Interpreter script to quickly swap the new file for the old and retain the old file should it be needed in the future. Here is a very simple CI script that will do this:parm newfile='TZTABNEW.LIB.SYS' parm oldfile='TZTABOLD.LIB.SYS' # # If the renamed old copy of TZTAB exists this # script may have already been run. # IF finfo("!oldfile", "exists") THEN echo ******************************** echo * A SAVED COPY OF TZTAB ALREADY echo * EXISTS WITH THE NAME !oldfile echo * SCRIPT STOPPED! echo ******************************** ESCAPE ENDIF # # Make sure TZTABNEW exists before beginning. # IF NOT finfo("!newfile", "exists") THEN echo ********************************* echo * THERE IS NO NEW COPY OF TZTAB echo * AVAILABLE WITH THE NAME !newfile echo * SCRIPT STOPPED! echo ********************************* ESCAPE ENDIF # # Quickly swap the files. # rename TZTAB.LIB.SYS,!oldfile rename !newfile,TZTAB.LIB.SYS echo echo The new TZTAB has been successfully installed and echo the prior copy is now called !oldfile echo # # Done. # Maintaining TZTABUnder section 110 of the Energy Policy Act of 2005 the Secretary of the U.S. Department of Energy must make a report to the Congress of the United States on the effectiveness of the daylight saving time changes on energy consumption in the U.S. no later than 9 months after its implementation. The Congress of the United States reserves the right to revert the daylight saving time rules to those implemented in 1986 and in use through 2006 based on that report. Should congress opt to revert U.S. daylight saving time to the pre-2007 rules this change will probably take effect after the end of MPE/iX support on 31 December 2008. Should other changes to the TZTAB file be required now or in the future here are some guidelines for making these changes.PST8PDT 0 3 24-30 4 1970-1973 0 PDT7 0 3 6 1 1974 0-6 PDT7 0 3 22-28 2 1975 0 PDT7 0 3 24-30 4 1976-1986 0 PDT7 0 3 1-7 4 1987-2006 0 PDT7 0 3 8-14 3 2007-2038 0 PDT7 0 1 25-31 10 1970-1973 0 PDT8 0 1 24-30 11 1974 0 PDT8 0 1 25-31 10 1975-2006 0 PDT8 0 1 1-7 11 2007-2038 0 PDT8The format of the TZTAB file used on the HPe3000 is identical to that used on HPUX systems with one significant difference; the "tzname" fields (underlined in the example above) must be UPPER case on the HPe3000. However, the value of the CI or shell variable "TZ" is case insensitive. Since the format of the TZTAB file on the HPe3000 is the same as that on HPUX should extensive changes to TZTAB be required in the future you could obtain an updated copy of TZTAB as delivered in an HPUX patch and use that file on your HPe3000. Remember to upshift any lower or mixed-case "tzname" fields! Older MPE/iX ReleasesThe TZTAB file available on this page can be used on releases prior to MPE/iX 6.5. If you are running an older copy of MPE and have a TZTAB.LIB.SYS you can replace that copy with the file downloaded here. |