22:
23: END get_old_elmtenvl_data;
24:
25: BEGIN
26: hr_utility.set_location('Entering:'|| l_proc , 1);
27: ghr_history_api.get_g_session_var( l_session_var);
28: hr_utility.set_location('Program Name : ' || l_session_var.program_name, 1);
29: hr_utility.set_location('Fire Trigger : ' || l_session_var.fire_trigger, 1);
30:
24:
25: BEGIN
26: hr_utility.set_location('Entering:'|| l_proc , 1);
27: ghr_history_api.get_g_session_var( l_session_var);
28: hr_utility.set_location('Program Name : ' || l_session_var.program_name, 1);
29: hr_utility.set_location('Fire Trigger : ' || l_session_var.fire_trigger, 1);
30:
31: IF l_session_var.fire_trigger = 'Y' THEN
32: if l_session_var.element_entry_id is null then
25: BEGIN
26: hr_utility.set_location('Entering:'|| l_proc , 1);
27: ghr_history_api.get_g_session_var( l_session_var);
28: hr_utility.set_location('Program Name : ' || l_session_var.program_name, 1);
29: hr_utility.set_location('Fire Trigger : ' || l_session_var.fire_trigger, 1);
30:
31: IF l_session_var.fire_trigger = 'Y' THEN
32: if l_session_var.element_entry_id is null then
33: l_session_var.element_entry_id := :new.element_entry_id;
33: l_session_var.element_entry_id := :new.element_entry_id;
34: end if;
35:
36: IF lower(l_session_var.program_name) = 'core' THEN
37: hr_utility.set_location( l_proc , 180);
38: ghr_history_api.get_session_date( l_session_date);
39: IF inserting THEN
40: hr_utility.set_location( l_proc , 170);
41: IF :new.effective_start_date >= l_session_date THEN
36: IF lower(l_session_var.program_name) = 'core' THEN
37: hr_utility.set_location( l_proc , 180);
38: ghr_history_api.get_session_date( l_session_date);
39: IF inserting THEN
40: hr_utility.set_location( l_proc , 170);
41: IF :new.effective_start_date >= l_session_date THEN
42: hr_utility.set_location( l_proc , 160);
43:
44: -- For core forms effective date must be set to effective start date.
38: ghr_history_api.get_session_date( l_session_date);
39: IF inserting THEN
40: hr_utility.set_location( l_proc , 170);
41: IF :new.effective_start_date >= l_session_date THEN
42: hr_utility.set_location( l_proc , 160);
43:
44: -- For core forms effective date must be set to effective start date.
45: -- Currently this is not set correctly thru core form. As it sets the
46: -- effective date to session date.
57: p_row_id => :new.rowid
58: );
59:
60: ELSE
61: hr_utility.set_location( l_proc , 150);
62: /* As core form creates a new record for the old record and
63: end dates it. This is not the record which needs to be
64: considered for history.
65: */
68: ELSIF updating THEN
69: ghr_history_api.get_g_session_var( l_session_var);
70: IF l_session_date between :new.effective_start_date and
71: :new.effective_end_date THEN
72: hr_utility.set_location( l_proc , 140);
73: get_old_elmtenvl_data( l_old_element_entvl_data);
74: ghr_history_conv_rg.conv_element_entval_rg_to_hist(
75: p_element_entval_data => l_old_element_entvl_data,
76: p_history_data => l_old_element_entvl_hist_data);
90: p_old_record_data => l_old_element_entvl_hist_data,
91: p_row_id => :new.rowid
92: );
93: ELSE
94: hr_utility.set_location( l_proc , 130);
95: /* This is the case when a record is end dated. No need to
96: maintain History for this record
97: */
98: NULL;
97: */
98: NULL;
99: END IF;
100: ELSE /* ie deleting */
101: hr_utility.set_location( l_proc , 120);
102: ghr_history_api.get_g_session_var( l_session_var);
103: /* Should we allow deletes from core. How should it be handled?? */
104: NULL;
105: END IF;
104: NULL;
105: END IF;
106: ELSIF lower(l_session_var.program_name) = 'sf50' THEN
107: IF inserting THEN
108: hr_utility.set_location( l_proc , 110);
109: ghr_history_api.set_operation_info(
110: p_program_name => l_session_var.program_name,
111: p_date_effective => l_session_var.date_effective,
112: p_table_name => lower(ghr_history_api.g_eleevl_table),
115: p_old_record_data => l_old_element_entvl_hist_data,
116: p_row_id => :new.rowid);
117: ELSIF updating THEN
118: IF (:new.effective_end_date <> :old.effective_end_date) THEN
119: hr_utility.set_location( l_proc , 100);
120: NULL;
121: ELSE
122: hr_utility.set_location('sf50 Updating '|| l_proc , 20);
123: get_old_elmtenvl_data ( l_old_element_entvl_data);
118: IF (:new.effective_end_date <> :old.effective_end_date) THEN
119: hr_utility.set_location( l_proc , 100);
120: NULL;
121: ELSE
122: hr_utility.set_location('sf50 Updating '|| l_proc , 20);
123: get_old_elmtenvl_data ( l_old_element_entvl_data);
124: ghr_history_conv_rg.conv_element_entval_rg_to_hist(
125: p_element_entval_data => l_old_element_entvl_data,
126: p_history_data => l_old_element_entvl_hist_data);
134: p_row_id => :new.rowid);
135:
136: END IF;
137: ELSE /* deleting */
138: hr_utility.set_location('sf50 deleting '|| l_proc , 30);
139: null;
140: -- get_old_elmtevl_data(l_old_elmtevl_date);
141: -- ghr_history_conv_rg.conv_element_entval_rg_to_hist(
142: -- p_element_entvl_data => l_old_element_entvl_data,
150: -- p_old_record_data => l_old_element_entvl_data,
151: -- p_row_id => :new.rowid);
152: END IF;
153: ELSE /* Not a known type */
154: hr_utility.set_location('Unknown Program Name - ' || l_session_var.program_name ||' :' || l_proc , 10);
155: hr_utility.set_message( 8301, 'GHR_UNKNOWN_PGM_TYPE');
156: fnd_message.set_token('PROGRAM_TYPE', l_session_var.program_name);
157: hr_utility.raise_error;
158: /* History not maintained */
151: -- p_row_id => :new.rowid);
152: END IF;
153: ELSE /* Not a known type */
154: hr_utility.set_location('Unknown Program Name - ' || l_session_var.program_name ||' :' || l_proc , 10);
155: hr_utility.set_message( 8301, 'GHR_UNKNOWN_PGM_TYPE');
156: fnd_message.set_token('PROGRAM_TYPE', l_session_var.program_name);
157: hr_utility.raise_error;
158: /* History not maintained */
159: END IF;
153: ELSE /* Not a known type */
154: hr_utility.set_location('Unknown Program Name - ' || l_session_var.program_name ||' :' || l_proc , 10);
155: hr_utility.set_message( 8301, 'GHR_UNKNOWN_PGM_TYPE');
156: fnd_message.set_token('PROGRAM_TYPE', l_session_var.program_name);
157: hr_utility.raise_error;
158: /* History not maintained */
159: END IF;
160: END IF;
161: hr_utility.set_location('Leaving:'|| l_proc , 1);
157: hr_utility.raise_error;
158: /* History not maintained */
159: END IF;
160: END IF;
161: hr_utility.set_location('Leaving:'|| l_proc , 1);
162: END GHR_PAY_ELEMENT_ENTVAL_F_AFIUD;
163: