DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_RI_SETUP_SUB_TASK_API

Source


1 Package Body per_ri_setup_sub_task_api AS
2 /* $Header: pessbapi.pkb 115.1 2003/08/06 01:28:27 kavenkat noship $ */
3 --
4 -- Package Variables
5 --
6 g_package            VARCHAR2(33) := 'per_ri_setup_sub_task_api.';
7 --
8 --------------------------------------------------------------------------------
9 g_dummy	number(1);	-- Dummy for cursor returns which are not needed
10 g_business_group_id number(15); -- For validating translation;
11 g_legislation_code varchar2(150); -- For validating translation;
12 --------------------------------------------------------------------------------
13 -- ----------------------------------------------------------------------------------
14 -- |-----------------------------< create_setup_sub_task >--------------------------|
15 -- ----------------------------------------------------------------------------------
16 --
17 Procedure create_setup_sub_task
18   (   p_validate                       In  Boolean   Default False
19      ,p_setup_sub_task_code            In  Varchar2
20      ,p_setup_sub_task_name	       In  Varchar2
21      ,p_setup_sub_task_description     In  Varchar2
22      ,p_setup_task_code                In  Varchar2
23      ,p_setup_sub_task_sequence        In  Number
24      ,p_setup_sub_task_status          In  Varchar2
25      ,p_setup_sub_task_type            In  Varchar2
26      ,p_setup_sub_task_dp_link         In  Varchar2
27      ,p_setup_sub_task_action          In  Varchar2
28      ,p_setup_sub_task_creation_date   In  Date
29      ,p_setup_sub_task_last_mod_date   In  Date
30      ,p_legislation_code               In Varchar2
31      ,p_language_code                  In  Varchar2  Default hr_api.userenv_lang
32      ,p_effective_date                 In  Date
33      ,p_object_version_number          Out Nocopy Number
34      ) Is
35   --
36   -- Declare cursors and local variables
37   --
38   l_proc                  Varchar2(72) := g_package||'create_setup_sub_task';
39   l_object_version_number per_ri_setup_sub_tasks.object_version_number%TYPE;
40   l_language_code         per_ri_setup_sub_tasks_tl.language%TYPE;
41   l_effective_date        Date;
42   l_setup_sub_task_creation_date Date;
43   l_setup_sub_task_last_mod_date Date;
44   l_setup_sub_task_code per_ri_setup_sub_tasks.setup_sub_task_code%TYPE;
45   --
46 Begin
47   --
48   hr_utility.set_location('Entering:'|| l_proc, 10);
49   --
50   -- Issue a savepoint
51   --
52   Savepoint create_setup_sub_task;
53   --
54   hr_utility.set_location(l_proc, 15);
55   per_ssb_ins.set_base_key_value (p_setup_sub_task_code  => p_setup_sub_task_code );
56   --
57   --  All date input parameters must be truncated to remove time elements
58   --
59   l_effective_date := trunc (p_effective_date);
60   l_setup_sub_task_creation_date := trunc (p_setup_sub_task_creation_date);
61   l_setup_sub_task_last_mod_date := trunc (p_setup_sub_task_last_mod_date);
62   --
63   --
64   -- Validate the language parameter.  l_language_code should be passed to functions
65   -- instead of p_language_code from now on, to allow an IN OUT parameter to
66   -- be passed through.
67   --
68   l_language_code := p_language_code;
69   hr_api.validate_language_code(p_language_code => l_language_code);
70   --
71   hr_utility.set_location(l_proc, 20);
72 
73   -- Process Logic
74   --
75   -- Insert non-translatable rows into PER_RI_SETUP_SUB_TASKS first
76 
77    per_ssb_ins.ins
78       (p_setup_task_code                => p_setup_task_code
79       ,p_setup_sub_task_sequence        => p_setup_sub_task_sequence
80       ,p_setup_sub_task_data_pump_lin   => p_setup_sub_task_dp_link
81       ,p_setup_sub_task_status          => p_setup_sub_task_status
82       ,p_setup_sub_task_type            => p_setup_sub_task_type
83       ,p_setup_sub_task_action          => p_setup_sub_task_action
84       ,p_setup_sub_task_creation_date   => l_setup_sub_task_creation_date
85       ,p_setup_sub_task_last_mod_date   => l_setup_sub_task_last_mod_date
86       ,p_legislation_code               => p_legislation_code
87       ,p_setup_sub_task_code            => p_setup_sub_task_code
88       ,p_effective_date                 => l_effective_date
89       ,p_object_version_number          => l_object_version_number
90       );
91 
92   --
93   --  Now insert translatable rows in PER_RI_SETUP_SUB_TASKS_TL table
94   per_sst_ins.ins_tl
95     ( p_setup_sub_task_code         => p_setup_sub_task_code
96      ,p_setup_sub_task_name         => p_setup_sub_task_name
97      ,p_setup_sub_task_description  => p_setup_sub_task_description
98      ,p_language_code               => l_language_code
99     );
100 
101   hr_utility.set_location(l_proc, 60);
102   --
103   -- When in validation only mode raise the Validate_Enabled exception
104   --
105   If p_validate Then
106     Raise hr_api.validate_enabled;
107   End If;
108   --
109   -- Set all output arguments
110   --
111     p_object_version_number := l_object_version_number;
112   --
113   hr_utility.set_location(' Leaving:'||l_proc, 70);
114   --
115 Exception
116   --
117   When hr_api.validate_enabled Then
118     --
119     -- As the Validate_Enabled exception has been raised
120     -- we must rollback to the savepoint
121     --
122     Rollback To create_setup_sub_task;
123     --
124     -- Only set output warning arguments
125     -- (Any key or derived arguments must be set to null
126     -- when validation only mode is being used.)
127     --
128     p_object_version_number  := Null;
129     hr_utility.set_location(' Leaving:'||l_proc, 80);
130   When Others Then
131     --
132     -- A validation or unexpected error has occurred
133     Rollback To create_setup_sub_task;
134     -- Set OUT parameters.
135     p_object_version_number  := Null;
136     hr_utility.set_location(' Leaving:'||l_proc, 90);
137     Raise;
138    --
139 End create_setup_sub_task;
140 -- ----------------------------------------------------------------------------
141 -- |--------------------------< update_setup_sub_task >-----------------------------|
142 -- ----------------------------------------------------------------------------
143 --
144 Procedure update_setup_sub_task
145   (   p_validate                       In  Boolean   Default False
146      ,p_setup_sub_task_code            In  Varchar2
147      ,p_setup_sub_task_name	       In  Varchar2  Default hr_api.g_varchar2
148      ,p_setup_sub_task_description     In  Varchar2  Default hr_api.g_varchar2
149      ,p_setup_task_code                In  Varchar2  Default hr_api.g_varchar2
150      ,p_setup_sub_task_sequence        In  Number    Default hr_api.g_number
151      ,p_setup_sub_task_status          In  Varchar2  Default hr_api.g_varchar2
152      ,p_setup_sub_task_type            In  Varchar2  Default hr_api.g_varchar2
153      ,p_setup_sub_task_dp_link         In  Varchar2  Default hr_api.g_varchar2
154      ,p_setup_sub_task_action          In  Varchar2  Default hr_api.g_varchar2
155      ,p_setup_sub_task_creation_date   In  Date      Default hr_api.g_date
156      ,p_setup_sub_task_last_mod_date   In  Date      Default hr_api.g_date
157      ,p_legislation_code               In  Varchar2  Default hr_api.g_varchar2
158      ,p_language_code                  In  Varchar2  Default hr_api.userenv_lang
159      ,p_effective_date                 In  Date
160      ,p_object_version_number          In Out Nocopy Number
161   ) Is
162   --
163   -- Declare cursors and local variables
164   --
165   l_proc                  VARCHAR2(72) := g_package||'update_setup_sub_task';
166   l_object_version_number per_ri_setup_sub_tasks.object_version_number%TYPE;
167   l_language_code         per_ri_setup_sub_tasks_tl.language%TYPE;
168   l_setup_sub_task_creation_date Date;
169   l_setup_sub_task_last_mod_date Date;
170   l_effective_date        Date;
171 
172   l_temp_ovn   number := p_object_version_number;
173   --
174 BEGIN
175   --
176   hr_utility.set_location('Entering:'|| l_proc, 10);
177   --
178   -- Issue a savepoint.
179   --
180   savepoint update_setup_sub_task ;
181   --
182   --
183   --  All date input parameters must be truncated to remove time elements
184   --
185   l_effective_date := trunc (p_effective_date);
186   l_setup_sub_task_creation_date := trunc (p_setup_sub_task_creation_date);
187   l_setup_sub_task_last_mod_date := trunc(p_setup_sub_task_last_mod_date);
188   --
189   -- Validate the language parameter.  l_language_code should be passed to functions
190   -- instead of p_language_code from now on, to allow an IN OUT parameter to be
191   -- passed through.
192   --
193   l_language_code := p_language_code;
194   hr_api.validate_language_code(p_language_code => l_language_code);
195   hr_utility.set_location(l_proc, 20);
196   --
197   --
198   -- Process Logic
199   --
200   l_object_version_number := p_object_version_number;
201   --
202   -- Update non-translatable rows in PER_RI_SETUP_SUB_TASKS Table
203   --
204    per_ssb_upd.upd
205       (p_setup_task_code                => p_setup_task_code
206       ,p_setup_sub_task_sequence        => p_setup_sub_task_sequence
207       ,p_setup_sub_task_data_pump_lin   => p_setup_sub_task_dp_link
208       ,p_setup_sub_task_status          => p_setup_sub_task_status
209       ,p_setup_sub_task_type            => p_setup_sub_task_type
210       ,p_setup_sub_task_action          => p_setup_sub_task_action
211       ,p_setup_sub_task_creation_date   => l_setup_sub_task_creation_date
212       ,p_setup_sub_task_last_mod_date   => l_setup_sub_task_last_mod_date
213       ,p_legislation_code               => p_legislation_code
214       ,p_setup_sub_task_code            => p_setup_sub_task_code
215       ,p_effective_date                 => l_effective_date
216       ,p_object_version_number          => l_object_version_number
217       );
218 
219   --
220   --  Now update translatable rows in PER_RI_SETUP_SUB_TASKS_TL table
221   per_sst_upd.upd_tl
222     ( p_setup_sub_task_code         => p_setup_sub_task_code
223      ,p_setup_sub_task_name         => p_setup_sub_task_name
224      ,p_setup_sub_task_description  => p_setup_sub_task_description
225      ,p_language_code               => l_language_code
226     );
227 
228   --
229 
230   hr_utility.set_location(l_proc, 60);
231   --
232   -- When in validation only mode raise the Validate_Enabled exception
233   --
234   If p_validate Then
235     Raise hr_api.validate_enabled;
236   End If;
237   --
238   -- Set all output arguments.  If p_validate was TRUE, this bit is
239   -- never reached, so p_object_version_number is passed back unchanged.
240   --
241   p_object_version_number := l_object_version_number;
242   --
243   hr_utility.set_location(' Leaving:'||l_proc, 70);
244   --
245 Exception
246   --
247   When hr_api.validate_enabled Then
248     --
249     -- As the Validate_Enabled exception has been raised
250     -- we must rollback to the savepoint
251     --
252     Rollback To update_setup_sub_task;
253     --
254     -- Only set output warning arguments
255     -- (Any key or derived arguments must be set to null
256     -- when validation only mode is being used.)
257     -- Reset IN OUT parameters.
258     p_object_version_number := l_temp_ovn;
259     hr_utility.set_location(' Leaving:'||l_proc, 80);
260   When Others Then
261     --
262     -- A validation or unexpected error has occurred
263     Rollback To update_setup_sub_task;
264     -- Reset IN OUT parameters.
265     p_object_version_number := l_temp_ovn;
266     hr_utility.set_location(' Leaving:'||l_proc, 90);
267     Raise;
268     --
269     --
270 End update_setup_sub_task;
271 -- ----------------------------------------------------------------------------
272 -- |-------------------------< delete_setup_sub_task >-------------------------|
273 -- ----------------------------------------------------------------------------
274 --
275 Procedure delete_setup_sub_task
276    (  p_validate                     In Boolean Default False
277      ,p_setup_sub_task_code          In Varchar2
278      ,p_object_version_number        IN Number )
279 
280 Is
281   --
282   --
283   -- Declare cursors and local variables
284   --
285   l_proc Varchar2(72) := g_package||'delete_setup_sub_task';
286   --
287 Begin
288   --
289   hr_utility.set_location('Entering:'|| l_proc, 10);
290   --
291   -- Issue a savepoint
292   --
293   Savepoint delete_setup_sub_task;
294 
295  --
296   -- Process Logic
297   -- =============
298   --
299   --  Need to lock main table to maintain the locking ladder order
300   --
301   hr_utility.set_location( l_proc, 30);
302   per_ssb_shd.lck ( p_setup_sub_task_code    => p_setup_sub_task_code,
303                     p_object_version_number  => p_object_version_number );
304   --
305   --  Remove all matching translation rows
306   --
307   hr_utility.set_location( l_proc, 35);
308 
309   per_sst_del.del_tl( p_setup_sub_task_code => p_setup_sub_task_code );
310   --
311   --  Remove non-translated data row
312   --
313   hr_utility.set_location( l_proc, 40);
314 
315   per_ssb_del.del(p_setup_sub_task_code   => p_setup_sub_task_code,
316                   p_object_version_number => p_object_version_number );
317   --
318 --
319   hr_utility.set_location(' Leaving:'||l_proc, 60);
320   --
321   -- When in validation only mode raise the Validate_Enabled exception
322   --
323   If p_validate Then
324      Raise hr_api.validate_enabled;
325   End If;
326   --
327   --
328 Exception
332     -- As the Validate_Enabled exception has been raised
329   --
330   When hr_api.validate_enabled Then
331     --
333     -- we must rollback to the savepoint
334     --
335     Rollback To delete_setup_sub_task;
336     --
337     -- Only set output warning arguments
338     -- (Any key or derived arguments must be set to null
339     -- when validation only mode is being used.)
340     --
341     hr_utility.set_location(' Leaving:'||l_proc, 80);
342   When Others Then
343     --
344     -- A validation or unexpected error has occurred
345     Rollback To delete_setup_sub_task;
346     hr_utility.set_location(' Leaving:'||l_proc, 90);
347     Raise;
348     --
349 End delete_setup_sub_task;
350 
351 --
352 
353 End PER_RI_SETUP_SUB_TASK_API;