Charles Mills,

Here is an idea.

1. Get the GMT time using LE callable service CEEGMT which returns the 
current Greenwich Mean Time (GMT) as both a Lilian date and as the number 
of seconds since 00:00:00 14 October 1582.

2. Now you want an offset of 9 hours which is 9*60*60 = 32,400 secs. so 
subtract 32,400 from the secs from the output of CEEGMT 

3. Get the date and time format using LE callable service CEEDATM which 
converts a number representing the number of seconds since 00:00:00 14 
October 1582 to a character string format. 

Now you have the required date and time. (the output will be 2012-09-11 
06:19:10 AM )

Sample Program. You should find the copylib for CEEIGZCT in CEE.SCEESAMP



        CBL LIB 
        IDENTIFICATION DIVISION. 
        PROGRAM-ID. IGZTGMT. 
        DATA DIVISION. 
        WORKING-STORAGE SECTION. 
        01  LILIAN                      PIC S9(9) BINARY. 
        01  SECS                        COMP-2. 
        01  CHRDATE                     PIC X(80). 
        01  FC. 
            02 CONDITION-TOKEN-VALUE. 
            COPY CEEIGZCT. 
                03 CASE-1-CONDITION-ID. 
                   04 SEVERITY          PIC S9(4) BINARY. 
                   04 MSG-NO            PIC S9(4) BINARY. 
                03 CASE-2-CONDITION-ID 
                         REDEFINES CASE-1-CONDITION-ID. 
                    04  CLASS-CODE      PIC S9(4) BINARY. 
                    04  CAUSE-CODE      PIC S9(4) BINARY. 
                03  CASE-SEV-CTL        PIC X. 
                03  FACILITY-ID         PIC XXX. 
            02  I-S-INFO                PIC S9(9) BINARY. 
        01  PICSTR. 
            02  VSTRING-LENGTH          PIC S9(4) BINARY. 
            02  VSTRING-TEXT. 
            03  VSTRING-CHAR            PIC X 
                                OCCURS 0 TO 256 TIMES 
                                DEPENDING ON VSTRING-LENGTH 
                                OF PICSTR. 
 
        PROCEDURE DIVISION. 
 
            CALL 'CEEGMT' USING LILIAN, SECS, FC 
 
            IF CEE000 OF FC  THEN 
                COMPUTE SECS            = SECS - 32400 
                MOVE 22                 TO VSTRING-LENGTH 
                MOVE 'YYYY-MM-DD HH:MI:SS AP' TO 
                                        VSTRING-TEXT(1:22) 
 
 
               CALL 'CEEDATM' USING SECS, PICSTR, CHRDATE, FC 
 
               IF CEE000 OF FC  THEN 
                  DISPLAY CHRDATE 
               ELSE 
                  DISPLAY 'CEEDATM FAILED WITH MSG ' 
                  MSG-NO OF FC 
               END-IF 
           ELSE 
               DISPLAY 'CEEGMT FAILED WITH MSG ' 
                   MSG-NO OF FC 
               STOP RUN 
           END-IF 
           GOBACK. 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to