DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_MX_PERSONAL_PAY_METHOD_API

Source


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