168: OPEN c_parent_value_spending;
169: LOOP
170: FETCH c_parent_value_spending into v_value_low(acct_seg_name_num),
171: v_value_high(acct_seg_name_num);
172: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
173: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'SP CHILD_LOW = '||V_VALUE_LOW(ACCT_SEG_NAME_NUM));
174: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'SP CHILD_HIGH = '||V_VALUE_HIGH(ACCT_SEG_NAME_NUM));
175: END IF;
176:
169: LOOP
170: FETCH c_parent_value_spending into v_value_low(acct_seg_name_num),
171: v_value_high(acct_seg_name_num);
172: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
173: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'SP CHILD_LOW = '||V_VALUE_LOW(ACCT_SEG_NAME_NUM));
174: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'SP CHILD_HIGH = '||V_VALUE_HIGH(ACCT_SEG_NAME_NUM));
175: END IF;
176:
177: v_bal_stmt := NULL;
170: FETCH c_parent_value_spending into v_value_low(acct_seg_name_num),
171: v_value_high(acct_seg_name_num);
172: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
173: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'SP CHILD_LOW = '||V_VALUE_LOW(ACCT_SEG_NAME_NUM));
174: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'SP CHILD_HIGH = '||V_VALUE_HIGH(ACCT_SEG_NAME_NUM));
175: END IF;
176:
177: v_bal_stmt := NULL;
178: v_pac_stmt := NULL;
214: || sob_id || ') = ''TRUE''' ;
215:
216:
217: IF c_parent_value_spending%FOUND THEN
218: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
219: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BAL_SEG_NAME = '||BAL_SEG_NAME_NUM);
220: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'SEGMENT2= '||SEGMENT_2);
221: END IF;
222:
215:
216:
217: IF c_parent_value_spending%FOUND THEN
218: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
219: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BAL_SEG_NAME = '||BAL_SEG_NAME_NUM);
220: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'SEGMENT2= '||SEGMENT_2);
221: END IF;
222:
223: FOR app_col_name IN c_segment_info
216:
217: IF c_parent_value_spending%FOUND THEN
218: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
219: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BAL_SEG_NAME = '||BAL_SEG_NAME_NUM);
220: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'SEGMENT2= '||SEGMENT_2);
221: END IF;
222:
223: FOR app_col_name IN c_segment_info
224: LOOP
298: EXCEPTION
299: WHEN NO_DATA_FOUND then
300: grand_total := (nvl(tot_balances,0) + nvl(tot_packets,0));
301: end;
302: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
303: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TOT_BAL = '||TOT_BALANCES);
304: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TOT_PACK = '||TOT_PACKETS);
305: END IF;
306:
299: WHEN NO_DATA_FOUND then
300: grand_total := (nvl(tot_balances,0) + nvl(tot_packets,0));
301: end;
302: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
303: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TOT_BAL = '||TOT_BALANCES);
304: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TOT_PACK = '||TOT_PACKETS);
305: END IF;
306:
307: EXCEPTION
300: grand_total := (nvl(tot_balances,0) + nvl(tot_packets,0));
301: end;
302: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
303: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TOT_BAL = '||TOT_BALANCES);
304: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TOT_PACK = '||TOT_PACKETS);
305: END IF;
306:
307: EXCEPTION
308: WHEN OTHERS THEN
306:
307: EXCEPTION
308: WHEN OTHERS THEN
309: err_message := SQLERRM;
310: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',err_message) ;
311: RAISE;
312:
313: END sum_children_spending;
314:
333: RETURN v_flex_value_id;
334: EXCEPTION
335: when others then
336: err_message := 'GET_FLEX_VALUE_ID.L.'||sqlerrm;
337: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',err_message) ;
338: app_exception.raise_exception;
339: END get_flex_value_id;
340:
341: /******************************************************************/
345: PROCEDURE find_low_values
346: IS
347: l_module_name VARCHAR2(200) := g_module_name || 'find_low_values';
348: BEGIN
349: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
350: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BEGIN FIND_LOW_VALUES');
351: END IF;
352: -- delete all segments in table
353: FOR v_segment_low_name IN 1..30 LOOP
346: IS
347: l_module_name VARCHAR2(200) := g_module_name || 'find_low_values';
348: BEGIN
349: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
350: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BEGIN FIND_LOW_VALUES');
351: END IF;
352: -- delete all segments in table
353: FOR v_segment_low_name IN 1..30 LOOP
354: v_value_low(v_segment_low_name) := null;
361:
362: FOR low_segment_info_rec IN c_segment_info LOOP
363: v_segment_low_name :=
364: to_number(substr(low_segment_info_rec.application_column_name,8,2));
365: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
366: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'V_SEGMENT_LOW_NAME = '||V_SEGMENT_LOW_NAME);
367: END IF;
368:
369: IF v_delim_occur = 1 THEN
362: FOR low_segment_info_rec IN c_segment_info LOOP
363: v_segment_low_name :=
364: to_number(substr(low_segment_info_rec.application_column_name,8,2));
365: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
366: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'V_SEGMENT_LOW_NAME = '||V_SEGMENT_LOW_NAME);
367: END IF;
368:
369: IF v_delim_occur = 1 THEN
370: -- first time through
382: -- get first segment value
383:
384: v_value_low(v_segment_low_name) := v_segment_low_value;
385: -- assign value to table
386: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
387: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'V_VALUE_LOW = '||V_VALUE_LOW(V_SEGMENT_LOW_NAME));
388: END IF;
389:
390: v_delim_occur := v_delim_occur + 1;
383:
384: v_value_low(v_segment_low_name) := v_segment_low_value;
385: -- assign value to table
386: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
387: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'V_VALUE_LOW = '||V_VALUE_LOW(V_SEGMENT_LOW_NAME));
388: END IF;
389:
390: v_delim_occur := v_delim_occur + 1;
391: ELSE
418:
419: v_value_low(v_segment_low_name) := v_segment_low_value;
420: END IF;
421:
422: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
423: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'V_VALUE_LOW = '||V_VALUE_LOW(V_SEGMENT_LOW_NAME));
424: END IF;
425: v_substr_to := v_substr_from;
426: v_delim_occur := v_delim_occur + 1;
419: v_value_low(v_segment_low_name) := v_segment_low_value;
420: END IF;
421:
422: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
423: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'V_VALUE_LOW = '||V_VALUE_LOW(V_SEGMENT_LOW_NAME));
424: END IF;
425: v_substr_to := v_substr_from;
426: v_delim_occur := v_delim_occur + 1;
427: END IF;
428: END LOOP;
429: EXCEPTION
430: WHEN OTHERS THEN
431: err_message := SQLERRM;
432: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',err_message) ;
433: RAISE;
434: END find_low_values;
435:
436: /******************************************************************/
440: PROCEDURE find_high_values
441: IS
442: l_module_name VARCHAR2(200) := g_module_name || 'find_high_values';
443: BEGIN
444: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
445: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'FIND_HIGH_VALUES');
446: END IF;
447: -- delete all segments in table
448: FOR v_segment_high_name IN 1..30 LOOP
441: IS
442: l_module_name VARCHAR2(200) := g_module_name || 'find_high_values';
443: BEGIN
444: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
445: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'FIND_HIGH_VALUES');
446: END IF;
447: -- delete all segments in table
448: FOR v_segment_high_name IN 1..30 LOOP
449: v_value_high(v_segment_high_name) := null;
456:
457: FOR high_segment_info_rec IN c_segment_info LOOP
458: v_segment_high_name :=
459: to_number(substr(high_segment_info_rec.application_column_name,8,2));
460: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
461: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'V_SEGMENT_HIGH_NAME = '||V_SEGMENT_HIGH_NAME);
462: END IF;
463:
464: IF v_delim_occur = 1 THEN
457: FOR high_segment_info_rec IN c_segment_info LOOP
458: v_segment_high_name :=
459: to_number(substr(high_segment_info_rec.application_column_name,8,2));
460: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
461: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'V_SEGMENT_HIGH_NAME = '||V_SEGMENT_HIGH_NAME);
462: END IF;
463:
464: IF v_delim_occur = 1 THEN
465: -- first time through
477: -- get first segment value
478:
479: v_value_high(v_segment_high_name) := v_segment_high_value;
480: -- assign value to table
481: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
482: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'V_VALUE_HIGH = '||V_VALUE_HIGH(V_SEGMENT_HIGH_NAME));
483: END IF;
484:
485: v_delim_occur := v_delim_occur + 1;
478:
479: v_value_high(v_segment_high_name) := v_segment_high_value;
480: -- assign value to table
481: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
482: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'V_VALUE_HIGH = '||V_VALUE_HIGH(V_SEGMENT_HIGH_NAME));
483: END IF;
484:
485: v_delim_occur := v_delim_occur + 1;
486: ELSE
512:
513: v_value_high(v_segment_high_name) := v_segment_high_value;
514: END IF;
515:
516: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
517: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'V_VALUE_HIGH = '||V_VALUE_HIGH(V_SEGMENT_HIGH_NAME));
518: END IF;
519: v_substr_to := v_substr_from;
520: v_delim_occur := v_delim_occur + 1;
513: v_value_high(v_segment_high_name) := v_segment_high_value;
514: END IF;
515:
516: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
517: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'V_VALUE_HIGH = '||V_VALUE_HIGH(V_SEGMENT_HIGH_NAME));
518: END IF;
519: v_substr_to := v_substr_from;
520: v_delim_occur := v_delim_occur + 1;
521: END IF;
522: END LOOP;
523: EXCEPTION
524: WHEN OTHERS THEN
525: err_message := SQLERRM;
526: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',err_message) ;
527: RAISE;
528: END find_high_values;
529: /******************************************************************/
530: /* This procedure finds user's segment names and substrings the */
534: PROCEDURE find_segments
535: IS
536: l_module_name VARCHAR2(200) := g_module_name || 'find_segments';
537: BEGIN
538: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
539: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BEGIN FIND_SEGMENTS');
540: END IF;
541: -- delete all segments in table
542:
535: IS
536: l_module_name VARCHAR2(200) := g_module_name || 'find_segments';
537: BEGIN
538: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
539: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BEGIN FIND_SEGMENTS');
540: END IF;
541: -- delete all segments in table
542:
543: FOR v_segment_num IN 1..30 LOOP
552: END LOOP;
553: EXCEPTION
554: WHEN OTHERS THEN
555: err_message := SQLERRM;
556: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',err_message) ;
557: RAISE;
558: END find_segments;
559:
560: -- **********************************************************************
577:
578: l_module_name VARCHAR2(200) := g_module_name || 'calc_funds';
579:
580: BEGIN
581: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
582: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BEGIN');
583: END IF;
584:
585: -- reassign incoming variables
578: l_module_name VARCHAR2(200) := g_module_name || 'calc_funds';
579:
580: BEGIN
581: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
582: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BEGIN');
583: END IF;
584:
585: -- reassign incoming variables
586: acct_ff_low := x_acct_ff_low;
685: v_child_transfers_in := 0;
686: v_child_transfers_out := 0;
687:
688: FOR c_treasury_fund_value_rec IN c_treasury_fund_values LOOP
689: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
690: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'*********************************');
691: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'FUND VALUE = '||V_VALUE_LOW(BAL_SEG_NAME_NUM));
692: END IF;
693: -- assign fund and process
686: v_child_transfers_out := 0;
687:
688: FOR c_treasury_fund_value_rec IN c_treasury_fund_values LOOP
689: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
690: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'*********************************');
691: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'FUND VALUE = '||V_VALUE_LOW(BAL_SEG_NAME_NUM));
692: END IF;
693: -- assign fund and process
694: v_fund_value := c_treasury_fund_value_rec.fund_value;
687:
688: FOR c_treasury_fund_value_rec IN c_treasury_fund_values LOOP
689: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
690: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'*********************************');
691: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'FUND VALUE = '||V_VALUE_LOW(BAL_SEG_NAME_NUM));
692: END IF;
693: -- assign fund and process
694: v_fund_value := c_treasury_fund_value_rec.fund_value;
695: v_budget := nvl(c_treasury_fund_value_rec.budget_authority,'-1');
706: -- Processing the budget authority account
707:
708: -- Find flex_value_id
709: acct_flex_id := get_flex_value_id(v_budget);
710: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
711: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BUDGET_ID = '||ACCT_FLEX_ID);
712: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BUDGET = '||V_BUDGET);
713: END IF;
714:
707:
708: -- Find flex_value_id
709: acct_flex_id := get_flex_value_id(v_budget);
710: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
711: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BUDGET_ID = '||ACCT_FLEX_ID);
712: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BUDGET = '||V_BUDGET);
713: END IF;
714:
715: -- sum budget authority accounts (parent and children)
708: -- Find flex_value_id
709: acct_flex_id := get_flex_value_id(v_budget);
710: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
711: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BUDGET_ID = '||ACCT_FLEX_ID);
712: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'BUDGET = '||V_BUDGET);
713: END IF;
714:
715: -- sum budget authority accounts (parent and children)
716: sum_children_spending(v_budget, acct_flex_id,v_child_budget);
722: -- Processing the transfers-in account
723:
724: -- Find flex_value_id
725: acct_flex_id := get_flex_value_id(v_transfers_in);
726: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
727: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TRANSFERS_IN_ID = '||ACCT_FLEX_ID);
728: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TRANSFERS_IN = '||V_TRANSFERS_IN);
729: END IF;
730:
723:
724: -- Find flex_value_id
725: acct_flex_id := get_flex_value_id(v_transfers_in);
726: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
727: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TRANSFERS_IN_ID = '||ACCT_FLEX_ID);
728: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TRANSFERS_IN = '||V_TRANSFERS_IN);
729: END IF;
730:
731: -- sum transfers_in accounts (parent and children)
724: -- Find flex_value_id
725: acct_flex_id := get_flex_value_id(v_transfers_in);
726: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
727: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TRANSFERS_IN_ID = '||ACCT_FLEX_ID);
728: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TRANSFERS_IN = '||V_TRANSFERS_IN);
729: END IF;
730:
731: -- sum transfers_in accounts (parent and children)
732: sum_children_spending(v_transfers_in, acct_flex_id, v_child_transfers_in);
737: -- Processing the transfers-out account
738:
739: -- Find flex_value_id
740: acct_flex_id := get_flex_value_id(v_transfers_out);
741: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
742: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TRANSFERS_OUT_ID = '||ACCT_FLEX_ID);
743: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TRANSFERS_OUT = '||V_TRANSFERS_OUT);
744: END IF;
745:
738:
739: -- Find flex_value_id
740: acct_flex_id := get_flex_value_id(v_transfers_out);
741: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
742: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TRANSFERS_OUT_ID = '||ACCT_FLEX_ID);
743: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TRANSFERS_OUT = '||V_TRANSFERS_OUT);
744: END IF;
745:
746: -- sum transfers_out accounts (parent and children)
739: -- Find flex_value_id
740: acct_flex_id := get_flex_value_id(v_transfers_out);
741: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
742: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TRANSFERS_OUT_ID = '||ACCT_FLEX_ID);
743: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'TRANSFERS_OUT = '||V_TRANSFERS_OUT);
744: END IF;
745:
746: -- sum transfers_out accounts (parent and children)
747: sum_children_spending(v_transfers_out,acct_flex_id,v_child_transfers_out);
752: -- Processing the commitment account
753:
754: -- Find flex_value_id
755: acct_flex_id := get_flex_value_id(v_commitment);
756: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
757: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'COMMIT_ID = '||ACCT_FLEX_ID);
758: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'COMMIT = '||V_COMMITMENT);
759: END IF;
760:
753:
754: -- Find flex_value_id
755: acct_flex_id := get_flex_value_id(v_commitment);
756: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
757: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'COMMIT_ID = '||ACCT_FLEX_ID);
758: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'COMMIT = '||V_COMMITMENT);
759: END IF;
760:
761: -- sum commitment accounts (parent and children)
754: -- Find flex_value_id
755: acct_flex_id := get_flex_value_id(v_commitment);
756: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
757: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'COMMIT_ID = '||ACCT_FLEX_ID);
758: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'COMMIT = '||V_COMMITMENT);
759: END IF;
760:
761: -- sum commitment accounts (parent and children)
762: sum_children_spending(v_commitment, acct_flex_id, v_child_commitments);
767: -- Processing the obligation account
768:
769: -- Find flex_value_id
770: acct_flex_id := get_flex_value_id(v_obligation);
771: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
772: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'OBL_ID = '||ACCT_FLEX_ID);
773: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'OBL = '||V_OBLIGATION);
774: END IF;
775:
768:
769: -- Find flex_value_id
770: acct_flex_id := get_flex_value_id(v_obligation);
771: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
772: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'OBL_ID = '||ACCT_FLEX_ID);
773: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'OBL = '||V_OBLIGATION);
774: END IF;
775:
776: -- sum obligation accounts (parent and children)
769: -- Find flex_value_id
770: acct_flex_id := get_flex_value_id(v_obligation);
771: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
772: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'OBL_ID = '||ACCT_FLEX_ID);
773: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'OBL = '||V_OBLIGATION);
774: END IF;
775:
776: -- sum obligation accounts (parent and children)
777: sum_children_spending(v_obligation, acct_flex_id, v_child_obligations);
782: -- Processing the expenditure account
783:
784: -- Find flex_value_id
785: acct_flex_id := get_flex_value_id(v_expenditure);
786: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
787: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'EXP_ID = '||ACCT_FLEX_ID);
788: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'EXP = '||V_EXPENDITURE);
789: END IF;
790:
783:
784: -- Find flex_value_id
785: acct_flex_id := get_flex_value_id(v_expenditure);
786: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
787: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'EXP_ID = '||ACCT_FLEX_ID);
788: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'EXP = '||V_EXPENDITURE);
789: END IF;
790:
791: -- sum expenditure accounts (parent and children)
784: -- Find flex_value_id
785: acct_flex_id := get_flex_value_id(v_expenditure);
786: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
787: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'EXP_ID = '||ACCT_FLEX_ID);
788: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'EXP = '||V_EXPENDITURE);
789: END IF;
790:
791: -- sum expenditure accounts (parent and children)
792: sum_children_spending(v_expenditure, acct_flex_id, v_child_expenditure);
797: END LOOP;
798:
799: -- calculate totals
800: x_total_budget :=x_budget + x_transfers_in - x_transfers_out;
801: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
802: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'X_TOTAL_BUDGET = '||X_TOTAL_BUDGET);
803: END IF;
804: x_total :=nvl(x_commitments,0) + nvl(x_obligations,0) + nvl(x_expenditure,0);
805:
798:
799: -- calculate totals
800: x_total_budget :=x_budget + x_transfers_in - x_transfers_out;
801: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
802: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'X_TOTAL_BUDGET = '||X_TOTAL_BUDGET);
803: END IF;
804: x_total :=nvl(x_commitments,0) + nvl(x_obligations,0) + nvl(x_expenditure,0);
805:
806: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
802: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'X_TOTAL_BUDGET = '||X_TOTAL_BUDGET);
803: END IF;
804: x_total :=nvl(x_commitments,0) + nvl(x_obligations,0) + nvl(x_expenditure,0);
805:
806: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
807: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'X_TOTAL = '||X_TOTAL);
808: END IF;
809: x_funds_available :=nvl(x_total_budget,0) - nvl(x_total,0);
810:
803: END IF;
804: x_total :=nvl(x_commitments,0) + nvl(x_obligations,0) + nvl(x_expenditure,0);
805:
806: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
807: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'X_TOTAL = '||X_TOTAL);
808: END IF;
809: x_funds_available :=nvl(x_total_budget,0) - nvl(x_total,0);
810:
811: -- Bug 9721186
819:
820: IF c_treasury_fund_values%ISOPEN THEN
821: close c_treasury_fund_values;
822: END IF;
823: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',err_message);
824: fnd_message.set_name('FV','FV_FAI_GENERAL');
825: fnd_message.set_token('MSG',err_message);
826: app_exception.raise_exception;
827: