[Home] [Help]
PACKAGE BODY: APPS.GL_AUTO_ALLOC_SET_PKG
Source
1 PACKAGE BODY gl_auto_alloc_set_pkg AS
2 /* $Header: glatalsb.pls 120.6 2006/01/24 22:38:17 xiwu ship $ */
3 SUCCESS CONSTANT VARCHAR2(1) := 'S';
4 FAILURE CONSTANT VARCHAR2(1) := 'F';
5
6 FUNCTION get_unique_set_id RETURN NUMBER IS
7 CURSOR get_new_id IS
8 SELECT gl_auto_alloc_sets_s.NEXTVAL
9 FROM dual;
10 new_id number;
11 BEGIN
12 OPEN get_new_id;
13 FETCH get_new_id INTO new_id;
14
15 IF get_new_id%FOUND THEN
16 CLOSE get_new_id;
17 return(new_id);
18 ELSE
19 CLOSE get_new_id;
20 fnd_message.set_name('SQLGL', 'GL_ERROR_GETTING_UNIQUE_ID');
21 fnd_message.set_token('SEQUENCE', 'GL_AUTO_ALLOCATION_SET_ID_S');
22 app_exception.raise_exception;
23 END IF;
24 EXCEPTION
25 WHEN app_exceptions.application_exception THEN
26 RAISE;
27 WHEN OTHERS THEN
28 fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
29 fnd_message.set_token('PROCEDURE',
30 'gl_auto_alloc_set_pkg.get_unique_set_id');
31 RAISE;
32 END get_unique_set_id;
33
34
35
36 Procedure Insert_Allocation_Set(
37 l_Row_Id IN OUT NOCOPY VARCHAR2
38 , l_ALLOCATION_SET_ID IN NUMBER
39 , l_ALLOCATION_SET_TYPE_CODE IN VARCHAR2
40 , l_ALLOCATION_SET_NAME IN VARCHAR2
41 , l_ALLOCATION_CODE IN VARCHAR2
42 , l_CHART_OF_ACCOUNTS_ID IN NUMBER
43 , l_PERIOD_SET_NAME IN VARCHAR
44 , l_ACCOUNTED_PERIOD_TYPE IN VARCHAR
45 , l_LAST_UPDATE_DATE IN DATE
46 , l_LAST_UPDATED_BY IN NUMBER
47 , l_LAST_UPDATE_LOGIN IN NUMBER
48 , l_CREATION_DATE IN DATE
49 , l_CREATED_BY IN NUMBER
50 , l_ORG_ID IN NUMBER
51 , l_DESCRIPTION IN VARCHAR2
52 , l_OWNER IN VARCHAR2
53 , l_SECURITY_FLAG IN VARCHAR2
54 , l_ATTRIBUTE1 IN VARCHAR2
55 , l_ATTRIBUTE2 IN VARCHAR2
56 , l_ATTRIBUTE3 IN VARCHAR2
57 , l_ATTRIBUTE4 IN VARCHAR2
58 , l_ATTRIBUTE5 IN VARCHAR2
59 , l_ATTRIBUTE6 IN VARCHAR2
60 , l_ATTRIBUTE7 IN VARCHAR2
61 , l_ATTRIBUTE8 IN VARCHAR2
62 , l_ATTRIBUTE9 IN VARCHAR2
63 , l_ATTRIBUTE10 IN VARCHAR2
64 , l_ATTRIBUTE11 IN VARCHAR2
65 , l_ATTRIBUTE12 IN VARCHAR2
66 , l_ATTRIBUTE13 IN VARCHAR2
67 , l_ATTRIBUTE14 IN VARCHAR2
68 , l_ATTRIBUTE15 IN VARCHAR2
69 , l_CONTEXT IN VARCHAR2
70 ) IS
71 CURSOR C_SET IS
72 SELECT rowid
73 FROM GL_AUTO_ALLOC_SETS
74 WHERE ALLOCATION_SET_ID = l_ALLOCATION_SET_ID;
75
76 Begin
77 Insert Into GL_AUTO_ALLOC_SETS (
78 ALLOCATION_SET_ID
79 , ALLOCATION_SET_TYPE_CODE
80 , ALLOCATION_SET_NAME
81 , ALLOCATION_CODE
82 , CHART_OF_ACCOUNTS_ID
83 , PERIOD_SET_NAME
84 , ACCOUNTED_PERIOD_TYPE
85 , LAST_UPDATE_DATE
86 , LAST_UPDATED_BY
87 , LAST_UPDATE_LOGIN
88 , CREATION_DATE
89 , CREATED_BY
90 , ORG_ID
91 , DESCRIPTION
92 , OWNER
93 , SECURITY_FLAG
94 , ATTRIBUTE1
95 , ATTRIBUTE2
96 , ATTRIBUTE3
97 , ATTRIBUTE4
98 , ATTRIBUTE5
99 , ATTRIBUTE6
100 , ATTRIBUTE7
101 , ATTRIBUTE8
102 , ATTRIBUTE9
103 , ATTRIBUTE10
104 , ATTRIBUTE11
105 , ATTRIBUTE12
106 , ATTRIBUTE13
107 , ATTRIBUTE14
108 , ATTRIBUTE15
109 , CONTEXT
110 )
111 Values(
112 l_ALLOCATION_SET_ID
113 , l_ALLOCATION_SET_TYPE_CODE
114 , l_ALLOCATION_SET_NAME
115 , l_ALLOCATION_CODE
116 , l_CHART_OF_ACCOUNTS_ID
117 , l_PERIOD_SET_NAME
118 , l_ACCOUNTED_PERIOD_TYPE
119 , l_LAST_UPDATE_DATE
120 , l_LAST_UPDATED_BY
121 , l_LAST_UPDATE_LOGIN
122 , l_CREATION_DATE
123 , l_CREATED_BY
124 , l_ORG_ID
125 , l_DESCRIPTION
126 , l_OWNER
127 , l_SECURITY_FLAG
128 , l_ATTRIBUTE1
129 , l_ATTRIBUTE2
130 , l_ATTRIBUTE3
131 , l_ATTRIBUTE4
132 , l_ATTRIBUTE5
133 , l_ATTRIBUTE6
134 , l_ATTRIBUTE7
135 , l_ATTRIBUTE8
136 , l_ATTRIBUTE9
137 , l_ATTRIBUTE10
138 , l_ATTRIBUTE11
139 , l_ATTRIBUTE12
140 , l_ATTRIBUTE13
141 , l_ATTRIBUTE14
142 , l_ATTRIBUTE15
143 , l_CONTEXT
144 );
145 Open C_SET;
146 FETCH C_Set INTO l_Row_id ;
147 If (C_SET%NOTFOUND) then
148 CLOSE C_SET;
149 Raise NO_DATA_FOUND;
150 End If;
151 CLOSE C_SET;
152
153 End Insert_Allocation_Set;
154
155 Procedure Update_Allocation_Set(
156 l_Row_Id IN VARCHAR2
157 , l_ALLOCATION_SET_NAME IN VARCHAR2
158 , l_LAST_UPDATE_DATE IN DATE
159 , l_LAST_UPDATED_BY IN NUMBER
160 , l_LAST_UPDATE_LOGIN IN NUMBER
161 , l_DESCRIPTION IN VARCHAR2
162 , l_OWNER IN VARCHAR2
163 , l_SECURITY_FLAG IN VARCHAR2
164 , l_ATTRIBUTE1 IN VARCHAR2
165 , l_ATTRIBUTE2 IN VARCHAR2
166 , l_ATTRIBUTE3 IN VARCHAR2
167 , l_ATTRIBUTE4 IN VARCHAR2
168 , l_ATTRIBUTE5 IN VARCHAR2
169 , l_ATTRIBUTE6 IN VARCHAR2
170 , l_ATTRIBUTE7 IN VARCHAR2
171 , l_ATTRIBUTE8 IN VARCHAR2
172 , l_ATTRIBUTE9 IN VARCHAR2
173 , l_ATTRIBUTE10 IN VARCHAR2
174 , l_ATTRIBUTE11 IN VARCHAR2
175 , l_ATTRIBUTE12 IN VARCHAR2
176 , l_ATTRIBUTE13 IN VARCHAR2
177 , l_ATTRIBUTE14 IN VARCHAR2
178 , l_ATTRIBUTE15 IN VARCHAR2
179 , l_CONTEXT IN VARCHAR2
180 ) IS
181 Begin
182 Update GL_AUTO_ALLOC_SETS
183 SET
184 ALLOCATION_SET_NAME = l_ALLOCATION_SET_NAME
185 , LAST_UPDATE_DATE = l_LAST_UPDATE_DATE
186 , LAST_UPDATED_BY = l_LAST_UPDATED_BY
187 , LAST_UPDATE_LOGIN = l_LAST_UPDATE_LOGIN
188 , DESCRIPTION = l_DESCRIPTION
189 , OWNER = l_OWNER
190 , SECURITY_FLAG = l_SECURITY_FLAG
191 , ATTRIBUTE1 = l_ATTRIBUTE1
192 , ATTRIBUTE2 = l_ATTRIBUTE2
193 , ATTRIBUTE3 = l_ATTRIBUTE3
194 , ATTRIBUTE4 = l_ATTRIBUTE4
195 , ATTRIBUTE5 = l_ATTRIBUTE5
196 , ATTRIBUTE6 = l_ATTRIBUTE6
197 , ATTRIBUTE7 = l_ATTRIBUTE7
198 , ATTRIBUTE8 = l_ATTRIBUTE8
199 , ATTRIBUTE9 = l_ATTRIBUTE9
200 , ATTRIBUTE10 = l_ATTRIBUTE10
201 , ATTRIBUTE11 = l_ATTRIBUTE11
202 , ATTRIBUTE12 = l_ATTRIBUTE12
203 , ATTRIBUTE13 = l_ATTRIBUTE13
204 , ATTRIBUTE14 = l_ATTRIBUTE14
205 , ATTRIBUTE15 = l_ATTRIBUTE15
206 , CONTEXT = l_CONTEXT
207 Where rowid = l_row_id;
208
209 End Update_Allocation_Set;
210
211 Procedure Lock_Allocation_Set(
212 l_Row_Id IN VARCHAR2
213 , l_ALLOCATION_SET_ID IN NUMBER
214 , l_ALLOCATION_SET_TYPE_CODE IN VARCHAR2
215 , l_ALLOCATION_SET_NAME IN VARCHAR2
216 , l_ALLOCATION_CODE IN VARCHAR2
217 , l_CHART_OF_ACCOUNTS_ID IN NUMBER
218 , l_PERIOD_SET_NAME IN VARCHAR
219 , l_ACCOUNTED_PERIOD_TYPE IN VARCHAR
220 , l_LAST_UPDATED_BY IN NUMBER
221 , l_LAST_UPDATE_LOGIN IN NUMBER
222 , l_CREATED_BY IN NUMBER
223 , l_DESCRIPTION IN VARCHAR2
224 , l_OWNER IN VARCHAR2
225 , l_SECURITY_FLAG IN VARCHAR2
226 , l_ATTRIBUTE1 IN VARCHAR2
227 , l_ATTRIBUTE2 IN VARCHAR2
228 , l_ATTRIBUTE3 IN VARCHAR2
229 , l_ATTRIBUTE4 IN VARCHAR2
230 , l_ATTRIBUTE5 IN VARCHAR2
231 , l_ATTRIBUTE6 IN VARCHAR2
232 , l_ATTRIBUTE7 IN VARCHAR2
233 , l_ATTRIBUTE8 IN VARCHAR2
234 , l_ATTRIBUTE9 IN VARCHAR2
235 , l_ATTRIBUTE10 IN VARCHAR2
236 , l_ATTRIBUTE11 IN VARCHAR2
237 , l_ATTRIBUTE12 IN VARCHAR2
238 , l_ATTRIBUTE13 IN VARCHAR2
239 , l_ATTRIBUTE14 IN VARCHAR2
240 , l_ATTRIBUTE15 IN VARCHAR2
241 , l_CONTEXT IN VARCHAR2
242 ) IS
243 CURSOR C IS
244 SELECT *
245 FROM GL_AUTO_ALLOC_SETS
246 WHERE rowid = l_ROW_ID
247 FOR UPDATE NOWAIT;
248 Recinfo C%ROWTYPE;
249 Begin
250 Open C;
251 Fetch C Into Recinfo;
252
253 If (C%NOTFOUND) then
254 Close C;
255 Fnd_Message.Set_Name('FND', 'FORM_RECORD_DELETED');
256 App_Exception.Raise_Exception;
257 End If;
258
259 Close C;
260 If (
261 Recinfo.ALLOCATION_SET_ID = l_ALLOCATION_SET_ID
262 And Recinfo.CHART_OF_ACCOUNTS_ID = l_CHART_OF_ACCOUNTS_ID
263 And Recinfo.PERIOD_SET_NAME = l_PERIOD_SET_NAME
264 And Recinfo.ACCOUNTED_PERIOD_TYPE = l_ACCOUNTED_PERIOD_TYPE
265 And Recinfo.ALLOCATION_SET_NAME = l_ALLOCATION_SET_NAME
266 And Recinfo.ALLOCATION_SET_TYPE_CODE = l_ALLOCATION_SET_TYPE_CODE
267 AND Recinfo.SECURITY_FLAG = l_SECURITY_FLAG
268 And ( Recinfo.DESCRIPTION = l_DESCRIPTION
269 OR ( Recinfo.DESCRIPTION IS NULL AND
270 l_DESCRIPTION IS NULL ))
271 And ( Recinfo.OWNER = l_OWNER
272 OR ( Recinfo.OWNER IS NULL AND
273 l_OWNER IS NULL ))
274 And ( Recinfo.ATTRIBUTE1 = l_ATTRIBUTE1
275 OR ( Recinfo.ATTRIBUTE1 IS NULL AND
276 l_ATTRIBUTE1 IS NULL ))
277 And ( Recinfo.ATTRIBUTE2 = l_ATTRIBUTE2
278 OR ( Recinfo.ATTRIBUTE2 IS NULL AND
279 l_ATTRIBUTE2 IS NULL ))
280 And ( Recinfo.ATTRIBUTE3 = l_ATTRIBUTE3
281 OR ( Recinfo.ATTRIBUTE3 IS NULL AND
282 l_ATTRIBUTE3 IS NULL ))
283 And ( Recinfo.ATTRIBUTE4 = l_ATTRIBUTE4
284 OR ( Recinfo.ATTRIBUTE4 IS NULL AND
285 l_ATTRIBUTE4 IS NULL ))
286 And ( Recinfo.ATTRIBUTE5 = l_ATTRIBUTE5
287 OR ( Recinfo.ATTRIBUTE5 IS NULL AND
288 l_ATTRIBUTE5 IS NULL ))
289 And ( Recinfo.ATTRIBUTE6 = l_ATTRIBUTE6
290 OR ( Recinfo.ATTRIBUTE6 IS NULL AND
291 l_ATTRIBUTE6 IS NULL ))
292 And ( Recinfo.ATTRIBUTE7 = l_ATTRIBUTE7
293 OR ( Recinfo.ATTRIBUTE7 IS NULL AND
294 l_ATTRIBUTE7 IS NULL ))
295 And ( Recinfo.ATTRIBUTE8 = l_ATTRIBUTE8
296 OR ( Recinfo.ATTRIBUTE8 IS NULL AND
297 l_ATTRIBUTE8 IS NULL ))
298 And ( Recinfo.ATTRIBUTE9 = l_ATTRIBUTE9
299 OR ( Recinfo.ATTRIBUTE9 IS NULL AND
300 l_ATTRIBUTE9 IS NULL ))
301 And ( Recinfo.ATTRIBUTE10 = l_ATTRIBUTE10
302 OR ( Recinfo.ATTRIBUTE10 IS NULL AND
303 l_ATTRIBUTE10 IS NULL ))
304 And ( Recinfo.ATTRIBUTE11 = l_ATTRIBUTE11
305 OR ( Recinfo.ATTRIBUTE11 IS NULL AND
306 l_ATTRIBUTE11 IS NULL ))
307 And ( Recinfo.ATTRIBUTE12 = l_ATTRIBUTE12
308 OR ( Recinfo.ATTRIBUTE12 IS NULL AND
309 l_ATTRIBUTE12 IS NULL ))
310 And ( Recinfo.ATTRIBUTE13 = l_ATTRIBUTE13
311 OR ( Recinfo.ATTRIBUTE13 IS NULL AND
312 l_ATTRIBUTE13 IS NULL ))
313 And ( Recinfo.ATTRIBUTE14 = l_ATTRIBUTE14
314 OR ( Recinfo.ATTRIBUTE14 IS NULL AND
315 l_ATTRIBUTE14 IS NULL ))
316 And ( Recinfo.ATTRIBUTE15 = l_ATTRIBUTE15
317 OR ( Recinfo.ATTRIBUTE15 IS NULL AND
318 l_ATTRIBUTE15 IS NULL ))
319 And ( Recinfo.Context = l_Context
320 OR ( Recinfo.Context IS NULL AND
321 l_Context IS NULL ))
322 ) Then
323 Return;
324 Else
325 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
326 APP_EXCEPTION.RAISE_EXCEPTION;
327 End If;
328 End Lock_Allocation_Set ;
329
330 Procedure Delete_Allocation_Set(
331 l_allocation_set_id IN NUMBER
332 ) Is
333 Begin
334 --delete batches
335 DELETE From GL_AUTO_ALLOC_BATCHES
336 Where Allocation_Set_Id = l_allocation_set_id;
337 --Now delete set
338 DELETE From GL_AUTO_ALLOC_SETS
339 Where Allocation_Set_Id = l_allocation_set_id;
340
341 If (SQL%NOTFOUND) then
342 Raise NO_DATA_FOUND;
343 End If;
344
345 End Delete_Allocation_Set;
346
347
348 -- Procedure
349 -- Get_Batch_Content
350 -- Purpose
351 -- Get summary level batch type and balance type info
352
353 PROCEDURE Get_Set_Content(
354 X_Allocation_Set_Id NUMBER,
355 X_Contain_Actual IN OUT NOCOPY BOOLEAN,
356 X_Contain_Budget IN OUT NOCOPY BOOLEAN,
357 X_Contain_Encumbrance IN OUT NOCOPY BOOLEAN,
358 X_Contain_Recurring IN OUT NOCOPY BOOLEAN,
359 X_Contain_Project IN OUT NOCOPY BOOLEAN,
360 X_Batch_Count IN OUT NOCOPY NUMBER
361 ) IS
362
363 v_batch_type VARCHAR2(1);
364
365 CURSOR get_type IS
366 SELECT batch_type_code
367 FROM gl_auto_alloc_batches
368 WHERE allocation_set_id = X_Allocation_Set_Id;
369 BEGIN
370 X_Contain_Actual := FALSE;
371 X_Contain_Budget := FALSE;
372 X_Contain_Encumbrance := FALSE;
373 X_Contain_Recurring := FALSE;
374 X_Contain_Project := FALSE;
375 X_Batch_Count := 0;
376
377 OPEN get_type;
378
379 LOOP
380 FETCH get_type INTO v_batch_type;
381 EXIT WHEN get_type%NOTFOUND;
382
383 IF (v_batch_type = 'A') THEN
384 X_Contain_Actual := TRUE;
385 ELSIF (v_batch_type = 'B') THEN
386 X_Contain_Budget := TRUE;
387 ELSIF (v_batch_type = 'E') THEN
388 X_Contain_Encumbrance := TRUE;
389 ELSIF (v_batch_type = 'R') THEN
390 --X_Contain_Actual := TRUE;
391 X_Contain_Recurring := TRUE;
392 ELSIF (v_batch_type = 'P') THEN
393 X_Contain_Project := TRUE;
394 END IF;
395
396 X_Batch_Count := X_Batch_Count + 1;
397 END LOOP;
398 CLOSE get_type;
399
400 END Get_Set_Content;
401
402 PROCEDURE Get_SetHistory_Content(
403 X_Request_Id IN NUMBER,
404 X_Contain_Actual IN OUT NOCOPY BOOLEAN,
405 X_Contain_Budget IN OUT NOCOPY BOOLEAN,
406 X_Contain_Encumbrance IN OUT NOCOPY BOOLEAN,
407 X_Contain_Recurring IN OUT NOCOPY BOOLEAN,
408 X_Contain_Project IN OUT NOCOPY BOOLEAN,
409 X_Batch_Count IN OUT NOCOPY NUMBER
410 ) IS
411
412 v_batch_type VARCHAR2(1);
413
414 CURSOR get_type IS
415 SELECT batch_type_code
416 FROM gl_auto_alloc_batch_history
420 X_Contain_Budget := FALSE;
417 WHERE Request_Id = X_Request_Id;
418 BEGIN
419 X_Contain_Actual := FALSE;
421 X_Contain_Encumbrance := FALSE;
422 X_Contain_Recurring := FALSE;
423 X_Contain_Project := FALSE;
424 X_Batch_Count := 0;
425
426 OPEN get_type;
427
428 LOOP
429 FETCH get_type INTO v_batch_type;
430 EXIT WHEN get_type%NOTFOUND;
431
432 IF (v_batch_type = 'A') THEN
433 X_Contain_Actual := TRUE;
434 ELSIF (v_batch_type = 'B') THEN
435 X_Contain_Budget := TRUE;
436 ELSIF (v_batch_type = 'E') THEN
437 X_Contain_Encumbrance := TRUE;
438 ELSIF (v_batch_type = 'R') THEN
439 X_Contain_Actual := TRUE;
440 X_Contain_Recurring := TRUE;
441 ELSIF (v_batch_type = 'P') THEN
442 X_Contain_Project := TRUE;
443 END IF;
444
445 X_Batch_Count := X_Batch_Count + 1;
446 END LOOP;
447 CLOSE get_type;
448
449 END Get_SetHistory_Content;
450
451
452 FUNCTION set_random_ledger_id(X_Mode IN VARCHAR2,
453 X_Batch_Id IN NUMBER,
454 X_Ledger_Id IN NUMBER) RETURN NUMBER IS
455 CURSOR random_batch IS
456 SELECT batch_id,batch_type_code
457 FROM gl_auto_alloc_batches
458 WHERE allocation_set_id = x_batch_id
459 ORDER BY (decode(batch_type_code, 'A', 1, 'R', 2, 'E', 3, 'P',4));
460
461 CURSOR rje_ledger(random_bid number) IS
462 SELECT ledger_id
463 FROM gl_recurring_headers
464 WHERE recurring_batch_id = random_bid;
465
466
467 CURSOR ma_ledger (random_bid number) IS
468 SELECT lgr.ledger_id
469 FROM gl_alloc_formulas af,
470 gl_alloc_formula_lines afl,
471 gl_ledger_set_assignments lsa,
472 gl_ledgers lgr
473 WHERE af.allocation_batch_id = random_bid
474 AND afl.allocation_formula_id = af.allocation_formula_id
475 AND afl.line_number IN (4, 5)
476 AND lsa.ledger_set_id (+) = nvl(afl.ledger_id, x_ledger_id)
477 AND sysdate BETWEEN
478 nvl(trunc(lsa.start_date), sysdate - 1)
479 AND nvl(trunc(lsa.end_date), sysdate + 1)
480 AND lgr.ledger_id = nvl(lsa.ledger_id,
481 nvl(afl.ledger_id, x_ledger_id))
482 AND lgr.object_type_code = 'L';
483
484 CURSOR mb_ledger (random_bid number)IS
485 SELECT lgr.ledger_id
486 FROM gl_alloc_formulas af,
487 gl_alloc_formula_lines afl,
488 gl_ledger_set_assignments lsa,
489 gl_ledgers lgr
490 WHERE af.allocation_batch_id = random_bid
491 AND afl.allocation_formula_id = af.allocation_formula_id
492 AND afl.line_number IN (4, 5)
493 AND lsa.ledger_set_id (+) = afl.ledger_id
494 AND sysdate BETWEEN
495 nvl(trunc(lsa.start_date), sysdate - 1)
496 AND nvl(trunc(lsa.end_date), sysdate + 1)
497 AND lgr.ledger_id = nvl(lsa.ledger_id, afl.ledger_id)
498 AND lgr.object_type_code = 'L';
499
500 random_id NUMBER;
501 random_bid NUMBER;
502 random_btype VARCHAR2(1);
503 BEGIN
504
505 IF (x_mode = 'AUTOSET') THEN
506
507 OPEN random_batch;
508 FETCH random_batch into random_bid, random_btype;
509 CLOSE random_batch;
510
511 IF(random_btype = 'R') THEN
512 OPEN rje_ledger(random_bid);
513 FETCH rje_ledger INTO random_id;
514 CLOSE rje_ledger;
515 ELSIF (random_btype = 'B') THEN
516 OPEN mb_ledger(random_bid);
517 FETCH mb_ledger INTO random_id;
518 CLOSE mb_ledger;
519 ELSIF (random_btype = 'A' or random_btype = 'E') THEN
520 OPEN ma_ledger(random_bid);
521 FETCH ma_ledger INTO random_id;
522 CLOSE ma_ledger;
523 END IF;
524
525 ELSIF (x_mode = 'ALLOC') THEN
526
527 random_bid := x_batch_id;
528 OPEN ma_ledger(random_bid);
529 FETCH ma_ledger INTO random_id;
533
530 CLOSE ma_ledger;
531
532 ELSIF (x_mode = 'RECUR' or x_mode = 'RECUR_BUDGET') THEN
534 random_bid := x_batch_id;
535 OPEN rje_ledger(random_bid);
536 FETCH rje_ledger INTO random_id;
537 CLOSE rje_ledger;
538
539 ELSIF (x_mode = 'ALLOC_BUDGET') THEN
540
541 random_bid := x_batch_id;
542 OPEN mb_ledger(random_bid);
543 FETCH mb_ledger INTO random_id;
544 CLOSE mb_ledger;
545
546 ELSE
547
548 random_id := -1;
549
550 END IF;
551
552 RETURN random_id;
553 END set_random_ledger_id;
554
555 FUNCTION Get_Alloc_Set_Name(X_Mode IN VARCHAR,
556 X_Alloc_Set_Id IN NUMBER) RETURN VARCHAR IS
557
558 CURSOR get_set_name IS
559 SELECT allocation_set_name
560 FROM gl_auto_alloc_sets
561 WHERE allocation_set_id = X_Alloc_Set_Id;
562
563 CURSOR get_alloc_name IS
564 SELECT name
565 FROM gl_alloc_batches
566 WHERE allocation_batch_id = X_Alloc_Set_Id;
567
568 CURSOR get_rje_name IS
569 SELECT name
570 FROM gl_recurring_batches
571 WHERE recurring_batch_id = X_Alloc_Set_Id;
572
573 v_name VARCHAR2(40);
574 BEGIN
575 IF (X_mode = 'AUTOSET') THEN
576 OPEN get_set_name;
577 FETCH get_set_name INTO v_name;
578 IF get_set_name%FOUND THEN
579 CLOSE get_set_name;
580 return(v_name);
581 ELSE
582 CLOSE get_set_name;
583 return(null);
584 END IF;
585 ELSIF (X_mode = 'ALLOC' OR X_mode = 'ALLOC_BUDGET') THEN
586 OPEN get_alloc_name;
587 FETCH get_alloc_name INTO v_name;
588 IF get_alloc_name%FOUND THEN
589 CLOSE get_alloc_name;
590 return(v_name);
591 ELSE
592 CLOSE get_alloc_name;
593 return(null);
594 END IF;
595 ELSIF (X_mode = 'RECUR'OR X_Mode = 'RECUR_BUDGET') THEN
596 OPEN get_rje_name;
597 FETCH get_rje_name INTO v_name;
598 IF get_rje_name%FOUND THEN
599 CLOSE get_rje_name;
600 return(v_name);
601 ELSE
602 CLOSE get_rje_name;
603 return(null);
604 END IF;
605 ELSE
606 return(null);
607
608 END IF;
609
610 EXCEPTION
611 WHEN app_exceptions.application_exception THEN
612 RAISE;
613 WHEN OTHERS THEN
614 fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
615 fnd_message.set_token('PROCEDURE',
616 'gl_auto_alloc_set_pkg.get_alloc_set_name');
617 RAISE;
618 END Get_Alloc_Set_Name;
619
620 END gl_auto_alloc_set_pkg;