DBA Data[Home] [Help]

PACKAGE BODY: APPS.PSP_PSPLSODR_XMLP_PKG

Source


1 PACKAGE BODY PSP_PSPLSODR_XMLP_PKG AS
2 /* $Header: PSPLSODRB.pls 120.5.12020000.4 2013/03/27 00:52:01 lkodaman ship $ */
3   FUNCTION CF_GL_DESCFORMULA(GL_CODE_COMBINATION_ID IN NUMBER) RETURN CHAR IS
4     L_GL_CODE VARCHAR2(1000);
5     L_SOB NUMBER(30) := PSP_GENERAL.GET_SPECIFIC_PROFILE('GL_SET_OF_BKS_ID');
6   BEGIN
7     IF GL_CODE_COMBINATION_ID IS NOT NULL THEN
8       L_GL_CODE := PSP_GENERAL.GET_GL_VALUES(L_SOB
9                                             ,GL_CODE_COMBINATION_ID);
10       RETURN L_GL_CODE;
11     END IF;
12     RETURN NULL;
13   EXCEPTION
14     WHEN OTHERS THEN
15       RETURN 'Invalid GL Code Combination';
16   END CF_GL_DESCFORMULA;
17 
18   FUNCTION CF_TASK_NAMEFORMULA(PROJECT_ID_1 IN NUMBER
19                               ,TASK_ID_1 IN NUMBER) RETURN CHAR IS
20     CURSOR TASK_ID_CUR IS
21       SELECT
22         TASK_NUMBER
23       FROM
24         PA_TASKS_EXPEND_V  	-- Bug : 16391366  (20/03/2013)
25       WHERE PROJECT_ID = PROJECT_ID_1
26         AND TASK_ID = TASK_ID_1;
27     L_TASK_NUMBER VARCHAR2(300);			--  Bug : 16391366  (27/03/2013)
28   BEGIN
29     IF TASK_ID_1 IS NOT NULL THEN
30       OPEN TASK_ID_CUR;
31       FETCH TASK_ID_CUR
32        INTO L_TASK_NUMBER;
33       RETURN L_TASK_NUMBER;
34       CLOSE TASK_ID_CUR;
35     END IF;
36     RETURN NULL;
37   EXCEPTION
38     WHEN OTHERS THEN
39       RETURN 'Invalid Task Number';
40   END CF_TASK_NAMEFORMULA;
41 
42   FUNCTION CF_AWARD_NUMBERFORMULA(AWARD_ID_1 IN NUMBER) RETURN CHAR IS
43     CURSOR AWARD_NUMBER_CUR IS
44       SELECT
45         AWARD_NUMBER
46       FROM
47         GMS_AWARDS_ALL
48       WHERE AWARD_ID = AWARD_ID_1;
49     L_AWARD_NUMBER VARCHAR2(20);
50   BEGIN
51     IF AWARD_ID_1 IS NOT NULL THEN
52       OPEN AWARD_NUMBER_CUR;
53       FETCH AWARD_NUMBER_CUR
54        INTO L_AWARD_NUMBER;
55       IF L_AWARD_NUMBER IS NULL THEN
56         BEGIN
57           SELECT
58             DEFAULT_DIST_AWARD_NUMBER
59           INTO L_AWARD_NUMBER
60           FROM
61             GMS_IMPLEMENTATIONS
62           WHERE DEFAULT_DIST_AWARD_ID = AWARD_ID_1
63             AND AWARD_DISTRIBUTION_OPTION = 'Y';
64         EXCEPTION
65           WHEN NO_DATA_FOUND THEN
66             NULL;
67         END;
68       END IF;
69       RETURN L_AWARD_NUMBER;
70     END IF;
71     RETURN NULL;
72   EXCEPTION
73     WHEN OTHERS THEN
74       RETURN 'Invalid Award Number';
75   END CF_AWARD_NUMBERFORMULA;
76 
77   FUNCTION CF_PROJECT_NUMBERFORMULA(PROJECT_ID_1 IN NUMBER) RETURN CHAR IS
78     CURSOR PROJECT_NUMBER_CUR IS
79       SELECT
80         SEGMENT1
81       FROM
82         PA_PROJECTS_ALL
83       WHERE PROJECT_ID = PROJECT_ID_1;
84     L_PROJECT_NUMBER VARCHAR2(30);
85   BEGIN
86     IF PROJECT_ID_1 IS NOT NULL THEN
87       OPEN PROJECT_NUMBER_CUR;
88       FETCH PROJECT_NUMBER_CUR
89        INTO L_PROJECT_NUMBER;
90       RETURN L_PROJECT_NUMBER;
91     END IF;
92     RETURN NULL;
93   EXCEPTION
94     WHEN OTHERS THEN
95       RETURN 'Invalid Project Number';
96   END CF_PROJECT_NUMBERFORMULA;
97 
98   FUNCTION CF_ORG_NAMEFORMULA(EXPENDITURE_ORGANIZATION_ID IN NUMBER) RETURN CHAR IS
99     CURSOR ORG_NAME_CUR IS
100       SELECT
101         NAME
102       FROM
103         HR_ORGANIZATION_UNITS
104       WHERE ORGANIZATION_ID = EXPENDITURE_ORGANIZATION_ID;
105     L_ORG_NAME HR_ALL_ORGANIZATION_UNITS_TL.NAME%TYPE;
106   BEGIN
107     IF EXPENDITURE_ORGANIZATION_ID IS NOT NULL THEN
108       OPEN ORG_NAME_CUR;
109       FETCH ORG_NAME_CUR
110        INTO L_ORG_NAME;
111       RETURN L_ORG_NAME;
112     END IF;
113     RETURN NULL;
114   EXCEPTION
115     WHEN OTHERS THEN
116       RETURN 'Invalid Expenditure Organization';
117   END CF_ORG_NAMEFORMULA;
118 
119   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
120     P_RETURN_STATUS NUMBER;
121     P_LOG_MESSAGE VARCHAR2(100);
122     L_ORGANIZATION_ID VARCHAR2(2000);
123     L_BEGIN_POSITION NUMBER;
124     L_END_POSITION NUMBER;
125     CURSOR C_ORG_COUNT IS
126       SELECT
127         COUNT(1)
128       FROM
129         PSP_REPORT_TEMPLATE_DETAILS
130       WHERE TEMPLATE_ID = P_ORG_TEMPLATE_ID
131         AND CRITERIA_LOOKUP_TYPE = 'PSP_SELECTION_CRITERIA'
132         AND CRITERIA_LOOKUP_CODE = 'ORG';
133     CURSOR C_ORG_CURSOR IS
134       SELECT
135         CRITERIA_VALUE1
136       FROM
137         PSP_REPORT_TEMPLATE_DETAILS
138       WHERE TEMPLATE_ID = P_ORG_TEMPLATE_ID
139         AND CRITERIA_LOOKUP_TYPE = 'PSP_SELECTION_CRITERIA'
140         AND CRITERIA_LOOKUP_CODE = 'ORG';
141     L_NUM NUMBER;
142   BEGIN
143     IF P_ORG_TEMPLATE_ID IS NULL THEN
144       L_ORGANIZATION_ID := NULL;
145     ELSE
146       OPEN C_ORG_COUNT;
147       FETCH C_ORG_COUNT
148        INTO L_NUM;
149       CLOSE C_ORG_COUNT;
150       IF L_NUM <> 0 THEN
151         FOR l_org_rec IN C_ORG_CURSOR LOOP
152           IF ((L_NUM - C_ORG_CURSOR%ROWCOUNT) = 0) THEN
153             L_ORGANIZATION_ID := L_ORGANIZATION_ID || L_ORG_REC.CRITERIA_VALUE1;
154           ELSE
155             L_ORGANIZATION_ID := L_ORGANIZATION_ID || L_ORG_REC.CRITERIA_VALUE1 || ',';
156           END IF;
157         END LOOP;
158       ELSE
159         L_ORGANIZATION_ID := NULL;
160       END IF;
161     END IF;
162     PSP_MATRIX_DRIVER_PKG.LOAD_ORG_SCHEDULE(P_RETURN_STATUS => P_RETURN_STATUS
163                                            ,P_LOG_MESSAGE => P_LOG_MESSAGE
164                                            ,P_LIST_ORGANIZATION_ID => L_ORGANIZATION_ID
165                                            ,P_PERIOD_FROM => P_BEGIN_DATE
166                                            ,P_PERIOD_TO => P_END_DATE
167                                            ,P_REPORT_TYPE => P_REPORT_TYPE
168                                            ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
169                                            ,P_SET_OF_BOOKS_ID => P_SET_OF_BOOKS_ID);
170     P_RUN_ID := PSP_MATRIX_DRIVER_PKG.GET_RUN_ID;
171     IF P_RETURN_STATUS = 0 THEN
172      -- HR_STANDARD.EVENT('BEFORE REPORT');
173      null;
174       RETURN (TRUE);
175     ELSE
176       RETURN (FALSE);
177     END IF;
178   END BEFOREREPORT;
179 
180   FUNCTION AFTERREPORT RETURN BOOLEAN IS
181   BEGIN
182     P_RUN_ID := PSP_MATRIX_DRIVER_PKG.GET_RUN_ID;
183     DELETE FROM PSP_MATRIX_DRIVER
184      WHERE RUN_ID = P_RUN_ID;
185     --HR_STANDARD.EVENT('AFTER REPORT');
186     null;
187     RETURN (TRUE);
188   EXCEPTION
189     WHEN OTHERS THEN
190       NULL;
191   END AFTERREPORT;
192 
193   FUNCTION CF_ORG_SCHEDULE_IDFORMULA(ORG_SCHEDULE_ID IN NUMBER) RETURN NUMBER IS
194   BEGIN
195     RETURN (ORG_SCHEDULE_ID);
196   END CF_ORG_SCHEDULE_IDFORMULA;
197 
198   FUNCTION AFTERPFORM RETURN BOOLEAN IS
199     CURSOR C1(P_LOOKUP_CODE IN VARCHAR2,L_TEMPLATE_ID IN NUMBER) IS
200       SELECT
201         COUNT(1)
202       FROM
203         PSP_REPORT_TEMPLATE_DETAILS
204       WHERE TEMPLATE_ID = L_TEMPLATE_ID
205         AND CRITERIA_LOOKUP_TYPE = 'PSP_SELECTION_CRITERIA'
206         AND CRITERIA_LOOKUP_CODE = P_LOOKUP_CODE;
207     L_NUM NUMBER;
208     L_NUM1 NUMBER;
209   BEGIN
210     IF P_ORG_TEMPLATE_ID IS NULL THEN
211       P_ORGANIZATION_ID := '  1 = 1 ';
212     ELSE
213       OPEN C1('ORG',P_ORG_TEMPLATE_ID);
214       FETCH C1
215        INTO L_NUM;
216       CLOSE C1;
217       IF L_NUM <> 0 THEN
218         P_ORGANIZATION_ID := '  hou.organization_id  IN (select criteria_value1 from psp_report_template_details
219                                     where template_id = ' || P_ORG_TEMPLATE_ID || '
220                                     and   criteria_lookup_type = ''PSP_SELECTION_CRITERIA''
221                                     and   criteria_lookup_code = ''ORG'' ' || ' ) ';
222       ELSE
223         P_ORGANIZATION_ID := '  1 = 1 ';
224       END IF;
225     END IF;
226     RETURN (TRUE);
227   END AFTERPFORM;
228 
229   FUNCTION CF_DATE_FORMATFORMULA RETURN CHAR IS
230   BEGIN
231     RETURN (FND_PROFILE.VALUE('ICX_DATE_FORMAT_MASK'));
232   END CF_DATE_FORMATFORMULA;
233 
234   FUNCTION CF_SCH_BEGIN_DATE_DISPFORMULA(SCHEDULE_BEGIN_DATE IN DATE
235                                         ,CF_DATE_FORMAT IN VARCHAR2) RETURN CHAR IS
236   BEGIN
237     /*SRW.REFERENCE(SCHEDULE_BEGIN_DATE)*/NULL;
238     /*SRW.REFERENCE(CF_DATE_FORMAT)*/NULL;
239     RETURN (TO_CHAR(SCHEDULE_BEGIN_DATE
240                   ,CF_DATE_FORMAT));
241   END CF_SCH_BEGIN_DATE_DISPFORMULA;
242 
243   FUNCTION CF_SCH_END_DATE_DISPFORMULA(SCHEDULE_END_DATE IN DATE
244                                       ,CF_DATE_FORMAT IN VARCHAR2) RETURN CHAR IS
245   BEGIN
246     /*SRW.REFERENCE(SCHEDULE_END_DATE)*/NULL;
247     /*SRW.REFERENCE(CF_DATE_FORMAT)*/NULL;
248     RETURN (TO_CHAR(SCHEDULE_END_DATE
249                   ,CF_DATE_FORMAT));
250   END CF_SCH_END_DATE_DISPFORMULA;
251 
252   FUNCTION CF_REPORT_RUN_DATEFORMULA(CF_DATE_FORMAT IN VARCHAR2) RETURN CHAR IS
253   BEGIN
254     /*SRW.REFERENCE(SYSDATE)*/NULL;
255     /*SRW.REFERENCE(CF_DATE_FORMAT)*/NULL;
256     RETURN (TO_CHAR(SYSDATE
257                   ,CF_DATE_FORMAT));
258   END CF_REPORT_RUN_DATEFORMULA;
259 
260   FUNCTION CF_PERIOD_START_DATEFORMULA(PERIOD_START_DATE IN DATE
261                                       ,CF_DATE_FORMAT IN VARCHAR2) RETURN CHAR IS
262   BEGIN
263     /*SRW.REFERENCE(PERIOD_START_DATE)*/NULL;
264     /*SRW.REFERENCE(CF_DATE_FORMAT)*/NULL;
265     RETURN (TO_CHAR(PERIOD_START_DATE
266                   ,CF_DATE_FORMAT));
267   END CF_PERIOD_START_DATEFORMULA;
268 
269   FUNCTION CF_PERIOD_END_DATE_DISPFORMULA(PERIOD_END_DATE IN DATE
270                                          ,CF_DATE_FORMAT IN VARCHAR2) RETURN CHAR IS
271   BEGIN
272     /*SRW.REFERENCE(PERIOD_END_DATE)*/NULL;
273     /*SRW.REFERENCE(CF_DATE_FORMAT)*/NULL;
274     RETURN (TO_CHAR(PERIOD_END_DATE
275                   ,CF_DATE_FORMAT));
276   END CF_PERIOD_END_DATE_DISPFORMULA;
277 
278   FUNCTION CF_BEGIN_DATE_DISPFORMULA(CF_DATE_FORMAT IN VARCHAR2) RETURN CHAR IS
279   BEGIN
280     /*SRW.REFERENCE(P_BEGIN_DATE)*/NULL;
281     /*SRW.REFERENCE(CF_DATE_FORMAT)*/NULL;
282     RETURN (TO_CHAR(P_BEGIN_DATE
283                   ,CF_DATE_FORMAT));
284   END CF_BEGIN_DATE_DISPFORMULA;
285 
286   FUNCTION CF_END_DATE_DISPFORMULA(CF_DATE_FORMAT IN VARCHAR2) RETURN CHAR IS
287   BEGIN
288     /*SRW.REFERENCE(P_END_DATE)*/NULL;
289     /*SRW.REFERENCE(CF_DATE_FORMAT)*/NULL;
290     RETURN (TO_CHAR(P_END_DATE
291                   ,CF_DATE_FORMAT));
292   END CF_END_DATE_DISPFORMULA;
293 
294 END PSP_PSPLSODR_XMLP_PKG;