[Home] [Help]
PACKAGE BODY: APPS.PAY_PAYIECHL_XMLP_PKG
Source
1 PACKAGE BODY PAY_PAYIECHL_XMLP_PKG AS
2 /* $Header: PAYIECHLB.pls 120.1 2008/01/07 15:56:53 srikrish noship $ */
3 FUNCTION REPORT_DATEFORMULA RETURN DATE IS
4 BEGIN
5 RETURN SYSDATE;
6 END REPORT_DATEFORMULA;
7
8 FUNCTION EMPLOYEE_NAMEFORMULA(LAST_NAME IN VARCHAR2
9 ,FIRST_NAME IN VARCHAR2
10 ,MIDDLE_NAMES IN VARCHAR2) RETURN VARCHAR2 IS
11 BEGIN
12 RETURN LAST_NAME || ', ' || FIRST_NAME || ' ' || INITIALS(MIDDLE_NAMES);
13 END EMPLOYEE_NAMEFORMULA;
14
15 FUNCTION INITIALS(NAME IN VARCHAR2) RETURN VARCHAR2 IS
16 L_INITIALS VARCHAR2(255);
17 L_POS NUMBER;
18 L_NAME VARCHAR2(255);
19 BEGIN
20 L_NAME := RTRIM(LTRIM(NAME));
21 IF NVL(LENGTH(L_NAME)
22 ,0) > 0 THEN
23 L_INITIALS := SUBSTR(L_NAME
24 ,1
25 ,1) || '.';
26 END IF;
27 L_POS := INSTR(L_NAME
28 ,' '
29 ,1
30 ,1);
31 WHILE L_POS <> 0 LOOP
32
33 L_INITIALS := L_INITIALS || SUBSTR(L_NAME
34 ,L_POS + 1
35 ,1) || '.';
36 L_POS := INSTR(L_NAME
37 ,' '
38 ,L_POS + 1
39 ,1);
40 END LOOP;
41 RETURN L_INITIALS;
42 END INITIALS;
43
44 FUNCTION PAYEEFORMULA(PERSONAL_PAYMENT_METHOD_ID IN NUMBER
45 ,DATE_EARNED IN DATE
46 ,LAST_NAME IN VARCHAR2
47 ,FIRST_NAME IN VARCHAR2
48 ,MIDDLE_NAMES IN VARCHAR2) RETURN VARCHAR2 IS
49 CURSOR PAYMENT_METHOD IS
50 SELECT
51 PAYEE_ID,
52 PAYEE_TYPE
53 FROM
54 PAY_PERSONAL_PAYMENT_METHODS_F
55 WHERE PERSONAL_PAYMENT_METHOD_ID = PERSONAL_PAYMENT_METHOD_ID
56 AND DATE_EARNED between EFFECTIVE_START_DATE
57 AND EFFECTIVE_END_DATE;
58 CURSOR PERSON(P_PERSON_ID IN NUMBER) IS
59 SELECT
60 FIRST_NAME,
61 MIDDLE_NAMES,
62 LAST_NAME
63 FROM
64 PER_ALL_PEOPLE_F
65 WHERE PERSON_ID = P_PERSON_ID
66 AND DATE_EARNED between EFFECTIVE_START_DATE
67 AND EFFECTIVE_END_DATE;
68 CURSOR ORGANIZATION(P_ORGANIZATION_ID IN NUMBER) IS
69 SELECT
70 NAME
71 FROM
72 HR_ALL_ORGANIZATION_UNITS
73 WHERE ORGANIZATION_ID = P_ORGANIZATION_ID;
74 L_PAYEE_ID NUMBER;
75 L_PAYEE_TYPE VARCHAR2(30);
76 L_FIRST_NAME VARCHAR2(20);
77 L_MIDDLE_NAMES VARCHAR2(60);
78 L_LAST_NAME VARCHAR2(40);
79 L_NAME VARCHAR2(60);
80 BEGIN
81 IF PERSONAL_PAYMENT_METHOD_ID IS NULL THEN
82 RETURN LAST_NAME || ', ' || FIRST_NAME || ' ' || INITIALS(MIDDLE_NAMES);
83 ELSE
84 OPEN PAYMENT_METHOD;
85 FETCH PAYMENT_METHOD
86 INTO L_PAYEE_ID,L_PAYEE_TYPE;
87 CLOSE PAYMENT_METHOD;
88 IF L_PAYEE_ID IS NULL THEN
89 RETURN LAST_NAME || ', ' || FIRST_NAME || ' ' || INITIALS(MIDDLE_NAMES);
90 ELSE
91 IF L_PAYEE_TYPE = 'P' THEN
92 OPEN PERSON(L_PAYEE_ID);
93 FETCH PERSON
94 INTO L_FIRST_NAME,L_MIDDLE_NAMES,L_LAST_NAME;
95 CLOSE PERSON;
96 RETURN L_LAST_NAME || ', ' || L_FIRST_NAME || ' ' || INITIALS(L_MIDDLE_NAMES);
97 END IF;
98 IF L_PAYEE_TYPE = 'O' THEN
99 OPEN ORGANIZATION(L_PAYEE_ID);
100 FETCH ORGANIZATION
101 INTO L_NAME;
102 CLOSE ORGANIZATION;
103 RETURN L_NAME;
104 END IF;
105 END IF;
106 END IF;
107 RETURN NULL;
108 EXCEPTION
109 WHEN NO_DATA_FOUND THEN
110 RETURN LAST_NAME || ', ' || FIRST_NAME || ' ' || INITIALS(MIDDLE_NAMES);
111 END PAYEEFORMULA;
112
113 FUNCTION BEFOREPFORM RETURN BOOLEAN IS
114 BEGIN
115 IF P_SORT_ORDER_T IS NULL THEN
116 P_SORT_ORDER_T := '1';
117 END IF;
118 P_SORT_ORDER_T := 'order by ' || P_SORT_ORDER_T;
119 IF P_SORT_ORDER_T = 'order by 1' THEN
120 P_SORT_ORDER_T := 'order by upper(ppf.payroll_name), 6, 1';
121 END IF;
122 IF P_SORT_ORDER_T = 'order by 2' THEN
123 P_SORT_ORDER_T := 'order by upper(ppf.payroll_name), 6, upper(per.last_name), upper(per.first_name), upper(per.middle_names), lpad(upper(per.employee_number), 30, ''0''), lpad(upper(paf.assignment_number), 30, ''0'')';
124 END IF;
125 IF P_SORT_ORDER_T = 'order by 3' THEN
126 P_SORT_ORDER_T := 'order by upper(ppf.payroll_name), 6, lpad(upper(per.employee_number), 30, ''0''), lpad(upper(paf.assignment_number), 30, ''0'')';
127 END IF;
128 RETURN (TRUE);
129 END BEFOREPFORM;
130
131 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
132 temp boolean;
133 BEGIN
134 P_SORT_ORDER_T := P_SORT_ORDER;
135 temp := BEFOREPFORM();
136 --HR_STANDARD.EVENT('BEFORE REPORT');
137 RETURN (TRUE);
138 END BEFOREREPORT;
139
140 FUNCTION AFTERREPORT RETURN BOOLEAN IS
141 BEGIN
142 --HR_STANDARD.EVENT('AFTER REPORT');
143 RETURN (TRUE);
144 END AFTERREPORT;
145
146 END PAY_PAYIECHL_XMLP_PKG;