265: , x_previous_bit out nocopy number
266: )
267: is
268:
269: l_period_bit_tbl isc_fs_task_bac_age_etl_pkg.t_period_bit_tbl;
270:
271: begin
272:
273: x_current_bit := l_period_bit_tbl(p_xtd).curr;
312: , p_custom_output in out nocopy bis_query_attributes_tbl
313: )
314: is
315:
316: l_period_bit_tbl constant isc_fs_task_bac_age_etl_pkg.t_period_bit_tbl :=
317: isc_fs_task_bac_age_etl_pkg.get_period_bit_tbl;
318:
319: l_current_as_of_date date;
320: l_previous_as_of_date date;
313: )
314: is
315:
316: l_period_bit_tbl constant isc_fs_task_bac_age_etl_pkg.t_period_bit_tbl :=
317: isc_fs_task_bac_age_etl_pkg.get_period_bit_tbl;
318:
319: l_current_as_of_date date;
320: l_previous_as_of_date date;
321: l_current_start_date date;
342: , null
343: ) ) previous_asof_date
344: , min( decode( bitand(record_type_id,l_current_bit)
345: , l_current_bit, decode( l_current_bit
346: , isc_fs_task_bac_age_etl_pkg.G_WTD, week_start_date
347: , isc_fs_task_bac_age_etl_pkg.G_MTD, ent_period_start_date
348: , isc_fs_task_bac_age_etl_pkg.G_QTD, case
349: when p_comparison_type = 'Y' then
350: case
343: ) ) previous_asof_date
344: , min( decode( bitand(record_type_id,l_current_bit)
345: , l_current_bit, decode( l_current_bit
346: , isc_fs_task_bac_age_etl_pkg.G_WTD, week_start_date
347: , isc_fs_task_bac_age_etl_pkg.G_MTD, ent_period_start_date
348: , isc_fs_task_bac_age_etl_pkg.G_QTD, case
349: when p_comparison_type = 'Y' then
350: case
351: when rnk <=4 then ent_qtr_start_date
344: , min( decode( bitand(record_type_id,l_current_bit)
345: , l_current_bit, decode( l_current_bit
346: , isc_fs_task_bac_age_etl_pkg.G_WTD, week_start_date
347: , isc_fs_task_bac_age_etl_pkg.G_MTD, ent_period_start_date
348: , isc_fs_task_bac_age_etl_pkg.G_QTD, case
349: when p_comparison_type = 'Y' then
350: case
351: when rnk <=4 then ent_qtr_start_date
352: else null
352: else null
353: end
354: else ent_qtr_start_date
355: end
356: , isc_fs_task_bac_age_etl_pkg.G_YTD, ent_year_start_date
357: , isc_fs_task_bac_age_etl_pkg.G_DAY, day_start_date
358: )
359: , null
360: ) ) current_report_start_date
353: end
354: else ent_qtr_start_date
355: end
356: , isc_fs_task_bac_age_etl_pkg.G_YTD, ent_year_start_date
357: , isc_fs_task_bac_age_etl_pkg.G_DAY, day_start_date
358: )
359: , null
360: ) ) current_report_start_date
361: , min( decode( bitand(record_type_id,l_previous_bit)
359: , null
360: ) ) current_report_start_date
361: , min( decode( bitand(record_type_id,l_previous_bit)
362: , l_previous_bit, decode( l_current_bit
363: , isc_fs_task_bac_age_etl_pkg.G_WTD, week_start_date
364: , isc_fs_task_bac_age_etl_pkg.G_MTD, ent_period_start_date
365: , isc_fs_task_bac_age_etl_pkg.G_QTD, ent_qtr_start_date
366: , isc_fs_task_bac_age_etl_pkg.G_YTD, ent_year_start_date
367: , isc_fs_task_bac_age_etl_pkg.G_DAY, day_start_date
360: ) ) current_report_start_date
361: , min( decode( bitand(record_type_id,l_previous_bit)
362: , l_previous_bit, decode( l_current_bit
363: , isc_fs_task_bac_age_etl_pkg.G_WTD, week_start_date
364: , isc_fs_task_bac_age_etl_pkg.G_MTD, ent_period_start_date
365: , isc_fs_task_bac_age_etl_pkg.G_QTD, ent_qtr_start_date
366: , isc_fs_task_bac_age_etl_pkg.G_YTD, ent_year_start_date
367: , isc_fs_task_bac_age_etl_pkg.G_DAY, day_start_date
368: )
361: , min( decode( bitand(record_type_id,l_previous_bit)
362: , l_previous_bit, decode( l_current_bit
363: , isc_fs_task_bac_age_etl_pkg.G_WTD, week_start_date
364: , isc_fs_task_bac_age_etl_pkg.G_MTD, ent_period_start_date
365: , isc_fs_task_bac_age_etl_pkg.G_QTD, ent_qtr_start_date
366: , isc_fs_task_bac_age_etl_pkg.G_YTD, ent_year_start_date
367: , isc_fs_task_bac_age_etl_pkg.G_DAY, day_start_date
368: )
369: , null
362: , l_previous_bit, decode( l_current_bit
363: , isc_fs_task_bac_age_etl_pkg.G_WTD, week_start_date
364: , isc_fs_task_bac_age_etl_pkg.G_MTD, ent_period_start_date
365: , isc_fs_task_bac_age_etl_pkg.G_QTD, ent_qtr_start_date
366: , isc_fs_task_bac_age_etl_pkg.G_YTD, ent_year_start_date
367: , isc_fs_task_bac_age_etl_pkg.G_DAY, day_start_date
368: )
369: , null
370: ) ) previous_report_start_date
363: , isc_fs_task_bac_age_etl_pkg.G_WTD, week_start_date
364: , isc_fs_task_bac_age_etl_pkg.G_MTD, ent_period_start_date
365: , isc_fs_task_bac_age_etl_pkg.G_QTD, ent_qtr_start_date
366: , isc_fs_task_bac_age_etl_pkg.G_YTD, ent_year_start_date
367: , isc_fs_task_bac_age_etl_pkg.G_DAY, day_start_date
368: )
369: , null
370: ) ) previous_report_start_date
371: into