The issue I face is that there is multiple endtimes and multiple start times for each job operation (SHR, PUN etc). I was thinking something like this?
global datetimevar great;
great := Maximum ({TimecardLines.lmlActualEndTime}, {JobOperations.jmoProcessID});
global datetimevar least;
next({JobOperations.jmoProcessID});
least := minimum({TimecardLines.lmlActualstartTime}, {JobOperations.jmoProcessID});
global timevar getterdone;
least - great
but that still isn't going to the next Pun.