551: c_proc constant varchar2(61) := c_package || 'fy_start_date';
552: --
553: l_fy_start_date date;
554: cursor csr_fy_start_date(p_business_group_id number) is
555: select fnd_date.canonical_to_date(org_information11)
556: from hr_organization_information
557: where organization_id = p_business_group_id
558: and org_information_context = 'Business Group Information';
559: begin
792: --
793: if (l_start_date is null) or (l_end_date is null) then
794: fnd_message.set_name('PAY', 'PAY_JP_DIM_PERIOD_NULL');
795: fnd_message.set_token('DIMENSION_NAME', p_dimension_name);
796: fnd_message.set_token('EFFECTIVE_DATE', fnd_date.date_to_chardate(l_date));
797: fnd_message.set_token('START_DATE', fnd_date.date_to_chardate(l_start_date));
798: fnd_message.set_token('END_DATE', fnd_date.date_to_chardate(l_end_date));
799: fnd_message.raise_error;
800: elsif l_date not between l_start_date and l_end_date then
793: if (l_start_date is null) or (l_end_date is null) then
794: fnd_message.set_name('PAY', 'PAY_JP_DIM_PERIOD_NULL');
795: fnd_message.set_token('DIMENSION_NAME', p_dimension_name);
796: fnd_message.set_token('EFFECTIVE_DATE', fnd_date.date_to_chardate(l_date));
797: fnd_message.set_token('START_DATE', fnd_date.date_to_chardate(l_start_date));
798: fnd_message.set_token('END_DATE', fnd_date.date_to_chardate(l_end_date));
799: fnd_message.raise_error;
800: elsif l_date not between l_start_date and l_end_date then
801: fnd_message.set_name('PAY', 'PAY_JP_DIM_DATE_OUT_OF_PERIOD');
794: fnd_message.set_name('PAY', 'PAY_JP_DIM_PERIOD_NULL');
795: fnd_message.set_token('DIMENSION_NAME', p_dimension_name);
796: fnd_message.set_token('EFFECTIVE_DATE', fnd_date.date_to_chardate(l_date));
797: fnd_message.set_token('START_DATE', fnd_date.date_to_chardate(l_start_date));
798: fnd_message.set_token('END_DATE', fnd_date.date_to_chardate(l_end_date));
799: fnd_message.raise_error;
800: elsif l_date not between l_start_date and l_end_date then
801: fnd_message.set_name('PAY', 'PAY_JP_DIM_DATE_OUT_OF_PERIOD');
802: fnd_message.set_token('DIMENSION_NAME', p_dimension_name);
799: fnd_message.raise_error;
800: elsif l_date not between l_start_date and l_end_date then
801: fnd_message.set_name('PAY', 'PAY_JP_DIM_DATE_OUT_OF_PERIOD');
802: fnd_message.set_token('DIMENSION_NAME', p_dimension_name);
803: fnd_message.set_token('EFFECTIVE_DATE', fnd_date.date_to_chardate(l_date));
804: fnd_message.set_token('START_DATE', fnd_date.date_to_chardate(l_start_date));
805: fnd_message.set_token('END_DATE', fnd_date.date_to_chardate(l_end_date));
806: fnd_message.raise_error;
807: elsif ((l_prev_start_date <> l_start_date) or (l_prev_end_date <> l_end_date))
800: elsif l_date not between l_start_date and l_end_date then
801: fnd_message.set_name('PAY', 'PAY_JP_DIM_DATE_OUT_OF_PERIOD');
802: fnd_message.set_token('DIMENSION_NAME', p_dimension_name);
803: fnd_message.set_token('EFFECTIVE_DATE', fnd_date.date_to_chardate(l_date));
804: fnd_message.set_token('START_DATE', fnd_date.date_to_chardate(l_start_date));
805: fnd_message.set_token('END_DATE', fnd_date.date_to_chardate(l_end_date));
806: fnd_message.raise_error;
807: elsif ((l_prev_start_date <> l_start_date) or (l_prev_end_date <> l_end_date))
808: and ((l_start_date <> l_prev_end_date + 1) or (l_start_date <> l_date)) then
801: fnd_message.set_name('PAY', 'PAY_JP_DIM_DATE_OUT_OF_PERIOD');
802: fnd_message.set_token('DIMENSION_NAME', p_dimension_name);
803: fnd_message.set_token('EFFECTIVE_DATE', fnd_date.date_to_chardate(l_date));
804: fnd_message.set_token('START_DATE', fnd_date.date_to_chardate(l_start_date));
805: fnd_message.set_token('END_DATE', fnd_date.date_to_chardate(l_end_date));
806: fnd_message.raise_error;
807: elsif ((l_prev_start_date <> l_start_date) or (l_prev_end_date <> l_end_date))
808: and ((l_start_date <> l_prev_end_date + 1) or (l_start_date <> l_date)) then
809: fnd_message.set_name('PAY', 'PAY_JP_DIM_PERIOD_NOT_CONT');
807: elsif ((l_prev_start_date <> l_start_date) or (l_prev_end_date <> l_end_date))
808: and ((l_start_date <> l_prev_end_date + 1) or (l_start_date <> l_date)) then
809: fnd_message.set_name('PAY', 'PAY_JP_DIM_PERIOD_NOT_CONT');
810: fnd_message.set_token('DIMENSION_NAME', p_dimension_name);
811: fnd_message.set_token('EFFECTIVE_DATE', fnd_date.date_to_chardate(l_date));
812: fnd_message.set_token('START_DATE', fnd_date.date_to_chardate(l_start_date));
813: fnd_message.set_token('END_DATE', fnd_date.date_to_chardate(l_end_date));
814: fnd_message.set_token('PREV_START_DATE', fnd_date.date_to_chardate(l_prev_start_date));
815: fnd_message.set_token('PREV_END_DATE', fnd_date.date_to_chardate(l_prev_end_date));
808: and ((l_start_date <> l_prev_end_date + 1) or (l_start_date <> l_date)) then
809: fnd_message.set_name('PAY', 'PAY_JP_DIM_PERIOD_NOT_CONT');
810: fnd_message.set_token('DIMENSION_NAME', p_dimension_name);
811: fnd_message.set_token('EFFECTIVE_DATE', fnd_date.date_to_chardate(l_date));
812: fnd_message.set_token('START_DATE', fnd_date.date_to_chardate(l_start_date));
813: fnd_message.set_token('END_DATE', fnd_date.date_to_chardate(l_end_date));
814: fnd_message.set_token('PREV_START_DATE', fnd_date.date_to_chardate(l_prev_start_date));
815: fnd_message.set_token('PREV_END_DATE', fnd_date.date_to_chardate(l_prev_end_date));
816: fnd_message.raise_error;
809: fnd_message.set_name('PAY', 'PAY_JP_DIM_PERIOD_NOT_CONT');
810: fnd_message.set_token('DIMENSION_NAME', p_dimension_name);
811: fnd_message.set_token('EFFECTIVE_DATE', fnd_date.date_to_chardate(l_date));
812: fnd_message.set_token('START_DATE', fnd_date.date_to_chardate(l_start_date));
813: fnd_message.set_token('END_DATE', fnd_date.date_to_chardate(l_end_date));
814: fnd_message.set_token('PREV_START_DATE', fnd_date.date_to_chardate(l_prev_start_date));
815: fnd_message.set_token('PREV_END_DATE', fnd_date.date_to_chardate(l_prev_end_date));
816: fnd_message.raise_error;
817: end if;
810: fnd_message.set_token('DIMENSION_NAME', p_dimension_name);
811: fnd_message.set_token('EFFECTIVE_DATE', fnd_date.date_to_chardate(l_date));
812: fnd_message.set_token('START_DATE', fnd_date.date_to_chardate(l_start_date));
813: fnd_message.set_token('END_DATE', fnd_date.date_to_chardate(l_end_date));
814: fnd_message.set_token('PREV_START_DATE', fnd_date.date_to_chardate(l_prev_start_date));
815: fnd_message.set_token('PREV_END_DATE', fnd_date.date_to_chardate(l_prev_end_date));
816: fnd_message.raise_error;
817: end if;
818: --
811: fnd_message.set_token('EFFECTIVE_DATE', fnd_date.date_to_chardate(l_date));
812: fnd_message.set_token('START_DATE', fnd_date.date_to_chardate(l_start_date));
813: fnd_message.set_token('END_DATE', fnd_date.date_to_chardate(l_end_date));
814: fnd_message.set_token('PREV_START_DATE', fnd_date.date_to_chardate(l_prev_start_date));
815: fnd_message.set_token('PREV_END_DATE', fnd_date.date_to_chardate(l_prev_end_date));
816: fnd_message.raise_error;
817: end if;
818: --
819: -- Output period date range if the current date is in the end of the period