203: hr_utility.set_location('Entering:'||l_proc, 5);
204: --
205: -- Ensure that all the mandatory arguments are not null
206: --
207: hr_api.mandatory_arg_error(p_api_name => l_proc
208: ,p_argument => 'effective_date'
209: ,p_argument_value => p_effective_date
210: );
211: --
208: ,p_argument => 'effective_date'
209: ,p_argument_value => p_effective_date
210: );
211: --
212: hr_api.mandatory_arg_error(p_api_name => l_proc
213: ,p_argument => 'datetrack_mode'
214: ,p_argument_value => p_datetrack_mode
215: );
216: --
213: ,p_argument => 'datetrack_mode'
214: ,p_argument_value => p_datetrack_mode
215: );
216: --
217: hr_api.mandatory_arg_error(p_api_name => l_proc
218: ,p_argument => 'attribute_id'
219: ,p_argument_value => p_attribute_id
220: );
221: --
218: ,p_argument => 'attribute_id'
219: ,p_argument_value => p_attribute_id
220: );
221: --
222: hr_api.mandatory_arg_error(p_api_name => l_proc
223: ,p_argument => 'object_version_number'
224: ,p_argument_value => p_object_version_number
225: );
226: --
225: );
226: --
227: -- Check to ensure the datetrack mode is not INSERT.
228: --
229: If (p_datetrack_mode <> hr_api.g_insert) then
230: --
231: -- We must select and lock the current row.
232: --
233: Open C_Sel1;
262: End If;
263: --
264: -- Set the validation start and end date OUT arguments
265: --
266: if (p_datetrack_mode = hr_api.g_update) then
267: p_validation_start_date := p_effective_date;
268: p_validation_end_date := ame_man_shd.g_old_rec.end_date;
269: elsif (p_datetrack_mode = hr_api.g_delete) then
270: p_validation_start_date := p_effective_date;
265: --
266: if (p_datetrack_mode = hr_api.g_update) then
267: p_validation_start_date := p_effective_date;
268: p_validation_end_date := ame_man_shd.g_old_rec.end_date;
269: elsif (p_datetrack_mode = hr_api.g_delete) then
270: p_validation_start_date := p_effective_date;
271: p_validation_end_date := p_effective_date;
272: end if;
273: --
275: --
276: -- We need to trap the ORA LOCK exception
277: --
278: Exception
279: When HR_Api.Object_Locked then
280: --
281: -- The object is locked therefore we need to supply a meaningful
282: -- error message.
283: --