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