HP3000-L Archives

January 2006, Week 3

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Brian Donaldson <[log in to unmask]>
Reply To:
Date:
Mon, 16 Jan 2006 13:54:52 EST
Content-Type:
text/plain
Parts/Attachments:
text/plain (96 lines)
Don't know how it would be done using MPEX, however:
 
I came across a Cobol subroutine I wrote some time ago. It will convert the  
current system date/time combo (YYYYMMDD + HHMMSSts) to a timestamp format  
(microseconds).  

The field LS-LONGINT-DATE in the linkage section holds your final timestamp  
result.
 
Maybe this will help you reach your goal.
 
Brian.
 
$CONTROL DYNAMIC,OPTIMIZE=1,VALIDATE,BOUNDS,CROSSREF,POST85
$CONTROL  SYNC32,ERRORS=5,OPTFEATURES=LINKALIGNED16
IDENTIFICATION  DIVISION.
PROGRAM-ID. DATETIME.
AUTHOR. BRIAN  DONALDSON.
DATE-WRITTEN. FEBRUARY 2005.
*Convert YYYYMMDD date and  HHMMSSTS time combo to microseconds.
ENVIRONMENT  DIVISION.
DATA DIVISION.
WORKING-STORAGE  SECTION.
01   WS-INTEGER-DATE         PIC S9(09)  COMP.
01   WS-DATE            PIC  X(08).
LINKAGE SECTION.
01   LS-DATE-TIME.
05   LS-DT-DATE.
10   LS-DT-DATE-YYYY PIC   9(04).
10   LS-DT-DATE-MM   PIC   9(02).
10   LS-DT-DATE-DD   PIC  9(02).
05   LS-DT-TIME.
10   LS-DT-TIME-HH   PIC   9(02).
10   LS-DT-TIME-MM   PIC   9(02).
10   LS-DT-TIME-SS   PIC   9(02).
10   LS-DT-TIME-TS   PIC  9(02).
01   LS-LONGINT-DATE         PIC S9(18)  COMP.
01   LS-ERROR-CODE-DOUBLE                COMP.
05   LS-ECD-1            PIC  S9(04) COMP.
05   LS-ECD-2            PIC  S9(04) COMP.
PROCEDURE DIVISION USING  LS-DATE-TIME,
LS-LONGINT-DATE,
LS-ERROR-CODE-DOUBLE.
A000-MAINLINE.
GOBACK.
 
     ENTRY "date_time_to_longint" USING  LS-DATE-TIME,
LS-LONGINT-DATE,
LS-ERROR-CODE-DOUBLE.
 
     PERFORM A100-CONVERT-DATE-TIME THRU  A100-EXIT.
GOBACK.
 
 A100-CONVERT-DATE-TIME.
 
     INITIALIZE  LS-LONGINT-DATE
LS-ERROR-CODE-DOUBLE.
MOVE LS-DT-DATE TO  WS-DATE.
CALL INTRINSIC "HPDATECONVERT" USING  \38\,
WS-DATE,
\10\,
WS-INTEGER-DATE,
LS-ERROR-CODE-DOUBLE,
\-1\
END-CALL.
IF  LS-ECD-1 NOT = ZEROES THEN
GO TO  A100-EXIT
END-IF.
COMPUTE WS-INTEGER-DATE = WS-INTEGER-DATE        +
(LS-DT-TIME-HH * 3600)  +
(LS-DT-TIME-MM * 60)    +
LS-DT-TIME-SS          +
LS-DT-TIME-TS
 
     END-COMPUTE.
INITIALIZE  LS-LONGINT-DATE
LS-ERROR-CODE-DOUBLE.
CALL INTRINSIC "HPDATECONVERT"  USING  \10\,
WS-INTEGER-DATE,
\1\
LS-LONGINT-DATE,
LS-ERROR-CODE-DOUBLE,
\-1\
END-CALL.
IF  LS-ECD-1 NOT = ZEROES THEN
GO TO  A100-EXIT
END-IF.
GO TO  A100-EXIT.
 
 A100-EXIT.
EXIT.


* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2