CREATE OR REPLACE PACKAGE APPS."HXT_TIME_ATTENDANCE_AEC" as
/*<TOAD_FILE_CHUNK>*/
-- The main package of the generate attendance
CREATE OR REPLACE PACKAGE BODY APPS."HXT_TIME_ATTENDANCE_AEC" as
Function GET_DATE_TYPE(P_PERSON_ID IN NUMBER, P_Date IN Date) Return Varchar2;
Function FIND_IN_DATE_YESTERDAY(P_DATE In Date, P_EMP_NO In Varchar2) Return Date;
Function Last_In_Yesterday(P_Date Date, P_Emp_No In Varchar2) Return Date;
Function Last_Out_Yesterday(P_Date Date, P_Emp_No In Varchar2) Return Date;
Function Last_Action_Yesterday(P_Date Date, P_Emp_No In Varchar2) Return Date;
Function Min_In_Today(P_Date Date, P_Emp_No In Varchar2) Return Date;
Function TIME_SUBTRACT(P_time1 IN Date, P_time2 IN Date) RETURN Number;
Procedure UPDATE_TEMPORARY_CARDS(P_Date In Date, P_Emp_No In Varchar2);
Function CONVERT_NUMBERTO_TIME(P_Counter In Number) Return Number;
Function CONVERT_TIMETO_NUMBER(P_C IN NUMBER) RETURN NUMBER;
Function RET_DATE(P_DATE IN VARCHAR2) RETURN VARCHAR2;
Procedure SET_YESTERDAY_RECORDS(P_Date In Date, P_EMP_NO In Varchar2,
P_Memory_In In Date, P_SRecords Out Boolean);
Procedure GET_EMPLOYEE_SHIFT_TIME (P_Person_ID IN Number, P_Date IN Date,
P_Date_Type IN Varchar2, P_BBreak_In Out Date, P_BBreak_Out Out Date,
P_ABreak_In Out Date, P_ABreak_Out Out Date, P_Attendance_Type Out Varchar2,
P_Shift_Name In Out Varchar2);
Procedure GET_LATE_TIME (P_Date IN Date, P_BBreak_In IN Date, P_BBreak_Out IN Date,
P_ABreak_In IN Date, P_ABreak_Out IN Date, P_Date_Time_In IN Date, P_Date_Time_Out IN Date,
P_Todays_Absent Out Number, P_Official_Work_Hours Out Date, P_Total_Work_Hours Out Date,
P_Tardiness Out Number, P_Tardiness_Late Out Number, P_Attendance_Type In Varchar2,
P_Late_Start Out Number, P_OverTime_Deduct Out Number);
Procedure GET_PLAN_DETAILS (P_Date IN Date, P_Person_ID IN Number, P_Date_Type IN Varchar2,
P_Official_Work_Hours In Date, P_Total_Work_Hours In Date,
P_OTR Out Number, P_OTS Out Number,
P_OTR_Approved Out Number, P_OTS_Approved Out Number,
P_Hazard_Days Out Number, P_Hazard_Days_Hight Out Number, P_Stand_By_Days Out Number,
P_Attendance_Type In Varchar2, P_LastRecord In Varchar2,
P_Plan_Flag In Out Varchar2, P_Plan_Flag1 In Out Varchar2, P_OverTime_Deduct In Number, P_Leave_Type In Varchar2); --P_leave_type added by hadba
Procedure TIME_ATTENDANCE_PERIOD (P_Date IN Date, P_Start_Date Out DATE, P_End_Date Out Date);
Function GET_LEAVE_IN_DAY (P_Date IN Date,P_PROJECTED_START IN Date,P_PROJECTED_END IN Date,P_ACTUAL_START IN Date,P_ACTUAL_END IN Date,P_PROJECTED_START_TIME IN VARCHAR2,
P_PROJECTED_END_TIME IN VARCHAR2,P_ACTUAL_START_TIME IN VARCHAR2,P_ACTUAL_END_TIME IN VARCHAR2, P_ABS_REASON_ID IN NUMBER) return NUMBER;
Function IS_WEEKEND_HOLIDAY(P_Date IN Date) return Varchar2;
Procedure GET_COUNTER_INFO (P_Person_ID IN Number,P_Date In Date, P_Tardiness IN NUMBER,
P_Todays_Absent IN Number, P_Period_Start IN Date, P_Period_End IN Date,
P_Counter_15_Minutes OUT Number, P_Counter_30_Minutes OUT Number,
P_Counter_60_Minutes OUT Number, P_Cumulative_Late_Hours OUT Number, P_Excuse_Status OUT Varchar2,
P_Total_Absent_Days OUT Number, P_Counter_Leave_Days Out Number, P_Leave_Type Out Varchar2,
P_Date_Time_In In Date, P_Official_Work_Hours In Date, P_Shift_Name In Varchar2,
P_Attendance_Type In Varchar2, P_LastRecrod In Varchar2,
P_Late_Start In Number, P_Counter_Flag In Out Varchar2);
Procedure Signe_Attendance (P_Date In Date);
PROCEDURE LEAVE_DIFFERENCE (P_Person_Id In Number, P_Period_Start In Date, P_Period_End In Date);
PROCEDURE load_overtime(P_Person_Id In Number, P_Period_Start In Date, P_Period_End In Date);
PROCEDURE SUBMIT_PLAN_CHECK(P_Person_Id In Number, P_Period_Start In Date, P_Period_End In Date);
PROCEDURE Gen_Attendance (ERRBUF VARCHAR2, RETCODE VARCHAR2, P_Date In Varchar2, P_EMP_NO In varchar2 default NULL);
PROCEDURE LOAD_ACTION (p_date IN DATE, P_EMP_NO In varchar2 default NULL);
Procedure BUILD_MGR_DEPT_HIERARCHY(P_MGR_ID IN Number,P_Sub_MGR_ID IN NUMBER, P_Level IN Number);
Procedure GET_DATE_TIME_IN_OUT(P_Date In Date, P_Emp_No In Varchar2,P_person_id In Number, P_Today_shift_in In DATE,P_update_yesterday_record Out Boolean);
Procedure PURGE_ATTENDANCE(P_Date In Date, P_Emp_No In Varchar2, ALL_EMP in Boolean);