DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_RI_WORKBENCH_ITEM_API

Source


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