1 PACKAGE BODY PSP_PSPLDDFA_XMLP_PKG AS
2 /* $Header: PSPLDDFAB.pls 120.6 2007/10/29 07:23:44 amakrish noship $ */
3 FUNCTION BEFOREPFORM(ORIENTATION IN VARCHAR2) RETURN BOOLEAN IS
4 BEGIN
5 -- ORIENTATION := 'LANDSCAPE';
6 RETURN (TRUE);
7 END BEFOREPFORM;
8
9 FUNCTION P_TIME_PERIOD_STARTVALIDTRIGGE RETURN BOOLEAN IS
10 D_TIME_PERIOD_START DATE;
11 D_PRE_GEN_PERIOD_START DATE;
12 D_DIST_LINES_START DATE;
13 BEGIN
14 IF P_TIME_PERIOD_START IS NULL THEN
15 BEGIN
16 SELECT
17 MIN(DISTRIBUTION_DATE)
18 INTO D_PRE_GEN_PERIOD_START
19 FROM
20 PSP_PRE_GEN_DIST_LINES_HISTORY;
21 EXCEPTION
22 WHEN OTHERS THEN
23 D_PRE_GEN_PERIOD_START := NULL;
24 END;
25 BEGIN
26 SELECT
27 MIN(DISTRIBUTION_DATE)
28 INTO D_DIST_LINES_START
29 FROM
30 PSP_DISTRIBUTION_LINES_HISTORY;
31 EXCEPTION
32 WHEN OTHERS THEN
33 D_DIST_LINES_START := NULL;
34 END;
35 IF D_PRE_GEN_PERIOD_START IS NULL AND D_DIST_LINES_START IS NULL THEN
36 RETURN (FALSE);
37 ELSIF ((D_PRE_GEN_PERIOD_START IS NULL) OR (D_DIST_LINES_START <= D_PRE_GEN_PERIOD_START)) THEN
38 P_TIME_PERIOD_START := D_DIST_LINES_START;
39 RETURN (TRUE);
40 ELSIF ((D_DIST_LINES_START IS NULL) OR (D_PRE_GEN_PERIOD_START <= D_DIST_LINES_START)) THEN
41 P_TIME_PERIOD_START := D_PRE_GEN_PERIOD_START;
42 RETURN (TRUE);
43 END IF;
44 END IF;
45 RETURN (TRUE);
46 END P_TIME_PERIOD_STARTVALIDTRIGGE;
47
48 FUNCTION P_TIME_PERIOD_ENDVALIDTRIGGER RETURN BOOLEAN IS
49 D_TIME_PERIOD_END DATE;
50 D_PRE_GEN_PERIOD_END DATE;
51 D_DIST_LINES_END DATE;
52 BEGIN
53 IF P_TIME_PERIOD_END IS NULL THEN
54 BEGIN
55 SELECT
56 MAX(DISTRIBUTION_DATE)
57 INTO D_PRE_GEN_PERIOD_END
58 FROM
59 PSP_PRE_GEN_DIST_LINES_HISTORY;
60 EXCEPTION
61 WHEN OTHERS THEN
62 D_PRE_GEN_PERIOD_END := NULL;
63 END;
64 BEGIN
65 SELECT
66 MAX(DISTRIBUTION_DATE)
67 INTO D_DIST_LINES_END
68 FROM
69 PSP_DISTRIBUTION_LINES_HISTORY;
70 EXCEPTION
71 WHEN OTHERS THEN
72 D_DIST_LINES_END := NULL;
73 END;
74 IF D_PRE_GEN_PERIOD_END IS NULL AND D_DIST_LINES_END IS NULL THEN
75 RETURN (FALSE);
76 ELSIF ((D_PRE_GEN_PERIOD_END IS NULL) OR (D_DIST_LINES_END >= D_PRE_GEN_PERIOD_END)) THEN
77 P_TIME_PERIOD_END := D_DIST_LINES_END;
78 RETURN (TRUE);
79 ELSIF ((D_DIST_LINES_END IS NULL) OR (D_PRE_GEN_PERIOD_END >= D_DIST_LINES_END)) THEN
80 P_TIME_PERIOD_END := D_PRE_GEN_PERIOD_END;
81 RETURN (TRUE);
82 END IF;
83 END IF;
84 RETURN (TRUE);
85 END P_TIME_PERIOD_ENDVALIDTRIGGER;
86
87 FUNCTION CF_INSTITUTION_NAMEFORMULA RETURN VARCHAR2 IS
88 V_INSTITUTION_NAME HR_ALL_ORGANIZATION_UNITS_TL.NAME%TYPE;
89 V_INSTITUTION_ID VARCHAR2(30);
90 BEGIN
91 V_INSTITUTION_ID := VALUE('PSP_ORG_REPORT');
92 IF V_INSTITUTION_ID IS NULL THEN
93 RETURN NULL;
94 END IF;
95 SELECT
96 DISTINCT
97 NAME
98 INTO V_INSTITUTION_NAME
99 FROM
100 HR_ORGANIZATION_UNITS
101 WHERE ORGANIZATION_ID = TO_NUMBER(V_INSTITUTION_ID);
102 RETURN V_INSTITUTION_NAME;
103 RETURN NULL;
104 EXCEPTION
105 WHEN OTHERS THEN
106 RETURN NULL;
107 END CF_INSTITUTION_NAMEFORMULA;
108
109 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
110 BEGIN
111 -- HR_STANDARD.EVENT('BEFORE REPORT');
112 RETURN (TRUE);
113 END BEFOREREPORT;
114
115 FUNCTION AFTERPFORM RETURN BOOLEAN IS
116 CURSOR C1(P_LOOKUP_CODE IN VARCHAR2,P_TEMPLATE_ID IN NUMBER) IS
117 SELECT
118 COUNT(1)
119 FROM
120 PSP_REPORT_TEMPLATE_DETAILS
121 WHERE TEMPLATE_ID = P_TEMPLATE_ID
122 AND CRITERIA_LOOKUP_TYPE = 'PSP_SELECTION_CRITERIA'
123 AND CRITERIA_LOOKUP_CODE = P_LOOKUP_CODE;
124 L_NUM NUMBER;
125 L_NUM2 NUMBER;
126 BEGIN
127 IF P_ORG_TEMPLATE_ID IS NULL THEN
128 P_ORGANIZATION_ID := ' and 1 = 1 ';
129 ELSE
130 OPEN C1('ORG',P_ORG_TEMPLATE_ID);
131 FETCH C1
132 INTO L_NUM;
133 CLOSE C1;
134 IF L_NUM <> 0 THEN
135 P_ORGANIZATION_ID := ' and organization_id IN (select criteria_value1 from psp_report_template_details
136 where template_id = ' || P_ORG_TEMPLATE_ID || '
137 and criteria_lookup_type = ''PSP_SELECTION_CRITERIA''
138 and criteria_lookup_code = ''ORG'' ' || ' ) ';
139 ELSE
140 P_ORGANIZATION_ID := ' and 1 = 1 ';
141 END IF;
142 END IF;
143 RETURN (TRUE);
144 END AFTERPFORM;
145
146 FUNCTION CF_CURRENCY_FORMATFORMULA(CURRENCY_CODE IN VARCHAR2) RETURN CHAR IS
147 BEGIN
148 /*SRW.REFERENCE(CURRENCY_CODE)*/NULL;
149 RETURN (FND_CURRENCY.GET_FORMAT_MASK(CURRENCY_CODE
150 ,30));
151 END CF_CURRENCY_FORMATFORMULA;
152
153 FUNCTION CF_DISTRIBUTION_AMOUNT_DSPFORM(DISTRIBUTION_AMOUNT IN NUMBER
154 ,CF_CURRENCY_FORMAT IN VARCHAR2) RETURN CHAR IS
155 BEGIN
156 /*SRW.REFERENCE(DISTRIBUTION_AMOUNT)*/NULL;
157 /*SRW.REFERENCE(CF_CURRENCY_FORMAT)*/NULL;
158 RETURN (TO_CHAR(DISTRIBUTION_AMOUNT
159 ,CF_CURRENCY_FORMAT));
160 END CF_DISTRIBUTION_AMOUNT_DSPFORM;
161
162 FUNCTION CF_SUM_CURRENCYFORMULA(CURRENCY_CODE IN VARCHAR2) RETURN CHAR IS
163 BEGIN
164 /*SRW.REFERENCE(CURRENCY_CODE)*/NULL;
165 RETURN ('(' || CURRENCY_CODE || ')');
166 END CF_SUM_CURRENCYFORMULA;
167
168 FUNCTION CF_SUM_DISTRIBUTION_AMOUNTFORM(CF_CURRENCY_FORMAT IN VARCHAR2
169 ,CS_DISTRIBUTION_AMOUNT IN NUMBER) RETURN CHAR IS
170 BEGIN
171 /*SRW.REFERENCE(CF_CURRENCY_FORMAT)*/NULL;
172 /*SRW.REFERENCE(CS_DISTRIBUTION_AMOUNT)*/NULL;
173 RETURN (TO_CHAR(CS_DISTRIBUTION_AMOUNT
174 ,CF_CURRENCY_FORMAT));
175 END CF_SUM_DISTRIBUTION_AMOUNTFORM;
176
177 FUNCTION CF_ORGANIZATION_NAMEFORMULA(ORGANIZATION_ID IN NUMBER) RETURN VARCHAR2 IS
178 V_ORGANIZATION_NAME HR_ALL_ORGANIZATION_UNITS_TL.NAME%TYPE;
179 BEGIN
180 SELECT
181 DISTINCT
182 NAME
183 INTO V_ORGANIZATION_NAME
184 FROM
185 HR_ORGANIZATION_UNITS
186 WHERE ORGANIZATION_ID = CF_ORGANIZATION_NAMEFORMULA.ORGANIZATION_ID;
187 RETURN V_ORGANIZATION_NAME;
188 RETURN NULL;
189 EXCEPTION
190 WHEN NO_DATA_FOUND THEN
191 RETURN NULL;
192 WHEN TOO_MANY_ROWS THEN
193 RETURN 'TOO_MANY_ROWS';
194 WHEN OTHERS THEN
195 RETURN 'ERROR';
196 END CF_ORGANIZATION_NAMEFORMULA;
197
198 FUNCTION CF_CHARGING_INSTRUCTIONSFORMUL(GL_CODE_COMBINATION_ID IN NUMBER
199 ,PROJECT_ID IN NUMBER
200 ,TASK_ID IN NUMBER
201 ,AWARD_ID IN NUMBER
202 ,EXPENDITURE_ORGANIZATION_ID IN NUMBER
203 ,EXPENDITURE_TYPE IN VARCHAR2) RETURN CHAR IS
204 V_RETCODE NUMBER;
205 L_CHART_OF_ACCTS VARCHAR2(20);
206 GL_FLEX_VALUES VARCHAR2(2000);
207 L_PROJECT_NAME VARCHAR2(30);
208 L_AWARD_NUMBER VARCHAR2(15);
209 L_TASK_NUMBER VARCHAR2(25);
210 L_ORG_NAME HR_ALL_ORGANIZATION_UNITS_TL.NAME%TYPE;
211 L_POETA VARCHAR2(2000);
212 BEGIN
213 IF GL_CODE_COMBINATION_ID IS NOT NULL THEN
214 V_RETCODE := PSP_GENERAL.FIND_CHART_OF_ACCTS(TO_NUMBER(P_SET_OF_BOOKS_ID)
215 ,L_CHART_OF_ACCTS);
216 GL_FLEX_VALUES := FND_FLEX_EXT.GET_SEGS(APPLICATION_SHORT_NAME => 'SQLGL'
217 ,KEY_FLEX_CODE => 'GL#'
218 ,STRUCTURE_NUMBER => TO_NUMBER(L_CHART_OF_ACCTS)
219 ,COMBINATION_ID => GL_CODE_COMBINATION_ID);
220 RETURN (GL_FLEX_VALUES);
221 ELSE
222 IF PROJECT_ID IS NOT NULL THEN
223 SELECT
224 NAME
225 INTO L_PROJECT_NAME
226 FROM
227 PA_PROJECTS_ALL
228 WHERE PROJECT_ID = CF_CHARGING_INSTRUCTIONSFORMUL.PROJECT_ID;
229 SELECT
230 TASK_NUMBER
231 INTO L_TASK_NUMBER
232 FROM
233 PA_TASKS
234 WHERE TASK_ID = CF_CHARGING_INSTRUCTIONSFORMUL.TASK_ID;
235 IF AWARD_ID IS NOT NULL THEN
236 SELECT
237 AWARD_NUMBER
238 INTO L_AWARD_NUMBER
239 FROM
240 GMS_AWARDS_ALL
241 WHERE AWARD_ID = CF_CHARGING_INSTRUCTIONSFORMUL.AWARD_ID;
242 ELSE
243 L_AWARD_NUMBER := '';
244 END IF;
245 SELECT
246 NAME
247 INTO L_ORG_NAME
248 FROM
249 HR_ALL_ORGANIZATION_UNITS
250 WHERE ORGANIZATION_ID = CF_CHARGING_INSTRUCTIONSFORMUL.EXPENDITURE_ORGANIZATION_ID;
251 L_POETA := L_PROJECT_NAME || ' ' || L_TASK_NUMBER || ' ' || L_AWARD_NUMBER || ' ' || L_ORG_NAME || ' ' || EXPENDITURE_TYPE;
252 ELSE
253 L_POETA := '';
254 END IF;
255 RETURN (L_POETA);
256 END IF;
257 EXCEPTION
258 WHEN NO_DATA_FOUND THEN
259 RETURN ('NO_DATA_FOUND');
260 WHEN OTHERS THEN
261 RETURN ('OTHER ERROR OCCURED');
262 END CF_CHARGING_INSTRUCTIONSFORMUL;
263
264 FUNCTION CF_PERSON_NAMEFORMULA(PERSON_ID IN NUMBER) RETURN VARCHAR2 IS
265 V_PERSON_NAME VARCHAR2(80);
266 BEGIN
267 IF P_TIME_PERIOD_END IS NOT NULL THEN
268 SELECT
269 DISTINCT
270 FULL_NAME
271 INTO V_PERSON_NAME
272 FROM
273 PER_PEOPLE_F
274 WHERE PERSON_ID = CF_PERSON_NAMEFORMULA.PERSON_ID
275 AND ( P_TIME_PERIOD_END Between EFFECTIVE_START_DATE
276 AND EFFECTIVE_END_DATE );
277 ELSE
278 SELECT
279 DISTINCT
280 FULL_NAME
281 INTO V_PERSON_NAME
282 FROM
283 PER_PEOPLE_F
284 WHERE PERSON_ID = CF_PERSON_NAMEFORMULA.PERSON_ID;
285 END IF;
286 RETURN V_PERSON_NAME;
287 RETURN NULL;
288 EXCEPTION
289 WHEN OTHERS THEN
290 RETURN 'ERROR';
291 END CF_PERSON_NAMEFORMULA;
292
293 FUNCTION CF_ASSIGNMENT_NUMBERFORMULA(ASSIGNMENT_ID IN NUMBER) RETURN VARCHAR2 IS
294 V_ASSIGNMENT_NUMBER VARCHAR2(30);
295 BEGIN
296 IF P_TIME_PERIOD_END IS NOT NULL THEN
297 SELECT
298 DISTINCT
299 ASSIGNMENT_NUMBER
300 INTO V_ASSIGNMENT_NUMBER
301 FROM
302 PER_ASSIGNMENTS_F
303 WHERE ASSIGNMENT_ID = CF_ASSIGNMENT_NUMBERFORMULA.ASSIGNMENT_ID
304 AND ( P_TIME_PERIOD_END Between EFFECTIVE_START_DATE
305 AND EFFECTIVE_END_DATE );
306 ELSE
307 SELECT
308 DISTINCT
309 ASSIGNMENT_NUMBER
310 INTO V_ASSIGNMENT_NUMBER
311 FROM
312 PER_ASSIGNMENTS_F
313 WHERE ASSIGNMENT_ID = CF_ASSIGNMENT_NUMBERFORMULA.ASSIGNMENT_ID;
314 END IF;
315 RETURN V_ASSIGNMENT_NUMBER;
316 RETURN NULL;
317 EXCEPTION
318 WHEN NO_DATA_FOUND THEN
319 RETURN 'NO_DATA_FOUND';
320 WHEN TOO_MANY_ROWS THEN
321 RETURN 'TOO_MANY_ROWS';
322 WHEN OTHERS THEN
323 RETURN 'ERROR';
324 END CF_ASSIGNMENT_NUMBERFORMULA;
325
326 FUNCTION CF_ELEMENT_NAMEFORMULA(ELEMENT_TYPE_ID IN NUMBER) RETURN VARCHAR2 IS
327 V_ELEMENT_NAME VARCHAR2(80);
328 BEGIN
329 IF P_TIME_PERIOD_END IS NOT NULL THEN
330 SELECT
331 DISTINCT
332 ELEMENT_NAME
333 INTO V_ELEMENT_NAME
334 FROM
335 PAY_ELEMENT_TYPES_F
336 WHERE ELEMENT_TYPE_ID = CF_ELEMENT_NAMEFORMULA.ELEMENT_TYPE_ID
337 AND ( P_TIME_PERIOD_END Between EFFECTIVE_START_DATE
338 AND EFFECTIVE_END_DATE );
339 ELSE
340 SELECT
341 DISTINCT
342 ELEMENT_NAME
343 INTO V_ELEMENT_NAME
344 FROM
345 PAY_ELEMENT_TYPES_F
346 WHERE ELEMENT_TYPE_ID = CF_ELEMENT_NAMEFORMULA.ELEMENT_TYPE_ID;
347 END IF;
348 RETURN V_ELEMENT_NAME;
349 RETURN NULL;
350 EXCEPTION
351 WHEN NO_DATA_FOUND THEN
352 RETURN 'NO_DATA_FOUND';
353 WHEN TOO_MANY_ROWS THEN
354 RETURN 'TOO_MANY_ROWS';
355 WHEN OTHERS THEN
356 RETURN 'ERROR';
357 END CF_ELEMENT_NAMEFORMULA;
358
359 FUNCTION CF_PERIOD_NAMEFORMULA(TIME_PERIOD_ID IN NUMBER) RETURN VARCHAR2 IS
360 V_PERIOD_NAME VARCHAR2(35);
361 BEGIN
362 SELECT
363 DISTINCT
364 PERIOD_NAME
365 INTO V_PERIOD_NAME
366 FROM
367 PER_TIME_PERIODS
368 WHERE TIME_PERIOD_ID = CF_PERIOD_NAMEFORMULA.TIME_PERIOD_ID;
369 RETURN V_PERIOD_NAME;
370 RETURN NULL;
371 EXCEPTION
372 WHEN NO_DATA_FOUND THEN
373 RETURN 'NO_DATA_FOUND';
374 WHEN TOO_MANY_ROWS THEN
375 RETURN 'TOO_MANY_ROWS';
376 WHEN OTHERS THEN
377 RETURN 'ERROR';
378 END CF_PERIOD_NAMEFORMULA;
379
380 FUNCTION AFTERREPORT RETURN BOOLEAN IS
381 BEGIN
382 -- HR_STANDARD.EVENT('AFTER REPORT');
383 RETURN (TRUE);
384 END AFTERREPORT;
385
386 FUNCTION CF_DATE_FORMATFORMULA RETURN CHAR IS
387 BEGIN
388 RETURN (VALUE('ICX_DATE_FORMAT_MASK'));
389 END CF_DATE_FORMATFORMULA;
390
391 FUNCTION CF_START_DATE_DISPFORMULA(CF_DATE_FORMAT IN VARCHAR2) RETURN CHAR IS
392 BEGIN
393 /*SRW.REFERENCE(P_TIME_PERIOD_START)*/NULL;
394 /*SRW.REFERENCE(CF_DATE_FORMAT)*/NULL;
395 RETURN (TO_CHAR(P_TIME_PERIOD_START
396 ,CF_DATE_FORMAT));
397 END CF_START_DATE_DISPFORMULA;
398
399 FUNCTION CF_END_DATE_DISPFORMULA(CF_DATE_FORMAT IN VARCHAR2) RETURN CHAR IS
400 BEGIN
401 /*SRW.REFERENCE(P_TIME_PERIOD_END)*/NULL;
402 /*SRW.REFERENCE(CF_DATE_FORMAT)*/NULL;
403 RETURN (TO_CHAR(P_TIME_PERIOD_END
404 ,CF_DATE_FORMAT));
405 END CF_END_DATE_DISPFORMULA;
406
407 FUNCTION CF_RUN_DATE_DISPFORMULA(CF_DATE_FORMAT IN VARCHAR2) RETURN CHAR IS
408 BEGIN
409 /*SRW.REFERENCE(SYSDATE)*/NULL;
410 /*SRW.REFERENCE(CF_DATE_FORMAT)*/NULL;
411 RETURN (TO_CHAR(SYSDATE
412 ,CF_DATE_FORMAT));
413 END CF_RUN_DATE_DISPFORMULA;
414
415 PROCEDURE CRT(ERRBUF OUT NOCOPY VARCHAR2
416 ,RETCODE OUT NOCOPY NUMBER
417 ,A_TEMPLATE_ID IN NUMBER) IS
418 BEGIN
419 /* STPROC.INIT('begin PSP_EFFORTS_PKG.CRT(:ERRBUF, :RETCODE, :A_TEMPLATE_ID); end;');
420 STPROC.BIND_O(ERRBUF);
421 STPROC.BIND_O(RETCODE);
422 STPROC.BIND_I(A_TEMPLATE_ID);
423 STPROC.EXECUTE;
424 STPROC.RETRIEVE(1
425 ,ERRBUF);
426 STPROC.RETRIEVE(2
427 ,RETCODE);*/null;
428 END CRT;
429
430 PROCEDURE INIT_WORKFLOW(A_TEMPLATE_ID IN NUMBER) IS
431 BEGIN
432 /* STPROC.INIT('begin PSP_EFFORTS_PKG.INIT_WORKFLOW(:A_TEMPLATE_ID); end;');
433 STPROC.BIND_I(A_TEMPLATE_ID);
434 STPROC.EXECUTE;*/null;
435 END INIT_WORKFLOW;
436
437 PROCEDURE UPD_INCLUDE_FLAG(A_TEMPLATE_ID IN NUMBER) IS
438 BEGIN
439 /* STPROC.INIT('begin PSP_EFFORTS_PKG.UPD_INCLUDE_FLAG(:A_TEMPLATE_ID); end;');
440 STPROC.BIND_I(A_TEMPLATE_ID);
441 STPROC.EXECUTE;*/null;
442 END UPD_INCLUDE_FLAG;
443
444 FUNCTION GET_GL_DESCRIPTION(A_CODE_COMBINATION_ID IN NUMBER) RETURN VARCHAR2 IS
445 X0 VARCHAR2(2000);
446 BEGIN
447 /* STPROC.INIT('begin :X0 := PSP_EFFORTS_PKG.GET_GL_DESCRIPTION(:A_CODE_COMBINATION_ID); end;');
448 STPROC.BIND_O(X0);
449 STPROC.BIND_I(A_CODE_COMBINATION_ID);
450 STPROC.EXECUTE;
451 STPROC.RETRIEVE(1
452 ,X0);*/null;
453 RETURN X0;
454 END GET_GL_DESCRIPTION;
455
456 PROCEDURE PUT(NAME IN VARCHAR2
457 ,VAL IN VARCHAR2) IS
458 BEGIN
459 /* STPROC.INIT('begin FND_PROFILE.PUT(:NAME, :VAL); end;');
460 STPROC.BIND_I(NAME);
461 STPROC.BIND_I(VAL);
462 STPROC.EXECUTE;*/null;
463 END PUT;
464
465 FUNCTION DEFINED(NAME IN VARCHAR2) RETURN BOOLEAN IS
466 X0 BOOLEAN;
467 BEGIN
468 /* STPROC.INIT('declare X0rv BOOLEAN; begin X0rv := FND_PROFILE.DEFINED(:NAME); :X0 := sys.diutil.bool_to_int(X0rv); end;');
469 STPROC.BIND_I(NAME);
470 STPROC.BIND_O(X0);
471 STPROC.EXECUTE;
472 STPROC.RETRIEVE(2
473 ,X0);*/
474 RETURN X0;
475 END DEFINED;
476
477 PROCEDURE GET(NAME IN VARCHAR2
478 ,VAL OUT NOCOPY VARCHAR2) IS
479 BEGIN
480 /* STPROC.INIT('begin FND_PROFILE.GET(:NAME, :VAL); end;');
481 STPROC.BIND_I(NAME);
482 STPROC.BIND_O(VAL);
483 STPROC.EXECUTE;
484 STPROC.RETRIEVE(2
485 ,VAL);*/null;
486 END GET;
487
488 FUNCTION VALUE(NAME IN VARCHAR2) RETURN VARCHAR2 IS
489 X0 VARCHAR2(2000);
490 BEGIN
491 /* STPROC.INIT('begin :X0 := FND_PROFILE.VALUE(:NAME); end;');
492 STPROC.BIND_O(X0);
493 STPROC.BIND_I(NAME);
494 STPROC.EXECUTE;
495 STPROC.RETRIEVE(1
496 ,X0);*/
497 X0 := FND_PROFILE.VALUE(NAME);
498 RETURN X0;
499 END VALUE;
500
501 FUNCTION SAVE_USER(X_NAME IN VARCHAR2
502 ,X_VALUE IN VARCHAR2) RETURN BOOLEAN IS
503 X0 BOOLEAN;
504 BEGIN
505 /* STPROC.INIT('declare X0rv BOOLEAN; begin X0rv := FND_PROFILE.SAVE_USER(:X_NAME, :X_VALUE); :X0 := sys.diutil.bool_to_int(X0rv); end;');
506 STPROC.BIND_I(X_NAME);
507 STPROC.BIND_I(X_VALUE);
508 STPROC.BIND_O(X0);
509 STPROC.EXECUTE;
510 STPROC.RETRIEVE(3
511 ,X0);*/
512 RETURN X0;
513 END SAVE_USER;
514
515 FUNCTION SAVE(X_NAME IN VARCHAR2
516 ,X_VALUE IN VARCHAR2
517 ,X_LEVEL_NAME IN VARCHAR2
518 ,X_LEVEL_VALUE IN VARCHAR2
519 ,X_LEVEL_VALUE_APP_ID IN VARCHAR2) RETURN BOOLEAN IS
520 X0 BOOLEAN;
521 BEGIN
522 /* STPROC.INIT('declare X0rv BOOLEAN; begin X0rv := FND_PROFILE.SAVE(:X_NAME, :X_VALUE, :X_LEVEL_NAME, :X_LEVEL_VALUE, :X_LEVEL_VALUE_APP_ID); :X0 := sys.diutil.bool_to_int(X0rv); end;');
523 STPROC.BIND_I(X_NAME);
524 STPROC.BIND_I(X_VALUE);
525 STPROC.BIND_I(X_LEVEL_NAME);
526 STPROC.BIND_I(X_LEVEL_VALUE);
527 STPROC.BIND_I(X_LEVEL_VALUE_APP_ID);
528 STPROC.BIND_O(X0);
529 STPROC.EXECUTE;
530 STPROC.RETRIEVE(6
531 ,X0);*/
532 RETURN X0;
533 END SAVE;
534
535 PROCEDURE GET_SPECIFIC(NAME_Z IN VARCHAR2
536 ,USER_ID_Z IN NUMBER
537 ,RESPONSIBILITY_ID_Z IN NUMBER
538 ,APPLICATION_ID_Z IN NUMBER
539 ,VAL_Z OUT NOCOPY VARCHAR2
540 ,DEFINED_Z OUT NOCOPY BOOLEAN) IS
541 BEGIN
542 /* STPROC.INIT('declare DEFINED_Z BOOLEAN; begin DEFINED_Z := sys.diutil.int_to_bool(:DEFINED_Z);
543 FND_PROFILE.GET_SPECIFIC(:NAME_Z, :USER_ID_Z, :RESPONSIBILITY_ID_Z, :APPLICATION_ID_Z, :VAL_Z, DEFINED_Z);
544 :DEFINED_Z := sys.diutil.bool_to_int(DEFINED_Z); end;');
545 STPROC.BIND_O(DEFINED_Z);
546 STPROC.BIND_I(NAME_Z);
547 STPROC.BIND_I(USER_ID_Z);
548 STPROC.BIND_I(RESPONSIBILITY_ID_Z);
549 STPROC.BIND_I(APPLICATION_ID_Z);
550 STPROC.BIND_O(VAL_Z);
551 STPROC.EXECUTE;
552 STPROC.RETRIEVE(1
553 ,DEFINED_Z);
554 STPROC.RETRIEVE(6
555 ,VAL_Z);*/null;
556 END GET_SPECIFIC;
557
558 FUNCTION VALUE_SPECIFIC(NAME IN VARCHAR2
559 ,USER_ID IN NUMBER
560 ,RESPONSIBILITY_ID IN NUMBER
561 ,APPLICATION_ID IN NUMBER) RETURN VARCHAR2 IS
562 X0 VARCHAR2(2000);
563 BEGIN
564 /* STPROC.INIT('begin :X0 := FND_PROFILE.VALUE_SPECIFIC(:NAME, :USER_ID, :RESPONSIBILITY_ID, :APPLICATION_ID); end;');
565 STPROC.BIND_O(X0);
566 STPROC.BIND_I(NAME);
567 STPROC.BIND_I(USER_ID);
568 STPROC.BIND_I(RESPONSIBILITY_ID);
569 STPROC.BIND_I(APPLICATION_ID);
570 STPROC.EXECUTE;
571 STPROC.RETRIEVE(1
572 ,X0);*/null;
573 RETURN X0;
574 END VALUE_SPECIFIC;
575
576 PROCEDURE INITIALIZE(USER_ID_Z IN NUMBER
577 ,RESPONSIBILITY_ID_Z IN NUMBER
578 ,APPLICATION_ID_Z IN NUMBER
579 ,SITE_ID_Z IN NUMBER) IS
580 BEGIN
581 /*STPROC.INIT('begin FND_PROFILE.INITIALIZE(:USER_ID_Z, :RESPONSIBILITY_ID_Z, :APPLICATION_ID_Z, :SITE_ID_Z); end;');
582 STPROC.BIND_I(USER_ID_Z);
583 STPROC.BIND_I(RESPONSIBILITY_ID_Z);
584 STPROC.BIND_I(APPLICATION_ID_Z);
585 STPROC.BIND_I(SITE_ID_Z);
586 STPROC.EXECUTE;*/null;
587 END INITIALIZE;
588
589 PROCEDURE PUTMULTIPLE(NAMES IN VARCHAR2
590 ,VALS IN VARCHAR2
591 ,NUM IN NUMBER) IS
592 BEGIN
593 /* STPROC.INIT('begin FND_PROFILE.PUTMULTIPLE(:NAMES, :VALS, :NUM); end;');
594 STPROC.BIND_I(NAMES);
595 STPROC.BIND_I(VALS);
596 STPROC.BIND_I(NUM);
597 STPROC.EXECUTE;*/null;
598 END PUTMULTIPLE;
599
600 END PSP_PSPLDDFA_XMLP_PKG;