[Home] [Help]
PACKAGE BODY: APPS.PAY_ELEMENT_TEMPLATE_USER_ISWI
Source
1 Package Body pay_element_template_user_iswi As
2 /* $Header: pytemswi.pkb 120.0 2005/05/29 09:03 appldev noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33);
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------------< create_element >----------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_element
12 (p_validate in number
13 ,p_save_for_later in varchar2
14 ,p_rec in PAY_ELE_TMPLT_OBJ
15 ,p_sub_class in PAY_ELE_SUB_CLASS_TABLE
16 ,p_freq_rule in PAY_FREQ_RULE_TABLE
17 ,p_ele_template_id out nocopy number
18 ,p_return_status out nocopy varchar2
19 ) is
20 --
21 -- Variables for API Boolean parameters
22 l_validate boolean;
23 --
24 -- Variables for IN/OUT parameters
25 --
26 -- Other variables
27 l_proc varchar2(72);
28 Begin
29 l_proc := g_package ||'create_element';
30 hr_utility.set_location(' Entering:' || l_proc,10);
31 --
32 -- Issue a savepoint
33 --
34 savepoint create_element_swi;
35 --
36 -- Initialise Multiple Message Detection
37 --
38 hr_multi_message.enable_message_list;
39 --
40 -- Remember IN OUT parameter IN values
41 --
42 --
43 -- Convert constant values to their corresponding boolean value
44 --
45 l_validate :=
46 hr_api.constant_to_boolean
47 (p_constant_value => p_validate);
48 --
49 -- Register Surrogate ID or user key values
50 --
51 --
52 -- Call API
53 --
54 pay_element_template_user_init.create_element
55 (p_validate => l_validate
56 ,p_save_for_later => p_save_for_later
57 ,p_rec => p_rec
58 ,p_sub_class => p_sub_class
59 ,p_freq_rule => p_freq_rule
60 ,p_ele_template_id => p_ele_template_id
61 );
62 --
63 -- Convert API warning boolean parameter values to specific
64 -- messages and add them to Multiple Message List
65 --
66 --
67 -- Convert API non-warning boolean parameter values
68 --
69 --
70 -- Derive the API return status value based on whether
71 -- messages of any type exist in the Multiple Message List.
72 -- Also disable Multiple Message Detection.
73 --
74 p_return_status := hr_multi_message.get_return_status_disable;
75 hr_utility.set_location(' Leaving:' || l_proc,20);
76 --
77 exception
78 when hr_multi_message.error_message_exist then
79 --
80 -- Catch the Multiple Message List exception which
81 -- indicates API processing has been aborted because
82 -- at least one message exists in the list.
83 --
84 rollback to create_element_swi;
85 --
86 -- Reset IN OUT parameters and set OUT parameters
87 --
88 p_ele_template_id := null;
89 p_return_status := hr_multi_message.get_return_status_disable;
90 hr_utility.set_location(' Leaving:' || l_proc, 30);
91 when others then
92 --
93 -- When Multiple Message Detection is enabled catch
94 -- any Application specific or other unexpected
95 -- exceptions. Adding appropriate details to the
96 -- Multiple Message List. Otherwise re-raise the
97 -- error.
98 --
99 rollback to create_element_swi;
100 if hr_multi_message.unexpected_error_add(l_proc) then
101 hr_utility.set_location(' Leaving:' || l_proc,40);
102 raise;
103 end if;
104 --
105 -- Reset IN OUT and set OUT parameters
106 --
107 p_ele_template_id := null;
108 p_return_status := hr_multi_message.get_return_status_disable;
109 hr_utility.set_location(' Leaving:' || l_proc,50);
110 end create_element;
111 -- ----------------------------------------------------------------------------
112 -- |----------------------------< delete_element >----------------------------|
113 -- ----------------------------------------------------------------------------
114 PROCEDURE delete_element
115 (p_validate in number
116 ,p_template_id in number
117 ,p_return_status out nocopy varchar2
118 ) is
119 --
120 -- Variables for API Boolean parameters
121 l_validate boolean;
122 --
123 -- Variables for IN/OUT parameters
124 --
125 -- Other variables
126 l_proc varchar2(72);
127 Begin
128 l_proc := g_package ||'delete_element';
129 hr_utility.set_location(' Entering:' || l_proc,10);
130 --
131 -- Issue a savepoint
132 --
133 savepoint delete_element_swi;
134 --
135 -- Initialise Multiple Message Detection
136 --
137 hr_multi_message.enable_message_list;
138 --
139 -- Remember IN OUT parameter IN values
140 --
141 --
142 -- Convert constant values to their corresponding boolean value
143 --
144 l_validate :=
145 hr_api.constant_to_boolean
146 (p_constant_value => p_validate);
147 --
148 -- Register Surrogate ID or user key values
149 --
150 --
151 -- Call API
152 --
153 pay_element_template_user_init.delete_element
154 (p_validate => l_validate
155 ,p_template_id => p_template_id
156 );
157 --
158 -- Convert API warning boolean parameter values to specific
159 -- messages and add them to Multiple Message List
160 --
161 --
162 -- Convert API non-warning boolean parameter values
163 --
164 --
165 -- Derive the API return status value based on whether
166 -- messages of any type exist in the Multiple Message List.
167 -- Also disable Multiple Message Detection.
168 --
169 p_return_status := hr_multi_message.get_return_status_disable;
170 hr_utility.set_location(' Leaving:' || l_proc,20);
171 --
172 exception
173 when hr_multi_message.error_message_exist then
174 --
175 -- Catch the Multiple Message List exception which
176 -- indicates API processing has been aborted because
177 -- at least one message exists in the list.
178 --
179 rollback to delete_element_swi;
180 --
181 -- Reset IN OUT parameters and set OUT parameters
182 --
183 p_return_status := hr_multi_message.get_return_status_disable;
184 hr_utility.set_location(' Leaving:' || l_proc, 30);
185 when others then
186 --
187 -- When Multiple Message Detection is enabled catch
188 -- any Application specific or other unexpected
189 -- exceptions. Adding appropriate details to the
190 -- Multiple Message List. Otherwise re-raise the
191 -- error.
192 --
193 rollback to delete_element_swi;
194 if hr_multi_message.unexpected_error_add(l_proc) then
195 hr_utility.set_location(' Leaving:' || l_proc,40);
196 raise;
197 end if;
198 --
199 -- Reset IN OUT and set OUT parameters
200 --
201 p_return_status := hr_multi_message.get_return_status_disable;
202 hr_utility.set_location(' Leaving:' || l_proc,50);
203 end delete_element;
204 begin
205 g_package := 'pay_element_template_user_iswi.';
206 end pay_element_template_user_iswi;