DBA Data[Home] [Help]

PACKAGE BODY: APPS.PSP_PSPENCSC_XMLP_PKG

Source


1 PACKAGE BODY PSP_PSPENCSC_XMLP_PKG AS
2 /* $Header: PSPENCSCB.pls 120.3.12020000.2 2013/04/05 07:19:13 lkodaman ship $ */
3   FUNCTION SUSP_ORGANIZATIONFORMULA(SUSPENSE_ORG_ACCOUNT_ID IN NUMBER) RETURN VARCHAR2 IS
4     V_NAME HR_ALL_ORGANIZATION_UNITS_TL.NAME%TYPE;
5   BEGIN
6     SELECT
7       NAME
8     INTO V_NAME
9     FROM
10       HR_ORGANIZATION_UNITS
11     WHERE ORGANIZATION_ID = (
12       SELECT
13         ORGANIZATION_ID
14       FROM
15         PSP_ORGANIZATION_ACCOUNTS
16       WHERE ORGANIZATION_ACCOUNT_ID = SUSPENSE_ORG_ACCOUNT_ID );
17     RETURN (V_NAME);
18     RETURN NULL;
19   EXCEPTION
20     WHEN NO_DATA_FOUND THEN
21       RETURN ('no_data_found');
22     WHEN TOO_MANY_ROWS THEN
23       RETURN ('too many rows');
24     WHEN OTHERS THEN
25       RETURN ('error');
26   END SUSP_ORGANIZATIONFORMULA;
27 
28   FUNCTION CF_TASK_NAMEFORMULA(TASK_ID1 IN NUMBER
29                               ,PROJECT_ID1 IN NUMBER) RETURN VARCHAR2 IS
30     V_TASK_NUMBER VARCHAR2(300);   -- Bug : 16591849
31   BEGIN
32     IF TASK_ID1 IS NOT NULL THEN
33       SELECT
34         TASK_NUMBER
35       INTO V_TASK_NUMBER
36       FROM
37         PA_TASKS_EXPEND_V
38       WHERE PROJECT_ID = PROJECT_ID1
39         AND TASK_ID = TASK_ID1;
40       RETURN (V_TASK_NUMBER);
41     END IF;
42     RETURN NULL;
43   EXCEPTION
44     WHEN NO_DATA_FOUND THEN
45       RETURN ('no_data_found');
46     WHEN TOO_MANY_ROWS THEN
47       RETURN ('too many rows');
48     WHEN OTHERS THEN
49       RETURN ('error');
50   END CF_TASK_NAMEFORMULA;
51 
52   FUNCTION CF_AWARD_NUMBERFORMULA(AWARD_ID1 IN NUMBER) RETURN VARCHAR2 IS
53     V_AWARD_NUMBER VARCHAR2(30);
54   BEGIN
55     IF AWARD_ID1 IS NOT NULL THEN
56       SELECT
57         DISTINCT
58         AWARD_NUMBER
59       INTO V_AWARD_NUMBER
60       FROM
61         GMS_AWARDS_BASIC_V
62       WHERE AWARD_ID = AWARD_ID1;
63       RETURN (V_AWARD_NUMBER);
64     END IF;
65     RETURN NULL;
66   EXCEPTION
67     WHEN NO_DATA_FOUND THEN
68       RETURN ('no_data_found');
69     WHEN TOO_MANY_ROWS THEN
70       RETURN ('too many rows');
71     WHEN OTHERS THEN
72       RETURN ('error');
73   END CF_AWARD_NUMBERFORMULA;
74 
75   FUNCTION CF_PROJECT_NUMBERFORMULA(PROJECT_ID1 IN NUMBER) RETURN VARCHAR2 IS
76     V_PROJECT_NUMBER VARCHAR2(30);
77   BEGIN
78     IF PROJECT_ID1 IS NOT NULL THEN
79       SELECT
80         PROJECT_NUMBER
81       INTO V_PROJECT_NUMBER
82       FROM
83         GMS_PROJECTS_EXPEND_V
84       WHERE PROJECT_ID = PROJECT_ID1;
85       RETURN (V_PROJECT_NUMBER);
86     END IF;
87     RETURN NULL;
88   EXCEPTION
89     WHEN NO_DATA_FOUND THEN
90       RETURN ('no_data_found');
91     WHEN TOO_MANY_ROWS THEN
92       RETURN ('too many rows');
93     WHEN OTHERS THEN
94       RETURN ('error');
95   END CF_PROJECT_NUMBERFORMULA;
96 
97   FUNCTION CF_ORG_NAMEFORMULA(EXPENDITURE_ORGANIZATION_ID IN NUMBER) RETURN VARCHAR2 IS
98     V_ORG_NAME HR_ALL_ORGANIZATION_UNITS_TL.NAME%TYPE;
99   BEGIN
100     IF EXPENDITURE_ORGANIZATION_ID IS NOT NULL THEN
101       SELECT
102         NAME
103       INTO V_ORG_NAME
104       FROM
105         PA_ORGANIZATIONS_EXPEND_V
106       WHERE ORGANIZATION_ID = EXPENDITURE_ORGANIZATION_ID
107         AND ACTIVE_FLAG = 'Y';
108       RETURN (V_ORG_NAME);
109     END IF;
110     RETURN NULL;
111   EXCEPTION
112     WHEN NO_DATA_FOUND THEN
113       RETURN ('no_data_found');
114     WHEN TOO_MANY_ROWS THEN
115       RETURN ('too many rows');
116     WHEN OTHERS THEN
117       RETURN ('error');
118   END CF_ORG_NAMEFORMULA;
119 
120   FUNCTION CF_GL_DESCFORMULA(GL_CODE_COMBINATION_ID IN NUMBER) RETURN VARCHAR2 IS
121     V_GL_CODE VARCHAR2(255);
122     V_SOB NUMBER := PSP_GENERAL.GET_SPECIFIC_PROFILE('GL_SET_OF_BKS_ID');
123   BEGIN
124     IF GL_CODE_COMBINATION_ID IS NOT NULL THEN
125       V_GL_CODE := PSP_GENERAL.GET_GL_DESCRIPTION(V_SOB
126                                                  ,GL_CODE_COMBINATION_ID);
127       RETURN (V_GL_CODE);
128     END IF;
129     RETURN NULL;
130   EXCEPTION
131     WHEN NO_DATA_FOUND THEN
132       RETURN ('no_data_found');
133     WHEN TOO_MANY_ROWS THEN
134       RETURN ('too many rows');
135     WHEN OTHERS THEN
136       RETURN ('error');
137   END CF_GL_DESCFORMULA;
138 
139   FUNCTION CF_EMPLOYEE_NUMBERFORMULA(PERSON_ID1 IN NUMBER) RETURN VARCHAR2 IS
140     V_EMPLOYEE_NUMBER VARCHAR2(30);
141   BEGIN
142     SELECT
143       PAF1.EMPLOYEE_NUMBER
144     INTO V_EMPLOYEE_NUMBER
145     FROM
146       PER_ALL_PEOPLE_F PAF1
147     WHERE PERSON_ID = PERSON_ID1
148       AND EFFECTIVE_START_DATE = (
149       SELECT
150         MIN(EFFECTIVE_START_DATE)
151       FROM
152         PER_ALL_PEOPLE_F PAF2
153       WHERE PAF1.PERSON_ID = PAF2.PERSON_ID
154         AND PAF2.CURRENT_EMPLOYEE_FLAG = 'Y' );
155     RETURN (V_EMPLOYEE_NUMBER);
156   EXCEPTION
157     WHEN NO_DATA_FOUND THEN
158       RETURN ('no_data_found');
159     WHEN TOO_MANY_ROWS THEN
160       RETURN ('too many rows');
161     WHEN OTHERS THEN
162       RETURN ('error');
163   END CF_EMPLOYEE_NUMBERFORMULA;
164 
165   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
166   BEGIN
167    -- HR_STANDARD.EVENT('BEFORE REPORT');
168    CP_BEGIN_DATE := TO_CHAR(P_BEGIN_DATE,'DD-MON-YYYY');
169    CP_END_DATE := TO_CHAR(P_END_DATE,'DD-MON-YYYY');
170     RETURN (TRUE);
171   END BEFOREREPORT;
172 
173   FUNCTION P_ORGANIZATIONSVALIDTRIGGER RETURN BOOLEAN IS
174   BEGIN
175     RETURN (TRUE);
176   END P_ORGANIZATIONSVALIDTRIGGER;
177 
178   FUNCTION CF_ORG_TOTAL_DSPFORMULA(CS_ORG_TOTAL IN NUMBER
179                                   ,CF_CURRENCY_FORMAT IN VARCHAR2) RETURN CHAR IS
180   BEGIN
181     /*SRW.REFERENCE(CS_ORG_TOTAL)*/NULL;
182     /*SRW.REFERENCE(CF_CURRENCY_FORMAT)*/NULL;
183     RETURN (TO_CHAR(CS_ORG_TOTAL
184                   ,CF_CURRENCY_FORMAT));
185   END CF_ORG_TOTAL_DSPFORMULA;
186 
187   FUNCTION CF_EMP_TOTAL_DSPFORMULA(CS_EMP_TOTAL IN NUMBER
188                                   ,CF_CURRENCY_FORMAT IN VARCHAR2) RETURN CHAR IS
189   BEGIN
190     /*SRW.REFERENCE(CS_EMP_TOTAL)*/NULL;
191     /*SRW.REFERENCE(CF_CURRENCY_FORMAT)*/NULL;
192     RETURN (TO_CHAR(CS_EMP_TOTAL
193                   ,CF_CURRENCY_FORMAT));
194   END CF_EMP_TOTAL_DSPFORMULA;
195 
196   FUNCTION CF_ENC_AMOUNT_DSPFORMULA(CS_ENC_AMOUNT IN NUMBER
197                                    ,CF_CURRENCY_FORMAT IN VARCHAR2) RETURN CHAR IS
198   BEGIN
199     /*SRW.REFERENCE(CS_ENC_AMOUNT)*/NULL;
200     /*SRW.REFERENCE(CF_CURRENCY_FORMAT)*/NULL;
201     RETURN (TO_CHAR(CS_ENC_AMOUNT
202                   ,CF_CURRENCY_FORMAT));
203   END CF_ENC_AMOUNT_DSPFORMULA;
204 
205   FUNCTION AFTERREPORT RETURN BOOLEAN IS
206   BEGIN
207    -- HR_STANDARD.EVENT('AFTER REPORT');
208     RETURN (TRUE);
209   END AFTERREPORT;
210 
211   FUNCTION CF_SUSPENSE_ORG_ACCOUNTFORMULA(GL_CODE_COMBINATION_ID IN NUMBER
212                                          ,CF_PROJECT_NUMBER IN VARCHAR2
213                                          ,CF_AWARD_NUMBER IN VARCHAR2
214                                          ,CF_TASK_NUMBER IN VARCHAR2
215                                          ,CF_ORG_NAME IN VARCHAR2
216                                          ,EXPENDITURE_TYPE IN VARCHAR2) RETURN CHAR IS
217     L_SUSPENSE_ORG_ACCOUNT VARCHAR2(2000);
218     V_SOB NUMBER := PSP_GENERAL.GET_SPECIFIC_PROFILE('GL_SET_OF_BKS_ID');
219     V_RETCODE NUMBER;
220     L_CHART_OF_ACCTS VARCHAR2(20);
221   BEGIN
222     IF GL_CODE_COMBINATION_ID IS NOT NULL THEN
223       V_RETCODE := PSP_GENERAL.FIND_CHART_OF_ACCTS(V_SOB
224                                                   ,L_CHART_OF_ACCTS);
225       L_SUSPENSE_ORG_ACCOUNT := FND_FLEX_EXT.GET_SEGS(APPLICATION_SHORT_NAME => 'SQLGL'
226                                                      ,KEY_FLEX_CODE => 'GL#'
227                                                      ,STRUCTURE_NUMBER => TO_NUMBER(L_CHART_OF_ACCTS)
228                                                      ,COMBINATION_ID => GL_CODE_COMBINATION_ID);
229     ELSE
230       L_SUSPENSE_ORG_ACCOUNT := CF_PROJECT_NUMBER || ' ' || CF_AWARD_NUMBER || ' ' || CF_TASK_NUMBER || ' ' || CF_ORG_NAME || ' ' || EXPENDITURE_TYPE;
231     END IF;
232     RETURN (L_SUSPENSE_ORG_ACCOUNT);
233   END CF_SUSPENSE_ORG_ACCOUNTFORMULA;
234 
235   FUNCTION AFTERPFORM RETURN BOOLEAN IS
236     CURSOR C1(P_LOOKUP_CODE IN VARCHAR2,L_TEMPLATE_ID IN NUMBER) IS
237       SELECT
238         COUNT(1)
239       FROM
240         PSP_REPORT_TEMPLATE_DETAILS
241       WHERE TEMPLATE_ID = L_TEMPLATE_ID
242         AND CRITERIA_LOOKUP_TYPE = 'PSP_SELECTION_CRITERIA'
243         AND CRITERIA_LOOKUP_CODE = P_LOOKUP_CODE;
244     L_NUM NUMBER;
245     L_NUM1 NUMBER;
246     L_NUM2 NUMBER;
247   BEGIN
248     IF P_ORG_TEMPLATE_ID IS NULL THEN
249       P_ORGANIZATIONS := ' and 1 = 1 ';
250     ELSE
251       OPEN C1('ORG',P_ORG_TEMPLATE_ID);
252       FETCH C1
253        INTO L_NUM;
254       CLOSE C1;
255       IF L_NUM <> 0 THEN
256         P_ORGANIZATIONS := ' and b.organization_id  IN (select criteria_value1 from psp_report_template_details
257                                   where template_id = ' || P_ORG_TEMPLATE_ID || '
258                                   and   criteria_lookup_type = ''PSP_SELECTION_CRITERIA''
259                                   and   criteria_lookup_code = ''ORG'' ' || ' ) ';
260       ELSE
261         P_ORGANIZATIONS := ' and 1 = 1 ';
262       END IF;
263     END IF;
264     IF P_PAY_TEMPLATE_ID IS NULL THEN
265       P_PAYROLL_ID := ' and 1 = 1 ';
266     ELSE
267       OPEN C1('PAY',P_PAY_TEMPLATE_ID);
268       FETCH C1
269        INTO L_NUM2;
270       CLOSE C1;
271       IF L_NUM2 <> 0 THEN
272         P_PAYROLL_ID := ' and a.payroll_id IN (select criteria_value1 from psp_report_template_details
273                                 where template_id = ' || P_PAY_TEMPLATE_ID || '
274                                 and   criteria_lookup_type = ''PSP_SELECTION_CRITERIA''
275                                 and   criteria_lookup_code = ''PAY'' ' || ' ) ';
276       ELSE
277         P_PAYROLL_ID := ' and 1 = 1 ';
278       END IF;
279     END IF;
280     RETURN (TRUE);
281   END AFTERPFORM;
282 
283   FUNCTION CF_CHARGING_INSTRUCTIONSFORMUL RETURN VARCHAR2 IS
284     L_SUSPENSE_ORG_ACCOUNT VARCHAR2(2000);
285   BEGIN
286     RETURN (NULL);
287   END CF_CHARGING_INSTRUCTIONSFORMUL;
288 
289   FUNCTION CF_PAY_TOTALFORMULA(CS_PAY_TOTAL IN NUMBER
290                               ,CF_CURRENCY_FORMAT IN VARCHAR2) RETURN CHAR IS
291   BEGIN
292     /*SRW.REFERENCE(CS_PAY_TOTAL)*/NULL;
293     /*SRW.REFERENCE(CF_CURRENCY_FORMAT)*/NULL;
294     RETURN (TO_CHAR(CS_PAY_TOTAL
295                   ,CF_CURRENCY_FORMAT));
296   END CF_PAY_TOTALFORMULA;
297 
298   FUNCTION CF_CURRENCY_FORMATFORMULA(CURRENCY_CODE IN VARCHAR2) RETURN CHAR IS
299   BEGIN
300     /*SRW.REFERENCE(CURRENCY_CODE)*/NULL;
301     RETURN (FND_CURRENCY.GET_FORMAT_MASK(CURRENCY_CODE
302                                        ,30));
303   END CF_CURRENCY_FORMATFORMULA;
304 
305   FUNCTION CF_CURRENCY_TOTAL_DSPFORMULA(CS_CURRENCY_TOTAL IN NUMBER
306                                        ,CF_CURRENCY_FORMAT IN VARCHAR2) RETURN CHAR IS
307   BEGIN
308     /*SRW.REFERENCE(CS_CURRENCY_TOTAL)*/NULL;
309     /*SRW.REFERENCE(CF_CURRENCY_FORMAT)*/NULL;
310     RETURN (TO_CHAR(CS_CURRENCY_TOTAL
311                   ,CF_CURRENCY_FORMAT));
312   END CF_CURRENCY_TOTAL_DSPFORMULA;
313 
314 END PSP_PSPENCSC_XMLP_PKG;