DBA Data[Home] [Help]

PACKAGE BODY: APPS.SSP_SSPRPSPB_XMLP_PKG

Source


1 PACKAGE BODY SSP_SSPRPSPB_XMLP_PKG AS
2 /* $Header: SSPRPSPBB.pls 120.3 2010/12/24 14:54:19 pprvenka ship $ */
3 
4   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
5   BEGIN
6     DECLARE
7       L_TEST NUMBER;
8     BEGIN
9       P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
10       AA_P_DATE_FROM:=to_char(P_DATE_FROM,'DD-MON-YYYY');
11       AA_P_DATE_TO:=to_char(P_DATE_TO,'DD-MON-YYYY');
12       /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
13       INSERT INTO FND_SESSIONS
14         (SESSION_ID
15         ,EFFECTIVE_DATE)
16         SELECT
17           USERENV('sessionid'),
18           TRUNC(SYSDATE)
19         FROM
20           SYS.DUAL
21         WHERE not exists (
22           SELECT
23             1
24           FROM
25             FND_SESSIONS FS
26           WHERE FS.SESSION_ID = USERENV('sessionid') );
27       C_BUSINESS_GROUP_NAME := HR_REPORTS.GET_BUSINESS_GROUP(P_BUSINESS_GROUP_ID);
28       IF P_PAYROLL_ID IS NOT NULL THEN
29         SELECT
30           DISTINCT
31           PAYROLL_NAME
32         INTO C_PAYROLL_NAME
33         FROM
34           PAY_PAYROLLS
35         WHERE BUSINESS_GROUP_ID = P_BUSINESS_GROUP_ID
36           AND PAYROLL_ID = P_PAYROLL_ID;
37       END IF;
38       IF P_PERSON_ID IS NOT NULL THEN
39         SELECT
40           DISTINCT
41           SUBSTR(FULL_NAME
42                 ,1
43                 ,80)
44         INTO C_PERSON_NAME
45         FROM
46           PER_PEOPLE_F PPF
47         WHERE PERSON_ID = P_PERSON_ID
48           AND BUSINESS_GROUP_ID = P_BUSINESS_GROUP_ID
49           AND ( ( P_SESSION_DATE between PPF.EFFECTIVE_START_DATE
50           AND PPF.EFFECTIVE_END_DATE )
51         OR ( P_SESSION_DATE > PPF.EFFECTIVE_END_DATE
52           AND PPF.EFFECTIVE_END_DATE = (
53           SELECT
54             MAX(P1.EFFECTIVE_END_DATE)
55           FROM
56             PER_ALL_PEOPLE_F P1
57           WHERE P1.PERSON_ID = PPF.PERSON_ID ) )
58         OR ( P_SESSION_DATE < PPF.EFFECTIVE_START_DATE
59           AND PPF.EFFECTIVE_START_DATE = PPF.START_DATE ) );
60       END IF;
61       FND_DATE.INITIALIZE('YYYY/MM/DD'
62                          ,NULL);
63 
64 if P_SPP_TYPE = 'O' then
65 	C_ELEMENT_NAME := 'Statutory Paternity Pay Birth';
66 	C_LEAVE_TYPE :='PB';
67         C_VIEW_NAME := 'ssp_sppa_entries_v';
68   C_REPORT_TITLE := 'Ordinary Statutory Paternity Birth Pay Report';
69   elsif P_SPP_TYPE = 'A' then
70 	C_ELEMENT_NAME :='Additional Statutory Paternity Pay Birth';
71 	C_LEAVE_TYPE :='AB';
72 	C_VIEW_NAME := 'ssp_asppa_entries_v';
73   C_REPORT_TITLE := 'Additional Statutory Paternity Birth Pay Report';
74   end if;
75 
76     EXCEPTION
77       WHEN NO_DATA_FOUND THEN
78         NULL;
79     END;
80     RETURN (TRUE);
81   END BEFOREREPORT;
82 
83   FUNCTION C_SPPBFORMULA(M_DUE_DATE IN DATE
84                         ,M_PERSON_ID IN NUMBER) RETURN VARCHAR2 IS
85   BEGIN
86     DECLARE
87       EWC DATE;
88       QW DATE;
89       DUE_DATE DATE;
90       AVG_EARNINGS NUMBER(10,2);
91     BEGIN
92       DUE_DATE := M_DUE_DATE;
93       EWC := SSP_PAB_PKG.EXPECTED_WEEK_OF_CONFINEMENT(DUE_DATE);
94       QW := SSP_PAB_PKG.QUALIFYING_WEEK(DUE_DATE);
95       C_EWC := EWC;
96       C_WQ := QW;
97       SELECT
98         AVERAGE_EARNINGS_AMOUNT
99       INTO AVG_EARNINGS
100       FROM
101         SSP_EARNINGS_CALCULATIONS
102       WHERE EFFECTIVE_DATE = QW
103         AND PERSON_ID = M_PERSON_ID;
104       C_AVG_EARNINGS := AVG_EARNINGS;
105       RETURN NULL;
106     EXCEPTION
107       WHEN OTHERS THEN
108         NULL;
109     END;
110     RETURN NULL;
111   END C_SPPBFORMULA;
112 
113   FUNCTION C_PROCESSEDFORMULA(E_ELEMENT_ENTRY_ID IN NUMBER) RETURN VARCHAR2 IS
114   BEGIN
115     BEGIN
116       IF SSP_SMP_SUPPORT_PKG.ENTRY_ALREADY_PROCESSED(E_ELEMENT_ENTRY_ID) THEN
117         RETURN ('Yes');
118       ELSE
119         RETURN (NULL);
120       END IF;
121     END;
122     RETURN NULL;
123   END C_PROCESSEDFORMULA;
124 
125   FUNCTION C_AMOUNT_PROCESSEDFORMULA(C_PROCESSED IN VARCHAR2
126                                     ,E_AMOUNT IN NUMBER) RETURN NUMBER IS
127   BEGIN
128     BEGIN
129       IF C_PROCESSED = 'Yes' THEN
130         RETURN (E_AMOUNT);
131       ELSE
132         RETURN (0);
133       END IF;
134     END;
135     RETURN NULL;
136   END C_AMOUNT_PROCESSEDFORMULA;
137 
138   FUNCTION C_RECOVERABLE_PROCESSEDFORMULA(C_PROCESSED IN VARCHAR2
139                                          ,E_RECOVERABLE IN NUMBER) RETURN NUMBER IS
140   BEGIN
141     BEGIN
142       IF C_PROCESSED = 'Yes' THEN
143         RETURN (E_RECOVERABLE);
144       ELSE
145         RETURN (0);
146       END IF;
147     END;
148     RETURN NULL;
149   END C_RECOVERABLE_PROCESSEDFORMULA;
150 
151   FUNCTION AFTERREPORT RETURN BOOLEAN IS
152   BEGIN
153     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
154     RETURN (TRUE);
155   END AFTERREPORT;
156 
157   FUNCTION C_EWC_P RETURN DATE IS
158   BEGIN
159     RETURN C_EWC;
160   END C_EWC_P;
161 
162   FUNCTION C_WQ_P RETURN DATE IS
163   BEGIN
164     RETURN C_WQ;
165   END C_WQ_P;
166 
167   FUNCTION C_AVG_EARNINGS_P RETURN NUMBER IS
168   BEGIN
169     RETURN C_AVG_EARNINGS;
170   END C_AVG_EARNINGS_P;
171 
172   FUNCTION C_BUSINESS_GROUP_NAME_P RETURN VARCHAR2 IS
173   BEGIN
174     RETURN C_BUSINESS_GROUP_NAME;
175   END C_BUSINESS_GROUP_NAME_P;
176 
177   FUNCTION C_REPORT_SUBTITLE_P RETURN VARCHAR2 IS
178   BEGIN
179     RETURN C_REPORT_SUBTITLE;
180   END C_REPORT_SUBTITLE_P;
181 
182   FUNCTION C_PAYROLL_NAME_P RETURN VARCHAR2 IS
183   BEGIN
184     RETURN C_PAYROLL_NAME;
185   END C_PAYROLL_NAME_P;
186 
187   FUNCTION C_PERSON_NAME_P RETURN VARCHAR2 IS
188   BEGIN
189     RETURN C_PERSON_NAME;
190   END C_PERSON_NAME_P;
191 
192 END SSP_SSPRPSPB_XMLP_PKG;