SELECT EM.ID EMPID, EM.FIRST_NAME ||' ' || EM.MIDDLE_NAME || ' '|| EM.LAST_NAME EMPLOYEE,
OD.FROM_TIME, OD.TO_TIME,
EXTRACT(HOUR FROM NUMTODSINTERVAL(OD.TO_TIME -OD.FROM_TIME,'DAY')) HOURS,
EXTRACT(MINUTE FROM NUMTODSINTERVAL(OD.TO_TIME -OD.FROM_TIME,'DAY')) MINUTES,
OD.REMARKS,
DECODE(OH.STATUS, 'O','REQUESTED','A','HEAD APPROVED', 'H','HR APPROVED', 'R','REJECTED') STATUS
FROM KRT_ESSOT_HEAD OH, KRT_ESSOT_DETAIL OD, {?P_TABLE} EM, KRM_EMP_ALLOCATE AL
WHERE OH.ID = OD.HID AND OH.COMPANY = OD.COMPANY
AND OH.EMPLOYEE = EM.ID AND OH.COMPANY = EM.COMPANY
AND AL.EMPLOYEE = OH.EMPLOYEE AND AL.COMPANY = OH.COMPANY
AND AL.WEF = (SELECT MAX(WEF) FROM KRM_EMP_ALLOCATE WHERE EMPLOYEE = OH.EMPLOYEE AND COMPANY = OH.COMPANY AND WEF< TO_DATE('{?P_YEARMONTH}', 'YYYYMM'))
AND ( '{?P_BRANCH}' IS NULL OR AL.BRANCH = '{?P_BRANCH}')
AND ( '{?P_DIVISION}' IS NULL OR AL.DIVISION = '{?P_DIVISION}')
AND ( '{?P_DEPARTMENT}' IS NULL OR AL.DIVISION = '{?P_DEPARTMENT}')
AND ( '{?P_SUBDEPT}' IS NULL OR AL.DIVISION = '{?P_SUBDEPT}')
AND ( '{?P_EMPLOYEE}' IS NULL OR OH.EMPLOYEE = '{?P_EMPLOYEE}')
AND OH.YEARMONTH = '{?P_YEARMONTH}'
AND OH.COMPANY = '{?P_COMPANY}'
AND ('{?P_STATUS}' IS NULL OR OH.STATUS = '{?P_STATUS}')
=======================================
ToText ((Sum ({Command.HOURS}, {Command.EMPLOYEE}) + (Sum ({Command.MINUTES}, {Command.EMPLOYEE})\ 60)), 0) & ":" &
ToText (Sum ({Command.MINUTES}, {Command.EMPLOYEE}), 0)