209: AND puc.user_table_id = put.user_table_id
210: -- bug 9234524 convert to user key units when matching
211: and decode
212: (put.user_key_units,
213: 'D', to_char(fnd_date.canonical_to_date(X_ROW_LOW_RANGE_OR_NAME)),
214: 'N', to_char(fnd_number.canonical_to_number(X_ROW_LOW_RANGE_OR_NAME)),
215: 'T', upper (X_ROW_LOW_RANGE_OR_NAME),
216: null) =
217: decode
215: 'T', upper (X_ROW_LOW_RANGE_OR_NAME),
216: null) =
217: decode
218: (put.user_key_units,
219: 'D', to_char(fnd_date.canonical_to_date(pur.row_low_range_or_name)),
220: 'N', to_char(fnd_number.canonical_to_number(pur.row_low_range_or_name)),
221: 'T', upper (pur.row_low_range_or_name),
222: null)
223: and ( NVL(pur.row_high_range,'NULL') = NVL(X_ROW_HIGH_RANGE,'NULL')
222: null)
223: and ( NVL(pur.row_high_range,'NULL') = NVL(X_ROW_HIGH_RANGE,'NULL')
224: OR decode
225: (put.user_key_units,
226: 'D', to_char(fnd_date.canonical_to_date(X_ROW_HIGH_RANGE)),
227: 'N', to_char(fnd_number.canonical_to_number(X_ROW_HIGH_RANGE)),
228: 'T', upper (X_ROW_HIGH_RANGE),
229: null) =
230: decode
228: 'T', upper (X_ROW_HIGH_RANGE),
229: null) =
230: decode
231: (put.user_key_units,
232: 'D', to_char(fnd_date.canonical_to_date(pur.row_high_range)),
233: 'N', to_char(fnd_number.canonical_to_number(pur.row_high_range)),
234: 'T', upper (pur.row_high_range),
235: null))
236: -- end bug 9234524
247: -- AND val.legislation_code = X_LEGISLATION_CODE /* Bug 16484589 */
248: AND pur.legislation_code = X_LEGISLATION_CODE
249: )
250: )
251: AND fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE) < val.effective_end_date;
252:
253:
254:
255: l_user_row_id NUMBER;
286: FROM pay_user_rows_f pur
287: -- bug 9234524 convert to user key units when matching
288: WHERE decode
289: (l_user_key_units,
290: 'D', to_char(fnd_date.canonical_to_date(X_ROW_LOW_RANGE_OR_NAME)),
291: 'N', to_char(fnd_number.canonical_to_number(X_ROW_LOW_RANGE_OR_NAME)),
292: 'T', upper (X_ROW_LOW_RANGE_OR_NAME),
293: null) =
294: decode
292: 'T', upper (X_ROW_LOW_RANGE_OR_NAME),
293: null) =
294: decode
295: (l_user_key_units,
296: 'D', to_char(fnd_date.canonical_to_date(pur.row_low_range_or_name)),
297: 'N', to_char(fnd_number.canonical_to_number(pur.row_low_range_or_name)),
298: 'T', upper (pur.row_low_range_or_name),
299: null)
300: and ( NVL(pur.row_high_range,'NULL') = NVL(X_ROW_HIGH_RANGE,'NULL')
299: null)
300: and ( NVL(pur.row_high_range,'NULL') = NVL(X_ROW_HIGH_RANGE,'NULL')
301: OR decode
302: (l_user_key_units,
303: 'D', to_char(fnd_date.canonical_to_date(X_ROW_HIGH_RANGE)),
304: 'N', to_char(fnd_number.canonical_to_number(X_ROW_HIGH_RANGE)),
305: 'T', upper (X_ROW_HIGH_RANGE),
306: null) =
307: decode
305: 'T', upper (X_ROW_HIGH_RANGE),
306: null) =
307: decode
308: (l_user_key_units,
309: 'D', to_char(fnd_date.canonical_to_date(pur.row_high_range)),
310: 'N', to_char(fnd_number.canonical_to_number(pur.row_high_range)),
311: 'T', upper (pur.row_high_range),
312: null))
313: -- end bug 9234524 changes
317: legislation_code IS NULL
318: )
319: AND business_group_id IS NULL
320: AND user_table_id = l_user_table_id
321: AND fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE) BETWEEN effective_start_date AND effective_end_date;
322:
323:
324: IF (l_effective_start_date <> fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE))
325: THEN
320: AND user_table_id = l_user_table_id
321: AND fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE) BETWEEN effective_start_date AND effective_end_date;
322:
323:
324: IF (l_effective_start_date <> fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE))
325: THEN
326: pay_user_row_api.update_user_row
327: (p_validate => FALSE
328: ,p_effective_date => fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE)
324: IF (l_effective_start_date <> fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE))
325: THEN
326: pay_user_row_api.update_user_row
327: (p_validate => FALSE
328: ,p_effective_date => fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE)
329: ,p_datetrack_update_mode => hr_api.g_update
330: ,p_user_row_id => l_user_row_id
331: ,p_display_sequence => l_display_sequence
332: ,p_object_version_number => l_object_version_number
340: );
341:
342: END IF;
343:
344: IF (l_effective_end_date <> fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE))
345: THEN
346: if l_effective_end_date < fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE)
347: then l_datetrack_mode := hr_api.g_future_change;
348: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE);
342: END IF;
343:
344: IF (l_effective_end_date <> fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE))
345: THEN
346: if l_effective_end_date < fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE)
347: then l_datetrack_mode := hr_api.g_future_change;
348: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE);
349: else l_datetrack_mode := hr_api.g_delete;
350: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE);
344: IF (l_effective_end_date <> fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE))
345: THEN
346: if l_effective_end_date < fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE)
347: then l_datetrack_mode := hr_api.g_future_change;
348: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE);
349: else l_datetrack_mode := hr_api.g_delete;
350: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE);
351: end if;
352: hr_startup_data_api_support.enable_startup_mode('DELIVERY');
346: if l_effective_end_date < fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE)
347: then l_datetrack_mode := hr_api.g_future_change;
348: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE);
349: else l_datetrack_mode := hr_api.g_delete;
350: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE);
351: end if;
352: hr_startup_data_api_support.enable_startup_mode('DELIVERY');
353: FOR c_rec IN c_get_col_instance_id(l_user_row_id)
354: LOOP
384: l_display_sequence := X_DISPLAY_SEQUENCE;
385:
386: pay_user_row_api.create_user_row
387: (p_validate => FALSE
388: ,p_effective_date => fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE)
389: ,p_user_table_id => l_user_table_id
390: ,p_row_low_range_or_name => X_ROW_LOW_RANGE_OR_NAME
391: ,p_display_sequence => l_display_sequence
392: ,p_business_group_id => NULL
403: IF (SUBSTR(X_EFFECTIVE_END_DATE,0,4) <> '4712')
404: THEN
405: pay_user_row_api.delete_user_row
406: (p_validate => FALSE
407: ,p_effective_date => fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE)
408: ,p_datetrack_update_mode => hr_api.g_delete
409: ,p_user_row_id => l_user_row_id
410: ,p_object_version_number => l_object_version_number
411: ,p_disable_range_overlap_check => FALSE
542: AND puc.user_table_id = put.user_table_id
543: -- bug 9234524 convert to user key units when matching
544: AND decode
545: (put.user_key_units,
546: 'D', to_char(fnd_date.canonical_to_date(X_ROW_LOW_RANGE_OR_NAME)),
547: 'N', to_char(fnd_number.canonical_to_number(X_ROW_LOW_RANGE_OR_NAME)),
548: 'T', upper (X_ROW_LOW_RANGE_OR_NAME),
549: null) =
550: decode
548: 'T', upper (X_ROW_LOW_RANGE_OR_NAME),
549: null) =
550: decode
551: (put.user_key_units,
552: 'D', to_char(fnd_date.canonical_to_date(pur.row_low_range_or_name)),
553: 'N', to_char(fnd_number.canonical_to_number(pur.row_low_range_or_name)),
554: 'T', upper (pur.row_low_range_or_name),
555: null)
556: AND ( NVL(pur.row_high_range,'NULL') = NVL(X_ROW_HIGH_RANGE,'NULL')
555: null)
556: AND ( NVL(pur.row_high_range,'NULL') = NVL(X_ROW_HIGH_RANGE,'NULL')
557: OR decode
558: (put.user_key_units,
559: 'D', to_char(fnd_date.canonical_to_date(X_ROW_HIGH_RANGE)),
560: 'N', to_char(fnd_number.canonical_to_number(X_ROW_HIGH_RANGE)),
561: 'T', upper (X_ROW_HIGH_RANGE),
562: null) =
563: decode
561: 'T', upper (X_ROW_HIGH_RANGE),
562: null) =
563: decode
564: (put.user_key_units,
565: 'D', to_char(fnd_date.canonical_to_date(pur.row_high_range)),
566: 'N', to_char(fnd_number.canonical_to_number(pur.row_high_range)),
567: 'T', upper (pur.row_high_range),
568: null))
569: -- bug 9234524 changes end
571: AND put.user_table_name = X_USER_TABLE_NAME
572: AND put.legislation_code = X_LEGISLATION_CODE
573: AND pur.legislation_code = X_LEGISLATION_CODE
574: AND puc.legislation_code = X_LEGISLATION_CODE
575: AND fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE)
576: BETWEEN pur.effective_start_date AND pur.effective_end_date ;
577:
578: l_user_table_id NUMBER;
579: l_user_row_id NUMBER;
616: AND puc.user_column_name = X_USER_COLUMN_NAME
617: -- bug 9234524 convert to user key units when matching
618: AND decode
619: (put.user_key_units,
620: 'D', to_char(fnd_date.canonical_to_date(X_ROW_LOW_RANGE_OR_NAME)),
621: 'N', to_char(fnd_number.canonical_to_number(X_ROW_LOW_RANGE_OR_NAME)),
622: 'T', upper (X_ROW_LOW_RANGE_OR_NAME),
623: null) =
624: decode
622: 'T', upper (X_ROW_LOW_RANGE_OR_NAME),
623: null) =
624: decode
625: (put.user_key_units,
626: 'D', to_char(fnd_date.canonical_to_date(pur.row_low_range_or_name)),
627: 'N', to_char(fnd_number.canonical_to_number(pur.row_low_range_or_name)),
628: 'T', upper (pur.row_low_range_or_name),
629: null)
630: AND ( NVL(pur.row_high_range,'NULL') = NVL(X_ROW_HIGH_RANGE,'NULL')
629: null)
630: AND ( NVL(pur.row_high_range,'NULL') = NVL(X_ROW_HIGH_RANGE,'NULL')
631: OR decode
632: (put.user_key_units,
633: 'D', to_char(fnd_date.canonical_to_date(X_ROW_HIGH_RANGE)),
634: 'N', to_char(fnd_number.canonical_to_number(X_ROW_HIGH_RANGE)),
635: 'T', upper (X_ROW_HIGH_RANGE),
636: null) =
637: decode
635: 'T', upper (X_ROW_HIGH_RANGE),
636: null) =
637: decode
638: (put.user_key_units,
639: 'D', to_char(fnd_date.canonical_to_date(pur.row_high_range)),
640: 'N', to_char(fnd_number.canonical_to_number(pur.row_high_range)),
641: 'T', upper (pur.row_high_range),
642: null))
643: -- bug 9234524 changes end
654: AND val.legislation_code = X_LEGISLATION_CODE
655: AND pur.legislation_code = X_LEGISLATION_CODE
656: )
657: )
658: AND fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE)
659: BETWEEN val.effective_start_date AND val.effective_end_date
660: AND fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE)
661: BETWEEN pur.effective_start_date AND pur.effective_end_date;
662:
656: )
657: )
658: AND fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE)
659: BETWEEN val.effective_start_date AND val.effective_end_date
660: AND fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE)
661: BETWEEN pur.effective_start_date AND pur.effective_end_date;
662:
663: IF (l_effective_start_date <> fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE))
664: THEN
659: BETWEEN val.effective_start_date AND val.effective_end_date
660: AND fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE)
661: BETWEEN pur.effective_start_date AND pur.effective_end_date;
662:
663: IF (l_effective_start_date <> fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE))
664: THEN
665:
666: pay_user_column_instance_api.update_user_column_instance
667: (p_validate => FALSE
664: THEN
665:
666: pay_user_column_instance_api.update_user_column_instance
667: (p_validate => FALSE
668: ,p_effective_date => fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE)
669: ,p_user_column_instance_id => l_user_col_instance_id
670: ,p_datetrack_update_mode => hr_api.g_update
671: ,p_value => X_VALUE
672: ,p_object_version_number => l_object_version_number
675: );
676:
677: END IF;
678:
679: IF (l_effective_end_date <> fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE))
680: THEN
681: if l_effective_end_date < fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE)
682: then l_datetrack_mode := hr_api.g_future_change;
683: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE);
677: END IF;
678:
679: IF (l_effective_end_date <> fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE))
680: THEN
681: if l_effective_end_date < fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE)
682: then l_datetrack_mode := hr_api.g_future_change;
683: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE);
684: else l_datetrack_mode := hr_api.g_delete;
685: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE);
679: IF (l_effective_end_date <> fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE))
680: THEN
681: if l_effective_end_date < fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE)
682: then l_datetrack_mode := hr_api.g_future_change;
683: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE);
684: else l_datetrack_mode := hr_api.g_delete;
685: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE);
686: end if;
687:
681: if l_effective_end_date < fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE)
682: then l_datetrack_mode := hr_api.g_future_change;
683: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE);
684: else l_datetrack_mode := hr_api.g_delete;
685: l_effective_date := fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE);
686: end if;
687:
688: pay_user_column_instance_api.delete_user_column_instance
689: (p_validate => FALSE
709: CLOSE c_row_col_details;
710:
711: pay_user_column_instance_api.create_user_column_instance
712: (p_validate => FALSE
713: ,p_effective_date => fnd_date.canonical_to_date(X_EFFECTIVE_START_DATE)
714: ,p_user_row_id => l_user_row_id
715: ,p_user_column_id => l_user_column_id
716: ,p_value => X_VALUE
717: ,p_business_group_id => NULL
727: IF (SUBSTR(X_EFFECTIVE_END_DATE,0,4) <> TO_CHAR(l_end_date,'YYYY'))
728: THEN
729: pay_user_column_instance_api.delete_user_column_instance
730: (p_validate => FALSE
731: ,p_effective_date => fnd_date.canonical_to_date(X_EFFECTIVE_END_DATE)
732: ,p_user_column_instance_id => l_user_col_instance_id
733: ,p_datetrack_update_mode => hr_api.g_delete
734: ,p_object_version_number => l_object_version_number
735: ,p_effective_start_date => l_start_date