268: -- l_src_cat_book_rec := fa_cache_pkg.fazccb_record;
269:
270:
271: -- get each balancing segment and the sum of the amounts
272: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
273:
274: l_statement :=
275: ' select nvl(glcc1.' || l_column_name || ', glcc2.' || l_column_name || '),
276: sum(decode(adjustment_type,
310: l_statement := replace(l_statement, 'flag is null', 'flag is null
311: and adj.set_of_books_id = :p_set_of_books_id');
312: end if;
313:
314: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
315:
316: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_src_asset_hdr_rec.asset_id);
317: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_src_asset_hdr_rec.book_type_code);
318: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
312: end if;
313:
314: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
315:
316: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_src_asset_hdr_rec.asset_id);
317: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_src_asset_hdr_rec.book_type_code);
318: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
319: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_src_trans_rec.transaction_header_id);
320:
313:
314: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
315:
316: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_src_asset_hdr_rec.asset_id);
317: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_src_asset_hdr_rec.book_type_code);
318: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
319: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_src_trans_rec.transaction_header_id);
320:
321: if (p_mrc_sob_type_code = 'R') then
314: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
315:
316: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_src_asset_hdr_rec.asset_id);
317: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_src_asset_hdr_rec.book_type_code);
318: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
319: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_src_trans_rec.transaction_header_id);
320:
321: if (p_mrc_sob_type_code = 'R') then
322: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_set_of_books_id', p_src_asset_hdr_rec.set_of_books_id);
315:
316: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_src_asset_hdr_rec.asset_id);
317: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_src_asset_hdr_rec.book_type_code);
318: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
319: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_src_trans_rec.transaction_header_id);
320:
321: if (p_mrc_sob_type_code = 'R') then
322: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_set_of_books_id', p_src_asset_hdr_rec.set_of_books_id);
323: end if;
318: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
319: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_src_trans_rec.transaction_header_id);
320:
321: if (p_mrc_sob_type_code = 'R') then
322: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_set_of_books_id', p_src_asset_hdr_rec.set_of_books_id);
323: end if;
324:
325:
326: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
322: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_set_of_books_id', p_src_asset_hdr_rec.set_of_books_id);
323: end if;
324:
325:
326: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
327: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, l_sum_amount);
328:
329: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
330:
323: end if;
324:
325:
326: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
327: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, l_sum_amount);
328:
329: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
330:
331: loop
325:
326: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
327: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, l_sum_amount);
328:
329: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
330:
331: loop
332:
333: l_src_count := l_src_tbl.count;
331: loop
332:
333: l_src_count := l_src_tbl.count;
334:
335: if DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 then
336: exit;
337: end if;
338:
339: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_balancing_seg);
335: if DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 then
336: exit;
337: end if;
338:
339: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_balancing_seg);
340: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2, l_sum_amount);
341:
342: if (p_log_level_rec.statement_level) then
343: fa_debug_pkg.add(l_calling_fn, 'balancing_seg for first source tbl: ', l_balancing_seg, p_log_level_rec => p_log_level_rec);
336: exit;
337: end if;
338:
339: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_balancing_seg);
340: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2, l_sum_amount);
341:
342: if (p_log_level_rec.statement_level) then
343: fa_debug_pkg.add(l_calling_fn, 'balancing_seg for first source tbl: ', l_balancing_seg, p_log_level_rec => p_log_level_rec);
344: fa_debug_pkg.add(l_calling_fn, 'sum_amount for first source tbl: ', l_sum_amount, p_log_level_rec => p_log_level_rec);
350: l_src_tbl(l_src_count + 1).amount := l_sum_amount;
351:
352: end loop;
353:
354: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
355:
356:
357: if (p_log_level_rec.statement_level) then
358: fa_debug_pkg.add(l_calling_fn, 'source table count', l_src_tbl.count, p_log_level_rec => p_log_level_rec);
381: -- l_dest_cat_book_rec := fa_cache_pkg.fazccb_record;
382:
383:
384: -- get each balancing segment and the sum of the amounts
385: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
386:
387: l_statement :=
388: ' select nvl(glcc1.' || l_column_name || ', glcc2.' || l_column_name || '),
389: sum(decode(adjustment_type,
422: l_statement := replace(l_statement, 'flag is null', 'flag is null
423: and adj.set_of_books_id = :p_set_of_books_id');
424: end if;
425:
426: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
427:
428: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_dest_asset_hdr_rec.asset_id);
429: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_dest_asset_hdr_rec.book_type_code);
430: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
424: end if;
425:
426: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
427:
428: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_dest_asset_hdr_rec.asset_id);
429: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_dest_asset_hdr_rec.book_type_code);
430: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
431: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_dest_trans_rec.transaction_header_Id);
432:
425:
426: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
427:
428: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_dest_asset_hdr_rec.asset_id);
429: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_dest_asset_hdr_rec.book_type_code);
430: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
431: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_dest_trans_rec.transaction_header_Id);
432:
433:
426: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
427:
428: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_dest_asset_hdr_rec.asset_id);
429: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_dest_asset_hdr_rec.book_type_code);
430: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
431: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_dest_trans_rec.transaction_header_Id);
432:
433:
434: if (p_mrc_sob_type_code = 'R') then
427:
428: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_dest_asset_hdr_rec.asset_id);
429: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_dest_asset_hdr_rec.book_type_code);
430: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
431: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_dest_trans_rec.transaction_header_Id);
432:
433:
434: if (p_mrc_sob_type_code = 'R') then
435: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_set_of_books_id', p_dest_asset_hdr_rec.set_of_books_id);
431: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_dest_trans_rec.transaction_header_Id);
432:
433:
434: if (p_mrc_sob_type_code = 'R') then
435: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_set_of_books_id', p_dest_asset_hdr_rec.set_of_books_id);
436: end if;
437:
438:
439: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
435: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_set_of_books_id', p_dest_asset_hdr_rec.set_of_books_id);
436: end if;
437:
438:
439: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
440: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, l_sum_amount);
441:
442: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
443:
436: end if;
437:
438:
439: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
440: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, l_sum_amount);
441:
442: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
443:
444: loop
438:
439: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
440: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, l_sum_amount);
441:
442: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
443:
444: loop
445:
446: l_dest_count := l_dest_tbl.count;
444: loop
445:
446: l_dest_count := l_dest_tbl.count;
447:
448: if DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 then
449: exit;
450: end if;
451:
452: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_balancing_seg);
448: if DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 then
449: exit;
450: end if;
451:
452: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_balancing_seg);
453: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2, l_sum_amount);
454:
455: if (p_log_level_rec.statement_level) then
456: fa_debug_pkg.add(l_calling_fn, 'balancing_seg for first dest tbl: ', l_balancing_seg, p_log_level_rec => p_log_level_rec);
449: exit;
450: end if;
451:
452: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_balancing_seg);
453: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2, l_sum_amount);
454:
455: if (p_log_level_rec.statement_level) then
456: fa_debug_pkg.add(l_calling_fn, 'balancing_seg for first dest tbl: ', l_balancing_seg, p_log_level_rec => p_log_level_rec);
457: fa_debug_pkg.add(l_calling_fn, 'sum_amount for first dest tbl: ', l_sum_amount, p_log_level_rec => p_log_level_rec);
462: l_dest_tbl(l_dest_count + 1).amount := l_sum_amount;
463:
464: end loop;
465:
466: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
467:
468: if (p_log_level_rec.statement_level) then
469: fa_debug_pkg.add(l_calling_fn, 'dest table count', l_dest_tbl.count, p_log_level_rec => p_log_level_rec);
470: end if;
946: l_total_prorated_amount := 0;
947:
948:
949: -- get each balancing segment and the sum of the amounts
950: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
951:
952: l_statement :=
953: ' select distinct
954: dh.distribution_id,
972: l_statement := replace(l_statement, 'flag is null', 'flag is null
973: and adj.set_of_books_id = :p_set_of_books_id');
974: end if;
975:
976: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
977:
978: -- need to use local for dest variable for intra-asset trxs
979: if (l_summary_tbl(l_summary_count).type = 'SRC') then
980: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_src_asset_hdr_rec.asset_id);
976: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
977:
978: -- need to use local for dest variable for intra-asset trxs
979: if (l_summary_tbl(l_summary_count).type = 'SRC') then
980: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_src_asset_hdr_rec.asset_id);
981: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book_type_code', p_src_asset_hdr_rec.book_type_code);
982: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter_created', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
983: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_src_trans_rec.transaction_header_id);
984: else
977:
978: -- need to use local for dest variable for intra-asset trxs
979: if (l_summary_tbl(l_summary_count).type = 'SRC') then
980: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_src_asset_hdr_rec.asset_id);
981: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book_type_code', p_src_asset_hdr_rec.book_type_code);
982: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter_created', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
983: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_src_trans_rec.transaction_header_id);
984: else
985: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', l_dest_asset_hdr_rec.asset_id);
978: -- need to use local for dest variable for intra-asset trxs
979: if (l_summary_tbl(l_summary_count).type = 'SRC') then
980: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_src_asset_hdr_rec.asset_id);
981: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book_type_code', p_src_asset_hdr_rec.book_type_code);
982: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter_created', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
983: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_src_trans_rec.transaction_header_id);
984: else
985: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', l_dest_asset_hdr_rec.asset_id);
986: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book_type_code', l_dest_asset_hdr_rec.book_type_code);
979: if (l_summary_tbl(l_summary_count).type = 'SRC') then
980: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', p_src_asset_hdr_rec.asset_id);
981: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book_type_code', p_src_asset_hdr_rec.book_type_code);
982: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter_created', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
983: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_src_trans_rec.transaction_header_id);
984: else
985: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', l_dest_asset_hdr_rec.asset_id);
986: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book_type_code', l_dest_asset_hdr_rec.book_type_code);
987: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter_created', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
981: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book_type_code', p_src_asset_hdr_rec.book_type_code);
982: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter_created', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
983: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_src_trans_rec.transaction_header_id);
984: else
985: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', l_dest_asset_hdr_rec.asset_id);
986: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book_type_code', l_dest_asset_hdr_rec.book_type_code);
987: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter_created', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
988: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', l_dest_trans_rec.transaction_header_id);
989: end if;
982: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter_created', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
983: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_src_trans_rec.transaction_header_id);
984: else
985: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', l_dest_asset_hdr_rec.asset_id);
986: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book_type_code', l_dest_asset_hdr_rec.book_type_code);
987: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter_created', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
988: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', l_dest_trans_rec.transaction_header_id);
989: end if;
990:
983: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', p_src_trans_rec.transaction_header_id);
984: else
985: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', l_dest_asset_hdr_rec.asset_id);
986: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book_type_code', l_dest_asset_hdr_rec.book_type_code);
987: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter_created', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
988: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', l_dest_trans_rec.transaction_header_id);
989: end if;
990:
991: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_balancing_segment', l_summary_tbl(l_summary_count).balancing_segment);
984: else
985: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', l_dest_asset_hdr_rec.asset_id);
986: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book_type_code', l_dest_asset_hdr_rec.book_type_code);
987: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter_created', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
988: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', l_dest_trans_rec.transaction_header_id);
989: end if;
990:
991: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_balancing_segment', l_summary_tbl(l_summary_count).balancing_segment);
992:
987: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_period_counter_created', fa_cache_pkg.fazcbc_record.last_period_counter + 1);
988: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_thid', l_dest_trans_rec.transaction_header_id);
989: end if;
990:
991: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_balancing_segment', l_summary_tbl(l_summary_count).balancing_segment);
992:
993: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_distribution_id);
994: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, l_code_combination_id);
995: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3, l_units);
989: end if;
990:
991: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_balancing_segment', l_summary_tbl(l_summary_count).balancing_segment);
992:
993: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_distribution_id);
994: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, l_code_combination_id);
995: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3, l_units);
996:
997: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
990:
991: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_balancing_segment', l_summary_tbl(l_summary_count).balancing_segment);
992:
993: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_distribution_id);
994: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, l_code_combination_id);
995: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3, l_units);
996:
997: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
998:
991: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_balancing_segment', l_summary_tbl(l_summary_count).balancing_segment);
992:
993: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_distribution_id);
994: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, l_code_combination_id);
995: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3, l_units);
996:
997: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
998:
999: loop
993: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_distribution_id);
994: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, l_code_combination_id);
995: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3, l_units);
996:
997: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
998:
999: loop
1000:
1001: if DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 then
997: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
998:
999: loop
1000:
1001: if DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 then
1002:
1003:
1004: if (p_log_level_rec.statement_level) then
1005: fa_debug_pkg.add(l_calling_fn, 'dist cursor: ', 'no more rows fetched', p_log_level_rec => p_log_level_rec);
1113: if (p_log_level_rec.statement_level) then
1114: fa_debug_pkg.add(l_calling_fn, 'populating: ', 'values from dist cursor', p_log_level_rec => p_log_level_rec);
1115: end if;
1116:
1117: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_distribution_id);
1118: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2, l_code_combination_id);
1119: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3, l_units);
1120:
1121:
1114: fa_debug_pkg.add(l_calling_fn, 'populating: ', 'values from dist cursor', p_log_level_rec => p_log_level_rec);
1115: end if;
1116:
1117: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_distribution_id);
1118: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2, l_code_combination_id);
1119: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3, l_units);
1120:
1121:
1122: -- add these values to the table
1115: end if;
1116:
1117: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_distribution_id);
1118: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2, l_code_combination_id);
1119: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3, l_units);
1120:
1121:
1122: -- add these values to the table
1123: l_dist_tbl_count := l_dist_tbl.count + 1;
1126: l_dist_tbl(l_dist_tbl_count).units := l_units;
1127:
1128: end loop;
1129:
1130: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
1131:
1132: end loop;
1133:
1134: raise done_exception;
1321: end if;
1322:
1323:
1324: -- execute the statment
1325: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
1326: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
1327:
1328: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
1329:
1322:
1323:
1324: -- execute the statment
1325: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
1326: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
1327:
1328: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
1329:
1330: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
1324: -- execute the statment
1325: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
1326: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
1327:
1328: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
1329:
1330: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
1331:
1332: loop
1326: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
1327:
1328: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
1329:
1330: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
1331:
1332: loop
1333:
1334: l_bal_count1 := l_bal_tbl1.count;
1332: loop
1333:
1334: l_bal_count1 := l_bal_tbl1.count;
1335:
1336: if DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 then
1337: exit;
1338: end if;
1339:
1340: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_balancing_seg);
1336: if DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 then
1337: exit;
1338: end if;
1339:
1340: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_balancing_seg);
1341:
1342: l_bal_tbl1(l_bal_count1 + 1) := l_balancing_seg;
1343:
1344: end loop;
1342: l_bal_tbl1(l_bal_count1 + 1) := l_balancing_seg;
1343:
1344: end loop;
1345:
1346: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
1347:
1348:
1349:
1350: -- now for group, check all member distributions
1439: end if;
1440:
1441:
1442: -- execute the statment
1443: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
1444: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
1445:
1446: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', l_asset_id);
1447: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_asset_hdr_rec.book_type_code);
1440:
1441:
1442: -- execute the statment
1443: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
1444: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
1445:
1446: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', l_asset_id);
1447: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_asset_hdr_rec.book_type_code);
1448:
1442: -- execute the statment
1443: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
1444: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
1445:
1446: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', l_asset_id);
1447: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_asset_hdr_rec.book_type_code);
1448:
1449: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
1450:
1443: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
1444: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
1445:
1446: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', l_asset_id);
1447: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_asset_hdr_rec.book_type_code);
1448:
1449: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
1450:
1451: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
1445:
1446: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_asset_id', l_asset_id);
1447: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_asset_hdr_rec.book_type_code);
1448:
1449: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
1450:
1451: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
1452:
1453: loop
1447: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':p_book', p_asset_hdr_rec.book_type_code);
1448:
1449: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
1450:
1451: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
1452:
1453: loop
1454:
1455: l_bal_count2 := l_bal_tbl2.count;
1453: loop
1454:
1455: l_bal_count2 := l_bal_tbl2.count;
1456:
1457: if DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 then
1458: exit;
1459: end if;
1460:
1461: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_balancing_seg);
1457: if DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 then
1458: exit;
1459: end if;
1460:
1461: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_balancing_seg);
1462:
1463: l_bal_tbl2(l_bal_count2 + 1) := l_balancing_seg;
1464:
1465: end loop;
1463: l_bal_tbl2(l_bal_count2 + 1) := l_balancing_seg;
1464:
1465: end loop;
1466:
1467: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
1468:
1469:
1470: if (p_log_level_rec.statement_level) then
1471: fa_debug_pkg.add(l_calling_fn, 'looking', 'for mismatches', p_log_level_rec => p_log_level_rec);
1665: fa_debug_pkg.add(l_calling_fn, 'executing', 'first dynamic sql', p_log_level_rec => p_log_level_rec);
1666: end if;
1667:
1668: -- execute the statment
1669: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
1670: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
1671:
1672: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
1673:
1666: end if;
1667:
1668: -- execute the statment
1669: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
1670: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
1671:
1672: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
1673:
1674: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
1668: -- execute the statment
1669: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
1670: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
1671:
1672: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
1673:
1674: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
1675:
1676: loop
1670: DBMS_SQL.PARSE(l_cursor_id, l_statement, DBMS_SQL.NATIVE);
1671:
1672: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_balancing_seg, 30);
1673:
1674: l_dummy := DBMS_SQL.EXECUTE(l_cursor_id);
1675:
1676: loop
1677:
1678: l_bal_count1 := l_bal_tbl1.count;
1676: loop
1677:
1678: l_bal_count1 := l_bal_tbl1.count;
1679:
1680: if DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 then
1681: exit;
1682: end if;
1683:
1684: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_balancing_seg);
1680: if DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 then
1681: exit;
1682: end if;
1683:
1684: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_balancing_seg);
1685:
1686: l_bal_tbl1(l_bal_count1 + 1) := l_balancing_seg;
1687:
1688: end loop;
1686: l_bal_tbl1(l_bal_count1 + 1) := l_balancing_seg;
1687:
1688: end loop;
1689:
1690: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
1691:
1692: -- copy this table to the second array and delete the original
1693: if (i = 1) then
1694: l_bal_tbl2 := l_bal_tbl1;