DBA Data[Home] [Help]

PACKAGE BODY: APPS.PSP_PSPENCDU_XMLP_PKG

Source


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