Focal Point
how to add minutes to start time to get end time?

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/5371033092

July 03, 2008, 01:41 PM
lanjun
how to add minutes to start time to get end time?
I have 3 fields in my input file: srat date, start time, duration (07/01/08, 23:06, 02:08). How do I calculate the 3rd field like edning time: (07/02/08 01:14)?
July 03, 2008, 03:38 PM
Prarie
Do a search on the Forum for HADD.


In Focus since 1993. WebFOCUS 7.7.03 Win 2003
Convert your input fields to Date-Time and then use Standard Date-Time functions:

-*-- Create the master for TEST -------------------------
APP FI DATAMAST DISK TEST.MAS
-RUN

-WRITE DATAMAST FILE=TEST, SUFFIX=FIX, $
-WRITE DATAMAST SEGNAME=SEG1, SEGTYPE=S0, $
-WRITE DATAMAST   FIELD=START_DT, ALIAS=E01, USAGE=A08, ACTUAL=A08, $
-WRITE DATAMAST   FIELD=FILL1   , ALIAS=E02, USAGE=A01, ACTUAL=A01, $
-WRITE DATAMAST   FIELD=START_TM, ALIAS=E03, USAGE=A05, ACTUAL=A05, $
-WRITE DATAMAST   FIELD=FILL2   , ALIAS=E04, USAGE=A01, ACTUAL=A01, $
-WRITE DATAMAST   FIELD=DURATION, ALIAS=E03, USAGE=A05, ACTUAL=A05, $

-*-- Create the data file for TEST ----------------------
FILEDEF TEST DISK TEST.FTM
-RUN

-WRITE TEST 07/01/08 23:06 02:08

SET DEFCENT = 20
-RUN

DEFINE FILE TEST
START_DT1/A6MDY = EDIT(START_DT,'99$99$99');
START_DT2/MDYY = START_DT1;
START_DT3/A8YYMD = START_DT2;
START_DTTMX/A25 = START_DT3 | ' ' | START_TM | ':00.000';
START_DTTM/HYYMDS = HINPUT(25, START_DTTMX, 8, 'HYYMDS');
DURATION_HH/A2 = EDIT(DURATION,'99$$$');
DURATION_MI/A2 = EDIT(DURATION,'$$$99');
DURATION_MINS/D6 = (EDIT(DURATION_HH) * 60) + EDIT(DURATION_MI);
END_DTTM/HYYMDS = HADD(START_DTTM, 'MINUTE', DURATION_MINS, 8, 'HYYMDS');
END

TABLE FILE TEST
PRINT
START_DT
START_TM
START_DTTM
-*START_DT1
-*START_DT2
-*START_DT3
-*START_DTTMX
DURATION
-*DURATION_HH
-*DURATION_MI
DURATION_MINS
END_DTTM
END
-RUN



Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
quote:
-*-- Create the master for TEST -------------------------
APP FI DATAMAST DISK TEST.MAS
-RUN

-WRITE DATAMAST FILE=TEST, SUFFIX=FIX, $
-WRITE DATAMAST SEGNAME=SEG1, SEGTYPE=S0, $
-WRITE DATAMAST FIELD=START_DT, ALIAS=E01, USAGE=A08, ACTUAL=A08, $
-WRITE DATAMAST FIELD=FILL1 , ALIAS=E02, USAGE=A01, ACTUAL=A01, $
-WRITE DATAMAST FIELD=START_TM, ALIAS=E03, USAGE=A05, ACTUAL=A05, $
-WRITE DATAMAST FIELD=FILL2 , ALIAS=E04, USAGE=A01, ACTUAL=A01, $
-WRITE DATAMAST FIELD=DURATION, ALIAS=E03, USAGE=A05, ACTUAL=A05, $

-*-- Create the data file for TEST ----------------------
FILEDEF TEST DISK TEST.FTM
-RUN

-WRITE TEST 07/01/08 23:06 02:08

SET DEFCENT = 20
-RUN

DEFINE FILE TEST
START_DT1/A6MDY = EDIT(START_DT,'99$99$99');
START_DT2/MDYY = START_DT1;
START_DT3/A8YYMD = START_DT2;
START_DTTMX/A25 = START_DT3 | ' ' | START_TM | ':00.000';
START_DTTM/HYYMDS = HINPUT(25, START_DTTMX, 8, 'HYYMDS');
DURATION_HH/A2 = EDIT(DURATION,'99$$$');
DURATION_MI/A2 = EDIT(DURATION,'$$$99');
DURATION_MINS/D6 = (EDIT(DURATION_HH) * 60) + EDIT(DURATION_MI);
END_DTTM/HYYMDS = HADD(START_DTTM, 'MINUTE', DURATION_MINS, 8, 'HYYMDS');
END

TABLE FILE TEST
PRINT
START_DT
START_TM
START_DTTM
-*START_DT1
-*START_DT2
-*START_DT3
-*START_DTTMX
DURATION
-*DURATION_HH
-*DURATION_MI
DURATION_MINS
END_DTTM
END
-RUN

Thanks very much!