[Home] [Help]
PACKAGE BODY: APPS.HZ_MO_GLOBAL_CACHE
Source
1 PACKAGE BODY HZ_MO_GLOBAL_CACHE as
2 /*$Header: ARHMOGCB.pls 120.8 2006/04/17 22:54:56 dmmehta noship $ */
3
4 ---------------------------------------------
5 -- declaration of private global variables.
6 ---------------------------------------------
7
8 TYPE G_Cache_Type IS TABLE OF HZ_MO_GLOBAL_CACHE.GlobalsRecord
9 INDEX BY BINARY_INTEGER;
10
11 G_Cache G_Cache_Type;
12
13 G_Cust_Gen_Cache HZ_MO_GLOBAL_CACHE.cust_num_gen_rec;
14
15 --logging related
16 MOD_PKG VARCHAR2(30) := 'hz.plsql.HZ_MO_GLOBAL_CACHE';
17 MOD_validate_orgid_pub_api VARCHAR2(50) := MOD_PKG || '.validate_orgid_pub_api';
18
19
20 --------------------------------------
21 -- declaration of private procedures and functions
22 --------------------------------------
23
24 PROCEDURE populate;
25
26 --------------------------------------
27 -- private procedures and functions
28 --------------------------------------
29 /**==========================================================================+
30 | PROCEDURE populate
31 |
32 | DESCRIPTION
33 | This procedure retrieves operating unit attributes from the database
34 | and stores them in the cache.
35 |
36 | SCOPE - PRIVATE
37 |
38 | EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
39 |
40 | ARGUMENTS
41 | IN:
42 | IN/OUT:
43 | OUT:
44 |
45 | RETURNS : NONE
46 |
47 | NOTES
48 |
49 | MODIFICATION HISTORY
50 |
51 | 12-MAY-2005 Rajib Ranjan Borah o TCA SSA Uptake (Bug 3456489) Created.
52 |
53 +==========================================================================**/
54
55 PROCEDURE populate
56 IS
57 i PLS_INTEGER;
58 l_gt HZ_MO_GLOBAL_CACHE.GlobalsTable;
59 BEGIN
60 G_Cache.DELETE;
61 retrieve_globals(l_gt);
62
63 IF (l_gt.org_id_t.COUNT > 0) THEN
64 FOR i IN 1..l_gt.org_id_t.LAST LOOP
65 G_Cache(l_gt.org_id_t(i)).auto_site_numbering :=
66 l_gt.auto_site_numbering_t(i);
67 G_Cache(l_gt.org_id_t(i)).default_country :=
68 l_gt.default_country_t(i);
69 G_Cache(l_gt.org_id_t(i)).chart_of_accounts_id :=
70 l_gt.chart_of_accounts_id_t(i);
71 G_Cache(l_gt.org_id_t(i)).set_of_books_id :=
72 l_gt.set_of_books_id_t(i);
73 G_Cache(l_gt.org_id_t(i)).location_structure_id :=
74 l_gt.location_structure_id_t(i);
75 G_Cache(l_gt.org_id_t(i)).tax_method :=
76 l_gt.tax_method_t(i);
77 G_Cache(l_gt.org_id_t(i)).Address_val:=
78 l_gt.address_val_t(i);
79 -- Bug 5002547 : Added create_reciprocal_flag
80 G_Cache(l_gt.org_id_t(i)).reciprocal_flag:=
81 l_gt.reciprocal_flag_t(i);
82 END LOOP;
83 END IF;
84 END populate;
85
86
87 --------------------------------------
88 -- public procedures and functions
89 --------------------------------------
90
91 /**
92 * PROCEDURE retrieve_globals
93 *
94 * DESCRIPTION
95 * This procedure retrieves operating unit attributes from the database
96 * and stores them into the specified data structure.
97 *
98 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
99 *
100 * ARGUMENTS
101 * IN:
102 * IN/OUT:
103 * OUT:
104 * p_globals The global variables from AR System
105 * parameters used in TCA.
106 *
107 * NOTES
108 *
109 * MODIFICATION HISTORY
110 *
111 * 12-MAY-2005 Rajib Ranjan Borah o TCA SSA Uptake (Bug 3456489) Created.
112 *
113 */
114
115 PROCEDURE retrieve_globals(
116 p_globals OUT NOCOPY GlobalsTable
117 ) IS
118
119 BEGIN
120 SELECT asp.org_id,
121 asp.auto_site_numbering,
122 asp.default_country,
123 gl.chart_of_accounts_id,
124 gl.set_of_books_id,
125 asp.location_structure_id,
126 asp.tax_method,
127 asp.address_validation,
128 -- Bug 5002547 : Added create_reciprocal_flag
129 nvl(asp.create_reciprocal_flag, 'N')
130 BULK COLLECT
131 INTO p_globals.org_id_t,
132 p_globals.auto_site_numbering_t,
133 p_globals.default_country_t,
134 p_globals.chart_of_accounts_id_t,
135 p_globals.set_of_books_id_t,
136 p_globals.location_structure_id_t,
137 p_globals.tax_method_t,
138 p_globals.address_val_t,
139 -- Bug 5002547 : Added create_reciprocal_flag
140 p_globals.reciprocal_flag_t
141 FROM gl_sets_of_books gl,
142 ar_system_parameters asp
143 WHERE gl.set_of_books_id = asp.set_of_books_id;
144
145 END retrieve_globals;
146
147
148 /**
149 * FUNCTION get_org_attributes
150 *
151 * DESCRIPTION
152 * Checks whether the specified org exists in the cache and returns the
153 * attributes if the org exists.
154 *
155 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
156 *
157 * ARGUMENTS
158 * IN:
159 * p_org_id_in Organization ID
160 *
161 * IN/OUT:
162 * OUT:
163 *
164 * RETURNS:
165 * GlobalsRecord Attributes corresponding to the Org.
166 *
167 * NOTES
168 *
169 * MODIFICATION HISTORY
170 *
171 * 12-MAY-2005 Rajib Ranjan Borah o TCA SSA Uptake (Bug 3456489) Created.
172 */
173
174 FUNCTION get_org_attributes (
175 p_org_id IN NUMBER
176 )
177 RETURN hz_mo_global_cache.GlobalsRecord
178 IS
179 BEGIN
180 IF G_Cache.exists(p_org_id) THEN
181 Return(G_Cache(p_org_id));
182 ELSE
183 Populate();
184 IF G_Cache.exists(p_org_id) THEN
185 Return(G_Cache(p_org_id));
186 ELSE
187 RAISE NO_DATA_FOUND;
188 END IF;
189 END IF;
190 EXCEPTION
191 WHEN NO_DATA_FOUND THEN
192 FND_MESSAGE.SET_NAME('AR',
193 'AR_NO_ROW_IN_SYSTEM_PARAMETERS');
194 FND_MSG_PUB.ADD;
195 RAISE;
196 END get_org_attributes;
197
198 /**
199 * FUNCTION get_auto_site_numbering
200 *
201 * DESCRIPTION
202 * Returns the Site Number Generation Setting for the org.
203 *
204 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
205 *
206 * ARGUMENTS
207 * IN:
208 * p_org_id_in Organization ID
209 *
210 * IN/OUT:
211 * OUT:
212 *
213 * RETURNS:
214 * Auto_Site_Numbering Auto_site_numbering setting for the Org.
215 *
216 * NOTES
217 *
218 * MODIFICATION HISTORY
219 *
220 * 12-MAY-2005 Rajib Ranjan Borah o TCA SSA Uptake (Bug 3456489) Created.
221 */
222
223 FUNCTION get_auto_site_numbering(
224 p_org_id IN NUMBER
225 )
226 RETURN varchar2
227 IS
228 L_Param_Rec HZ_MO_GLOBAL_CACHE.GlobalsRecord;
229
230 BEGIN
231 L_Param_Rec := Get_Org_Attributes(p_org_id);
232 RETURN L_Param_Rec.auto_site_numbering;
233 END get_auto_site_numbering;
234
235 /**
236 * FUNCTION get_default_country
237 *
238 * DESCRIPTION
239 * Returns the default country for the org.
240 *
241 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
242 *
243 * ARGUMENTS
244 * IN:
245 * p_org_id_in Organization ID
246 *
247 * IN/OUT:
248 * OUT:
249 *
250 * RETURNS:
251 * Country_code Default Country for the Org.
252 *
253 * NOTES
254 *
255 * MODIFICATION HISTORY
256 *
257 * 12-MAY-2005 Rajib Ranjan Borah o TCA SSA Uptake (Bug 3456489) Created.
258 */
259
260 FUNCTION get_default_country (
261 p_org_id IN NUMBER
262 )
263 RETURN varchar2
264 IS
265 L_Param_Rec HZ_MO_GLOBAL_CACHE.GlobalsRecord;
266
267 BEGIN
268 L_Param_Rec := get_Org_Attributes(p_org_id);
269 RETURN L_Param_Rec.Default_country;
270 END get_default_country;
271
272 FUNCTION get_location_structure_id(
273 p_org_id IN NUMBER
274 )
275 RETURN number
276 IS
277 L_Param_Rec HZ_MO_GLOBAL_CACHE.GlobalsRecord;
278 BEGIN
279 L_Param_Rec := get_Org_Attributes(p_org_id);
280 RETURN L_Param_Rec.Location_structure_ID;
281 END;
282 FUNCTION get_tax_method(
283 p_org_id IN NUMBER
284 )
285 RETURN varchar2
286 IS
287 L_Param_Rec HZ_MO_GLOBAL_CACHE.GlobalsRecord;
288 BEGIN
289 L_Param_Rec := get_Org_Attributes(p_org_id);
290 RETURN L_Param_Rec.Tax_method;
291 END;
292
293 /**
294 * FUNCTION get_chart_of_accounts_id
295 *
296 * DESCRIPTION
297 * Returns the chart of accounts ID for the org.
298 *
299 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
300 *
301 * ARGUMENTS
302 * IN:
303 * p_org_id_in Organization ID
304 *
305 * IN/OUT:
306 * OUT:
307 *
308 * RETURNS:
309 * Chart_of_Accounts_ID Chart of Accounts ID for the Org.
310 *
311 * NOTES
312 *
313 * MODIFICATION HISTORY
314 *
315 * 12-MAY-2005 Rajib Ranjan Borah o TCA SSA Uptake (Bug 3456489) Created.
316 */
317
318 FUNCTION get_chart_of_accounts_id(
319 p_org_id IN NUMBER
320 )
321 RETURN number
322 IS
323 L_Param_Rec HZ_MO_GLOBAL_CACHE.GlobalsRecord;
324
325 BEGIN
326 L_Param_Rec := get_Org_Attributes(p_org_id);
327 RETURN L_Param_Rec.chart_of_accounts_id;
328 END get_chart_of_accounts_id;
329
330 /**
331 * FUNCTION get_set_of_books_id
332 *
333 * DESCRIPTION
334 * Returns the Set of Books ID for the org.
335 *
336 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
337 *
338 * ARGUMENTS
339 * IN:
340 * p_org_id_in Organization ID
341 *
342 * IN/OUT:
343 * OUT:
344 *
345 * RETURNS:
346 * Set_of_Books_ID Set of Books ID for the Org.
347 *
348 * NOTES
349 *
350 * MODIFICATION HISTORY
351 *
352 * 12-MAY-2005 Rajib Ranjan Borah o TCA SSA Uptake (Bug 3456489) Created.
353 */
354
355 FUNCTION get_set_of_books_id (
356 p_org_id IN NUMBER
357 )
358 RETURN number
359 IS
360 L_Param_Rec HZ_MO_GLOBAL_CACHE.GlobalsRecord;
361
362 BEGIN
363 L_Param_Rec := get_Org_Attributes(p_org_id);
364 RETURN L_Param_Rec.set_of_books_id;
365 END get_set_of_books_id;
366
367 /**
368 * PROCEDURE populate_non_org
369 *
370 * DESCRIPTION
371 * Populates cache from AR System Parameters for non org
372 * entity related columns
373 *
374 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
375 *
376 * ARGUMENTS
377 * IN:
378 * p_org_id_in Organization ID
379 *
380 * IN/OUT:
381 * OUT:
382 *
383 *
384 * NOTES
385 *
386 * MODIFICATION HISTORY
387 *
388 * 17-APR-2006 Dhaval Mehta o Bug 5107334 : Created
389 */
390
391 PROCEDURE populate_non_org (
392 p_org_id IN NUMBER ) IS
393
394 l_autocash NUMBER;
395 l_grouping NUMBER;
396 l_cust VARCHAR2(1);
397
398 BEGIN
399 IF p_org_id = G_Cust_Gen_Cache.default_org THEN
400 RETURN;
401 ELSE
402 SELECT generate_customer_number,
403 autocash_hierarchy_id,
404 default_grouping_rule_id
405 INTO l_cust, l_autocash, l_grouping
406 FROM AR_SYSTEM_PARAMETERS_ALL
407 WHERE org_id = p_org_id;
408
409 G_Cust_Gen_Cache.default_org := p_org_id;
410 G_Cust_Gen_Cache.generate_customer_number := l_cust;
411 G_Cust_Gen_Cache.autocash_hierarchy_id := l_autocash;
412 G_Cust_Gen_Cache.default_grouping_rule_id := l_grouping;
413 END IF;
414
415 EXCEPTION
416 WHEN NO_DATA_FOUND THEN
417 FND_MESSAGE.SET_NAME('AR',
418 'AR_NO_ROW_IN_SYSTEM_PARAMETERS');
419 FND_MSG_PUB.ADD;
420 RAISE;
421
422 END populate_non_org;
423
424 /**
425 * FUNCTION get_generate_customer_number
426 *
427 * DESCRIPTION
428 * Returns the Customer Number Generation Setting for the org.
429 *
430 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
431 *
432 * ARGUMENTS
433 * IN:
434 * p_org_id_in Organization ID
435 *
436 * IN/OUT:
437 * OUT:
438 *
439 * RETURNS:
440 * Customer_Number_Generate Customer Number generate setting for
441 * the Org.
442 *
443 * NOTES
444 *
445 * MODIFICATION HISTORY
446 *
447 * 12-MAY-2005 Rajib Ranjan Borah o TCA SSA Uptake (Bug 3456489) Created.
448 * 24-MAR-2006 Dhaval Mehta o Bug 5107334 : generate_customer_number
449 * is non org strip parameter. So, get
450 * the current org_id, if its null get
451 * default org_id. Query the AR
452 * parameter table and return the
453 * value. If org_id is NULL, return a
454 * new value 'D'. This means that we do
455 * not validate account_number column.
456 * User can enter any value if wish to.
457 * If no value is entered, it will be
458 * auto generated.
459 */
460
461 FUNCTION get_generate_customer_number
462 RETURN varchar2
463 IS
464 L_org_id Number;
465 L_Value Varchar2(1);
466 --
467 BEGIN
468 BEGIN
469 -- Bug 5107334 : get current org_id, if NULL, get default org_id
470 L_org_id := nvl(mo_global.get_current_org_id, mo_utils.get_default_org_id);
471 EXCEPTION
472 WHEN OTHERS
473 THEN
474 RAISE FND_API.G_EXC_ERROR;
475 END;
476
477 IF L_org_id IS NULL THEN
478 -- Bug 5107334 : Return new status 'D' if no org_id is derived
479 -- Don't put any warning message that can cause confustion
480 RETURN 'D';
481 ELSE
482 IF (L_org_id = G_Cust_Gen_Cache.default_org) THEN
483 RETURN G_Cust_Gen_Cache.generate_customer_number;
484 ELSE
485 populate_non_org(L_org_id);
486 RETURN G_Cust_Gen_Cache.generate_customer_number;
487 END IF;
488 END IF;
489
490 EXCEPTION
491 WHEN NO_DATA_FOUND THEN
492 FND_MESSAGE.SET_NAME('AR',
493 'AR_NO_ROW_IN_SYSTEM_PARAMETERS');
494 FND_MSG_PUB.ADD;
495 RAISE;
496
497 END get_generate_customer_number;
498 /**
499 * FUNCTION get_address_validation
500 *
501 * DESCRIPTION
502 * Returns the error or warning to be issued during the failure of
503 * address validation.
504 *
505 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
506 *
507 * ARGUMENTS
508 * IN:
509 * IN/OUT:
510 * OUT:
511 *
512 * RETURNS:
513 *
514 * NOTES
515 *
516 * MODIFICATION HISTORY
517 *
518 * 24-JUN-2005 Kalyan o TCA SSA Uptake (Bug 4454799). Created.
519 */
520
521 FUNCTION get_address_validation( p_org_id IN NUMBER )
522 RETURN varchar2
523 IS
524 L_Param_Rec HZ_MO_GLOBAL_CACHE.GlobalsRecord;
525 BEGIN
526 L_Param_Rec := get_org_Attributes(p_org_id);
527 RETURN L_Param_Rec.Address_Val;
528
529 END get_address_validation ;
530
531
532 /**
533 * PROCEDURE validate_orgid_pub_api
534 *
535 * DESCRIPTION
536 * Wrapper around MO_GLOBAL.validate_orgid_pub_api
537 * Extra functionality -
538 * IF passed ORG_ID is null
539 * + no default org_id based on profile was found by MO_GLOBAL
540 * {
541 * IF security settings allow user access to set of OUs
542 * RETURN one OU from that set and set STATUS = 'R' (random)
543 * ELSE
544 * Allow default behavior. Bubble up MO_GLOBAL raised exception
545 * }
546 *
547 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
548 *
549 * ARGUMENTS
550 * IN:
551 * ERROR_MESG_SUPPR IN VARCHAR2 DEFAULT 'N'
552 * IN/OUT:
553 * ORG_ID IN OUT NOCOPY NUMBER
554 * OUT:
555 * STATUS OUT NOCOPY VARCHAR2
556 *
557 * RETURNS:
558 *
559 * NOTES !!DONT USE WITHOUT DISCUSSING WITH TCA DEVELOPMENT!!
560 *
561 * MODIFICATION HISTORY
562 *
563 * 24-MAR-2006 Vivek Nama Bug 5107334 Created
564 * 30-MAR-2006 Vivek Nama Bug 5124700 Modified query to use ar_system_parameters
565 */
566 PROCEDURE validate_orgid_pub_api(
567 ORG_ID IN OUT NOCOPY NUMBER,
568 ERROR_MESG_SUPPR IN VARCHAR2 DEFAULT 'N',
569 STATUS OUT NOCOPY VARCHAR2)
570 IS
571
572 l_org_id Number;
573 l_org_name hr_operating_units.name%TYPE;
574
575 BEGIN
576
577 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
578 FND_LOG.string(FND_LOG.LEVEL_PROCEDURE,MOD_validate_orgid_pub_api,'ENTER');
579 END IF;
580
581 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
582 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'ORG_ID='||ORG_ID);
583 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'ERROR_MESG_SUPPR='||ERROR_MESG_SUPPR);
584 END IF;
585
586 --call mo_global api
587 MO_GLOBAL.validate_orgid_pub_api(
588 ORG_ID,
589 ERROR_MESG_SUPPR,
590 STATUS);
591
592 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
593 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'successfully executed MO_GLOBAL.validate_orgid_pub_api()');
594 END IF;
595
596
597 --process output
598 --note there is similar handling in exception block of this api to handle case ERROR_MESG_SUPPR <> "N'
599 IF STATUS = 'F'
600 AND ORG_ID is null THEN
601
602 BEGIN
603
604 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
605 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'case: ORG_ID is null');
606 END IF;
607
608 --try to pick first org that user has access to
609 SELECT
610 hr.organization_id,
611 hr.name
612 INTO
613 l_org_id,
614 l_org_name
615 FROM
616 hr_operating_units hr,
617 ar_system_parameters s
618 WHERE
619 mo_global.check_access(hr.organization_id) = 'Y'
620 AND hr.organization_id = s.org_id
621 AND s.set_of_books_id > 0
622 AND rownum < 2;
623
624 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
625 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'l_org_id='||l_org_id);
626 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'l_org_name='||l_org_name);
627 END IF;
628
629 IF l_org_id is not null THEN
630 ORG_ID := l_org_id;
631 STATUS := 'R';
632 END IF;
633
634 EXCEPTION
635 WHEN no_data_found THEN
636
637 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
638 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'caught exception no_data_found in sql=SELECT hr.organization_id,hr.name FROM hr_operating_units hr WHERE mo_global.check_access(hr.organization_id) = "Y" AND rownum < 2');
639 END IF;
640
641 --if an org is still not available let default behavior persist
642
643 END;
644
645 END IF;
646
647
648
649 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
650 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'ORG_ID='||ORG_ID);
651 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'STATUS='||STATUS);
652 END IF;
653
654 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
655 FND_LOG.string(FND_LOG.LEVEL_PROCEDURE,MOD_validate_orgid_pub_api,'EXIT');
656 END IF;
657
658 RETURN;
659
660
661 EXCEPTION
662
663 WHEN others THEN
664
665 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
666 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'caught exception in MO_GLOBAL.validate_orgid_pub_api()');
667 END IF;
668
669 --note there is similar handling in main block of this api to handle case ERROR_MESG_SUPPR = "N'
670 IF ORG_ID is null THEN
671 BEGIN
672
673 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
674 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'case: ORG_ID is null');
675 END IF;
676
677 --try to pick first org that user has access to
678 SELECT
679 hr.organization_id,
680 hr.name
681 INTO
682 l_org_id,
683 l_org_name
684 FROM
685 hr_operating_units hr,
686 ar_system_parameters s
687 WHERE
688 mo_global.check_access(hr.organization_id) = 'Y'
689 AND hr.organization_id = s.org_id
690 AND s.set_of_books_id > 0
691 AND rownum < 2;
692
693 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
694 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'l_org_id='||l_org_id);
695 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'l_org_name='||l_org_name);
696 END IF;
697
698 IF l_org_id is null THEN
699
700 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
701 FND_LOG.string(FND_LOG.LEVEL_PROCEDURE,MOD_validate_orgid_pub_api,'ERROR: raising APP_EXCEPTION.RAISE_EXCEPTION');
702 END IF;
703
704 APP_EXCEPTION.RAISE_EXCEPTION;
705
706 ELSE
707
708 ORG_ID := l_org_id;
709 STATUS := 'R';
710
711 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
712 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'ORG_ID='||ORG_ID);
713 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'STATUS='||STATUS);
714 END IF;
715
716 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
717 FND_LOG.string(FND_LOG.LEVEL_PROCEDURE,MOD_validate_orgid_pub_api,'EXIT');
718 END IF;
719
720 RETURN;
721
722 END IF;
723
724 EXCEPTION
725 WHEN no_data_found THEN
726
727 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
728 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'caught exception no_data_found in sql=SELECT hr.organization_id,hr.name FROM hr_operating_units hr WHERE mo_global.check_access(hr.organization_id) = "Y" AND rownum < 2');
729 END IF;
730
731 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
732 FND_LOG.string(FND_LOG.LEVEL_PROCEDURE,MOD_validate_orgid_pub_api,'ERROR: raising APP_EXCEPTION.RAISE_EXCEPTION');
733 END IF;
734
735 --if an org is still not available let default behavior persist
736 APP_EXCEPTION.RAISE_EXCEPTION;
737 END;
738
739 ELSE
740 --IF ORG_ID is not null
741 --let default behavior persist
742
743
744 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
745 FND_LOG.string(FND_LOG.LEVEL_STATEMENT,MOD_validate_orgid_pub_api,'case: ORG_ID is not null');
746 END IF;
747
748 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
749 FND_LOG.string(FND_LOG.LEVEL_PROCEDURE,MOD_validate_orgid_pub_api,'ERROR: raising APP_EXCEPTION.RAISE_EXCEPTION');
750 END IF;
751
752 APP_EXCEPTION.RAISE_EXCEPTION;
753 END IF;
754
755 END validate_orgid_pub_api;
756
757
758 /**
759 * FUNCTION get_create_reciprocal_flag
760 *
761 * DESCRIPTION
762 * Returns the Reciprocal Flag setting for the org
763 *
764 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
765 *
766 * ARGUMENTS
767 * IN:
768 * p_org_id_in Organization ID
769 *
770 * IN/OUT:
771 * OUT:
772 *
773 * RETURNS:
774 * Create Reciprocal Flag setting for the org
775 *
776 * NOTES
777 *
778 * MODIFICATION HISTORY
779 *
780 * 13-MAR-2006 Dhaval Mehta Bug 5002547 : Added
781 */
782
783 FUNCTION get_create_reciprocal_flag (
784 p_org_id IN NUMBER
785 )
786 RETURN varchar2
787 IS
788 L_Param_Rec HZ_MO_GLOBAL_CACHE.GlobalsRecord;
789
790 BEGIN
791 L_Param_Rec := get_Org_Attributes(p_org_id);
792 RETURN L_Param_Rec.reciprocal_flag;
793 END get_create_reciprocal_flag;
794
795
796 /**
797 * FUNCTION get_autocash_hierarchy_id
798 *
799 * DESCRIPTION
800 * Returns the the Autocash Rule setting for the org
801 *
802 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
803 *
804 * ARGUMENTS
805 * IN:
806 * IN/OUT:
807 * OUT:
808 *
809 * RETURNS:
810 * autocash_hierarchy_id Autocash Hierarchy ID setting
811 *
812 * NOTES
813 *
814 * MODIFICATION HISTORY
815 *
816 * 13-MAR-2006 Dhaval Mehta Bug 5002547 : Added
817 */
818
819 FUNCTION get_autocash_hierarchy_id
820 RETURN Number
821 IS
822 L_org_id Number;
823 L_Value Number;
824 l_return_status VARCHAR2(2000);
825 --
826 BEGIN
827 BEGIN
828 L_org_id := nvl(mo_global.get_current_org_id, mo_utils.get_default_org_id);
829 EXCEPTION
830 WHEN OTHERS
831 THEN
832 NULL;
833 END;
834
835 IF L_org_id IS NULL THEN
836 RETURN NULL;
837 ELSE
838 IF (L_org_id = G_Cust_Gen_Cache.default_org) THEN
839 RETURN G_Cust_Gen_Cache.autocash_hierarchy_id;
840 ELSE
841 populate_non_org(L_org_id);
842 RETURN G_Cust_Gen_Cache.autocash_hierarchy_id;
843 END IF;
844 END IF;
845
846 EXCEPTION
847 WHEN NO_DATA_FOUND THEN
848 FND_MESSAGE.SET_NAME('AR',
849 'AR_NO_ROW_IN_SYSTEM_PARAMETERS');
850 FND_MSG_PUB.ADD;
851 RAISE;
852
853 END get_autocash_hierarchy_id;
854 /**
855 * FUNCTION get_default_grouping_rule_id
856 *
857 * DESCRIPTION
858 * Returns the Default Group Rule setting for the org
859 *
860 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
861 *
862 * ARGUMENTS
863 * IN:
864 * IN/OUT:
865 * OUT:
866 *
867 * RETURNS:
868 * default_grouping_rule_id Default Grouping Rule ID setting
869 *
870 * NOTES
871 *
872 * MODIFICATION HISTORY
873 *
874 * 13-MAR-2006 Dhaval Mehta Bug 5002547 : Added
875 */
876
877 FUNCTION get_default_grouping_rule_id
878 RETURN NUMBER
879 IS
880 L_org_id Number;
881 L_Value Number;
882 l_return_status VARCHAR2(2000);
883 --
884 BEGIN
885 BEGIN
886 L_org_id := nvl(mo_global.get_current_org_id, mo_utils.get_default_org_id);
887 EXCEPTION
888 WHEN OTHERS
889 THEN
890 NULL;
891 END;
892
893 IF L_org_id IS NULL THEN
894 RETURN NULL;
895 ELSE
896 IF (L_org_id = G_Cust_Gen_Cache.default_org) THEN
897 RETURN G_Cust_Gen_Cache.default_grouping_rule_id;
898 ELSE
899 populate_non_org(L_org_id);
900 RETURN G_Cust_Gen_Cache.default_grouping_rule_id;
901 END IF;
902 END IF;
903
904 EXCEPTION
905 WHEN NO_DATA_FOUND THEN
906 FND_MESSAGE.SET_NAME('AR',
907 'AR_NO_ROW_IN_SYSTEM_PARAMETERS');
908 FND_MSG_PUB.ADD;
909 RAISE;
910
911 END get_default_grouping_rule_id;
912
913 END HZ_MO_GLOBAL_CACHE;
914