DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_FR_PERS_PAY_METHOD_API

Source


1 Package Body hr_fr_pers_pay_method_api as
2 /* $Header: peppmfri.pkb 115.2 2002/11/26 17:28:38 sfmorris noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := 'hr_fr_pers_pay_method_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------< create_fr_pers_pay_method >---------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_fr_pers_pay_method
13   (p_validate                      in     boolean
14   ,p_effective_date                in     date
15   ,p_assignment_id                 in     number
16   ,p_org_payment_method_id         in     number
17   ,p_amount                        in     number
18   ,p_percentage                    in     number
19   ,p_priority                      in     number
20   ,p_comments                      in     varchar2
21   ,p_attribute_category            in     varchar2
22   ,p_attribute1                    in     varchar2
23   ,p_attribute2                    in     varchar2
24   ,p_attribute3                    in     varchar2
25   ,p_attribute4                    in     varchar2
26   ,p_attribute5                    in     varchar2
27   ,p_attribute6                    in     varchar2
28   ,p_attribute7                    in     varchar2
29   ,p_attribute8                    in     varchar2
30   ,p_attribute9                    in     varchar2
31   ,p_attribute10                   in     varchar2
32   ,p_attribute11                   in     varchar2
33   ,p_attribute12                   in     varchar2
34   ,p_attribute13                   in     varchar2
35   ,p_attribute14                   in     varchar2
36   ,p_attribute15                   in     varchar2
37   ,p_attribute16                   in     varchar2
38   ,p_attribute17                   in     varchar2
39   ,p_attribute18                   in     varchar2
40   ,p_attribute19                   in     varchar2
41   ,p_attribute20                   in     varchar2
42   ,p_bank_name                     in     varchar2
43   ,p_bank_code                     in     varchar2
44   ,p_branch_code                   in     varchar2
45   ,p_branch_name                   in     varchar2
46   ,p_account_number                in     varchar2
47   ,p_account_name                  in     varchar2
48   ,p_3rd_party_payee               in     varchar2
49   ,p_transmitter_code              in     varchar2
50   ,p_deposit_type                  in     varchar2
51   ,p_valid_bank_branch             in     varchar2
52   ,p_payee_type                    in     varchar2
53   ,p_payee_id                      in     number
54   ,p_personal_payment_method_id    out nocopy    number
55   ,p_external_account_id           out nocopy    number
56   ,p_object_version_number         out nocopy    number
57   ,p_effective_start_date          out nocopy    date
58   ,p_effective_end_date            out nocopy    date
59   ,p_comment_id                    out nocopy    number
60   ) is
61   --
62   -- Declare cursors and local variables
63   --
64     cursor legsel is
65     select pbg.legislation_code
66     from   per_business_groups pbg,
67 	   per_assignments_f   asg
68     where  pbg.business_group_id = asg.business_group_id
69     and    asg.assignment_id     = p_assignment_id
70     and    p_effective_date between asg.effective_start_date
71 			    and     asg.effective_end_date;
72 
73 
74   l_proc                varchar2(72) :=
75 			g_package||'create_fr_pers_pay_method';
76   l_valid               varchar2(150);
77   l_effective_date      date;
78   --
79 begin
80   --
81   hr_utility.set_location('Entering:'|| l_proc, 5);
82   --
83   l_effective_date := p_effective_date;
84   --
85   open legsel;
86   fetch legsel
87   into l_valid;
88   --
89   if legsel%notfound then
90     close legsel;
91     hr_utility.set_message(801, 'HR_7348_ASSIGNMENT_INVALID');
92     hr_utility.raise_error;
93   end if;
94   if legsel%found and l_valid <> 'FR' then
95     close legsel;
96     hr_utility.set_message(801, 'HR_7898_PPM_BUS_GRP_INVALID');
97     hr_utility.raise_error;
98   end if;
99   --
100   close legsel;
101   hr_utility.set_location(l_proc, 7);
102   --
103   -- Call the business process to create the personal payment method
104   --
105   hr_personal_pay_method_api.create_personal_pay_method
106   (p_validate                      => p_validate
107   ,p_effective_date                => l_effective_date
108   ,p_assignment_id                 => p_assignment_id
109   ,p_org_payment_method_id         => p_org_payment_method_id
110   ,p_amount                        => p_amount
111   ,p_percentage                    => p_percentage
112   ,p_priority                      => p_priority
113   ,p_comments                      => p_comments
114   ,p_attribute_category            => p_attribute_category
115   ,p_attribute1                    => p_attribute1
116   ,p_attribute2                    => p_attribute2
117   ,p_attribute3                    => p_attribute3
118   ,p_attribute4                    => p_attribute4
119   ,p_attribute5                    => p_attribute5
120   ,p_attribute6                    => p_attribute6
121   ,p_attribute7                    => p_attribute7
122   ,p_attribute8                    => p_attribute8
123   ,p_attribute9                    => p_attribute9
124   ,p_attribute10                   => p_attribute10
125   ,p_attribute11                   => p_attribute11
126   ,p_attribute12                   => p_attribute12
127   ,p_attribute13                   => p_attribute13
128   ,p_attribute14                   => p_attribute14
129   ,p_attribute15                   => p_attribute15
130   ,p_attribute16                   => p_attribute16
131   ,p_attribute17                   => p_attribute17
132   ,p_attribute18                   => p_attribute18
133   ,p_attribute19                   => p_attribute19
134   ,p_attribute20                   => p_attribute20
135   ,p_territory_code                => 'FR'
136   ,p_segment1                      => p_bank_name
137   ,p_segment2                      => p_bank_code
138   ,p_segment3                      => p_branch_code
139   ,p_segment4                      => p_branch_name
140   ,p_segment5                      => p_account_number
141   ,p_segment6                      => p_account_name
142   ,p_segment7                      => p_3rd_party_payee
143   ,p_segment8                      => p_transmitter_code
144   ,p_segment9                      => p_deposit_type
145   ,p_segment10                     => p_valid_bank_branch
146   ,p_payee_type                    => p_payee_type
147   ,p_payee_id                      => p_payee_id
148   ,p_personal_payment_method_id    => p_personal_payment_method_id
149   ,p_external_account_id           => p_external_account_id
150   ,p_object_version_number         => p_object_version_number
151   ,p_effective_start_date          => p_effective_start_date
152   ,p_effective_end_date            => p_effective_end_date
153   ,p_comment_id                    => p_comment_id
154   );
155   --
156   hr_utility.set_location(' Leaving:'||l_proc, 8);
157 end create_fr_pers_pay_method;
158 --
159 -- ----------------------------------------------------------------------------
160 -- |--------------------< update_fr_pers_pay_method >---------------------|
161 -- ----------------------------------------------------------------------------
162 --
163 procedure update_fr_pers_pay_method
164   (p_validate                      in     boolean
165   ,p_effective_date                in     date
166   ,p_datetrack_update_mode         in     varchar2
167   ,p_personal_payment_method_id    in     number
168   ,p_object_version_number         in out nocopy number
169   ,p_amount                        in     number
170   ,p_comments                      in     varchar2
171   ,p_percentage                    in     number
172   ,p_priority                      in     number
173   ,p_attribute_category            in     varchar2
174   ,p_attribute1                    in     varchar2
175   ,p_attribute2                    in     varchar2
176   ,p_attribute3                    in     varchar2
177   ,p_attribute4                    in     varchar2
178   ,p_attribute5                    in     varchar2
179   ,p_attribute6                    in     varchar2
180   ,p_attribute7                    in     varchar2
181   ,p_attribute8                    in     varchar2
182   ,p_attribute9                    in     varchar2
183   ,p_attribute10                   in     varchar2
184   ,p_attribute11                   in     varchar2
185   ,p_attribute12                   in     varchar2
186   ,p_attribute13                   in     varchar2
187   ,p_attribute14                   in     varchar2
188   ,p_attribute15                   in     varchar2
189   ,p_attribute16                   in     varchar2
190   ,p_attribute17                   in     varchar2
191   ,p_attribute18                   in     varchar2
192   ,p_attribute19                   in     varchar2
193   ,p_attribute20                   in     varchar2
194   ,p_bank_name                     in     varchar2
195   ,p_bank_code                     in     varchar2
196   ,p_branch_code                   in     varchar2
197   ,p_branch_name                   in     varchar2
198   ,p_account_number                in     varchar2
199   ,p_account_name                  in     varchar2
200   ,p_3rd_party_payee               in     varchar2
201   ,p_transmitter_code              in     varchar2
202   ,p_deposit_type                  in     varchar2
203   ,p_valid_bank_branch             in     varchar2
204   ,p_payee_type                    in     varchar2
205   ,p_payee_id                      in     number
206   ,p_comment_id                    out nocopy    number
207   ,p_external_account_id           out nocopy    number
208   ,p_effective_start_date          out nocopy    date
209   ,p_effective_end_date            out nocopy    date
210   ) is
211   --
212   -- Declare cursors and local variables
213   --
214   l_proc                varchar2(72) :=
215 			  g_package||'update_fr_pers_pay_method';
216   l_valid               varchar2(150);
217   --
218   cursor legsel is
219     select pbg.legislation_code
220     from   per_business_groups pbg,
221 	   pay_personal_payment_methods_f ppm
222     where  pbg.business_group_id = ppm.business_group_id
223     and    ppm.personal_payment_method_id = p_personal_payment_method_id
224     and    p_effective_date between ppm.effective_start_date
225 			    and     ppm.effective_end_date;
226 
227   --
228 begin
229   hr_utility.set_location('Entering:'|| l_proc, 5);
230   --
231   -- Ensure that the legislation rule for the employee assignment business
232   -- group is 'FR'.
233   --
234   open legsel;
235   fetch legsel
236   into l_valid;
237   --
238   if legsel%notfound then
239     close legsel;
240     hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
241     hr_utility.raise_error;
242   end if;
243   if legsel%found and l_valid <> 'FR' then
244     hr_utility.set_message(801, 'HR_7898_PPM_BUS_GRP_INVALID');
245     hr_utility.raise_error;
246   end if;
247   --
248   close legsel;
249   --
250   hr_utility.set_location(l_proc, 6);
251   --
252   -- Call the business process to update the personal payment method
253   --
254 hr_personal_pay_method_api.update_personal_pay_method
255   (p_validate                      => p_validate
256   ,p_effective_date                => trunc(p_effective_date)
257   ,p_datetrack_update_mode         => p_datetrack_update_mode
258   ,p_personal_payment_method_id    => p_personal_payment_method_id
259   ,p_object_version_number         => p_object_version_number
260   ,p_amount                        => p_amount
261   ,p_comments                      => p_comments
262   ,p_percentage                    => p_percentage
263   ,p_priority                      => p_priority
264   ,p_attribute_category            => p_attribute_category
265   ,p_attribute1                    => p_attribute1
266   ,p_attribute2                    => p_attribute1
267   ,p_attribute3                    => p_attribute1
268   ,p_attribute4                    => p_attribute1
269   ,p_attribute5                    => p_attribute1
270   ,p_attribute6                    => p_attribute1
271   ,p_attribute7                    => p_attribute1
272   ,p_attribute8                    => p_attribute1
273   ,p_attribute9                    => p_attribute1
274   ,p_attribute10                   => p_attribute1
275   ,p_attribute11                   => p_attribute1
276   ,p_attribute12                   => p_attribute1
277   ,p_attribute13                   => p_attribute1
278   ,p_attribute14                   => p_attribute1
279   ,p_attribute15                   => p_attribute1
280   ,p_attribute16                   => p_attribute1
281   ,p_attribute17                   => p_attribute1
282   ,p_attribute18                   => p_attribute1
283   ,p_attribute19                   => p_attribute1
284   ,p_attribute20                   => p_attribute1
285   ,p_territory_code                => 'FR'
286   ,p_segment1                      => p_bank_name
287   ,p_segment2                      => p_bank_code
288   ,p_segment3                      => p_branch_code
289   ,p_segment4                      => p_branch_name
290   ,p_segment5                      => p_account_number
291   ,p_segment6                      => p_account_name
292   ,p_segment7                      => p_3rd_party_payee
293   ,p_segment8                      => p_transmitter_code
294   ,p_segment9                      => p_deposit_type
295   ,p_segment10                     => p_valid_bank_branch
296   ,p_payee_type                    => p_payee_type
297   ,p_payee_id                      => p_payee_id
298   ,p_comment_id                    => p_comment_id
299   ,p_external_account_id           => p_external_account_id
300   ,p_effective_start_date          => p_effective_start_date
301   ,p_effective_end_date            => p_effective_end_date
302   );
303   --
304   hr_utility.set_location(' Leaving:'||l_proc, 7);
305 end update_fr_pers_pay_method;
306 --
307 end hr_fr_pers_pay_method_api;