[Home] [Help]
PACKAGE BODY: APPS.HZ_DNBUI_PVT
Source
1 PACKAGE BODY HZ_DNBUI_PVT AS
2 /*$Header: ARHDNBUB.pls 120.11.12010000.2 2009/11/23 09:47:08 vsegu ship $*/
3
4 /*======================================================================
5 | FUNCTION
6 | get_lookup_meaning
7 |
8 | DESCRIPTION
9 |
10 | ARGUMENTS : IN:
11 | p_lookup_type
12 | p_lookup_code
13 | OUT:
14 | IN/OUT:
15 |
16 | RETURNS : NONE
17 |
18 | MODIFICATION HISTORY
19 |
20 +======================================================================*/
21
22 FUNCTION get_lookup_meaning (p_lookup_type IN VARCHAR2,
23 p_lookup_code IN VARCHAR2)
24 RETURN VARCHAR2 IS
25 l_meaning ar_lookups.meaning%TYPE;
26 BEGIN
27
28 SELECT meaning
29 INTO l_meaning
30 FROM ar_lookups
31 WHERE lookup_type = p_lookup_type
32 AND lookup_code = p_lookup_code ;
33 return(l_meaning);
34 EXCEPTION
35 WHEN no_data_found THEN
36 return(null);
37 WHEN OTHERS THEN
38 raise;
39 END;
40
41 /*======================================================================
42 | FUNCTION
43 | get_financial_number
44 |
45 | DESCRIPTION
46 |
47 | ARGUMENTS : IN:
48 | p_financial_name
49 | p_financial_report_id
50 | OUT:
51 | IN/OUT:
52 |
53 | RETURNS : NONE
54 |
55 | MODIFICATION HISTORY
56 | 17-OCT-00 Jianying Huang Bug 1462704: Rename table HZ_FINANCIAL_NUMBERS to
57 | HZ_FINANCIAL_NUMBERS_R1
58 | 30-OCT-00 Jianying Huang Roll back the renaming table changes.
59 |
60 +======================================================================*/
61
62 function get_financial_number(p_financial_name IN VARCHAR2, p_financial_report_id IN NUMBER) RETURN NUMBER
63 IS
64 v_financial_number NUMBER;
65
66 BEGIN
67
68 select financial_number into v_financial_number from hz_financial_numbers
69 where financial_report_id = p_financial_report_id
70 and financial_number_name = p_financial_name;
71
72 RETURN v_financial_number;
73 END get_financial_number;
74
75 /*======================================================================
76 | FUNCTION
77 | get_financial_number_currency
78 |
79 | DESCRIPTION
80 |
81 | ARGUMENTS : IN:
82 | p_financial_name
83 | p_financial_report_id
84 | OUT:
85 | IN/OUT:
86 |
87 | RETURNS : NONE
88 |
89 | MODIFICATION HISTORY
90 | 17-OCT-00 Jianying Huang Bug 1462704: Rename table HZ_FINANCIAL_NUMBERS to
91 | HZ_FINANCIAL_NUMBERS_R1
92 | 30-OCT-00 Jianying Huang Roll back the renaming table changes.
93 |
94 +======================================================================*/
95
96 function get_financial_number_currency(p_financial_name IN VARCHAR2, p_financial_report_id IN NUMBER) RETURN VARCHAR2
97 IS
98 v_financial_number_currency VARCHAR2(240);
99
100 BEGIN
101
102 select financial_number_currency into v_financial_number_currency from hz_financial_numbers
103 where financial_report_id = p_financial_report_id
104 and financial_number_name = p_financial_name;
105
106 RETURN v_financial_number_currency;
107
108 END get_financial_number_currency;
109
110 /*======================================================================
111 | FUNCTION
112 | get_financial_number_actflg
113 |
114 | DESCRIPTION
115 |
116 | ARGUMENTS : IN:
117 | p_financial_name
118 | p_financial_report_id
119 | OUT:
120 | IN/OUT:
121 |
122 | RETURNS : NONE
123 |
124 | MODIFICATION HISTORY
125 | 17-OCT-00 Jianying HUang Bug 1462704: Rename table HZ_FINANCIAL_NUMBERS to
126 | HZ_FINANCIAL_NUMBERS_R1
127 | 30-OCT-00 Jianying Huang Roll back the renaming table changes.
128 |
129 +======================================================================*/
130
131 function get_financial_number_actflg(p_financial_name IN VARCHAR2, p_financial_report_id IN NUMBER) RETURN VARCHAR2
132 IS
133 v_financial_number_actflg VARCHAR2(240);
134
135 BEGIN
136
137 select projected_actual_flag into v_financial_number_actflg from hz_financial_numbers
138 where financial_report_id = p_financial_report_id
139 and financial_number_name = p_financial_name;
140
141 RETURN v_financial_number_actflg;
142
143 END get_financial_number_actflg;
144
145 /*======================================================================
146 | FUNCTION
147 | get_primary_phone_number
148 |
149 | DESCRIPTION
150 |
151 | ARGUMENTS : IN:
152 | p_party_id
153 | p_source_type
154 | OUT:
155 | IN/OUT:
156 |
157 | RETURNS : NONE
158 |
159 | MODIFICATION HISTORY
160 | 17-OCT-00 Jianying Huang Bug 1462704: Rename table HZ_CONTACT_POINTS to
161 | HZ_CONTACT_POINTS_R1
162 | 30-OCT-00 Jianying Huang Roll back the renaming table changes.
163 |
164 +======================================================================*/
165
166 function get_primary_phone_number(
167 p_party_id IN NUMBER,
168 p_source_type IN VARCHAR2)
169 RETURN VARCHAR2 IS
170
171 l_phone_number HZ_CONTACT_POINTS.raw_phone_number%TYPE;
172 cursor primary_phone is
173 SELECT cp.raw_phone_number
174 FROM HZ_CONTACT_POINTS cp
175 WHERE cp.owner_table_id = p_party_id
176 AND cp.owner_table_name = 'HZ_PARTIES'
177 AND cp.actual_content_source = p_source_type
178 AND cp.CONTACT_POINT_TYPE = 'PHONE'
179 AND cp.status = 'A'
180 AND cp.primary_flag = 'Y'
181 AND cp.phone_line_type <> 'FAX';
182
183 cursor all_phones is
184 SELECT cp.raw_phone_number
185 FROM HZ_CONTACT_POINTS cp
186 WHERE cp.owner_table_id = p_party_id
187 AND cp.owner_table_name = 'HZ_PARTIES'
188 AND cp.actual_content_source = p_source_type
189 AND cp.CONTACT_POINT_TYPE = 'PHONE'
190 AND cp.status = 'A'
191 AND cp.phone_line_type <> 'FAX';
192 BEGIN
193
194 open primary_phone;
195 fetch primary_phone into l_phone_number;
196
197 if primary_phone%NOTFOUND then
198 open all_phones;
199 fetch all_phones into l_phone_number;
200 close all_phones;
201 end if;
202
203 close primary_phone;
204 RETURN l_phone_number;
205 EXCEPTION
206 WHEN OTHERS THEN
207 RETURN NULL;
208 END get_primary_phone_number;
209
210 /*======================================================================
211 | FUNCTION
212 | get_primary_fax_number
213 |
214 | DESCRIPTION
215 |
216 | ARGUMENTS : IN:
217 | p_party_id
218 | p_source_type
219 | OUT:
220 | IN/OUT:
221 |
222 | RETURNS : NONE
223 |
224 | MODIFICATION HISTORY
225 | 17-OCT-00 Jianying Huang Bug 1462704: Rename table HZ_CONTACT_POINTS to
226 | HZ_CONTACT_POINTS_R1
227 | 30-OCT-00 Jianying Huang Roll back the renaming table changes.
228 |
229 +======================================================================*/
230
231 function get_primary_fax_number(
232 p_party_id IN NUMBER,
233 p_source_type IN VARCHAR2)
234 RETURN VARCHAR2 IS
235 l_fax_number HZ_CONTACT_POINTS.raw_phone_number%TYPE;
236 cursor primary_phone is
237 SELECT cp.raw_phone_number
238 FROM HZ_CONTACT_POINTS cp
239 WHERE cp.owner_table_id = p_party_id
240 AND cp.owner_table_name = 'HZ_PARTIES'
241 AND cp.actual_content_source = p_source_type
242 AND cp.CONTACT_POINT_TYPE = 'PHONE'
243 AND cp.status = 'A'
244 AND cp.primary_flag = 'Y'
245 AND cp.phone_line_type = 'FAX';
246
247 cursor all_phones is
248 SELECT cp.raw_phone_number
249 FROM HZ_CONTACT_POINTS cp
250 WHERE cp.owner_table_id = p_party_id
251 AND cp.owner_table_name = 'HZ_PARTIES'
252 AND cp.actual_content_source = p_source_type
253 AND cp.CONTACT_POINT_TYPE = 'PHONE'
254 AND cp.status = 'A'
255 AND cp.phone_line_type = 'FAX';
256 BEGIN
257
258 open primary_phone;
259 fetch primary_phone into l_fax_number;
260
261 if primary_phone%NOTFOUND then
262 open all_phones;
263 fetch all_phones into l_fax_number;
264 close all_phones;
265 end if;
266
267 close primary_phone;
268 RETURN l_fax_number;
269
270 EXCEPTION
271 WHEN OTHERS THEN
272 RETURN NULL;
273 END get_primary_fax_number;
274
275 /*======================================================================
276 | FUNCTION
277 | get_all_phone_numbers
278 |
279 | DESCRIPTION
280 |
281 | ARGUMENTS : IN:
282 | p_party_id
283 | p_source_type
284 | OUT:
285 | IN/OUT:
286 |
287 | RETURNS : NONE
288 |
289 | MODIFICATION HISTORY
290 | 17-OCT-00 Jianying Huang Bug 1462704: Rename table HZ_CONTACT_POINTS to
291 | HZ_CONTACT_POINTS_R1
292 | 30-OCT-00 Jianying Huang Roll back the renaming table changes.
293 |
294 +======================================================================*/
295
296 function get_all_phone_numbers(
297 p_party_id IN NUMBER,
298 p_source_type IN VARCHAR2)
299 RETURN VARCHAR2 IS
300
301 CURSOR c_phone_number IS
302 SELECT cp.raw_phone_number
303 FROM HZ_CONTACT_POINTS cp
304 WHERE cp.owner_table_id = p_party_id
305 AND cp.owner_table_name = 'HZ_PARTIES'
306 AND cp.actual_content_source = p_source_type
307 AND cp.status = 'A'
308 AND cp.CONTACT_POINT_TYPE = 'PHONE'
309 AND cp.phone_line_type='GEN';
310
311 l_phone_num VARCHAR2(200);
312 l_all_numbers VARCHAR2(2000);
313 BEGIN
314
315 OPEN c_phone_number;
316 LOOP
317 FETCH c_phone_number INTO l_phone_num;
318 EXIT WHEN c_phone_number%NOTFOUND;
319
320 IF l_all_numbers IS NOT NULL THEN
321 l_all_numbers := l_all_numbers || '##';
322 END IF;
323
324 l_all_numbers := l_all_numbers || l_phone_num;
325 END LOOP;
326 CLOSE c_phone_number;
327
328 RETURN l_all_numbers;
329
330 EXCEPTION
331 WHEN OTHERS THEN
332 RETURN NULL;
333 END get_all_phone_numbers;
334
335 /*======================================================================
336 | FUNCTION
337 | get_country_name
338 |
339 | DESCRIPTION
340 |
341 | ARGUMENTS : IN:
342 | p_country_code
343 | OUT:
344 | IN/OUT:
345 |
346 | RETURNS : NONE
347 |
348 | MODIFICATION HISTORY
349 | 10-18-2000 Chirag Mehta Changed select clause
350 +======================================================================*/
351
352 function get_country_name(p_country_code IN VARCHAR2) RETURN VARCHAR2 IS
353
354 country_name fnd_territories_vl.TERRITORY_SHORT_NAME%TYPE;
355
356 BEGIN
357
358 select TERRITORY_SHORT_NAME into country_name from fnd_territories_vl
359 where TERRITORY_CODE=p_country_code;
360
361 return country_name;
362
363 EXCEPTION
364 WHEN no_data_found THEN
365 return null;
366 WHEN OTHERS THEN
367 raise;
368 END get_country_name;
369
370
371 function get_max_financial_report_id(
372 p_party_id IN NUMBER,
373 p_type_of_financial_report IN VARCHAR2,
374 p_actual_content_source IN VARCHAR2)
375 RETURN NUMBER IS
376
377 l_financial_report_id NUMBER;
378 l_date_report_issued DATE;
379 l_report_end_date DATE;
380 -- Bug 3395969 : Added variable
381 l_creation_date DATE;
382
383 BEGIN
384 /* Bug 3395969 : donot consider date_report_issued
385 * and report_end_date, issued_period for finding
386 * latest financial report
387 *
388 SELECT MAX(date_report_issued)
389 INTO l_date_report_issued
390 FROM hz_financial_reports
391 WHERE party_id = p_party_id
392 AND type_of_financial_report = p_type_of_financial_report
393 AND actual_content_source = p_actual_content_source;
394
395 SELECT MAX(report_end_date)
396 INTO l_report_end_date
397 FROM hz_financial_reports
398 WHERE party_id = p_party_id
399 AND type_of_financial_report = p_type_of_financial_report
400 AND actual_content_source = p_actual_content_source;
401 */
402 SELECT MAX(creation_date)
403 INTO l_creation_date
404 FROM hz_financial_reports
405 WHERE party_id = p_party_id
406 AND type_of_financial_report = p_type_of_financial_report
407 AND actual_content_source = p_actual_content_source;
408
409 SELECT financial_report_id
410 INTO l_financial_report_id
411 FROM hz_financial_reports
412 WHERE party_id = p_party_id
413 AND type_of_financial_report = p_type_of_financial_report
417 AND rownum=1;
414 AND actual_content_source = p_actual_content_source
415 -- Bug 3395969 : Change the conditino to creation_date
416 AND creation_date = l_creation_date
418
419 RETURN l_financial_report_id;
420
421 EXCEPTION WHEN NO_DATA_FOUND THEN
422 RETURN to_number(NULL);
423 END;
424
425
426 function get_max_credit_rating_id(
427 p_party_id IN NUMBER,
428 p_actual_content_source IN VARCHAR2)
429 RETURN NUMBER IS
430
431 l_credit_rating_id NUMBER;
432 l_max_rated_as_of_date DATE;
433
434 BEGIN
435
436 SELECT MAX(rated_as_of_date)
437 INTO l_max_rated_as_of_date
438 FROM hz_credit_ratings
439 WHERE party_id = p_party_id
440 AND actual_content_source = p_actual_content_source;
441
442 SELECT credit_rating_id
443 INTO l_credit_rating_id
444 FROM hz_credit_ratings
445 WHERE party_id = p_party_id
446 AND actual_content_source = p_actual_content_source
447 AND NVL(rated_as_of_date, TO_DATE('31-12-4712', 'DD-MM-YYYY'))=
448 NVL(l_max_rated_as_of_date, TO_DATE('31-12-4712', 'DD-MM-YYYY'))
449 AND rownum = 1;
450
451 RETURN l_credit_rating_id;
452
453 EXCEPTION WHEN NO_DATA_FOUND THEN
454 RETURN to_number(NULL);
455 END;
456
457 /*
458 function get_currency_symbol(
459 p_financial_name IN VARCHAR2,
460 p_financial_report_id NUMBER)
461
462 RETURN VARCHAR2 IS
463 l_financial_number_currency VARCHAR2(240);
464 l_symbol fnd_currencies.symbol%TYPE;
465
466 BEGIN
467
468 l_financial_number_currency := get_financial_number_currency(p_financial_name, p_financial_report_id);
469 select symbol into l_symbol
470 from fnd_currencies
471 where currency_code = l_financial_number_currency
472 AND rownum = 1;
473
474 RETURN l_symbol;
475
476 EXCEPTION WHEN NO_DATA_FOUND THEN
477 RETURN to_char(NULL);
478 END;
479 */
480
481 function get_financial_symbol_number(
482 p_financial_name IN VARCHAR2,
483 p_financial_report_id NUMBER)
484 RETURN VARCHAR2
485 IS
486 l_financial_symbol_number varchar2(240);
487 BEGIN
488
489 select
490 DECODE( HZ_DNBUI_PVT.GET_FINANCIAL_NUMBER(p_financial_name, p_financial_report_id),
491 null, null,
492 nvl(HZ_DNBUI_PVT.get_financial_number_currency(p_financial_name, p_financial_report_id), 'USD') || ' ' ||
493 HZ_DNBUI_PVT.GET_FINANCIAL_NUMBER(p_financial_name, p_financial_report_id))
494 into l_financial_symbol_number
495 from dual;
496
497 RETURN l_financial_symbol_number;
498 EXCEPTION WHEN NO_DATA_FOUND THEN
499 RETURN to_char(NULL);
500
501 END;
502
503
504 function get_SIC_code(
505 p_class_category IN VARCHAR2,
506 p_party_id IN NUMBER,
507 p_sequence IN NUMBER,
508 p_actual_content_source IN VARCHAR2
509 )
510 RETURN VARCHAR2
511 IS
512
513 CURSOR c_SIC_CODE IS
514 select CLASS_CODE
515 from HZ_CODE_ASSIGNMENTS
516 where OWNER_TABLE_NAME = 'HZ_PARTIES' AND
517 OWNER_TABLE_ID = p_party_id AND
518 CLASS_CATEGORY = p_class_category AND
519 actual_content_source = p_actual_content_source AND --Bug 9071339
520 (END_DATE_ACTIVE IS NULL OR
521 (END_DATE_ACTIVE IS not NULL and END_DATE_ACTIVE >= SYSDATE))
522 order by code_assignment_id;
523
524
525 l_SIC_code VARCHAR2(30);
526 l_count NUMBER :=0;
527 BEGIN
528
529 OPEN c_SIC_CODE;
530 LOOP
531 FETCH c_SIC_CODE INTO l_SIC_code;
532 EXIT WHEN c_SIC_CODE%NOTFOUND;
533
534 l_count := l_count + 1;
535 IF l_count = p_sequence THEN
536 EXIT;
537 END IF;
538
539 END LOOP;
540 CLOSE c_SIC_CODE;
541
542 IF l_count < p_sequence THEN
543 l_SIC_code := NULL;
544 END IF;
545
546 RETURN l_SIC_code;
547
548 EXCEPTION WHEN OTHERS THEN
549 RETURN NULL;
550
551 END;
552
553 /*======================================================================
554 | FUNCTION
555 | get_location_id
556 |
557 | DESCRIPTION
558 |
559 | ARGUMENTS : IN:
560 | p_party_id,
561 | p_actual_content_source
562 | OUT:
563 | IN/OUT:
564 |
565 | RETURNS : NONE
566 |
567 | MODIFICATION HISTORY
568 | 06-03-2002 Kashan
569 +======================================================================*/
570
571 function get_location_id (
572 p_party_id IN NUMBER,
573 p_actual_content_source in VARCHAR2)
574 RETURN NUMBER
575 IS
576 l_location_id NUMBER;
577 l_displayed_duns_party_id NUMBER;
578 BEGIN
579
580 IF p_actual_content_source = 'DNB' THEN
581 BEGIN
582
583 BEGIN
584 select displayed_duns_party_id into l_displayed_duns_party_id
585 from hz_organization_profiles
586 where party_id = p_party_id and
587 effective_end_date is null
588 and actual_content_source = 'DNB';
592
589 EXCEPTION WHEN NO_DATA_FOUND THEN
590 NULL;
591 END;
593
594 IF l_displayed_duns_party_id is null THEN
595 BEGIN
596 l_displayed_duns_party_id := p_party_id;
597 end;
598 END IF;
599
600 select loc.location_id
601 into l_location_id
602 from HZ_LOCATIONS loc, HZ_PARTY_SITES ps
603 where
604 ps.party_id = l_displayed_duns_party_id AND
605 loc.location_id = ps.location_id AND
606 loc.actual_content_source = p_actual_content_source AND
607 ps.actual_content_source = p_actual_content_source AND
608 nvl(ps.end_date_active, sysdate+1) >= sysdate AND
609 ps.status = 'A' AND
610 rownum=1;
611
612 return l_location_id;
613
614 EXCEPTION WHEN NO_DATA_FOUND THEN
615 return null;
616 END;
617
618 ELSE -- p_actual_content_source = 'USER_ENTERED'
619 BEGIN
620 select loc.location_id
621 into l_location_id
622 from HZ_LOCATIONS loc, HZ_PARTY_SITES ps
623 where
624 ps.party_id = p_party_id AND
625 loc.location_id = ps.location_id AND
626 loc.actual_content_source = p_actual_content_source AND
627 ps.identifying_address_flag = 'Y';
628
629 return l_location_id;
630
631 EXCEPTION WHEN NO_DATA_FOUND THEN
632
633 BEGIN
634 select loc.location_id
635 into l_location_id
636 from HZ_LOCATIONS loc, HZ_PARTY_SITES ps
637 where
638 ps.party_id = p_party_id AND
639 loc.location_id = ps.location_id AND
640 loc.actual_content_source = p_actual_content_source AND
641 nvl(ps.end_date_active, sysdate+1) >= sysdate AND
642 ps.status = 'A' AND
643 Loc.last_update_date =
644 (select max(l_temp.last_update_date)
645 from hz_locations l_temp, hz_party_sites ps_temp
646 where l_temp.location_id = ps_temp.location_id AND
647 ps_temp.party_id = p_party_id AND
648 l_temp.actual_content_source = p_actual_content_source AND
649 nvl(ps_temp.end_date_active, sysdate+1) >= sysdate AND
650 ps_temp.status = 'A' );
651
652 return l_location_id;
653
654 EXCEPTION WHEN NO_DATA_FOUND THEN
655
656 -- Bug 3325884 : When there is no user entered location and party site, return
657 -- location_id for the DNB record.
658
659 BEGIN
660 BEGIN
661 select displayed_duns_party_id into l_displayed_duns_party_id
662 from hz_organization_profiles
663 where party_id = p_party_id and effective_end_date is null and actual_content_source = 'DNB';
664 EXCEPTION WHEN NO_DATA_FOUND THEN
665 null;
666 END;
667
668 IF l_displayed_duns_party_id is null THEN
669 l_displayed_duns_party_id := p_party_id;
670 END IF;
671
672 select loc.location_id
673 into l_location_id
674 from HZ_LOCATIONS loc, HZ_PARTY_SITES ps
675 where ps.party_id = l_displayed_duns_party_id AND
676 loc.location_id = ps.location_id AND
677 loc.actual_content_source = 'DNB' AND
678 nvl(ps.end_date_active, sysdate+1) >= sysdate AND
679 ps.status = 'A' and
680 rownum=1;
681
682 return l_location_id;
683
684 EXCEPTION WHEN NO_DATA_FOUND THEN
685 return null;
686 END;
687 END;
688 END;
689 END IF;
690 END;
691
692 /*======================================================================
693 | FUNCTION
694 | get_first_available_report
695 |
696 | DESCRIPTION
697 |
698 | ARGUMENTS : IN:
699 | p_party_id,
700 | p_actual_content_source
701 | OUT:
702 | IN/OUT:
703 |
704 | RETURNS : NONE
705 |
706 | MODIFICATION HISTORY
707 | 10-13-2004 Kashan
708 +======================================================================*/
709
710 function get_first_available_report(
711 p_party_id IN NUMBER,
712 p_actual_content_source IN VARCHAR2)
713 RETURN VARCHAR2 IS
714 l_displayed_duns_party_id NUMBER;
715 BEGIN
716
717 IF p_actual_content_source = 'DNB' THEN
718
719 BEGIN
720 select displayed_duns_party_id into l_displayed_duns_party_id
721 from hz_organization_profiles
722 where party_id = p_party_id and
723 effective_end_date is null and
724 actual_content_source = 'DNB';
725 EXCEPTION WHEN NO_DATA_FOUND THEN
726 NULL;
727 END;
728
729 END IF;
730
731 IF l_displayed_duns_party_id is null THEN
732 BEGIN
733 l_displayed_duns_party_id := p_party_id;
734 end;
735 END IF;
736
737 IF get_max_financial_report_id(l_displayed_duns_party_id, 'BALANCE_SHEET', p_actual_content_source) is not null THEN
738 return 'BALANCE_SHEET';
739 END IF;
740
741 IF get_max_financial_report_id(l_displayed_duns_party_id, 'INCOME_STATEMENT', p_actual_content_source) is not null THEN
742 return 'INCOME_STATEMENT';
743 END IF;
744
745 IF get_max_financial_report_id(l_displayed_duns_party_id, 'TANGIBLE_NET_WORTH', p_actual_content_source) is not null THEN
746 return 'TANGIBLE_NET_WORTH';
747 END IF;
748
749 IF get_max_financial_report_id(l_displayed_duns_party_id, 'ANNUAL_SALES_VOLUME', p_actual_content_source) is not null THEN
750 return 'ANNUAL_SALES_VOLUME';
751 END IF;
752
753 RETURN null;
754
755 END get_first_available_report;
756
757 END HZ_DNBUI_PVT;