DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_IN_PERSONAL_PAY_METHOD_API

Source


1 PACKAGE BODY hr_in_personal_pay_method_api AS
2 /* $Header: peinwrpm.pkb 120.2 2011/12/21 08:44:23 jmarupil ship $ */
3 
4 
5 --
6     g_debug BOOLEAN;
7 
8     g_package  VARCHAR2(33);
9 
10 --
11 -- ----------------------------------------------------------------------------
12 -- |--------------------< create_in_personal_pay_method >---------------------|
13 -- ----------------------------------------------------------------------------
14 --
15 PROCEDURE create_in_personal_pay_method
16   (p_validate                      IN     BOOLEAN  DEFAULT false
17   ,p_effective_date                IN     DATE
18   ,p_assignment_id                 IN     NUMBER
19   ,p_org_payment_method_id         IN     NUMBER
20   ,p_amount                        IN     NUMBER   DEFAULT null
21   ,p_percentage                    IN     NUMBER   DEFAULT null
22   ,p_priority                      IN     NUMBER   DEFAULT null
23   ,p_comments                      IN     hr_comments.comment_text%TYPE DEFAULT null
24   ,p_attribute_category            IN     VARCHAR2 DEFAULT null
25   ,p_attribute1                    IN     VARCHAR2 DEFAULT null
26   ,p_attribute2                    IN     VARCHAR2 DEFAULT null
27   ,p_attribute3                    IN     VARCHAR2 DEFAULT null
28   ,p_attribute4                    IN     VARCHAR2 DEFAULT null
29   ,p_attribute5                    IN     VARCHAR2 DEFAULT null
30   ,p_attribute6                    IN     VARCHAR2 DEFAULT null
31   ,p_attribute7                    IN     VARCHAR2 DEFAULT null
32   ,p_attribute8                    IN     VARCHAR2 DEFAULT null
33   ,p_attribute9                    IN     VARCHAR2 DEFAULT null
34   ,p_attribute10                   IN     VARCHAR2 DEFAULT null
35   ,p_attribute11                   IN     VARCHAR2 DEFAULT null
36   ,p_attribute12                   IN     VARCHAR2 DEFAULT null
37   ,p_attribute13                   IN     VARCHAR2 DEFAULT null
38   ,p_attribute14                   IN     VARCHAR2 DEFAULT null
39   ,p_attribute15                   IN     VARCHAR2 DEFAULT null
40   ,p_attribute16                   IN     VARCHAR2 DEFAULT null
41   ,p_attribute17                   IN     VARCHAR2 DEFAULT null
42   ,p_attribute18                   IN     VARCHAR2 DEFAULT null
43   ,p_attribute19                   IN     VARCHAR2 DEFAULT null
44   ,p_attribute20                   IN     VARCHAR2 DEFAULT null
45   ,p_account_number                IN     VARCHAR2 DEFAULT null
46   ,p_account_type                  IN     VARCHAR2 DEFAULT null
47   ,p_bank_code                     IN     VARCHAR2 DEFAULT null
48   ,p_branch_code                   IN     VARCHAR2 DEFAULT null
49   ,p_concat_segments               IN     VARCHAR2 DEFAULT null
50   ,p_payee_type                    IN     VARCHAR2 DEFAULT null
51   ,p_payee_id                      IN     NUMBER   DEFAULT null
52   ,p_personal_payment_method_id    OUT    NOCOPY NUMBER
53   ,p_external_account_id           OUT    NOCOPY NUMBER
54   ,p_object_version_number         OUT    NOCOPY NUMBER
55   ,p_effective_start_date          OUT    NOCOPY DATE
56   ,p_effective_end_date            OUT    NOCOPY DATE
57   ,p_comment_id                    out    NOCOPY NUMBER
58   ) IS
59   --
60   -- Declare cursors and local variables
61   --
62   l_proc                VARCHAR2(72) ;
63 
64   l_effective_date      DATE;
65 
66   CURSOR legsel (p_assignment_id IN NUMBER, p_effective_date IN DATE) IS
67     SELECT  pbg.legislation_code
68     FROM    per_business_groups pbg,
69             per_assignments_f   asg
70     WHERE   pbg.business_group_id   = asg.business_group_id
71     AND     asg.assignment_id       = p_assignment_id
72     AND     p_effective_date BETWEEN asg.effective_start_date AND asg.effective_END_date;
73 
74      l_legislation_code per_business_groups.legislation_code%type;
75   --
76   --
77 BEGIN
78   l_proc  := g_package||'create_in_personal_pay_method';
79   g_debug := hr_utility.debug_enabled ;
80 
81   pay_in_utils.set_location(g_debug,'Entering:'|| l_proc, 10);
82   --
83   --
84   l_effective_date := trunc(p_effective_date);
85   --
86 
87  OPEN  legsel(p_assignment_id, trunc(p_effective_date));
88   FETCH legsel
89   INTO  l_legislation_code;
90   --
91 
92 
93   IF legsel%notfound THEN
94     CLOSE legsel;
95     hr_utility.set_message(800, 'HR_7348_PPM_ASSIGNMENT_INVALID');
96     hr_utility.raise_error;
97   END IF;
98 
99   IF legsel%found AND l_legislation_code <>  'IN' THEN
100     CLOSE legsel;
101     hr_utility.set_message(801, 'PER_IN_BUS_GRP_INVALID');
102     hr_utility.raise_error;
103   END IF;
104 
105   --
106   CLOSE legsel;
107 
108 
109   --
110   pay_in_utils.set_location(g_debug,l_proc, 20);
111   --
112   -- Call the business process to create the personal payment method
113   --
114   hr_personal_pay_method_api.create_personal_pay_method
115   (p_validate                      => p_validate
116   ,p_effective_date                => l_effective_date
117   ,p_assignment_id                 => p_assignment_id
118   ,p_org_payment_method_id         => p_org_payment_method_id
119   ,p_amount                        => p_amount
120   ,p_percentage                    => p_percentage
121   ,p_priority                      => p_priority
122   ,p_comments                      => p_comments
123   ,p_attribute_category            => p_attribute_category
124   ,p_attribute1                    => p_attribute1
125   ,p_attribute2                    => p_attribute2
126   ,p_attribute3                    => p_attribute3
127   ,p_attribute4                    => p_attribute4
128   ,p_attribute5                    => p_attribute5
129   ,p_attribute6                    => p_attribute6
130   ,p_attribute7                    => p_attribute7
131   ,p_attribute8                    => p_attribute8
132   ,p_attribute9                    => p_attribute9
133   ,p_attribute10                   => p_attribute10
134   ,p_attribute11                   => p_attribute11
135   ,p_attribute12                   => p_attribute12
136   ,p_attribute13                   => p_attribute13
137   ,p_attribute14                   => p_attribute14
138   ,p_attribute15                   => p_attribute15
139   ,p_attribute16                   => p_attribute16
140   ,p_attribute17                   => p_attribute17
141   ,p_attribute18                   => p_attribute18
142   ,p_attribute19                   => p_attribute19
143   ,p_attribute20                   => p_attribute20
144   ,p_territory_code                => 'IN'
145   ,p_segment1                      => p_account_number
146   ,p_segment2                      => p_account_type
147   ,p_segment3                      => p_bank_code
148   ,p_segment4                      => p_branch_code
149   ,p_payee_type                    => p_payee_type
150   ,p_payee_id                      => p_payee_id
151   ,p_personal_payment_method_id    => p_personal_payment_method_id
152   ,p_external_account_id           => p_external_account_id
153   ,p_object_version_number         => p_object_version_number
154   ,p_effective_start_date          => p_effective_start_date
155   ,p_effective_end_date            => p_effective_end_date
156   ,p_comment_id                    => p_comment_id
157   );
158   --
159   pay_in_utils.set_location(g_debug,'Leaving:'|| l_proc, 30);
160 
161 END create_in_personal_pay_method;
162 
163 
164 -- ----------------------------------------------------------------------------
165 -- |--------------------< update_in_personal_pay_method >---------------------|
166 -- ----------------------------------------------------------------------------
167 --
168 PROCEDURE update_in_personal_pay_method
169   (p_validate                      IN     BOOLEAN  DEFAULT false
170   ,p_effective_date                IN     DATE
171   ,p_datetrack_update_mode         IN     VARCHAR2
172   ,p_personal_payment_method_id    IN     NUMBER
173   ,p_object_version_number         IN OUT NOCOPY   NUMBER
174   ,p_amount                        IN     NUMBER   DEFAULT hr_api.g_number
175   ,p_comments                      IN     hr_comments.comment_text%TYPE DEFAULT hr_api.g_varchar2
176   ,p_percentage                    IN     NUMBER   DEFAULT hr_api.g_number
177   ,p_priority                      IN     NUMBER   DEFAULT hr_api.g_number
178   ,p_attribute_category            IN     VARCHAR2 DEFAULT hr_api.g_varchar2
179   ,p_attribute1                    IN     VARCHAR2 DEFAULT hr_api.g_varchar2
180   ,p_attribute2                    IN     VARCHAR2 DEFAULT hr_api.g_varchar2
181   ,p_attribute3                    IN     VARCHAR2 DEFAULT hr_api.g_varchar2
182   ,p_attribute4                    IN     VARCHAR2 DEFAULT hr_api.g_varchar2
183   ,p_attribute5                    IN     VARCHAR2 DEFAULT hr_api.g_varchar2
184   ,p_attribute6                    IN     VARCHAR2 DEFAULT hr_api.g_varchar2
185   ,p_attribute7                    IN     VARCHAR2 DEFAULT hr_api.g_varchar2
186   ,p_attribute8                    IN     VARCHAR2 DEFAULT hr_api.g_varchar2
187   ,p_attribute9                    IN     VARCHAR2 DEFAULT hr_api.g_varchar2
188   ,p_attribute10                   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
189   ,p_attribute11                   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
190   ,p_attribute12                   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
191   ,p_attribute13                   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
192   ,p_attribute14                   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
193   ,p_attribute15                   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
194   ,p_attribute16                   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
195   ,p_attribute17                   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
196   ,p_attribute18                   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
197   ,p_attribute19                   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
198   ,p_attribute20                   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
199   ,p_account_number                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
200   ,p_account_type                  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
201   ,p_bank_code                     IN     VARCHAR2 DEFAULT hr_api.g_varchar2
202   ,p_branch_code                   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
203   ,p_concat_segments               IN     VARCHAR2 DEFAULT null
204   ,p_payee_type                    IN     VARCHAR2 DEFAULT hr_api.g_varchar2
205   ,p_payee_id                      IN     NUMBER   DEFAULT hr_api.g_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   l_effective_date      DATE;
216 
217   CURSOR legsel IS
218     SELECT  pbg.legislation_code
219     FROM    per_business_groups pbg,
220             pay_personal_payment_methods_f ppm
221     WHERE   pbg.business_group_id           = ppm.business_group_id
222     AND     ppm.personal_payment_method_id  = p_personal_payment_method_id
223     AND     p_effective_date BETWEEN ppm.effective_start_date AND ppm.effective_END_date;
224 --
225   l_legislation_code per_business_groups.legislation_code%type;
226   --
227 BEGIN
228   l_proc :=  g_package||'update_in_personal_pay_method';
229   pay_in_utils.set_location(g_debug,'Entering:'|| l_proc, 10);
230   --
231   --
232   l_effective_date := trunc(p_effective_date);
233   --
234 
235   OPEN  legsel;
236   FETCH legsel
237   INTO  l_legislation_code;
238   --
239   IF legsel%notfound THEN
240     CLOSE legsel;
241     hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
242     hr_utility.raise_error;
243   END IF;
244 
245   IF legsel%found AND l_legislation_code <> 'IN' THEN
246     CLOSE legsel;
247     hr_utility.set_message(801, 'PER_IN_BUS_GRP_INVALID');
248     hr_utility.raise_error;
249   END IF;
250   --
251   CLOSE legsel;
252 
253   pay_in_utils.set_location(g_debug,l_proc, 20);
254   --
255   -- Call the business process to update the personal payment method
256   --
257   hr_personal_pay_method_api.update_personal_pay_method
258   (p_validate                      => p_validate
259   ,p_effective_date                => l_effective_date
260   ,p_datetrack_update_mode         => p_datetrack_update_mode
261   ,p_personal_payment_method_id    => p_personal_payment_method_id
262   ,p_object_version_number         => p_object_version_number
263   ,p_amount                        => p_amount
264   ,p_comments                      => p_comments
265   ,p_percentage                    => p_percentage
266   ,p_priority                      => p_priority
267   ,p_attribute_category            => p_attribute_category
268   ,p_attribute1                    => p_attribute1
269   ,p_attribute2                    => p_attribute2
270   ,p_attribute3                    => p_attribute3
271   ,p_attribute4                    => p_attribute4
272   ,p_attribute5                    => p_attribute5
273   ,p_attribute6                    => p_attribute6
274   ,p_attribute7                    => p_attribute7
275   ,p_attribute8                    => p_attribute8
276   ,p_attribute9                    => p_attribute9
277   ,p_attribute10                   => p_attribute10
278   ,p_attribute11                   => p_attribute11
279   ,p_attribute12                   => p_attribute12
280   ,p_attribute13                   => p_attribute13
281   ,p_attribute14                   => p_attribute14
282   ,p_attribute15                   => p_attribute15
283   ,p_attribute16                   => p_attribute16
284   ,p_attribute17                   => p_attribute17
285   ,p_attribute18                   => p_attribute18
286   ,p_attribute19                   => p_attribute19
287   ,p_attribute20                   => p_attribute20
288   ,p_territory_code                => 'IN'
289   ,p_segment1                      => p_account_number
290   ,p_segment2                      => p_account_type
291   ,p_segment3                      => p_bank_code
292   ,p_segment4                      => p_branch_code
293   ,p_concat_segments               => p_concat_segments
294   ,p_payee_type                    => p_payee_type
295   ,p_payee_id                      => p_payee_id
296   ,p_comment_id                    => p_comment_id
297   ,p_external_account_id           => p_external_account_id
298   ,p_effective_start_date          => p_effective_start_date
299   ,p_effective_end_date            => p_effective_end_date
300   );
301   --
302   pay_in_utils.set_location(g_debug,'Leaving: '||l_proc, 30);
303 
304 END update_in_personal_pay_method;
305 
306 BEGIN
307   g_package := 'hr_in_personal_pay_method_api.';
308 
309 END hr_in_personal_pay_method_api;