DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_ORG_PAYMENT_METHOD_API

Source


1 Package Body PAY_ORG_PAYMENT_METHOD_API as
2 /* $Header: pyopmapi.pkb 120.11 2006/08/31 12:23:55 pgongada noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := 'PAY_ORG_PAYMENT_METHOD_API';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------< create_org_payment_method >-----------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_org_payment_method
13   (P_VALIDATE                      in     boolean  default false
14   ,P_EFFECTIVE_DATE                in     date
15   ,P_LANGUAGE_CODE                 in     varchar2 default hr_api.userenv_lang
16   ,P_BUSINESS_GROUP_ID             in     number
17   ,P_ORG_PAYMENT_METHOD_NAME       in     varchar2
18   ,P_PAYMENT_TYPE_ID               in     number
19   ,P_CURRENCY_CODE                 in     varchar2 default null
20   ,P_ATTRIBUTE_CATEGORY            in     varchar2 default null
21   ,P_ATTRIBUTE1                    in     varchar2 default null
22   ,P_ATTRIBUTE2                    in     varchar2 default null
23   ,P_ATTRIBUTE3                    in     varchar2 default null
24   ,P_ATTRIBUTE4                    in     varchar2 default null
25   ,P_ATTRIBUTE5                    in     varchar2 default null
26   ,P_ATTRIBUTE6                    in     varchar2 default null
27   ,P_ATTRIBUTE7                    in     varchar2 default null
28   ,P_ATTRIBUTE8                    in     varchar2 default null
29   ,P_ATTRIBUTE9                    in     varchar2 default null
30   ,P_ATTRIBUTE10                   in     varchar2 default null
31   ,P_ATTRIBUTE11                   in     varchar2 default null
32   ,P_ATTRIBUTE12                   in     varchar2 default null
33   ,P_ATTRIBUTE13                   in     varchar2 default null
34   ,P_ATTRIBUTE14                   in     varchar2 default null
35   ,P_ATTRIBUTE15                   in     varchar2 default null
36   ,P_ATTRIBUTE16                   in     varchar2 default null
37   ,P_ATTRIBUTE17                   in     varchar2 default null
38   ,P_ATTRIBUTE18                   in     varchar2 default null
39   ,P_ATTRIBUTE19                   in     varchar2 default null
40   ,P_ATTRIBUTE20                   in     varchar2 default null
41 --  ,P_PMETH_INFORMATION_CATEGORY    in     varchar2 default null
42   ,P_PMETH_INFORMATION1            in     varchar2 default null
43   ,P_PMETH_INFORMATION2            in     varchar2 default null
44   ,P_PMETH_INFORMATION3            in     varchar2 default null
45   ,P_PMETH_INFORMATION4            in     varchar2 default null
46   ,P_PMETH_INFORMATION5            in     varchar2 default null
47   ,P_PMETH_INFORMATION6            in     varchar2 default null
48   ,P_PMETH_INFORMATION7            in     varchar2 default null
49   ,P_PMETH_INFORMATION8            in     varchar2 default null
50   ,P_PMETH_INFORMATION9            in     varchar2 default null
51   ,P_PMETH_INFORMATION10           in     varchar2 default null
52   ,P_PMETH_INFORMATION11           in     varchar2 default null
53   ,P_PMETH_INFORMATION12           in     varchar2 default null
54   ,P_PMETH_INFORMATION13           in     varchar2 default null
55   ,P_PMETH_INFORMATION14           in     varchar2 default null
56   ,P_PMETH_INFORMATION15           in     varchar2 default null
57   ,P_PMETH_INFORMATION16           in     varchar2 default null
58   ,P_PMETH_INFORMATION17           in     varchar2 default null
59   ,P_PMETH_INFORMATION18           in     varchar2 default null
60   ,P_PMETH_INFORMATION19           in     varchar2 default null
61   ,P_PMETH_INFORMATION20           in     varchar2 default null
62   ,P_COMMENTS                      in     varchar2 default null
63   ,P_SEGMENT1                      in     varchar2 default null
64   ,P_SEGMENT2                      in     varchar2 default null
65   ,P_SEGMENT3                      in     varchar2 default null
66   ,P_SEGMENT4                      in     varchar2 default null
67   ,P_SEGMENT5                      in     varchar2 default null
68   ,P_SEGMENT6                      in     varchar2 default null
69   ,P_SEGMENT7                      in     varchar2 default null
70   ,P_SEGMENT8                      in     varchar2 default null
71   ,P_SEGMENT9                      in     varchar2 default null
72   ,P_SEGMENT10                     in     varchar2 default null
73   ,P_SEGMENT11                     in     varchar2 default null
74   ,P_SEGMENT12                     in     varchar2 default null
75   ,P_SEGMENT13                     in     varchar2 default null
76   ,P_SEGMENT14                     in     varchar2 default null
77   ,P_SEGMENT15                     in     varchar2 default null
78   ,P_SEGMENT16                     in     varchar2 default null
79   ,P_SEGMENT17                     in     varchar2 default null
80   ,P_SEGMENT18                     in     varchar2 default null
81   ,P_SEGMENT19                     in     varchar2 default null
82   ,P_SEGMENT20                     in     varchar2 default null
83   ,P_SEGMENT21                     in     varchar2 default null
84   ,P_SEGMENT22                     in     varchar2 default null
85   ,P_SEGMENT23                     in     varchar2 default null
86   ,P_SEGMENT24                     in     varchar2 default null
87   ,P_SEGMENT25                     in     varchar2 default null
88   ,P_SEGMENT26                     in     varchar2 default null
89   ,P_SEGMENT27                     in     varchar2 default null
90   ,P_SEGMENT28                     in     varchar2 default null
91   ,P_SEGMENT29                     in     varchar2 default null
92   ,P_SEGMENT30                     in     varchar2 default null
93   ,P_CONCAT_SEGMENTS               in     varchar2 default null
94   ,P_GL_SEGMENT1                   in     varchar2 default null
95   ,P_GL_SEGMENT2                   in     varchar2 default null
96   ,P_GL_SEGMENT3                   in     varchar2 default null
97   ,P_GL_SEGMENT4                   in     varchar2 default null
98   ,P_GL_SEGMENT5                   in     varchar2 default null
99   ,P_GL_SEGMENT6                   in     varchar2 default null
100   ,P_GL_SEGMENT7                   in     varchar2 default null
101   ,P_GL_SEGMENT8                   in     varchar2 default null
102   ,P_GL_SEGMENT9                   in     varchar2 default null
103   ,P_GL_SEGMENT10                  in     varchar2 default null
104   ,P_GL_SEGMENT11                  in     varchar2 default null
105   ,P_GL_SEGMENT12                  in     varchar2 default null
106   ,P_GL_SEGMENT13                  in     varchar2 default null
107   ,P_GL_SEGMENT14                  in     varchar2 default null
108   ,P_GL_SEGMENT15                  in     varchar2 default null
109   ,P_GL_SEGMENT16                  in     varchar2 default null
110   ,P_GL_SEGMENT17                  in     varchar2 default null
111   ,P_GL_SEGMENT18                  in     varchar2 default null
112   ,P_GL_SEGMENT19                  in     varchar2 default null
113   ,P_GL_SEGMENT20                  in     varchar2 default null
114   ,P_GL_SEGMENT21                  in     varchar2 default null
115   ,P_GL_SEGMENT22                  in     varchar2 default null
116   ,P_GL_SEGMENT23                  in     varchar2 default null
117   ,P_GL_SEGMENT24                  in     varchar2 default null
118   ,P_GL_SEGMENT25                  in     varchar2 default null
119   ,P_GL_SEGMENT26                  in     varchar2 default null
120   ,P_GL_SEGMENT27                  in     varchar2 default null
121   ,P_GL_SEGMENT28                  in     varchar2 default null
122   ,P_GL_SEGMENT29                  in     varchar2 default null
123   ,P_GL_SEGMENT30                  in     varchar2 default null
124   ,P_GL_CONCAT_SEGMENTS            in     varchar2 default null
125   ,P_GL_CTRL_SEGMENT1              in     varchar2 default null
126   ,P_GL_CTRL_SEGMENT2              in     varchar2 default null
127   ,P_GL_CTRL_SEGMENT3              in     varchar2 default null
128   ,P_GL_CTRL_SEGMENT4              in     varchar2 default null
129   ,P_GL_CTRL_SEGMENT5              in     varchar2 default null
130   ,P_GL_CTRL_SEGMENT6              in     varchar2 default null
131   ,P_GL_CTRL_SEGMENT7              in     varchar2 default null
132   ,P_GL_CTRL_SEGMENT8              in     varchar2 default null
133   ,P_GL_CTRL_SEGMENT9              in     varchar2 default null
134   ,P_GL_CTRL_SEGMENT10             in     varchar2 default null
135   ,P_GL_CTRL_SEGMENT11             in     varchar2 default null
136   ,P_GL_CTRL_SEGMENT12             in     varchar2 default null
137   ,P_GL_CTRL_SEGMENT13             in     varchar2 default null
138   ,P_GL_CTRL_SEGMENT14             in     varchar2 default null
139   ,P_GL_CTRL_SEGMENT15             in     varchar2 default null
140   ,P_GL_CTRL_SEGMENT16             in     varchar2 default null
141   ,P_GL_CTRL_SEGMENT17             in     varchar2 default null
142   ,P_GL_CTRL_SEGMENT18             in     varchar2 default null
143   ,P_GL_CTRL_SEGMENT19             in     varchar2 default null
144   ,P_GL_CTRL_SEGMENT20             in     varchar2 default null
145   ,P_GL_CTRL_SEGMENT21             in     varchar2 default null
146   ,P_GL_CTRL_SEGMENT22             in     varchar2 default null
147   ,P_GL_CTRL_SEGMENT23             in     varchar2 default null
148   ,P_GL_CTRL_SEGMENT24             in     varchar2 default null
149   ,P_GL_CTRL_SEGMENT25             in     varchar2 default null
150   ,P_GL_CTRL_SEGMENT26             in     varchar2 default null
151   ,P_GL_CTRL_SEGMENT27             in     varchar2 default null
152   ,P_GL_CTRL_SEGMENT28             in     varchar2 default null
153   ,P_GL_CTRL_SEGMENT29             in     varchar2 default null
154   ,P_GL_CTRL_SEGMENT30             in     varchar2 default null
155   ,P_GL_CTRL_CONCAT_SEGMENTS       in     varchar2 default null
156   ,P_GL_CCRL_SEGMENT1              in     varchar2 default null
157   ,P_GL_CCRL_SEGMENT2              in     varchar2 default null
158   ,P_GL_CCRL_SEGMENT3              in     varchar2 default null
159   ,P_GL_CCRL_SEGMENT4              in     varchar2 default null
160   ,P_GL_CCRL_SEGMENT5              in     varchar2 default null
161   ,P_GL_CCRL_SEGMENT6              in     varchar2 default null
162   ,P_GL_CCRL_SEGMENT7              in     varchar2 default null
163   ,P_GL_CCRL_SEGMENT8              in     varchar2 default null
164   ,P_GL_CCRL_SEGMENT9              in     varchar2 default null
165   ,P_GL_CCRL_SEGMENT10             in     varchar2 default null
166   ,P_GL_CCRL_SEGMENT11             in     varchar2 default null
167   ,P_GL_CCRL_SEGMENT12             in     varchar2 default null
168   ,P_GL_CCRL_SEGMENT13             in     varchar2 default null
169   ,P_GL_CCRL_SEGMENT14             in     varchar2 default null
170   ,P_GL_CCRL_SEGMENT15             in     varchar2 default null
171   ,P_GL_CCRL_SEGMENT16             in     varchar2 default null
172   ,P_GL_CCRL_SEGMENT17             in     varchar2 default null
173   ,P_GL_CCRL_SEGMENT18             in     varchar2 default null
174   ,P_GL_CCRL_SEGMENT19             in     varchar2 default null
175   ,P_GL_CCRL_SEGMENT20             in     varchar2 default null
176   ,P_GL_CCRL_SEGMENT21             in     varchar2 default null
177   ,P_GL_CCRL_SEGMENT22             in     varchar2 default null
178   ,P_GL_CCRL_SEGMENT23             in     varchar2 default null
179   ,P_GL_CCRL_SEGMENT24             in     varchar2 default null
180   ,P_GL_CCRL_SEGMENT25             in     varchar2 default null
181   ,P_GL_CCRL_SEGMENT26             in     varchar2 default null
182   ,P_GL_CCRL_SEGMENT27             in     varchar2 default null
183   ,P_GL_CCRL_SEGMENT28             in     varchar2 default null
184   ,P_GL_CCRL_SEGMENT29             in     varchar2 default null
185   ,P_GL_CCRL_SEGMENT30             in     varchar2 default null
186   ,P_GL_CCRL_CONCAT_SEGMENTS       in     varchar2 default null
187   ,P_GL_ERR_SEGMENT1               in     varchar2 default null
188   ,P_GL_ERR_SEGMENT2               in     varchar2 default null
189   ,P_GL_ERR_SEGMENT3               in     varchar2 default null
190   ,P_GL_ERR_SEGMENT4               in     varchar2 default null
191   ,P_GL_ERR_SEGMENT5               in     varchar2 default null
192   ,P_GL_ERR_SEGMENT6               in     varchar2 default null
193   ,P_GL_ERR_SEGMENT7               in     varchar2 default null
194   ,P_GL_ERR_SEGMENT8               in     varchar2 default null
195   ,P_GL_ERR_SEGMENT9               in     varchar2 default null
196   ,P_GL_ERR_SEGMENT10              in     varchar2 default null
197   ,P_GL_ERR_SEGMENT11              in     varchar2 default null
198   ,P_GL_ERR_SEGMENT12              in     varchar2 default null
199   ,P_GL_ERR_SEGMENT13              in     varchar2 default null
200   ,P_GL_ERR_SEGMENT14              in     varchar2 default null
201   ,P_GL_ERR_SEGMENT15              in     varchar2 default null
202   ,P_GL_ERR_SEGMENT16              in     varchar2 default null
203   ,P_GL_ERR_SEGMENT17              in     varchar2 default null
204   ,P_GL_ERR_SEGMENT18              in     varchar2 default null
205   ,P_GL_ERR_SEGMENT19              in     varchar2 default null
206   ,P_GL_ERR_SEGMENT20              in     varchar2 default null
207   ,P_GL_ERR_SEGMENT21              in     varchar2 default null
208   ,P_GL_ERR_SEGMENT22              in     varchar2 default null
209   ,P_GL_ERR_SEGMENT23              in     varchar2 default null
210   ,P_GL_ERR_SEGMENT24              in     varchar2 default null
211   ,P_GL_ERR_SEGMENT25              in     varchar2 default null
212   ,P_GL_ERR_SEGMENT26              in     varchar2 default null
213   ,P_GL_ERR_SEGMENT27              in     varchar2 default null
214   ,P_GL_ERR_SEGMENT28              in     varchar2 default null
215   ,P_GL_ERR_SEGMENT29              in     varchar2 default null
216   ,P_GL_ERR_SEGMENT30              in     varchar2 default null
217   ,P_GL_ERR_CONCAT_SEGMENTS        in     varchar2 default null
218   ,P_SETS_OF_BOOK_ID               in     number   default null
219   ,P_THIRD_PARTY_PAYMENT           in     varchar2 default 'N'
220   ,P_TRANSFER_TO_GL_FLAG           in     varchar2 default null
221   ,P_COST_PAYMENT                  in     varchar2 default null
222   ,P_COST_CLEARED_PAYMENT          in     varchar2 default null
223   ,P_COST_CLEARED_VOID_PAYMENT     in     varchar2 default null
224   ,P_EXCLUDE_MANUAL_PAYMENT        in     varchar2 default null
225   ,P_DEFAULT_GL_ACCOUNT		   in     varchar2 default 'Y'
226   ,P_BANK_ACCOUNT_ID               in     number   default null
227   ,P_ORG_PAYMENT_METHOD_ID            out nocopy number
228   ,P_EFFECTIVE_START_DATE             out nocopy date
229   ,P_EFFECTIVE_END_DATE               out nocopy date
230   ,P_OBJECT_VERSION_NUMBER            out nocopy number
231   ,P_ASSET_CODE_COMBINATION_ID        out nocopy number
232   ,P_COMMENT_ID                       out nocopy number
233   ,P_EXTERNAL_ACCOUNT_ID              out nocopy number
234   ) is
235   --
236   -- Declare cursors and local variables
237   --
238   l_proc                      varchar2(72) := g_package||'create_org_payment_method';
239   l_object_version_number     pay_org_payment_methods_f.object_version_number%TYPE;
240   l_effective_date            date;
241   l_org_payment_method_id     pay_org_payment_methods_f.org_payment_method_id%TYPE;
242   l_effective_start_date      pay_org_payment_methods_f.effective_start_date%TYPE;
243   l_effective_end_date        pay_org_payment_methods_f.effective_end_date%TYPE;
244   l_comment_id                pay_org_payment_methods_f.comment_id%TYPE;
245   l_external_account_id       pay_org_payment_methods_f.external_account_id%TYPE;
246   l_asset_code_combination_id number;
247   l_language_code             pay_org_payment_methods_f_tl.language%TYPE;
248   l_discard                   number;
249   l_territory_code            pay_payment_types.territory_code%TYPE;
250   l_key_flex_id               number;
251   l_defined_balance_id        pay_org_payment_methods_f.defined_balance_id%TYPE;
252   l_currency_code             pay_org_payment_methods_f.currency_code%TYPE;
253   l_PMETH_INFORMATION_CATEGORY pay_org_payment_methods_f.PMETH_INFORMATION_CATEGORY%TYPE;
254   l_pay_gl_account_id         pay_payment_gl_accounts_f.pay_gl_account_id%TYPE;
255 
256   l_gl_cash_ac_id             PAY_PAYMENT_GL_ACCOUNTS_F.GL_CASH_AC_ID%TYPE;
257   l_gl_cash_clearing_ac_id    PAY_PAYMENT_GL_ACCOUNTS_F.GL_CASH_CLEARING_AC_ID%TYPE;
258   l_gl_control_ac_id          PAY_PAYMENT_GL_ACCOUNTS_F.GL_CONTROL_AC_ID%TYPE;
259   l_gl_error_ac_id            PAY_PAYMENT_GL_ACCOUNTS_F.GL_ERROR_AC_ID%TYPE;
260   l_set_of_books_id           PAY_PAYMENT_GL_ACCOUNTS_F.SET_OF_BOOKS_ID%TYPE;
261 
262   l_def_gl_cash_ac_id             PAY_PAYMENT_GL_ACCOUNTS_F.GL_CASH_AC_ID%TYPE;
263   l_def_gl_cash_clearing_ac_id    PAY_PAYMENT_GL_ACCOUNTS_F.GL_CASH_CLEARING_AC_ID%TYPE;
264   l_def_gl_control_ac_id          PAY_PAYMENT_GL_ACCOUNTS_F.GL_CONTROL_AC_ID%TYPE;
265   l_def_gl_error_ac_id            PAY_PAYMENT_GL_ACCOUNTS_F.GL_ERROR_AC_ID%TYPE;
266   l_def_set_of_books_id		  PAY_PAYMENT_GL_ACCOUNTS_F.SET_OF_BOOKS_ID%TYPE;
267 
268 
269   l_gl_concat_segments          varchar2(2000);
270   l_gl_csh_clr_concat_segment   varchar2(2000);
271   l_gl_control_concat_segment   varchar2(2000);
272   l_gl_error_concat_segment     varchar2(2000);
273 
274   L_DEFAULT_GL_ACCOUNT          varchar2(2);
275   l_cstclr_flag                 varchar2(2);
276   l_cst_flag                    varchar2(2);
277 
278   --
279   cursor csr_def_balance (v_business_group_id number) is
280      select  db.defined_balance_id
281        from  pay_defined_balances db,
282              pay_balance_dimensions bd,
283              pay_balance_types bt
284       where  nvl(db.business_group_id,v_business_group_id) = v_business_group_id
285         and  ((db.legislation_code is null)
286                or exists
287               (select null
288                  from per_business_groups pbg
289                 where pbg.business_group_id = v_business_group_id
290                   and pbg.legislation_code = db.legislation_code))
291         and  db.balance_dimension_id = bd.balance_dimension_id
292         and  db.balance_type_id      = bt.balance_type_id
293         and  bd.payments_flag = 'Y'
294         and  bt.assignment_remuneration_flag = 'Y'
295       order  by db.business_group_id,db.legislation_code;
296   --
297   cursor csr_territory_code (v_payment_type_id number, v_business_group_id number) is
298      select nvl(ppt.territory_code,pbg.legislation_code)
299        from pay_payment_types ppt,
300             per_business_groups pbg
301       where ppt.payment_type_id = v_payment_type_id
302         and pbg.business_group_id = v_business_group_id;
303   --
304   cursor csr_currency_code (v_payment_type_id number) is
305      select currency_code
306        from pay_payment_types
307       where payment_type_id = v_payment_type_id;
308   --
309   cursor csr_chart_of_accounts_id (v_sets_of_book_id number) is
310      select CHART_OF_ACCOUNTS_ID
311        from gl_sets_of_books
312       where SET_OF_BOOKS_ID = v_sets_of_book_id;
313   --
314   cursor csr_pmeth_category (v_payment_type_id number) is
315      select payment_type_name
316        from pay_payment_types
317       where payment_type_id = v_payment_type_id;
318   --
319   cursor csr_gl_accounts (v_external_account_id number) is
320      select gl_cash_ac_id,
321 	    gl_cash_clearing_ac_id,
322 	    gl_control_ac_id,
323 	    gl_error_ac_id,
324 	    set_of_books_id
325        from pay_payment_gl_accounts_f
326       where external_account_id = v_external_account_id;
327   --
328 begin
329   --
330   hr_utility.set_location('Entering:'|| l_proc, 10);
331   --
332   -- Issue a savepoint
333   --
334   savepoint create_org_payment_method;
335   --
336   -- Truncate the time portion from all IN date parameters
337   --
338   l_effective_date := trunc(p_effective_date);
339   L_DEFAULT_GL_ACCOUNT := P_DEFAULT_GL_ACCOUNT;
340   --
341   --
342   -- Validate the language parameter.  l_language_code should be passed to functions
343   -- instead of p_language_code from now on, to allow an IN OUT parameter to
344   -- be passed through.
345   --
346   l_language_code := p_language_code;
347   hr_api.validate_language_code(p_language_code => l_language_code);
348   --
349   hr_utility.set_location(l_proc, 20);
350   --
351   -- Call Before Process User Hook
352   --
353   begin
354     pay_org_payment_method_bk1.create_org_payment_method_b
355       (P_EFFECTIVE_DATE                 => L_EFFECTIVE_DATE
356       ,P_LANGUAGE_CODE                  => l_LANGUAGE_CODE
357       ,P_BUSINESS_GROUP_ID              => P_BUSINESS_GROUP_ID
358       ,P_ORG_PAYMENT_METHOD_NAME        => P_ORG_PAYMENT_METHOD_NAME
359       ,P_PAYMENT_TYPE_ID                => P_PAYMENT_TYPE_ID
360       ,P_CURRENCY_CODE                  => P_CURRENCY_CODE
361       ,P_ATTRIBUTE_CATEGORY             => P_ATTRIBUTE_CATEGORY
362       ,P_ATTRIBUTE1                     => P_ATTRIBUTE1
363       ,P_ATTRIBUTE2                     => P_ATTRIBUTE2
364       ,P_ATTRIBUTE3                     => P_ATTRIBUTE3
365       ,P_ATTRIBUTE4                     => P_ATTRIBUTE4
366       ,P_ATTRIBUTE5                     => P_ATTRIBUTE5
367       ,P_ATTRIBUTE6                     => P_ATTRIBUTE6
368       ,P_ATTRIBUTE7                     => P_ATTRIBUTE7
369       ,P_ATTRIBUTE8                     => P_ATTRIBUTE8
370       ,P_ATTRIBUTE9                     => P_ATTRIBUTE9
371       ,P_ATTRIBUTE10                    => P_ATTRIBUTE10
372       ,P_ATTRIBUTE11                    => P_ATTRIBUTE11
373       ,P_ATTRIBUTE12                    => P_ATTRIBUTE12
374       ,P_ATTRIBUTE13                    => P_ATTRIBUTE13
375       ,P_ATTRIBUTE14                    => P_ATTRIBUTE14
376       ,P_ATTRIBUTE15                    => P_ATTRIBUTE15
377       ,P_ATTRIBUTE16                    => P_ATTRIBUTE16
378       ,P_ATTRIBUTE17                    => P_ATTRIBUTE17
379       ,P_ATTRIBUTE18                    => P_ATTRIBUTE18
380       ,P_ATTRIBUTE19                    => P_ATTRIBUTE19
381       ,P_ATTRIBUTE20                    => P_ATTRIBUTE20
382 --      ,P_PMETH_INFORMATION_CATEGORY     => P_PMETH_INFORMATION_CATEGORY
383       ,P_PMETH_INFORMATION1             => P_PMETH_INFORMATION1
384       ,P_PMETH_INFORMATION2             => P_PMETH_INFORMATION2
385       ,P_PMETH_INFORMATION3             => P_PMETH_INFORMATION3
386       ,P_PMETH_INFORMATION4             => P_PMETH_INFORMATION4
387       ,P_PMETH_INFORMATION5             => P_PMETH_INFORMATION5
388       ,P_PMETH_INFORMATION6             => P_PMETH_INFORMATION6
389       ,P_PMETH_INFORMATION7             => P_PMETH_INFORMATION7
390       ,P_PMETH_INFORMATION8             => P_PMETH_INFORMATION8
391       ,P_PMETH_INFORMATION9             => P_PMETH_INFORMATION9
392       ,P_PMETH_INFORMATION10            => P_PMETH_INFORMATION10
393       ,P_PMETH_INFORMATION11            => P_PMETH_INFORMATION11
394       ,P_PMETH_INFORMATION12            => P_PMETH_INFORMATION12
395       ,P_PMETH_INFORMATION13            => P_PMETH_INFORMATION13
396       ,P_PMETH_INFORMATION14            => P_PMETH_INFORMATION14
397       ,P_PMETH_INFORMATION15            => P_PMETH_INFORMATION15
398       ,P_PMETH_INFORMATION16            => P_PMETH_INFORMATION16
399       ,P_PMETH_INFORMATION17            => P_PMETH_INFORMATION17
400       ,P_PMETH_INFORMATION18            => P_PMETH_INFORMATION18
401       ,P_PMETH_INFORMATION19            => P_PMETH_INFORMATION19
402       ,P_PMETH_INFORMATION20            => P_PMETH_INFORMATION20
403       ,P_COMMENTS                       => P_COMMENTS
404       ,P_SEGMENT1                       => P_SEGMENT1
405       ,P_SEGMENT2                       => P_SEGMENT2
406       ,P_SEGMENT3                       => P_SEGMENT3
407       ,P_SEGMENT4                       => P_SEGMENT4
408       ,P_SEGMENT5                       => P_SEGMENT5
409       ,P_SEGMENT6                       => P_SEGMENT6
410       ,P_SEGMENT7                       => P_SEGMENT7
411       ,P_SEGMENT8                       => P_SEGMENT8
412       ,P_SEGMENT9                       => P_SEGMENT9
413       ,P_SEGMENT10                      => P_SEGMENT10
414       ,P_SEGMENT11                      => P_SEGMENT11
415       ,P_SEGMENT12                      => P_SEGMENT12
416       ,P_SEGMENT13                      => P_SEGMENT13
417       ,P_SEGMENT14                      => P_SEGMENT14
418       ,P_SEGMENT15                      => P_SEGMENT15
419       ,P_SEGMENT16                      => P_SEGMENT16
420       ,P_SEGMENT17                      => P_SEGMENT17
421       ,P_SEGMENT18                      => P_SEGMENT18
422       ,P_SEGMENT19                      => P_SEGMENT19
423       ,P_SEGMENT20                      => P_SEGMENT20
424       ,P_SEGMENT21                      => P_SEGMENT21
425       ,P_SEGMENT22                      => P_SEGMENT22
426       ,P_SEGMENT23                      => P_SEGMENT23
427       ,P_SEGMENT24                      => P_SEGMENT24
428       ,P_SEGMENT25                      => P_SEGMENT25
429       ,P_SEGMENT26                      => P_SEGMENT26
430       ,P_SEGMENT27                      => P_SEGMENT27
431       ,P_SEGMENT28                      => P_SEGMENT28
432       ,P_SEGMENT29                      => P_SEGMENT29
433       ,P_SEGMENT30                      => P_SEGMENT30
434       ,P_CONCAT_SEGMENTS                => P_CONCAT_SEGMENTS
435       ,P_GL_SEGMENT1                    => P_GL_SEGMENT1
436       ,P_GL_SEGMENT2                    => P_GL_SEGMENT2
437       ,P_GL_SEGMENT3                    => P_GL_SEGMENT3
438       ,P_GL_SEGMENT4                    => P_GL_SEGMENT4
439       ,P_GL_SEGMENT5                    => P_GL_SEGMENT5
440       ,P_GL_SEGMENT6                    => P_GL_SEGMENT6
441       ,P_GL_SEGMENT7                    => P_GL_SEGMENT7
442       ,P_GL_SEGMENT8                    => P_GL_SEGMENT8
443       ,P_GL_SEGMENT9                    => P_GL_SEGMENT9
444       ,P_GL_SEGMENT10                   => P_GL_SEGMENT10
445       ,P_GL_SEGMENT11                   => P_GL_SEGMENT11
446       ,P_GL_SEGMENT12                   => P_GL_SEGMENT12
447       ,P_GL_SEGMENT13                   => P_GL_SEGMENT13
448       ,P_GL_SEGMENT14                   => P_GL_SEGMENT14
449       ,P_GL_SEGMENT15                   => P_GL_SEGMENT15
450       ,P_GL_SEGMENT16                   => P_GL_SEGMENT16
451       ,P_GL_SEGMENT17                   => P_GL_SEGMENT17
452       ,P_GL_SEGMENT18                   => P_GL_SEGMENT18
453       ,P_GL_SEGMENT19                   => P_GL_SEGMENT19
454       ,P_GL_SEGMENT20                   => P_GL_SEGMENT20
455       ,P_GL_SEGMENT21                   => P_GL_SEGMENT21
456       ,P_GL_SEGMENT22                   => P_GL_SEGMENT22
457       ,P_GL_SEGMENT23                   => P_GL_SEGMENT23
458       ,P_GL_SEGMENT24                   => P_GL_SEGMENT24
459       ,P_GL_SEGMENT25                   => P_GL_SEGMENT25
460       ,P_GL_SEGMENT26                   => P_GL_SEGMENT26
461       ,P_GL_SEGMENT27                   => P_GL_SEGMENT27
462       ,P_GL_SEGMENT28                   => P_GL_SEGMENT28
463       ,P_GL_SEGMENT29                   => P_GL_SEGMENT29
464       ,P_GL_SEGMENT30                   => P_GL_SEGMENT30
465       ,P_GL_CONCAT_SEGMENTS             => P_GL_CONCAT_SEGMENTS
466       ,P_GL_CTRL_SEGMENT1               => P_GL_CTRL_SEGMENT1
467       ,P_GL_CTRL_SEGMENT2               => P_GL_CTRL_SEGMENT2
468       ,P_GL_CTRL_SEGMENT3               => P_GL_CTRL_SEGMENT3
469       ,P_GL_CTRL_SEGMENT4               => P_GL_CTRL_SEGMENT4
470       ,P_GL_CTRL_SEGMENT5               => P_GL_CTRL_SEGMENT5
471       ,P_GL_CTRL_SEGMENT6               => P_GL_CTRL_SEGMENT6
472       ,P_GL_CTRL_SEGMENT7               => P_GL_CTRL_SEGMENT7
473       ,P_GL_CTRL_SEGMENT8               => P_GL_CTRL_SEGMENT8
474       ,P_GL_CTRL_SEGMENT9               => P_GL_CTRL_SEGMENT9
475       ,P_GL_CTRL_SEGMENT10              => P_GL_CTRL_SEGMENT10
476       ,P_GL_CTRL_SEGMENT11              => P_GL_CTRL_SEGMENT11
477       ,P_GL_CTRL_SEGMENT12              => P_GL_CTRL_SEGMENT12
478       ,P_GL_CTRL_SEGMENT13              => P_GL_CTRL_SEGMENT13
479       ,P_GL_CTRL_SEGMENT14              => P_GL_CTRL_SEGMENT14
480       ,P_GL_CTRL_SEGMENT15              => P_GL_CTRL_SEGMENT15
481       ,P_GL_CTRL_SEGMENT16              => P_GL_CTRL_SEGMENT16
482       ,P_GL_CTRL_SEGMENT17              => P_GL_CTRL_SEGMENT17
483       ,P_GL_CTRL_SEGMENT18              => P_GL_CTRL_SEGMENT18
484       ,P_GL_CTRL_SEGMENT19              => P_GL_CTRL_SEGMENT19
485       ,P_GL_CTRL_SEGMENT20              => P_GL_CTRL_SEGMENT20
486       ,P_GL_CTRL_SEGMENT21              => P_GL_CTRL_SEGMENT21
487       ,P_GL_CTRL_SEGMENT22              => P_GL_CTRL_SEGMENT22
488       ,P_GL_CTRL_SEGMENT23              => P_GL_CTRL_SEGMENT23
489       ,P_GL_CTRL_SEGMENT24              => P_GL_CTRL_SEGMENT24
490       ,P_GL_CTRL_SEGMENT25              => P_GL_CTRL_SEGMENT25
491       ,P_GL_CTRL_SEGMENT26              => P_GL_CTRL_SEGMENT26
492       ,P_GL_CTRL_SEGMENT27              => P_GL_CTRL_SEGMENT27
493       ,P_GL_CTRL_SEGMENT28              => P_GL_CTRL_SEGMENT28
494       ,P_GL_CTRL_SEGMENT29              => P_GL_CTRL_SEGMENT29
495       ,P_GL_CTRL_SEGMENT30              => P_GL_CTRL_SEGMENT30
496       ,P_GL_CTRL_CONCAT_SEGMENTS        => P_GL_CTRL_CONCAT_SEGMENTS
497       ,P_GL_CCRL_SEGMENT1               => P_GL_CCRL_SEGMENT1
498       ,P_GL_CCRL_SEGMENT2               => P_GL_CCRL_SEGMENT2
499       ,P_GL_CCRL_SEGMENT3               => P_GL_CCRL_SEGMENT3
500       ,P_GL_CCRL_SEGMENT4               => P_GL_CCRL_SEGMENT4
501       ,P_GL_CCRL_SEGMENT5               => P_GL_CCRL_SEGMENT5
502       ,P_GL_CCRL_SEGMENT6               => P_GL_CCRL_SEGMENT6
503       ,P_GL_CCRL_SEGMENT7               => P_GL_CCRL_SEGMENT7
504       ,P_GL_CCRL_SEGMENT8               => P_GL_CCRL_SEGMENT8
505       ,P_GL_CCRL_SEGMENT9               => P_GL_CCRL_SEGMENT9
506       ,P_GL_CCRL_SEGMENT10              => P_GL_CCRL_SEGMENT10
507       ,P_GL_CCRL_SEGMENT11              => P_GL_CCRL_SEGMENT11
508       ,P_GL_CCRL_SEGMENT12              => P_GL_CCRL_SEGMENT12
509       ,P_GL_CCRL_SEGMENT13              => P_GL_CCRL_SEGMENT13
510       ,P_GL_CCRL_SEGMENT14              => P_GL_CCRL_SEGMENT14
511       ,P_GL_CCRL_SEGMENT15              => P_GL_CCRL_SEGMENT15
512       ,P_GL_CCRL_SEGMENT16              => P_GL_CCRL_SEGMENT16
513       ,P_GL_CCRL_SEGMENT17              => P_GL_CCRL_SEGMENT17
514       ,P_GL_CCRL_SEGMENT18              => P_GL_CCRL_SEGMENT18
515       ,P_GL_CCRL_SEGMENT19              => P_GL_CCRL_SEGMENT19
516       ,P_GL_CCRL_SEGMENT20              => P_GL_CCRL_SEGMENT20
517       ,P_GL_CCRL_SEGMENT21              => P_GL_CCRL_SEGMENT21
518       ,P_GL_CCRL_SEGMENT22              => P_GL_CCRL_SEGMENT22
519       ,P_GL_CCRL_SEGMENT23              => P_GL_CCRL_SEGMENT23
520       ,P_GL_CCRL_SEGMENT24              => P_GL_CCRL_SEGMENT24
521       ,P_GL_CCRL_SEGMENT25              => P_GL_CCRL_SEGMENT25
522       ,P_GL_CCRL_SEGMENT26              => P_GL_CCRL_SEGMENT26
523       ,P_GL_CCRL_SEGMENT27              => P_GL_CCRL_SEGMENT27
524       ,P_GL_CCRL_SEGMENT28              => P_GL_CCRL_SEGMENT28
525       ,P_GL_CCRL_SEGMENT29              => P_GL_CCRL_SEGMENT29
526       ,P_GL_CCRL_SEGMENT30              => P_GL_CCRL_SEGMENT30
527       ,P_GL_CCRL_CONCAT_SEGMENTS        => P_GL_CCRL_CONCAT_SEGMENTS
528       ,P_GL_ERR_SEGMENT1                => P_GL_ERR_SEGMENT1
529       ,P_GL_ERR_SEGMENT2                => P_GL_ERR_SEGMENT2
530       ,P_GL_ERR_SEGMENT3                => P_GL_ERR_SEGMENT3
531       ,P_GL_ERR_SEGMENT4                => P_GL_ERR_SEGMENT4
532       ,P_GL_ERR_SEGMENT5                => P_GL_ERR_SEGMENT5
533       ,P_GL_ERR_SEGMENT6                => P_GL_ERR_SEGMENT6
534       ,P_GL_ERR_SEGMENT7                => P_GL_ERR_SEGMENT7
535       ,P_GL_ERR_SEGMENT8                => P_GL_ERR_SEGMENT8
536       ,P_GL_ERR_SEGMENT9                => P_GL_ERR_SEGMENT9
537       ,P_GL_ERR_SEGMENT10               => P_GL_ERR_SEGMENT10
538       ,P_GL_ERR_SEGMENT11               => P_GL_ERR_SEGMENT11
539       ,P_GL_ERR_SEGMENT12               => P_GL_ERR_SEGMENT12
540       ,P_GL_ERR_SEGMENT13               => P_GL_ERR_SEGMENT13
541       ,P_GL_ERR_SEGMENT14               => P_GL_ERR_SEGMENT14
542       ,P_GL_ERR_SEGMENT15               => P_GL_ERR_SEGMENT15
543       ,P_GL_ERR_SEGMENT16               => P_GL_ERR_SEGMENT16
544       ,P_GL_ERR_SEGMENT17               => P_GL_ERR_SEGMENT17
545       ,P_GL_ERR_SEGMENT18               => P_GL_ERR_SEGMENT18
546       ,P_GL_ERR_SEGMENT19               => P_GL_ERR_SEGMENT19
547       ,P_GL_ERR_SEGMENT20               => P_GL_ERR_SEGMENT20
548       ,P_GL_ERR_SEGMENT21               => P_GL_ERR_SEGMENT21
549       ,P_GL_ERR_SEGMENT22               => P_GL_ERR_SEGMENT22
550       ,P_GL_ERR_SEGMENT23               => P_GL_ERR_SEGMENT23
551       ,P_GL_ERR_SEGMENT24               => P_GL_ERR_SEGMENT24
552       ,P_GL_ERR_SEGMENT25               => P_GL_ERR_SEGMENT25
553       ,P_GL_ERR_SEGMENT26               => P_GL_ERR_SEGMENT26
554       ,P_GL_ERR_SEGMENT27               => P_GL_ERR_SEGMENT27
555       ,P_GL_ERR_SEGMENT28               => P_GL_ERR_SEGMENT28
556       ,P_GL_ERR_SEGMENT29               => P_GL_ERR_SEGMENT29
557       ,P_GL_ERR_SEGMENT30               => P_GL_ERR_SEGMENT30
558       ,P_GL_ERR_CONCAT_SEGMENTS         => P_GL_ERR_CONCAT_SEGMENTS
559       ,P_SETS_OF_BOOK_ID                => P_SETS_OF_BOOK_ID
560       ,P_THIRD_PARTY_PAYMENT            => P_THIRD_PARTY_PAYMENT
561       ,P_TRANSFER_TO_GL_FLAG            => P_TRANSFER_TO_GL_FLAG
562       ,P_COST_PAYMENT                   => P_COST_PAYMENT
563       ,P_COST_CLEARED_PAYMENT           => P_COST_CLEARED_PAYMENT
564       ,P_COST_CLEARED_VOID_PAYMENT      => P_COST_CLEARED_VOID_PAYMENT
565       ,P_EXCLUDE_MANUAL_PAYMENT         => P_EXCLUDE_MANUAL_PAYMENT
566       );
567   exception
568     when hr_api.cannot_find_prog_unit then
569       hr_api.cannot_find_prog_unit_error
570         (p_module_name => 'create_org_payment_method_b'
571         ,p_hook_type   => 'BP'
572         );
573   end;
574   --
575   hr_utility.set_location(l_proc, 25);
576   -- Validation in addition to Row Handlers
577   --
578   -- Process Logic
579   --
580   -- Call table handler pay_exa_ins to control the processing of the external
581   -- account combination keyflex, discarding the returning parameter
582   -- p_object_version_number
583   --
584   hr_api.mandatory_arg_error(p_api_name       => l_proc
585                             ,p_argument       => 'payment_type_id'
586                             ,p_argument_value => p_payment_type_id
587                             );
588   --
589   open csr_territory_code(p_payment_type_id,p_business_group_id);
590   fetch csr_territory_code into l_territory_code;
591   if (csr_territory_code%notfound) then
592      close csr_territory_code;
593      fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
594      fnd_message.set_token('COLUMN_NAME', 'PAYMENT_TYPE_ID');
595      fnd_message.raise_error;
596   end if;
597   close csr_territory_code;
598   --
599   hr_utility.set_location(l_proc, 30);
600   IF (P_PMETH_INFORMATION1 IS NOT NULL OR
601       P_PMETH_INFORMATION2 IS NOT NULL OR
602       P_PMETH_INFORMATION3 IS NOT NULL OR
603       P_PMETH_INFORMATION4 IS NOT NULL OR
604       P_PMETH_INFORMATION5 IS NOT NULL OR
605       P_PMETH_INFORMATION6 IS NOT NULL OR
606       P_PMETH_INFORMATION7 IS NOT NULL OR
607       P_PMETH_INFORMATION8 IS NOT NULL OR
608       P_PMETH_INFORMATION9 IS NOT NULL OR
609       P_PMETH_INFORMATION10 IS NOT NULL OR
610       P_PMETH_INFORMATION11 IS NOT NULL OR
611       P_PMETH_INFORMATION12 IS NOT NULL OR
612       P_PMETH_INFORMATION13 IS NOT NULL OR
613       P_PMETH_INFORMATION14 IS NOT NULL OR
614       P_PMETH_INFORMATION15 IS NOT NULL OR
615       P_PMETH_INFORMATION16 IS NOT NULL OR
616       P_PMETH_INFORMATION17 IS NOT NULL OR
617       P_PMETH_INFORMATION18 IS NOT NULL OR
618       P_PMETH_INFORMATION19 IS NOT NULL OR
619       P_PMETH_INFORMATION20 IS NOT NULL ) THEN
620 
621       open csr_pmeth_category(p_payment_type_id);
622       fetch csr_pmeth_category into l_PMETH_INFORMATION_CATEGORY;
623       if (csr_pmeth_category%notfound) then
624          close csr_pmeth_category;
625          fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
626          fnd_message.set_token('COLUMN_NAME', 'PMETH_INFORMATION_CATEGORY');
627          fnd_message.raise_error;
628       end if;
629       close csr_pmeth_category;
630   END IF;
631   --
632   hr_utility.set_location(l_proc, 35);
633   --
634   open csr_currency_code(p_payment_type_id);
635   fetch csr_currency_code into l_currency_code;
636   if (csr_currency_code%notfound) then
637      close csr_currency_code;
638      fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
639      fnd_message.set_token('COLUMN_NAME', 'PAYMENT_TYPE_ID');
640      fnd_message.raise_error;
641   end if;
642   close csr_currency_code;
643   if (p_currency_code is not null) then
644      l_currency_code := p_currency_code;
645   end if;
646   --
647   hr_utility.set_location(l_proc, 40);
648   --
649   if (p_segment1 is not null or
650       p_segment2 is not null or
651       p_segment3 is not null or
652       p_segment4 is not null or
653       p_segment5 is not null or
654       p_segment6 is not null or
655       p_segment7 is not null or
656       p_segment8 is not null or
657       p_segment9 is not null or
658       p_segment10 is not null or
659       p_segment11 is not null or
660       p_segment12 is not null or
661       p_segment13 is not null or
662       p_segment14 is not null or
663       p_segment15 is not null or
664       p_segment16 is not null or
665       p_segment17 is not null or
666       p_segment18 is not null or
667       p_segment19 is not null or
668       p_segment20 is not null or
669       p_segment21 is not null or
670       p_segment22 is not null or
671       p_segment23 is not null or
672       p_segment24 is not null or
673       p_segment25 is not null or
674       p_segment26 is not null or
675       p_segment27 is not null or
676       p_segment28 is not null or
677       p_segment29 is not null or
678       p_segment30 is not null )  then
679   --
680     pay_exa_ins.ins_or_sel
681     (p_segment1              => p_segment1
682     ,p_segment2              => p_segment2
683     ,p_segment3              => p_segment3
684     ,p_segment4              => p_segment4
685     ,p_segment5              => p_segment5
686     ,p_segment6              => p_segment6
687     ,p_segment7              => p_segment7
688     ,p_segment8              => p_segment8
689     ,p_segment9              => p_segment9
690     ,p_segment10             => p_segment10
691     ,p_segment11             => p_segment11
692     ,p_segment12             => p_segment12
693     ,p_segment13             => p_segment13
694     ,p_segment14             => p_segment14
695     ,p_segment15             => p_segment15
696     ,p_segment16             => p_segment16
697     ,p_segment17             => p_segment17
698     ,p_segment18             => p_segment18
699     ,p_segment19             => p_segment19
700     ,p_segment20             => p_segment20
701     ,p_segment21             => p_segment21
702     ,p_segment22             => p_segment22
703     ,p_segment23             => p_segment23
704     ,p_segment24             => p_segment24
705     ,p_segment25             => p_segment25
706     ,p_segment26             => p_segment26
707     ,p_segment27             => p_segment27
708     ,p_segment28             => p_segment28
709     ,p_segment29             => p_segment29
710     ,p_segment30             => p_segment30
711     ,p_concat_segments       => p_concat_segments
712     ,p_business_group_id     => p_business_group_id
713     ,p_territory_code        => l_territory_code
714     ,p_external_account_id   => l_external_account_id
715     ,p_object_version_number => l_discard
716     );
717   else
718     l_territory_code := null;
719   end if;
720   --
721   -- Determine the Assest definition by calling ins_or_sel.
722   --
723   hr_utility.set_location(l_proc, 45);
724   l_set_of_books_id         := p_sets_of_book_id;
725   l_gl_cash_ac_id           := null;
726   l_gl_cash_clearing_ac_id  := null;
727   l_gl_control_ac_id        := null;
728   l_gl_error_ac_id          := null;
729 
730   l_def_gl_cash_ac_id           := null;
731   l_def_gl_cash_clearing_ac_id  := null;
732   l_def_gl_control_ac_id        := null;
733   l_def_gl_error_ac_id          := null;
734   l_def_set_of_books_id	        := null;
735   --
736   if (l_set_of_books_id is not null) then
737      --
738      open csr_chart_of_accounts_id(l_set_of_books_id);
739      fetch csr_chart_of_accounts_id into l_key_flex_id;
740      if (csr_chart_of_accounts_id%notfound and l_set_of_books_id<>0) then
741         close csr_chart_of_accounts_id;
742         fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
743         fnd_message.set_token('COLUMN_NAME', 'sets_of_book_id');
744         fnd_message.raise_error;
745      end if;
746      close csr_chart_of_accounts_id;
747      --
748   if l_key_flex_id is not null then
749   --
750      if (p_gl_segment1 is not null or
751       p_gl_segment2 is not null or
752       p_gl_segment3 is not null or
753       p_gl_segment4 is not null or
754       p_gl_segment5 is not null or
755       p_gl_segment6 is not null or
756       p_gl_segment7 is not null or
757       p_gl_segment8 is not null or
758       p_gl_segment9 is not null or
759       p_gl_segment10 is not null or
760       p_gl_segment11 is not null or
761       p_gl_segment12 is not null or
762       p_gl_segment13 is not null or
763       p_gl_segment14 is not null or
764       p_gl_segment15 is not null or
765       p_gl_segment16 is not null or
766       p_gl_segment17 is not null or
767       p_gl_segment18 is not null or
768       p_gl_segment19 is not null or
769       p_gl_segment20 is not null or
770       p_gl_segment21 is not null or
771       p_gl_segment22 is not null or
772       p_gl_segment23 is not null or
773       p_gl_segment24 is not null or
774       p_gl_segment25 is not null or
775       p_gl_segment26 is not null or
776       p_gl_segment27 is not null or
777       p_gl_segment28 is not null or
778       p_gl_segment29 is not null or
779       p_gl_segment30 is not null )  then
780       --
781 		hr_kflex_utility.ins_or_sel_keyflex_comb
782 	       (p_appl_short_name       => 'SQLGL'
783 	       ,p_flex_code             => 'GL#'
784 	       ,p_flex_num              => l_key_flex_id
785 	       ,p_segment1              => p_gl_segment1
786 	       ,p_segment2              => p_gl_segment2
787 	       ,p_segment3              => p_gl_segment3
788 	       ,p_segment4              => p_gl_segment4
789 	       ,p_segment5              => p_gl_segment5
790 	       ,p_segment6              => p_gl_segment6
791 	       ,p_segment7              => p_gl_segment7
792 	       ,p_segment8              => p_gl_segment8
793 	       ,p_segment9              => p_gl_segment9
794 	       ,p_segment10             => p_gl_segment10
795 	       ,p_segment11             => p_gl_segment11
796 	       ,p_segment12             => p_gl_segment12
797 	       ,p_segment13             => p_gl_segment13
798 	       ,p_segment14             => p_gl_segment14
799 	       ,p_segment15             => p_gl_segment15
800 	       ,p_segment16             => p_gl_segment16
801 	       ,p_segment17             => p_gl_segment17
802 	       ,p_segment18             => p_gl_segment18
803 	       ,p_segment19             => p_gl_segment19
804 	       ,p_segment20             => p_gl_segment20
805 	       ,p_segment21             => p_gl_segment21
806 	       ,p_segment22             => p_gl_segment22
807 	       ,p_segment23             => p_gl_segment23
808 	       ,p_segment24             => p_gl_segment24
809 	       ,p_segment25             => p_gl_segment25
810 	       ,p_segment26             => p_gl_segment26
811 	       ,p_segment27             => p_gl_segment27
812 	       ,p_segment28             => p_gl_segment28
813 	       ,p_segment29             => p_gl_segment29
814 	       ,p_segment30             => p_gl_segment30
815 	       ,p_concat_segments_in    => p_gl_concat_segments
816 	       ,p_ccid                  => l_gl_cash_ac_id
817 	       ,p_concat_segments_out   => l_gl_concat_segments
818 	       );
819 		l_ASSET_CODE_COMBINATION_ID := l_gl_cash_ac_id;
820       --
821       end if;
822       hr_utility.set_location(l_proc, 50);
823       if (p_gl_ctrl_segment1 is not null or
824       p_gl_ctrl_segment2 is not null or
825       p_gl_ctrl_segment3 is not null or
826       p_gl_ctrl_segment4 is not null or
827       p_gl_ctrl_segment5 is not null or
828       p_gl_ctrl_segment6 is not null or
829       p_gl_ctrl_segment7 is not null or
830       p_gl_ctrl_segment8 is not null or
831       p_gl_ctrl_segment9 is not null or
832       p_gl_ctrl_segment10 is not null or
833       p_gl_ctrl_segment11 is not null or
834       p_gl_ctrl_segment12 is not null or
835       p_gl_ctrl_segment13 is not null or
836       p_gl_ctrl_segment14 is not null or
837       p_gl_ctrl_segment15 is not null or
838       p_gl_ctrl_segment16 is not null or
839       p_gl_ctrl_segment17 is not null or
840       p_gl_ctrl_segment18 is not null or
841       p_gl_ctrl_segment19 is not null or
842       p_gl_ctrl_segment20 is not null or
843       p_gl_ctrl_segment21 is not null or
844       p_gl_ctrl_segment22 is not null or
845       p_gl_ctrl_segment23 is not null or
846       p_gl_ctrl_segment24 is not null or
847       p_gl_ctrl_segment25 is not null or
848       p_gl_ctrl_segment26 is not null or
849       p_gl_ctrl_segment27 is not null or
850       p_gl_ctrl_segment28 is not null or
851       p_gl_ctrl_segment29 is not null or
852       p_gl_ctrl_segment30 is not null )  then
853       --
854 		hr_kflex_utility.ins_or_sel_keyflex_comb
855 	       (p_appl_short_name       => 'SQLGL'
856 	       ,p_flex_code             => 'GL#'
857 	       ,p_flex_num              => l_key_flex_id
858 	       ,p_segment1              => p_gl_ctrl_segment1
859 	       ,p_segment2              => p_gl_ctrl_segment2
860 	       ,p_segment3              => p_gl_ctrl_segment3
861 	       ,p_segment4              => p_gl_ctrl_segment4
862 	       ,p_segment5              => p_gl_ctrl_segment5
863 	       ,p_segment6              => p_gl_ctrl_segment6
864 	       ,p_segment7              => p_gl_ctrl_segment7
865 	       ,p_segment8              => p_gl_ctrl_segment8
866 	       ,p_segment9              => p_gl_ctrl_segment9
867 	       ,p_segment10             => p_gl_ctrl_segment10
868 	       ,p_segment11             => p_gl_ctrl_segment11
869 	       ,p_segment12             => p_gl_ctrl_segment12
870 	       ,p_segment13             => p_gl_ctrl_segment13
871 	       ,p_segment14             => p_gl_ctrl_segment14
872 	       ,p_segment15             => p_gl_ctrl_segment15
873 	       ,p_segment16             => p_gl_ctrl_segment16
874 	       ,p_segment17             => p_gl_ctrl_segment17
875 	       ,p_segment18             => p_gl_ctrl_segment18
876 	       ,p_segment19             => p_gl_ctrl_segment19
877 	       ,p_segment20             => p_gl_ctrl_segment20
878 	       ,p_segment21             => p_gl_ctrl_segment21
879 	       ,p_segment22             => p_gl_ctrl_segment22
880 	       ,p_segment23             => p_gl_ctrl_segment23
881 	       ,p_segment24             => p_gl_ctrl_segment24
882 	       ,p_segment25             => p_gl_ctrl_segment25
883 	       ,p_segment26             => p_gl_ctrl_segment26
884 	       ,p_segment27             => p_gl_ctrl_segment27
885 	       ,p_segment28             => p_gl_ctrl_segment28
886 	       ,p_segment29             => p_gl_ctrl_segment29
887 	       ,p_segment30             => p_gl_ctrl_segment30
888 	       ,p_concat_segments_in    => p_gl_ctrl_concat_segments
889 	       ,p_ccid                  => l_gl_control_ac_id
890 	       ,p_concat_segments_out   => l_gl_control_concat_segment
891 	       );
892      --
893      end if;
894      hr_utility.set_location(l_proc, 55);
895      if (p_gl_ccrl_segment1 is not null or
896       p_gl_ccrl_segment2 is not null or
897       p_gl_ccrl_segment3 is not null or
898       p_gl_ccrl_segment4 is not null or
899       p_gl_ccrl_segment5 is not null or
900       p_gl_ccrl_segment6 is not null or
901       p_gl_ccrl_segment7 is not null or
902       p_gl_ccrl_segment8 is not null or
903       p_gl_ccrl_segment9 is not null or
904       p_gl_ccrl_segment10 is not null or
905       p_gl_ccrl_segment11 is not null or
906       p_gl_ccrl_segment12 is not null or
907       p_gl_ccrl_segment13 is not null or
908       p_gl_ccrl_segment14 is not null or
909       p_gl_ccrl_segment15 is not null or
910       p_gl_ccrl_segment16 is not null or
911       p_gl_ccrl_segment17 is not null or
912       p_gl_ccrl_segment18 is not null or
913       p_gl_ccrl_segment19 is not null or
914       p_gl_ccrl_segment20 is not null or
915       p_gl_ccrl_segment21 is not null or
916       p_gl_ccrl_segment22 is not null or
917       p_gl_ccrl_segment23 is not null or
918       p_gl_ccrl_segment24 is not null or
919       p_gl_ccrl_segment25 is not null or
920       p_gl_ccrl_segment26 is not null or
921       p_gl_ccrl_segment27 is not null or
922       p_gl_ccrl_segment28 is not null or
923       p_gl_ccrl_segment29 is not null or
924       p_gl_ccrl_segment30 is not null )  then
925       --
926 		hr_kflex_utility.ins_or_sel_keyflex_comb
927 	       (p_appl_short_name       => 'SQLGL'
928 	       ,p_flex_code             => 'GL#'
929 	       ,p_flex_num              => l_key_flex_id
930 	       ,p_segment1              => p_gl_ccrl_segment1
931 	       ,p_segment2              => p_gl_ccrl_segment2
932 	       ,p_segment3              => p_gl_ccrl_segment3
933 	       ,p_segment4              => p_gl_ccrl_segment4
934 	       ,p_segment5              => p_gl_ccrl_segment5
935 	       ,p_segment6              => p_gl_ccrl_segment6
936 	       ,p_segment7              => p_gl_ccrl_segment7
937 	       ,p_segment8              => p_gl_ccrl_segment8
938 	       ,p_segment9              => p_gl_ccrl_segment9
939 	       ,p_segment10             => p_gl_ccrl_segment10
940 	       ,p_segment11             => p_gl_ccrl_segment11
941 	       ,p_segment12             => p_gl_ccrl_segment12
942 	       ,p_segment13             => p_gl_ccrl_segment13
943 	       ,p_segment14             => p_gl_ccrl_segment14
944 	       ,p_segment15             => p_gl_ccrl_segment15
945 	       ,p_segment16             => p_gl_ccrl_segment16
946 	       ,p_segment17             => p_gl_ccrl_segment17
947 	       ,p_segment18             => p_gl_ccrl_segment18
948 	       ,p_segment19             => p_gl_ccrl_segment19
949 	       ,p_segment20             => p_gl_ccrl_segment20
950 	       ,p_segment21             => p_gl_ccrl_segment21
951 	       ,p_segment22             => p_gl_ccrl_segment22
952 	       ,p_segment23             => p_gl_ccrl_segment23
953 	       ,p_segment24             => p_gl_ccrl_segment24
954 	       ,p_segment25             => p_gl_ccrl_segment25
955 	       ,p_segment26             => p_gl_ccrl_segment26
956 	       ,p_segment27             => p_gl_ccrl_segment27
957 	       ,p_segment28             => p_gl_ccrl_segment28
958 	       ,p_segment29             => p_gl_ccrl_segment29
959 	       ,p_segment30             => p_gl_ccrl_segment30
960 	       ,p_concat_segments_in    => p_gl_ccrl_concat_segments
961 	       ,p_ccid                  => l_gl_cash_clearing_ac_id
962 	       ,p_concat_segments_out   => l_gl_csh_clr_concat_segment
963 		);
964      --
965      end if;
966      hr_utility.set_location(l_proc, 60);
967      if (p_gl_err_segment1 is not null or
968       p_gl_err_segment2 is not null or
969       p_gl_err_segment3 is not null or
970       p_gl_err_segment4 is not null or
971       p_gl_err_segment5 is not null or
972       p_gl_err_segment6 is not null or
973       p_gl_err_segment7 is not null or
974       p_gl_err_segment8 is not null or
975       p_gl_err_segment9 is not null or
976       p_gl_err_segment10 is not null or
977       p_gl_err_segment11 is not null or
978       p_gl_err_segment12 is not null or
979       p_gl_err_segment13 is not null or
980       p_gl_err_segment14 is not null or
981       p_gl_err_segment15 is not null or
982       p_gl_err_segment16 is not null or
983       p_gl_err_segment17 is not null or
984       p_gl_err_segment18 is not null or
985       p_gl_err_segment19 is not null or
986       p_gl_err_segment20 is not null or
987       p_gl_err_segment21 is not null or
988       p_gl_err_segment22 is not null or
989       p_gl_err_segment23 is not null or
990       p_gl_err_segment24 is not null or
991       p_gl_err_segment25 is not null or
992       p_gl_err_segment26 is not null or
993       p_gl_err_segment27 is not null or
994       p_gl_err_segment28 is not null or
995       p_gl_err_segment29 is not null or
996       p_gl_err_segment30 is not null )  then
997       --
998 		hr_kflex_utility.ins_or_sel_keyflex_comb
999 	       (p_appl_short_name       => 'SQLGL'
1000 	       ,p_flex_code             => 'GL#'
1001 	       ,p_flex_num              => l_key_flex_id
1002 	       ,p_segment1              => p_gl_err_segment1
1003 	       ,p_segment2              => p_gl_err_segment2
1004 	       ,p_segment3              => p_gl_err_segment3
1005 	       ,p_segment4              => p_gl_err_segment4
1006 	       ,p_segment5              => p_gl_err_segment5
1007 	       ,p_segment6              => p_gl_err_segment6
1008 	       ,p_segment7              => p_gl_err_segment7
1009 	       ,p_segment8              => p_gl_err_segment8
1010 	       ,p_segment9              => p_gl_err_segment9
1011 	       ,p_segment10             => p_gl_err_segment10
1012 	       ,p_segment11             => p_gl_err_segment11
1013 	       ,p_segment12             => p_gl_err_segment12
1014 	       ,p_segment13             => p_gl_err_segment13
1015 	       ,p_segment14             => p_gl_err_segment14
1016 	       ,p_segment15             => p_gl_err_segment15
1017 	       ,p_segment16             => p_gl_err_segment16
1018 	       ,p_segment17             => p_gl_err_segment17
1019 	       ,p_segment18             => p_gl_err_segment18
1020 	       ,p_segment19             => p_gl_err_segment19
1021 	       ,p_segment20             => p_gl_err_segment20
1022 	       ,p_segment21             => p_gl_err_segment21
1023 	       ,p_segment22             => p_gl_err_segment22
1024 	       ,p_segment23             => p_gl_err_segment23
1025 	       ,p_segment24             => p_gl_err_segment24
1026 	       ,p_segment25             => p_gl_err_segment25
1027 	       ,p_segment26             => p_gl_err_segment26
1028 	       ,p_segment27             => p_gl_err_segment27
1029 	       ,p_segment28             => p_gl_err_segment28
1030 	       ,p_segment29             => p_gl_err_segment29
1031 	       ,p_segment30             => p_gl_err_segment30
1032 	       ,p_concat_segments_in    => p_gl_err_concat_segments
1033 	       ,p_ccid                  => l_gl_error_ac_id
1034 	       ,p_concat_segments_out   => l_gl_error_concat_segment
1035 	       );
1036 	  --
1037 	  end if;
1038 	--
1039 	end if;
1040   --
1041   end if;
1042   --
1043   hr_utility.set_location(l_proc, 65);
1044   --
1045   -- Obtains the defined balance id based on the 3rd Party Payment Flag.
1046   --
1047   if (P_THIRD_PARTY_PAYMENT = 'Y') then
1048      l_defined_balance_id := null;
1049   else
1050      hr_api.mandatory_arg_error(p_api_name => l_proc
1051                          ,p_argument       => 'business_group_id'
1052                          ,p_argument_value => p_business_group_id
1053                          );
1054      --
1055      open csr_def_balance(p_business_group_id);
1056      fetch csr_def_balance into l_defined_balance_id;
1057      if (csr_def_balance%notfound) then
1058         close csr_def_balance;
1059         fnd_message.set_name('PAY', 'PAY_52982_NO_PAY_METH_DEFINED');
1060         fnd_message.raise_error;
1061      end if;
1062      close csr_def_balance;
1063   end if;
1064 
1065   hr_utility.set_location(l_proc, 70);
1066   --
1067   pay_opm_ins.ins
1068       (p_effective_date                  => l_effective_date
1069       ,p_business_group_id               => p_business_group_id
1070       ,p_external_account_id             => l_external_account_id
1071       ,p_currency_code                   => l_currency_code
1072       ,p_payment_type_id                 => p_payment_type_id
1073       ,p_org_payment_method_name         => p_org_payment_method_name
1074       ,p_defined_balance_id              => l_defined_balance_id
1075       ,p_comments                        => p_comments
1076       ,p_attribute_category              => p_attribute_category
1077       ,p_attribute1                      => p_attribute1
1078       ,p_attribute2                      => p_attribute2
1079       ,p_attribute3                      => p_attribute3
1080       ,p_attribute4                      => p_attribute4
1081       ,p_attribute5                      => p_attribute5
1082       ,p_attribute6                      => p_attribute6
1083       ,p_attribute7                      => p_attribute7
1084       ,p_attribute8                      => p_attribute8
1085       ,p_attribute9                      => p_attribute9
1086       ,p_attribute10                     => p_attribute10
1087       ,p_attribute11                     => p_attribute11
1088       ,p_attribute12                     => p_attribute12
1089       ,p_attribute13                     => p_attribute13
1090       ,p_attribute14                     => p_attribute14
1091       ,p_attribute15                     => p_attribute15
1092       ,p_attribute16                     => p_attribute16
1093       ,p_attribute17                     => p_attribute17
1094       ,p_attribute18                     => p_attribute18
1095       ,p_attribute19                     => p_attribute19
1096       ,p_attribute20                     => p_attribute20
1097       ,p_pmeth_information_category      => l_pmeth_information_category
1098       ,p_pmeth_information1              => p_pmeth_information1
1099       ,p_pmeth_information2              => p_pmeth_information2
1100       ,p_pmeth_information3              => p_pmeth_information3
1101       ,p_pmeth_information4              => p_pmeth_information4
1102       ,p_pmeth_information5              => p_pmeth_information5
1103       ,p_pmeth_information6              => p_pmeth_information6
1104       ,p_pmeth_information7              => p_pmeth_information7
1105       ,p_pmeth_information8              => p_pmeth_information8
1106       ,p_pmeth_information9              => p_pmeth_information9
1107       ,p_pmeth_information10             => p_pmeth_information10
1108       ,p_pmeth_information11             => p_pmeth_information11
1109       ,p_pmeth_information12             => p_pmeth_information12
1110       ,p_pmeth_information13             => p_pmeth_information13
1111       ,p_pmeth_information14             => p_pmeth_information14
1112       ,p_pmeth_information15             => p_pmeth_information15
1113       ,p_pmeth_information16             => p_pmeth_information16
1114       ,p_pmeth_information17             => p_pmeth_information17
1115       ,p_pmeth_information18             => p_pmeth_information18
1116       ,p_pmeth_information19             => p_pmeth_information19
1117       ,p_pmeth_information20             => p_pmeth_information20
1118       ,p_TRANSFER_TO_GL_FLAG             => p_TRANSFER_TO_GL_FLAG
1119       ,p_cost_payment                    => p_cost_payment
1120       ,p_cost_cleared_payment            => p_cost_cleared_payment
1121       ,p_cost_cleared_void_payment       => p_cost_cleared_void_payment
1122       ,p_exclude_manual_payment          => p_exclude_manual_payment
1123       ,p_org_payment_method_id           => l_org_payment_method_id
1124       ,p_object_version_number           => l_object_version_number
1125       ,p_effective_start_date            => l_effective_start_date
1126       ,p_effective_end_date              => l_effective_end_date
1127       ,p_comment_id                      => l_comment_id
1128       );
1129   --
1130   hr_utility.set_location(l_proc, 75);
1131   --
1132   pay_opt_ins.ins_tl
1133       (p_language_code                  => l_language_code
1134       ,p_org_payment_method_id          => l_org_payment_method_id
1135       ,p_org_payment_method_name        => p_org_payment_method_name
1136       );
1137   --
1138   hr_utility.set_location(l_proc, 80);
1139   --
1140   hr_utility.set_location(l_proc, 85);
1141   if((L_DEFAULT_GL_ACCOUNT IS NULL OR L_DEFAULT_GL_ACCOUNT = 'N')
1142       and l_external_account_id is not null and
1143       PAY_PAYMENT_GL_ACCOUNTS_PKG.DEFAULT_GL_ACCOUNTS(l_external_account_id) is NULL ) then
1144      L_DEFAULT_GL_ACCOUNT := 'Y';
1145   end if;
1146   --
1147   if (l_gl_cash_ac_id is null and l_gl_cash_clearing_ac_id is null and
1148       l_gl_control_ac_id is null and l_gl_error_ac_id is null)
1149       and (l_external_account_id is not null) then
1150   --
1151 	open csr_gl_accounts(l_external_account_id);
1152 	fetch csr_gl_accounts into l_def_gl_cash_ac_id,l_def_gl_cash_clearing_ac_id,
1153 				   l_def_gl_control_ac_id, l_def_gl_error_ac_id,
1154 				   l_def_set_of_books_id;
1155 	if (csr_gl_accounts%found) then
1156 	--
1157 		l_gl_cash_ac_id := l_def_gl_cash_ac_id;
1158 		l_ASSET_CODE_COMBINATION_ID := l_def_gl_cash_ac_id;
1159 		l_gl_cash_clearing_ac_id := l_def_gl_cash_clearing_ac_id;
1160 		l_gl_control_ac_id := l_def_gl_control_ac_id;
1161 		l_gl_error_ac_id := l_def_gl_error_ac_id;
1162 		l_set_of_books_id := l_def_set_of_books_id;
1163 	--
1164 	end if;
1165 	close csr_gl_accounts;
1166   --
1167   end if;
1168   --
1169   --
1170   -- Validation for the cost and cost cleared payments.
1171   -- If the cost cleared payment is set to 'Y' then all the Cash, Cash Clearing,
1172   -- Control and Error A/Cs should be there.
1173   -- If the cost cleared or cost payment is set then Cash and Cash Clearing A/Cs
1174   -- should be there.
1175 
1176   l_cstclr_flag := p_cost_cleared_payment;
1177   l_cst_flag := p_cost_payment;
1178 
1179   if (l_cstclr_flag = 'Y') and (l_gl_cash_ac_id is null or
1180 				l_gl_cash_clearing_ac_id is null or
1181 				l_gl_control_ac_id is null or
1182 				l_gl_error_ac_id is null) then
1183      fnd_message.set_name('PAY', 'PAY_33420_INV_CSTCLR_IDS');
1184      fnd_message.raise_error;
1185   elsif (l_cst_flag = 'Y' ) and (l_gl_cash_ac_id is null or
1186 			     l_gl_cash_clearing_ac_id is null) then
1187      fnd_message.set_name('PAY', 'PAY_33421_INV_CST_IDS');
1188      fnd_message.raise_error;
1189   end if;
1190   --
1191   --
1192   -- Updating the ap_bank_accounts_all
1193   if pay_ce_support_pkg.pay_and_ce_licensed and l_external_account_id is not null then
1194   --
1195      --Bug No. 4644827
1196      --
1197      --   for r11.5 the same functionality is done through database trigger. Code
1198      --   is for R12
1199           if ( p_bank_account_id IS NOT  NULL ) AND (l_external_account_id IS NOT NULL ) then
1200              pay_maintain_bank_acct.update_payroll_bank_acct(
1201         	      p_bank_account_id     => p_bank_account_id,
1202                       p_external_account_id => l_external_account_id,
1203 		      p_org_payment_method_id => l_org_payment_method_id);
1204           end if;
1205 
1206      pay_maintain_bank_acct.update_asset_ccid(
1207                    p_assest_ccid              =>l_ASSET_CODE_COMBINATION_ID,
1208                    p_set_of_books_id          =>l_set_of_books_id,
1209                    p_external_account_id      =>l_external_account_id
1210                    );
1211   --
1212   end if;
1213   --
1214   --Inserting the values into PAY_PAYMENT_GL_ACCOUNTS table.
1215 
1216   hr_utility.set_location(l_proc, 90);
1217   PAY_PAYMENT_GL_ACCOUNTS_PKG.INSERT_ROW (
1218   P_PAY_GL_ACCOUNT_ID		=> l_pay_gl_account_id,
1219   P_EFFECTIVE_START_DATE	=> l_effective_start_date,
1220   P_EFFECTIVE_END_DATE		=> l_effective_end_date,
1221   P_SET_OF_BOOKS_ID		=> l_set_of_books_id,
1222   P_GL_CASH_AC_ID		=> l_gl_cash_ac_id,
1223   P_GL_CASH_CLEARING_AC_ID	=> l_gl_cash_clearing_ac_id,
1224   P_GL_CONTROL_AC_ID		=> l_gl_control_ac_id,
1225   P_GL_ERROR_AC_ID		=> l_gl_error_ac_id,
1226   P_EXTERNAL_ACCOUNT_ID		=> l_external_account_id,
1227   P_ORG_PAYMENT_METHOD_ID	=> l_org_payment_method_id,
1228   P_DEFAULT_GL_ACCOUNT		=> L_DEFAULT_GL_ACCOUNT);
1229   --
1230   hr_utility.set_location(l_proc, 95);
1231   --
1232   -- Call After Process User Hook
1233   --
1234   begin
1235     pay_org_payment_method_bk1.create_org_payment_method_a
1236       (P_EFFECTIVE_DATE                 => l_EFFECTIVE_DATE
1237       ,P_LANGUAGE_CODE                  => l_LANGUAGE_CODE
1238       ,P_BUSINESS_GROUP_ID              => P_BUSINESS_GROUP_ID
1239       ,P_ORG_PAYMENT_METHOD_NAME        => P_ORG_PAYMENT_METHOD_NAME
1240       ,P_PAYMENT_TYPE_ID                => P_PAYMENT_TYPE_ID
1241       ,P_CURRENCY_CODE                  => l_CURRENCY_CODE
1242       ,P_ATTRIBUTE_CATEGORY             => P_ATTRIBUTE_CATEGORY
1243       ,P_ATTRIBUTE1                     => P_ATTRIBUTE1
1244       ,P_ATTRIBUTE2                     => P_ATTRIBUTE2
1245       ,P_ATTRIBUTE3                     => P_ATTRIBUTE3
1246       ,P_ATTRIBUTE4                     => P_ATTRIBUTE4
1247       ,P_ATTRIBUTE5                     => P_ATTRIBUTE5
1248       ,P_ATTRIBUTE6                     => P_ATTRIBUTE6
1249       ,P_ATTRIBUTE7                     => P_ATTRIBUTE7
1250       ,P_ATTRIBUTE8                     => P_ATTRIBUTE8
1251       ,P_ATTRIBUTE9                     => P_ATTRIBUTE9
1252       ,P_ATTRIBUTE10                    => P_ATTRIBUTE10
1253       ,P_ATTRIBUTE11                    => P_ATTRIBUTE11
1254       ,P_ATTRIBUTE12                    => P_ATTRIBUTE12
1255       ,P_ATTRIBUTE13                    => P_ATTRIBUTE13
1256       ,P_ATTRIBUTE14                    => P_ATTRIBUTE14
1257       ,P_ATTRIBUTE15                    => P_ATTRIBUTE15
1258       ,P_ATTRIBUTE16                    => P_ATTRIBUTE16
1259       ,P_ATTRIBUTE17                    => P_ATTRIBUTE17
1260       ,P_ATTRIBUTE18                    => P_ATTRIBUTE18
1261       ,P_ATTRIBUTE19                    => P_ATTRIBUTE19
1262       ,P_ATTRIBUTE20                    => P_ATTRIBUTE20
1263 --      ,P_PMETH_INFORMATION_CATEGORY     => P_PMETH_INFORMATION_CATEGORY
1264       ,P_PMETH_INFORMATION1             => P_PMETH_INFORMATION1
1265       ,P_PMETH_INFORMATION2             => P_PMETH_INFORMATION2
1266       ,P_PMETH_INFORMATION3             => P_PMETH_INFORMATION3
1267       ,P_PMETH_INFORMATION4             => P_PMETH_INFORMATION4
1268       ,P_PMETH_INFORMATION5             => P_PMETH_INFORMATION5
1269       ,P_PMETH_INFORMATION6             => P_PMETH_INFORMATION6
1270       ,P_PMETH_INFORMATION7             => P_PMETH_INFORMATION7
1271       ,P_PMETH_INFORMATION8             => P_PMETH_INFORMATION8
1272       ,P_PMETH_INFORMATION9             => P_PMETH_INFORMATION9
1273       ,P_PMETH_INFORMATION10            => P_PMETH_INFORMATION10
1274       ,P_PMETH_INFORMATION11            => P_PMETH_INFORMATION11
1275       ,P_PMETH_INFORMATION12            => P_PMETH_INFORMATION12
1276       ,P_PMETH_INFORMATION13            => P_PMETH_INFORMATION13
1277       ,P_PMETH_INFORMATION14            => P_PMETH_INFORMATION14
1278       ,P_PMETH_INFORMATION15            => P_PMETH_INFORMATION15
1279       ,P_PMETH_INFORMATION16            => P_PMETH_INFORMATION16
1280       ,P_PMETH_INFORMATION17            => P_PMETH_INFORMATION17
1281       ,P_PMETH_INFORMATION18            => P_PMETH_INFORMATION18
1282       ,P_PMETH_INFORMATION19            => P_PMETH_INFORMATION19
1283       ,P_PMETH_INFORMATION20            => P_PMETH_INFORMATION20
1284       ,P_COMMENTS                       => P_COMMENTS
1285       ,P_SEGMENT1                       => P_SEGMENT1
1286       ,P_SEGMENT2                       => P_SEGMENT2
1287       ,P_SEGMENT3                       => P_SEGMENT3
1288       ,P_SEGMENT4                       => P_SEGMENT4
1289       ,P_SEGMENT5                       => P_SEGMENT5
1290       ,P_SEGMENT6                       => P_SEGMENT6
1291       ,P_SEGMENT7                       => P_SEGMENT7
1292       ,P_SEGMENT8                       => P_SEGMENT8
1293       ,P_SEGMENT9                       => P_SEGMENT9
1294       ,P_SEGMENT10                      => P_SEGMENT10
1295       ,P_SEGMENT11                      => P_SEGMENT11
1296       ,P_SEGMENT12                      => P_SEGMENT12
1297       ,P_SEGMENT13                      => P_SEGMENT13
1298       ,P_SEGMENT14                      => P_SEGMENT14
1299       ,P_SEGMENT15                      => P_SEGMENT15
1300       ,P_SEGMENT16                      => P_SEGMENT16
1301       ,P_SEGMENT17                      => P_SEGMENT17
1302       ,P_SEGMENT18                      => P_SEGMENT18
1303       ,P_SEGMENT19                      => P_SEGMENT19
1304       ,P_SEGMENT20                      => P_SEGMENT20
1305       ,P_SEGMENT21                      => P_SEGMENT21
1306       ,P_SEGMENT22                      => P_SEGMENT22
1307       ,P_SEGMENT23                      => P_SEGMENT23
1308       ,P_SEGMENT24                      => P_SEGMENT24
1309       ,P_SEGMENT25                      => P_SEGMENT25
1310       ,P_SEGMENT26                      => P_SEGMENT26
1311       ,P_SEGMENT27                      => P_SEGMENT27
1312       ,P_SEGMENT28                      => P_SEGMENT28
1313       ,P_SEGMENT29                      => P_SEGMENT29
1314       ,P_SEGMENT30                      => P_SEGMENT30
1315       ,P_CONCAT_SEGMENTS                => P_CONCAT_SEGMENTS
1316       ,P_GL_SEGMENT1                    => P_GL_SEGMENT1
1317       ,P_GL_SEGMENT2                    => P_GL_SEGMENT2
1318       ,P_GL_SEGMENT3                    => P_GL_SEGMENT3
1319       ,P_GL_SEGMENT4                    => P_GL_SEGMENT4
1320       ,P_GL_SEGMENT5                    => P_GL_SEGMENT5
1321       ,P_GL_SEGMENT6                    => P_GL_SEGMENT6
1322       ,P_GL_SEGMENT7                    => P_GL_SEGMENT7
1323       ,P_GL_SEGMENT8                    => P_GL_SEGMENT8
1324       ,P_GL_SEGMENT9                    => P_GL_SEGMENT9
1325       ,P_GL_SEGMENT10                   => P_GL_SEGMENT10
1326       ,P_GL_SEGMENT11                   => P_GL_SEGMENT11
1327       ,P_GL_SEGMENT12                   => P_GL_SEGMENT12
1328       ,P_GL_SEGMENT13                   => P_GL_SEGMENT13
1329       ,P_GL_SEGMENT14                   => P_GL_SEGMENT14
1330       ,P_GL_SEGMENT15                   => P_GL_SEGMENT15
1331       ,P_GL_SEGMENT16                   => P_GL_SEGMENT16
1332       ,P_GL_SEGMENT17                   => P_GL_SEGMENT17
1333       ,P_GL_SEGMENT18                   => P_GL_SEGMENT18
1334       ,P_GL_SEGMENT19                   => P_GL_SEGMENT19
1335       ,P_GL_SEGMENT20                   => P_GL_SEGMENT20
1336       ,P_GL_SEGMENT21                   => P_GL_SEGMENT21
1337       ,P_GL_SEGMENT22                   => P_GL_SEGMENT22
1338       ,P_GL_SEGMENT23                   => P_GL_SEGMENT23
1339       ,P_GL_SEGMENT24                   => P_GL_SEGMENT24
1340       ,P_GL_SEGMENT25                   => P_GL_SEGMENT25
1341       ,P_GL_SEGMENT26                   => P_GL_SEGMENT26
1342       ,P_GL_SEGMENT27                   => P_GL_SEGMENT27
1343       ,P_GL_SEGMENT28                   => P_GL_SEGMENT28
1344       ,P_GL_SEGMENT29                   => P_GL_SEGMENT29
1345       ,P_GL_SEGMENT30                   => P_GL_SEGMENT30
1346       ,P_GL_CONCAT_SEGMENTS             => P_GL_CONCAT_SEGMENTS
1347       ,P_GL_CTRL_SEGMENT1               => P_GL_CTRL_SEGMENT1
1348       ,P_GL_CTRL_SEGMENT2               => P_GL_CTRL_SEGMENT2
1349       ,P_GL_CTRL_SEGMENT3               => P_GL_CTRL_SEGMENT3
1350       ,P_GL_CTRL_SEGMENT4               => P_GL_CTRL_SEGMENT4
1351       ,P_GL_CTRL_SEGMENT5               => P_GL_CTRL_SEGMENT5
1352       ,P_GL_CTRL_SEGMENT6               => P_GL_CTRL_SEGMENT6
1353       ,P_GL_CTRL_SEGMENT7               => P_GL_CTRL_SEGMENT7
1354       ,P_GL_CTRL_SEGMENT8               => P_GL_CTRL_SEGMENT8
1355       ,P_GL_CTRL_SEGMENT9               => P_GL_CTRL_SEGMENT9
1356       ,P_GL_CTRL_SEGMENT10              => P_GL_CTRL_SEGMENT10
1357       ,P_GL_CTRL_SEGMENT11              => P_GL_CTRL_SEGMENT11
1358       ,P_GL_CTRL_SEGMENT12              => P_GL_CTRL_SEGMENT12
1359       ,P_GL_CTRL_SEGMENT13              => P_GL_CTRL_SEGMENT13
1360       ,P_GL_CTRL_SEGMENT14              => P_GL_CTRL_SEGMENT14
1361       ,P_GL_CTRL_SEGMENT15              => P_GL_CTRL_SEGMENT15
1362       ,P_GL_CTRL_SEGMENT16              => P_GL_CTRL_SEGMENT16
1363       ,P_GL_CTRL_SEGMENT17              => P_GL_CTRL_SEGMENT17
1364       ,P_GL_CTRL_SEGMENT18              => P_GL_CTRL_SEGMENT18
1365       ,P_GL_CTRL_SEGMENT19              => P_GL_CTRL_SEGMENT19
1366       ,P_GL_CTRL_SEGMENT20              => P_GL_CTRL_SEGMENT20
1367       ,P_GL_CTRL_SEGMENT21              => P_GL_CTRL_SEGMENT21
1368       ,P_GL_CTRL_SEGMENT22              => P_GL_CTRL_SEGMENT22
1369       ,P_GL_CTRL_SEGMENT23              => P_GL_CTRL_SEGMENT23
1370       ,P_GL_CTRL_SEGMENT24              => P_GL_CTRL_SEGMENT24
1371       ,P_GL_CTRL_SEGMENT25              => P_GL_CTRL_SEGMENT25
1372       ,P_GL_CTRL_SEGMENT26              => P_GL_CTRL_SEGMENT26
1373       ,P_GL_CTRL_SEGMENT27              => P_GL_CTRL_SEGMENT27
1374       ,P_GL_CTRL_SEGMENT28              => P_GL_CTRL_SEGMENT28
1375       ,P_GL_CTRL_SEGMENT29              => P_GL_CTRL_SEGMENT29
1376       ,P_GL_CTRL_SEGMENT30              => P_GL_CTRL_SEGMENT30
1377       ,P_GL_CTRL_CONCAT_SEGMENTS        => P_GL_CTRL_CONCAT_SEGMENTS
1378       ,P_GL_CCRL_SEGMENT1               => P_GL_CCRL_SEGMENT1
1379       ,P_GL_CCRL_SEGMENT2               => P_GL_CCRL_SEGMENT2
1380       ,P_GL_CCRL_SEGMENT3               => P_GL_CCRL_SEGMENT3
1381       ,P_GL_CCRL_SEGMENT4               => P_GL_CCRL_SEGMENT4
1382       ,P_GL_CCRL_SEGMENT5               => P_GL_CCRL_SEGMENT5
1383       ,P_GL_CCRL_SEGMENT6               => P_GL_CCRL_SEGMENT6
1384       ,P_GL_CCRL_SEGMENT7               => P_GL_CCRL_SEGMENT7
1385       ,P_GL_CCRL_SEGMENT8               => P_GL_CCRL_SEGMENT8
1386       ,P_GL_CCRL_SEGMENT9               => P_GL_CCRL_SEGMENT9
1387       ,P_GL_CCRL_SEGMENT10              => P_GL_CCRL_SEGMENT10
1388       ,P_GL_CCRL_SEGMENT11              => P_GL_CCRL_SEGMENT11
1389       ,P_GL_CCRL_SEGMENT12              => P_GL_CCRL_SEGMENT12
1390       ,P_GL_CCRL_SEGMENT13              => P_GL_CCRL_SEGMENT13
1391       ,P_GL_CCRL_SEGMENT14              => P_GL_CCRL_SEGMENT14
1392       ,P_GL_CCRL_SEGMENT15              => P_GL_CCRL_SEGMENT15
1393       ,P_GL_CCRL_SEGMENT16              => P_GL_CCRL_SEGMENT16
1394       ,P_GL_CCRL_SEGMENT17              => P_GL_CCRL_SEGMENT17
1395       ,P_GL_CCRL_SEGMENT18              => P_GL_CCRL_SEGMENT18
1396       ,P_GL_CCRL_SEGMENT19              => P_GL_CCRL_SEGMENT19
1397       ,P_GL_CCRL_SEGMENT20              => P_GL_CCRL_SEGMENT20
1398       ,P_GL_CCRL_SEGMENT21              => P_GL_CCRL_SEGMENT21
1399       ,P_GL_CCRL_SEGMENT22              => P_GL_CCRL_SEGMENT22
1400       ,P_GL_CCRL_SEGMENT23              => P_GL_CCRL_SEGMENT23
1401       ,P_GL_CCRL_SEGMENT24              => P_GL_CCRL_SEGMENT24
1402       ,P_GL_CCRL_SEGMENT25              => P_GL_CCRL_SEGMENT25
1403       ,P_GL_CCRL_SEGMENT26              => P_GL_CCRL_SEGMENT26
1404       ,P_GL_CCRL_SEGMENT27              => P_GL_CCRL_SEGMENT27
1405       ,P_GL_CCRL_SEGMENT28              => P_GL_CCRL_SEGMENT28
1406       ,P_GL_CCRL_SEGMENT29              => P_GL_CCRL_SEGMENT29
1407       ,P_GL_CCRL_SEGMENT30              => P_GL_CCRL_SEGMENT30
1408       ,P_GL_CCRL_CONCAT_SEGMENTS        => P_GL_CCRL_CONCAT_SEGMENTS
1409       ,P_GL_ERR_SEGMENT1                => P_GL_ERR_SEGMENT1
1410       ,P_GL_ERR_SEGMENT2                => P_GL_ERR_SEGMENT2
1411       ,P_GL_ERR_SEGMENT3                => P_GL_ERR_SEGMENT3
1412       ,P_GL_ERR_SEGMENT4                => P_GL_ERR_SEGMENT4
1413       ,P_GL_ERR_SEGMENT5                => P_GL_ERR_SEGMENT5
1414       ,P_GL_ERR_SEGMENT6                => P_GL_ERR_SEGMENT6
1415       ,P_GL_ERR_SEGMENT7                => P_GL_ERR_SEGMENT7
1416       ,P_GL_ERR_SEGMENT8                => P_GL_ERR_SEGMENT8
1417       ,P_GL_ERR_SEGMENT9                => P_GL_ERR_SEGMENT9
1418       ,P_GL_ERR_SEGMENT10               => P_GL_ERR_SEGMENT10
1419       ,P_GL_ERR_SEGMENT11               => P_GL_ERR_SEGMENT11
1420       ,P_GL_ERR_SEGMENT12               => P_GL_ERR_SEGMENT12
1421       ,P_GL_ERR_SEGMENT13               => P_GL_ERR_SEGMENT13
1422       ,P_GL_ERR_SEGMENT14               => P_GL_ERR_SEGMENT14
1423       ,P_GL_ERR_SEGMENT15               => P_GL_ERR_SEGMENT15
1424       ,P_GL_ERR_SEGMENT16               => P_GL_ERR_SEGMENT16
1425       ,P_GL_ERR_SEGMENT17               => P_GL_ERR_SEGMENT17
1426       ,P_GL_ERR_SEGMENT18               => P_GL_ERR_SEGMENT18
1427       ,P_GL_ERR_SEGMENT19               => P_GL_ERR_SEGMENT19
1428       ,P_GL_ERR_SEGMENT20               => P_GL_ERR_SEGMENT20
1429       ,P_GL_ERR_SEGMENT21               => P_GL_ERR_SEGMENT21
1430       ,P_GL_ERR_SEGMENT22               => P_GL_ERR_SEGMENT22
1431       ,P_GL_ERR_SEGMENT23               => P_GL_ERR_SEGMENT23
1432       ,P_GL_ERR_SEGMENT24               => P_GL_ERR_SEGMENT24
1433       ,P_GL_ERR_SEGMENT25               => P_GL_ERR_SEGMENT25
1434       ,P_GL_ERR_SEGMENT26               => P_GL_ERR_SEGMENT26
1435       ,P_GL_ERR_SEGMENT27               => P_GL_ERR_SEGMENT27
1436       ,P_GL_ERR_SEGMENT28               => P_GL_ERR_SEGMENT28
1437       ,P_GL_ERR_SEGMENT29               => P_GL_ERR_SEGMENT29
1438       ,P_GL_ERR_SEGMENT30               => P_GL_ERR_SEGMENT30
1439       ,P_GL_ERR_CONCAT_SEGMENTS         => P_GL_ERR_CONCAT_SEGMENTS
1440       ,P_SETS_OF_BOOK_ID                => l_set_of_books_id
1441       ,P_THIRD_PARTY_PAYMENT            => P_THIRD_PARTY_PAYMENT
1442       ,P_ORG_PAYMENT_METHOD_ID          => l_ORG_PAYMENT_METHOD_ID
1443       ,P_EFFECTIVE_START_DATE           => l_EFFECTIVE_START_DATE
1444       ,P_EFFECTIVE_END_DATE             => l_EFFECTIVE_END_DATE
1445       ,P_OBJECT_VERSION_NUMBER          => l_OBJECT_VERSION_NUMBER
1446       ,P_ASSET_CODE_COMBINATION_ID      => l_ASSET_CODE_COMBINATION_ID
1447       ,P_COMMENT_ID                     => l_COMMENT_ID
1448       ,P_EXTERNAL_ACCOUNT_ID            => l_EXTERNAL_ACCOUNT_ID
1449       ,P_TRANSFER_TO_GL_FLAG            => P_TRANSFER_TO_GL_FLAG
1450       ,P_COST_PAYMENT                   => P_COST_PAYMENT
1451       ,P_COST_CLEARED_PAYMENT           => P_COST_CLEARED_PAYMENT
1452       ,P_COST_CLEARED_VOID_PAYMENT      => P_COST_CLEARED_VOID_PAYMENT
1453       ,P_EXCLUDE_MANUAL_PAYMENT         => P_EXCLUDE_MANUAL_PAYMENT
1454       );
1455   exception
1456     when hr_api.cannot_find_prog_unit then
1457       hr_api.cannot_find_prog_unit_error
1458         (p_module_name => 'create_org_payment_method_a'
1459         ,p_hook_type   => 'AP'
1460         );
1461   end;
1462   --
1463   -- When in validation only mode raise the Validate_Enabled exception
1464   --
1465   if p_validate then
1466     raise hr_api.validate_enabled;
1467   end if;
1468   --
1469   -- Set all output arguments
1470   --
1471   p_org_payment_method_id     := l_org_payment_method_id;
1472   p_object_version_number     := l_object_version_number;
1473   p_comment_id                := l_comment_id;
1474   p_external_account_id       := l_external_account_id;
1475   p_effective_start_date      := l_effective_start_date;
1476   p_effective_end_date        := l_effective_end_date;
1477   p_asset_code_combination_id := l_asset_code_combination_id;
1478   --
1479   hr_utility.set_location(' Leaving:'||l_proc, 100);
1480   --
1481 exception
1482   when hr_api.validate_enabled then
1483     --
1484     -- As the Validate_Enabled exception has been raised
1485     -- we must rollback to the savepoint
1486     --
1487     rollback to create_org_payment_method;
1488     --
1489     -- Only set output warning arguments
1490     -- (Any key or derived arguments must be set to null
1491     -- when validation only mode is being used.)
1492     --
1493     p_ORG_PAYMENT_METHOD_ID  := null;
1494     p_object_version_number  := null;
1495     p_comment_id := null;
1496     p_external_account_id := null;
1497     p_effective_start_date := null;
1498     p_effective_end_date := null;
1499     p_asset_code_combination_id := null;
1500     --
1501     hr_utility.set_location(' Leaving:'||l_proc, 110);
1502   when others then
1503     --
1504     -- A validation or unexpected error has occured
1505     --
1506     rollback to create_org_payment_method;
1507     hr_utility.set_location(' Leaving:'||l_proc, 120);
1508     p_ORG_PAYMENT_METHOD_ID  := null;
1509     p_object_version_number  := null;
1510     p_comment_id := null;
1511     p_external_account_id := null;
1512     p_effective_start_date := null;
1513     p_effective_end_date := null;
1514     p_asset_code_combination_id := null;
1515 --
1516     raise;
1517 end create_org_payment_method;
1518 --
1519 --
1520 -- ----------------------------------------------------------------------------
1521 -- |----------------------< update_org_payment_method >-----------------------|
1522 -- ----------------------------------------------------------------------------
1523 --
1524 procedure update_org_payment_method
1525   (P_VALIDATE                      in     boolean  default false
1526   ,P_EFFECTIVE_DATE                in     date
1527   ,P_DATETRACK_UPDATE_MODE         in     varchar2
1528   ,P_LANGUAGE_CODE                 in     varchar2 default hr_api.userenv_lang
1529   ,P_ORG_PAYMENT_METHOD_ID         in     number
1530   ,P_OBJECT_VERSION_NUMBER         in out nocopy number
1531   ,P_ORG_PAYMENT_METHOD_NAME       in     varchar2 default hr_api.g_varchar2
1532   ,P_CURRENCY_CODE                 in     varchar2 default hr_api.g_varchar2
1533   ,P_ATTRIBUTE_CATEGORY            in     varchar2 default hr_api.g_varchar2
1534   ,P_ATTRIBUTE1                    in     varchar2 default hr_api.g_varchar2
1535   ,P_ATTRIBUTE2                    in     varchar2 default hr_api.g_varchar2
1536   ,P_ATTRIBUTE3                    in     varchar2 default hr_api.g_varchar2
1537   ,P_ATTRIBUTE4                    in     varchar2 default hr_api.g_varchar2
1538   ,P_ATTRIBUTE5                    in     varchar2 default hr_api.g_varchar2
1539   ,P_ATTRIBUTE6                    in     varchar2 default hr_api.g_varchar2
1540   ,P_ATTRIBUTE7                    in     varchar2 default hr_api.g_varchar2
1541   ,P_ATTRIBUTE8                    in     varchar2 default hr_api.g_varchar2
1542   ,P_ATTRIBUTE9                    in     varchar2 default hr_api.g_varchar2
1543   ,P_ATTRIBUTE10                   in     varchar2 default hr_api.g_varchar2
1544   ,P_ATTRIBUTE11                   in     varchar2 default hr_api.g_varchar2
1545   ,P_ATTRIBUTE12                   in     varchar2 default hr_api.g_varchar2
1546   ,P_ATTRIBUTE13                   in     varchar2 default hr_api.g_varchar2
1547   ,P_ATTRIBUTE14                   in     varchar2 default hr_api.g_varchar2
1548   ,P_ATTRIBUTE15                   in     varchar2 default hr_api.g_varchar2
1549   ,P_ATTRIBUTE16                   in     varchar2 default hr_api.g_varchar2
1550   ,P_ATTRIBUTE17                   in     varchar2 default hr_api.g_varchar2
1551   ,P_ATTRIBUTE18                   in     varchar2 default hr_api.g_varchar2
1552   ,P_ATTRIBUTE19                   in     varchar2 default hr_api.g_varchar2
1553   ,P_ATTRIBUTE20                   in     varchar2 default hr_api.g_varchar2
1554 --  ,P_PMETH_INFORMATION_CATEGORY    in     varchar2 default hr_api.g_varchar2
1555   ,P_PMETH_INFORMATION1            in     varchar2 default hr_api.g_varchar2
1556   ,P_PMETH_INFORMATION2            in     varchar2 default hr_api.g_varchar2
1557   ,P_PMETH_INFORMATION3            in     varchar2 default hr_api.g_varchar2
1558   ,P_PMETH_INFORMATION4            in     varchar2 default hr_api.g_varchar2
1559   ,P_PMETH_INFORMATION5            in     varchar2 default hr_api.g_varchar2
1560   ,P_PMETH_INFORMATION6            in     varchar2 default hr_api.g_varchar2
1561   ,P_PMETH_INFORMATION7            in     varchar2 default hr_api.g_varchar2
1562   ,P_PMETH_INFORMATION8            in     varchar2 default hr_api.g_varchar2
1563   ,P_PMETH_INFORMATION9            in     varchar2 default hr_api.g_varchar2
1564   ,P_PMETH_INFORMATION10           in     varchar2 default hr_api.g_varchar2
1565   ,P_PMETH_INFORMATION11           in     varchar2 default hr_api.g_varchar2
1566   ,P_PMETH_INFORMATION12           in     varchar2 default hr_api.g_varchar2
1567   ,P_PMETH_INFORMATION13           in     varchar2 default hr_api.g_varchar2
1568   ,P_PMETH_INFORMATION14           in     varchar2 default hr_api.g_varchar2
1569   ,P_PMETH_INFORMATION15           in     varchar2 default hr_api.g_varchar2
1570   ,P_PMETH_INFORMATION16           in     varchar2 default hr_api.g_varchar2
1571   ,P_PMETH_INFORMATION17           in     varchar2 default hr_api.g_varchar2
1572   ,P_PMETH_INFORMATION18           in     varchar2 default hr_api.g_varchar2
1573   ,P_PMETH_INFORMATION19           in     varchar2 default hr_api.g_varchar2
1574   ,P_PMETH_INFORMATION20           in     varchar2 default hr_api.g_varchar2
1575   ,P_COMMENTS                      in     varchar2 default hr_api.g_varchar2
1576   ,P_SEGMENT1                      in     varchar2 default hr_api.g_varchar2
1577   ,P_SEGMENT2                      in     varchar2 default hr_api.g_varchar2
1578   ,P_SEGMENT3                      in     varchar2 default hr_api.g_varchar2
1579   ,P_SEGMENT4                      in     varchar2 default hr_api.g_varchar2
1580   ,P_SEGMENT5                      in     varchar2 default hr_api.g_varchar2
1581   ,P_SEGMENT6                      in     varchar2 default hr_api.g_varchar2
1582   ,P_SEGMENT7                      in     varchar2 default hr_api.g_varchar2
1583   ,P_SEGMENT8                      in     varchar2 default hr_api.g_varchar2
1584   ,P_SEGMENT9                      in     varchar2 default hr_api.g_varchar2
1585   ,P_SEGMENT10                     in     varchar2 default hr_api.g_varchar2
1586   ,P_SEGMENT11                     in     varchar2 default hr_api.g_varchar2
1587   ,P_SEGMENT12                     in     varchar2 default hr_api.g_varchar2
1588   ,P_SEGMENT13                     in     varchar2 default hr_api.g_varchar2
1589   ,P_SEGMENT14                     in     varchar2 default hr_api.g_varchar2
1590   ,P_SEGMENT15                     in     varchar2 default hr_api.g_varchar2
1591   ,P_SEGMENT16                     in     varchar2 default hr_api.g_varchar2
1592   ,P_SEGMENT17                     in     varchar2 default hr_api.g_varchar2
1593   ,P_SEGMENT18                     in     varchar2 default hr_api.g_varchar2
1594   ,P_SEGMENT19                     in     varchar2 default hr_api.g_varchar2
1595   ,P_SEGMENT20                     in     varchar2 default hr_api.g_varchar2
1596   ,P_SEGMENT21                     in     varchar2 default hr_api.g_varchar2
1597   ,P_SEGMENT22                     in     varchar2 default hr_api.g_varchar2
1598   ,P_SEGMENT23                     in     varchar2 default hr_api.g_varchar2
1599   ,P_SEGMENT24                     in     varchar2 default hr_api.g_varchar2
1600   ,P_SEGMENT25                     in     varchar2 default hr_api.g_varchar2
1601   ,P_SEGMENT26                     in     varchar2 default hr_api.g_varchar2
1602   ,P_SEGMENT27                     in     varchar2 default hr_api.g_varchar2
1603   ,P_SEGMENT28                     in     varchar2 default hr_api.g_varchar2
1604   ,P_SEGMENT29                     in     varchar2 default hr_api.g_varchar2
1605   ,P_SEGMENT30                     in     varchar2 default hr_api.g_varchar2
1606   ,P_CONCAT_SEGMENTS               in     varchar2 default hr_api.g_varchar2
1607   ,P_GL_SEGMENT1                   in     varchar2 default hr_api.g_varchar2
1608   ,P_GL_SEGMENT2                   in     varchar2 default hr_api.g_varchar2
1609   ,P_GL_SEGMENT3                   in     varchar2 default hr_api.g_varchar2
1610   ,P_GL_SEGMENT4                   in     varchar2 default hr_api.g_varchar2
1611   ,P_GL_SEGMENT5                   in     varchar2 default hr_api.g_varchar2
1612   ,P_GL_SEGMENT6                   in     varchar2 default hr_api.g_varchar2
1613   ,P_GL_SEGMENT7                   in     varchar2 default hr_api.g_varchar2
1614   ,P_GL_SEGMENT8                   in     varchar2 default hr_api.g_varchar2
1615   ,P_GL_SEGMENT9                   in     varchar2 default hr_api.g_varchar2
1616   ,P_GL_SEGMENT10                  in     varchar2 default hr_api.g_varchar2
1617   ,P_GL_SEGMENT11                  in     varchar2 default hr_api.g_varchar2
1618   ,P_GL_SEGMENT12                  in     varchar2 default hr_api.g_varchar2
1619   ,P_GL_SEGMENT13                  in     varchar2 default hr_api.g_varchar2
1620   ,P_GL_SEGMENT14                  in     varchar2 default hr_api.g_varchar2
1621   ,P_GL_SEGMENT15                  in     varchar2 default hr_api.g_varchar2
1622   ,P_GL_SEGMENT16                  in     varchar2 default hr_api.g_varchar2
1623   ,P_GL_SEGMENT17                  in     varchar2 default hr_api.g_varchar2
1624   ,P_GL_SEGMENT18                  in     varchar2 default hr_api.g_varchar2
1625   ,P_GL_SEGMENT19                  in     varchar2 default hr_api.g_varchar2
1626   ,P_GL_SEGMENT20                  in     varchar2 default hr_api.g_varchar2
1627   ,P_GL_SEGMENT21                  in     varchar2 default hr_api.g_varchar2
1628   ,P_GL_SEGMENT22                  in     varchar2 default hr_api.g_varchar2
1629   ,P_GL_SEGMENT23                  in     varchar2 default hr_api.g_varchar2
1630   ,P_GL_SEGMENT24                  in     varchar2 default hr_api.g_varchar2
1631   ,P_GL_SEGMENT25                  in     varchar2 default hr_api.g_varchar2
1632   ,P_GL_SEGMENT26                  in     varchar2 default hr_api.g_varchar2
1633   ,P_GL_SEGMENT27                  in     varchar2 default hr_api.g_varchar2
1634   ,P_GL_SEGMENT28                  in     varchar2 default hr_api.g_varchar2
1635   ,P_GL_SEGMENT29                  in     varchar2 default hr_api.g_varchar2
1636   ,P_GL_SEGMENT30                  in     varchar2 default hr_api.g_varchar2
1637   ,P_GL_CONCAT_SEGMENTS            in     varchar2 default hr_api.g_varchar2
1638   ,P_GL_CTRL_SEGMENT1              in     varchar2 default hr_api.g_varchar2
1639   ,P_GL_CTRL_SEGMENT2              in     varchar2 default hr_api.g_varchar2
1640   ,P_GL_CTRL_SEGMENT3              in     varchar2 default hr_api.g_varchar2
1641   ,P_GL_CTRL_SEGMENT4              in     varchar2 default hr_api.g_varchar2
1642   ,P_GL_CTRL_SEGMENT5              in     varchar2 default hr_api.g_varchar2
1643   ,P_GL_CTRL_SEGMENT6              in     varchar2 default hr_api.g_varchar2
1644   ,P_GL_CTRL_SEGMENT7              in     varchar2 default hr_api.g_varchar2
1645   ,P_GL_CTRL_SEGMENT8              in     varchar2 default hr_api.g_varchar2
1646   ,P_GL_CTRL_SEGMENT9              in     varchar2 default hr_api.g_varchar2
1647   ,P_GL_CTRL_SEGMENT10             in     varchar2 default hr_api.g_varchar2
1648   ,P_GL_CTRL_SEGMENT11             in     varchar2 default hr_api.g_varchar2
1649   ,P_GL_CTRL_SEGMENT12             in     varchar2 default hr_api.g_varchar2
1650   ,P_GL_CTRL_SEGMENT13             in     varchar2 default hr_api.g_varchar2
1651   ,P_GL_CTRL_SEGMENT14             in     varchar2 default hr_api.g_varchar2
1652   ,P_GL_CTRL_SEGMENT15             in     varchar2 default hr_api.g_varchar2
1653   ,P_GL_CTRL_SEGMENT16             in     varchar2 default hr_api.g_varchar2
1654   ,P_GL_CTRL_SEGMENT17             in     varchar2 default hr_api.g_varchar2
1655   ,P_GL_CTRL_SEGMENT18             in     varchar2 default hr_api.g_varchar2
1656   ,P_GL_CTRL_SEGMENT19             in     varchar2 default hr_api.g_varchar2
1657   ,P_GL_CTRL_SEGMENT20             in     varchar2 default hr_api.g_varchar2
1658   ,P_GL_CTRL_SEGMENT21             in     varchar2 default hr_api.g_varchar2
1659   ,P_GL_CTRL_SEGMENT22             in     varchar2 default hr_api.g_varchar2
1660   ,P_GL_CTRL_SEGMENT23             in     varchar2 default hr_api.g_varchar2
1661   ,P_GL_CTRL_SEGMENT24             in     varchar2 default hr_api.g_varchar2
1662   ,P_GL_CTRL_SEGMENT25             in     varchar2 default hr_api.g_varchar2
1663   ,P_GL_CTRL_SEGMENT26             in     varchar2 default hr_api.g_varchar2
1664   ,P_GL_CTRL_SEGMENT27             in     varchar2 default hr_api.g_varchar2
1665   ,P_GL_CTRL_SEGMENT28             in     varchar2 default hr_api.g_varchar2
1666   ,P_GL_CTRL_SEGMENT29             in     varchar2 default hr_api.g_varchar2
1667   ,P_GL_CTRL_SEGMENT30             in     varchar2 default hr_api.g_varchar2
1668   ,P_GL_CTRL_CONCAT_SEGMENTS       in     varchar2 default hr_api.g_varchar2
1669   ,P_GL_CCRL_SEGMENT1              in     varchar2 default hr_api.g_varchar2
1670   ,P_GL_CCRL_SEGMENT2              in     varchar2 default hr_api.g_varchar2
1671   ,P_GL_CCRL_SEGMENT3              in     varchar2 default hr_api.g_varchar2
1672   ,P_GL_CCRL_SEGMENT4              in     varchar2 default hr_api.g_varchar2
1673   ,P_GL_CCRL_SEGMENT5              in     varchar2 default hr_api.g_varchar2
1674   ,P_GL_CCRL_SEGMENT6              in     varchar2 default hr_api.g_varchar2
1675   ,P_GL_CCRL_SEGMENT7              in     varchar2 default hr_api.g_varchar2
1676   ,P_GL_CCRL_SEGMENT8              in     varchar2 default hr_api.g_varchar2
1677   ,P_GL_CCRL_SEGMENT9              in     varchar2 default hr_api.g_varchar2
1678   ,P_GL_CCRL_SEGMENT10             in     varchar2 default hr_api.g_varchar2
1679   ,P_GL_CCRL_SEGMENT11             in     varchar2 default hr_api.g_varchar2
1680   ,P_GL_CCRL_SEGMENT12             in     varchar2 default hr_api.g_varchar2
1681   ,P_GL_CCRL_SEGMENT13             in     varchar2 default hr_api.g_varchar2
1682   ,P_GL_CCRL_SEGMENT14             in     varchar2 default hr_api.g_varchar2
1683   ,P_GL_CCRL_SEGMENT15             in     varchar2 default hr_api.g_varchar2
1684   ,P_GL_CCRL_SEGMENT16             in     varchar2 default hr_api.g_varchar2
1685   ,P_GL_CCRL_SEGMENT17             in     varchar2 default hr_api.g_varchar2
1686   ,P_GL_CCRL_SEGMENT18             in     varchar2 default hr_api.g_varchar2
1687   ,P_GL_CCRL_SEGMENT19             in     varchar2 default hr_api.g_varchar2
1688   ,P_GL_CCRL_SEGMENT20             in     varchar2 default hr_api.g_varchar2
1689   ,P_GL_CCRL_SEGMENT21             in     varchar2 default hr_api.g_varchar2
1690   ,P_GL_CCRL_SEGMENT22             in     varchar2 default hr_api.g_varchar2
1691   ,P_GL_CCRL_SEGMENT23             in     varchar2 default hr_api.g_varchar2
1692   ,P_GL_CCRL_SEGMENT24             in     varchar2 default hr_api.g_varchar2
1693   ,P_GL_CCRL_SEGMENT25             in     varchar2 default hr_api.g_varchar2
1694   ,P_GL_CCRL_SEGMENT26             in     varchar2 default hr_api.g_varchar2
1695   ,P_GL_CCRL_SEGMENT27             in     varchar2 default hr_api.g_varchar2
1696   ,P_GL_CCRL_SEGMENT28             in     varchar2 default hr_api.g_varchar2
1697   ,P_GL_CCRL_SEGMENT29             in     varchar2 default hr_api.g_varchar2
1698   ,P_GL_CCRL_SEGMENT30             in     varchar2 default hr_api.g_varchar2
1699   ,P_GL_CCRL_CONCAT_SEGMENTS       in     varchar2 default hr_api.g_varchar2
1700   ,P_GL_ERR_SEGMENT1               in     varchar2 default hr_api.g_varchar2
1701   ,P_GL_ERR_SEGMENT2               in     varchar2 default hr_api.g_varchar2
1702   ,P_GL_ERR_SEGMENT3               in     varchar2 default hr_api.g_varchar2
1703   ,P_GL_ERR_SEGMENT4               in     varchar2 default hr_api.g_varchar2
1704   ,P_GL_ERR_SEGMENT5               in     varchar2 default hr_api.g_varchar2
1705   ,P_GL_ERR_SEGMENT6               in     varchar2 default hr_api.g_varchar2
1706   ,P_GL_ERR_SEGMENT7               in     varchar2 default hr_api.g_varchar2
1707   ,P_GL_ERR_SEGMENT8               in     varchar2 default hr_api.g_varchar2
1708   ,P_GL_ERR_SEGMENT9               in     varchar2 default hr_api.g_varchar2
1709   ,P_GL_ERR_SEGMENT10              in     varchar2 default hr_api.g_varchar2
1710   ,P_GL_ERR_SEGMENT11              in     varchar2 default hr_api.g_varchar2
1711   ,P_GL_ERR_SEGMENT12              in     varchar2 default hr_api.g_varchar2
1712   ,P_GL_ERR_SEGMENT13              in     varchar2 default hr_api.g_varchar2
1713   ,P_GL_ERR_SEGMENT14              in     varchar2 default hr_api.g_varchar2
1714   ,P_GL_ERR_SEGMENT15              in     varchar2 default hr_api.g_varchar2
1715   ,P_GL_ERR_SEGMENT16              in     varchar2 default hr_api.g_varchar2
1716   ,P_GL_ERR_SEGMENT17              in     varchar2 default hr_api.g_varchar2
1717   ,P_GL_ERR_SEGMENT18              in     varchar2 default hr_api.g_varchar2
1718   ,P_GL_ERR_SEGMENT19              in     varchar2 default hr_api.g_varchar2
1719   ,P_GL_ERR_SEGMENT20              in     varchar2 default hr_api.g_varchar2
1720   ,P_GL_ERR_SEGMENT21              in     varchar2 default hr_api.g_varchar2
1721   ,P_GL_ERR_SEGMENT22              in     varchar2 default hr_api.g_varchar2
1722   ,P_GL_ERR_SEGMENT23              in     varchar2 default hr_api.g_varchar2
1723   ,P_GL_ERR_SEGMENT24              in     varchar2 default hr_api.g_varchar2
1724   ,P_GL_ERR_SEGMENT25              in     varchar2 default hr_api.g_varchar2
1725   ,P_GL_ERR_SEGMENT26              in     varchar2 default hr_api.g_varchar2
1726   ,P_GL_ERR_SEGMENT27              in     varchar2 default hr_api.g_varchar2
1727   ,P_GL_ERR_SEGMENT28              in     varchar2 default hr_api.g_varchar2
1728   ,P_GL_ERR_SEGMENT29              in     varchar2 default hr_api.g_varchar2
1729   ,P_GL_ERR_SEGMENT30              in     varchar2 default hr_api.g_varchar2
1730   ,P_GL_ERR_CONCAT_SEGMENTS        in     varchar2 default hr_api.g_varchar2
1731   ,P_SETS_OF_BOOK_ID               in     number   default hr_api.g_number
1732   ,P_TRANSFER_TO_GL_FLAG           in     varchar2 default hr_api.g_varchar2
1733   ,P_COST_PAYMENT                  in     varchar2 default hr_api.g_varchar2
1734   ,P_COST_CLEARED_PAYMENT          in     varchar2 default hr_api.g_varchar2
1735   ,P_COST_CLEARED_VOID_PAYMENT     in     varchar2 default hr_api.g_varchar2
1736   ,P_EXCLUDE_MANUAL_PAYMENT        in     varchar2 default hr_api.g_varchar2
1737   ,P_DEFAULT_GL_ACCOUNT		   in     varchar2 default 'Y'
1738   ,P_BANK_ACCOUNT_ID               in     number   default hr_api.g_number
1739   ,P_EFFECTIVE_START_DATE             out nocopy date
1740   ,P_EFFECTIVE_END_DATE               out nocopy date
1741   ,P_ASSET_CODE_COMBINATION_ID        out nocopy number
1742   ,P_COMMENT_ID                       out nocopy number
1743   ,P_EXTERNAL_ACCOUNT_ID              out nocopy number
1744   ) is
1745   --
1746   -- Declare cursors and local variables
1747   --
1748   l_proc                      varchar2(72) := g_package||'update_org_payment_method';
1749   l_object_version_number     pay_org_payment_methods_f.object_version_number%TYPE;
1750   l_effective_date            date;
1751   l_effective_start_date      pay_org_payment_methods_f.effective_start_date%TYPE;
1752   l_effective_end_date        pay_org_payment_methods_f.effective_end_date%TYPE;
1753   l_comment_id                pay_org_payment_methods_f.comment_id%TYPE;
1754   l_external_account_id       pay_org_payment_methods_f.external_account_id%TYPE;
1755   l_asset_code_combination_id number;
1756   l_language_code             pay_org_payment_methods_f_tl.language%TYPE;
1757   l_discard                   number;
1758   l_territory_code            pay_payment_types.territory_code%TYPE;
1759   l_business_group_id         pay_org_payment_methods_f.business_group_id%TYPE;
1760   l_key_flex_id               number;
1761   l_set_of_books_id           number;
1762   l_asset_code_changed        boolean;
1763   l_currency_code             pay_org_payment_methods_f.currency_code%TYPE;
1764   l_PMETH_INFORMATION_CATEGORY pay_org_payment_methods_f.PMETH_INFORMATION_CATEGORY%TYPE;
1765   l_copy_ov_number            number;
1766 
1767   l_gl_cash_ac_id             PAY_PAYMENT_GL_ACCOUNTS_F.GL_CASH_AC_ID%TYPE;
1768   l_gl_cash_clearing_ac_id    PAY_PAYMENT_GL_ACCOUNTS_F.GL_CASH_CLEARING_AC_ID%TYPE;
1769   l_gl_control_ac_id          PAY_PAYMENT_GL_ACCOUNTS_F.GL_CONTROL_AC_ID%TYPE;
1770   l_gl_error_ac_id            PAY_PAYMENT_GL_ACCOUNTS_F.GL_ERROR_AC_ID%TYPE;
1771   l_old_external_account_id   PAY_PAYMENT_GL_ACCOUNTS_F.EXTERNAL_ACCOUNT_ID%TYPE;
1772   l_old_set_of_books_id       PAY_PAYMENT_GL_ACCOUNTS_F.SET_OF_BOOKS_ID%TYPE;
1773 
1774   l_old_gl_cash_ac_id             PAY_PAYMENT_GL_ACCOUNTS_F.GL_CASH_AC_ID%TYPE;
1775   l_old_gl_cash_clearing_ac_id    PAY_PAYMENT_GL_ACCOUNTS_F.GL_CASH_CLEARING_AC_ID%TYPE;
1776   l_old_gl_control_ac_id          PAY_PAYMENT_GL_ACCOUNTS_F.GL_CONTROL_AC_ID%TYPE;
1777   l_old_gl_error_ac_id            PAY_PAYMENT_GL_ACCOUNTS_F.GL_ERROR_AC_ID%TYPE;
1778 
1779   l_gl_concat_segments          varchar2(2000);
1780   l_gl_csh_clr_concat_segment   varchar2(2000);
1781   l_gl_control_concat_segment   varchar2(2000);
1782   l_gl_error_concat_segment     varchar2(2000);
1783 
1784   l_gl_account_id             PAY_PAYMENT_GL_ACCOUNTS_F.PAY_GL_ACCOUNT_ID%TYPE;
1785   l_extr_changed              boolean;
1786   l_ccrl_changed	      boolean;
1787   l_ctrl_changed	      boolean;
1788   l_err_changed               boolean;
1789   l_dummy_number              number;
1790   l_dummy_name                varchar(100);
1791 
1792   l_cstclr_flag               varchar2(2);
1793   l_cst_flag                  varchar2(2);
1794   l_pay_gl_account_id_out     PAY_PAYMENT_GL_ACCOUNTS_F.PAY_GL_ACCOUNT_ID%TYPE;
1795   --
1796   cursor csr_territory_code (v_org_payment_method_id number) is
1797      select nvl(pty.territory_code,pbg.legislation_code)
1798        from pay_payment_types pty
1799           , pay_org_payment_methods_f opm
1800           , per_business_groups pbg
1801       where opm.org_payment_method_id = v_org_payment_method_id
1802         and pty.payment_type_id = opm.payment_type_id
1803         and pbg.business_group_id = opm.business_group_id;
1804   --
1805   cursor csr_currency_code (v_org_payment_method_id number) is
1806      select ppt.currency_code
1807        from pay_org_payment_methods_f opm,
1808             pay_payment_types ppt
1809       where opm.org_payment_method_id = v_org_payment_method_id
1810         and ppt.payment_type_id = opm.payment_type_id;
1811   --
1812   cursor csr_business_group_id (v_org_payment_method_id number) is
1813      select opm.business_group_id
1814        from pay_org_payment_methods_f opm
1815       where opm.org_payment_method_id = v_org_payment_method_id;
1816   --
1817   cursor csr_chart_of_accounts_id (v_sets_of_book_id number) is
1818      select CHART_OF_ACCOUNTS_ID
1819        from gl_sets_of_books
1820       where SET_OF_BOOKS_ID = v_sets_of_book_id;
1821   --
1822   --
1823   cursor csr_external_account_id (v_org_payment_method_id number, v_effective_date date) is
1824      select opm.external_account_id
1825        from pay_org_payment_methods_f opm
1826       where opm.org_payment_method_id = v_org_payment_method_id
1827       and v_effective_date between effective_start_date and effective_end_date;
1828   --
1829   cursor csr_pmeth_category (v_org_payment_method_id number) is
1830      select ppt.payment_type_name
1831        from pay_payment_types ppt,
1832             pay_org_payment_methods_f opm
1833       where opm.org_payment_method_id = v_org_payment_method_id
1834         and ppt.payment_type_id = opm.payment_type_id;
1835   --
1836   cursor csr_get_cst_cstclr_flags(v_org_payment_method_id number, v_effective_date date) is
1837      select cost_payment, cost_cleared_payment
1838        from pay_org_payment_methods_f
1839       where org_payment_method_id = v_org_payment_method_id
1840         and v_effective_date between effective_start_date and effective_end_date;
1841   --
1842 begin
1843   hr_utility.set_location('Entering:'|| l_proc, 10);
1844   l_copy_ov_number := p_object_version_number;
1845   l_gl_cash_ac_id           := null;
1846   l_gl_cash_clearing_ac_id  := null;
1847   l_gl_control_ac_id        := null;
1848   l_gl_error_ac_id          := null;
1849 
1850   l_old_gl_cash_ac_id           := null;
1851   l_old_gl_cash_clearing_ac_id  := null;
1852   l_old_gl_control_ac_id        := null;
1853   l_old_gl_error_ac_id          := null;
1854   --
1855   -- Issue a savepoint
1856   --
1857   savepoint update_org_payment_method;
1858   --
1859   -- Store initial values for IN OUT parameters
1860   --
1861   l_object_version_number := p_object_version_number;
1862   -- l_PMETH_INFORMATION_CATEGORY := hr_api.g_varchar2;
1863   --
1864   IF (P_PMETH_INFORMATION1 <> hr_api.g_varchar2 OR
1865       P_PMETH_INFORMATION2 <> hr_api.g_varchar2 OR
1866       P_PMETH_INFORMATION3 <> hr_api.g_varchar2 OR
1867       P_PMETH_INFORMATION4 <> hr_api.g_varchar2 OR
1868       P_PMETH_INFORMATION5 <> hr_api.g_varchar2 OR
1869       P_PMETH_INFORMATION6 <> hr_api.g_varchar2 OR
1870       P_PMETH_INFORMATION7 <> hr_api.g_varchar2 OR
1871       P_PMETH_INFORMATION8 <> hr_api.g_varchar2 OR
1872       P_PMETH_INFORMATION9 <> hr_api.g_varchar2 OR
1873       P_PMETH_INFORMATION10 <> hr_api.g_varchar2 OR
1874       P_PMETH_INFORMATION11 <> hr_api.g_varchar2 OR
1875       P_PMETH_INFORMATION12 <> hr_api.g_varchar2 OR
1876       P_PMETH_INFORMATION13 <> hr_api.g_varchar2 OR
1877       P_PMETH_INFORMATION14 <> hr_api.g_varchar2 OR
1878       P_PMETH_INFORMATION15 <> hr_api.g_varchar2 OR
1879       P_PMETH_INFORMATION16 <> hr_api.g_varchar2 OR
1880       P_PMETH_INFORMATION17 <> hr_api.g_varchar2 OR
1881       P_PMETH_INFORMATION18 <> hr_api.g_varchar2 OR
1882       P_PMETH_INFORMATION19 <> hr_api.g_varchar2 OR
1883       P_PMETH_INFORMATION20 <> hr_api.g_varchar2 ) THEN
1884 
1885       open csr_pmeth_category(P_ORG_PAYMENT_METHOD_ID);
1886       fetch csr_pmeth_category into l_PMETH_INFORMATION_CATEGORY;
1887       if (csr_pmeth_category%notfound) then
1888          close csr_pmeth_category;
1889          fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
1890          fnd_message.set_token('COLUMN_NAME', 'PMETH_INFORMATION_CATEGORY');
1891          fnd_message.raise_error;
1892       end if;
1893       close csr_pmeth_category;
1894   END IF;
1895   --
1896   -- Truncate the time portion from all IN date parameters
1897   --
1898   l_effective_date := trunc(p_effective_date);
1899   --
1900   --
1901   -- Validate the language parameter.  l_language_code should be passed to functions
1902   -- instead of p_language_code from now on, to allow an IN OUT parameter to be
1903   -- passed through.
1904   --
1905   l_language_code := p_language_code;
1906   hr_api.validate_language_code(p_language_code => l_language_code);
1907   --
1908   hr_utility.set_location(l_proc, 20);
1909   --
1910   -- Call Before Process User Hook
1911   --
1912   begin
1913     pay_org_payment_method_bk2.update_org_payment_method_b
1914       (P_EFFECTIVE_DATE                 => l_EFFECTIVE_DATE
1915       ,P_DATETRACK_UPDATE_MODE          => P_DATETRACK_UPDATE_MODE
1916       ,P_LANGUAGE_CODE                  => l_LANGUAGE_CODE
1917       ,P_ORG_PAYMENT_METHOD_ID          => P_ORG_PAYMENT_METHOD_ID
1918       ,P_OBJECT_VERSION_NUMBER          => l_OBJECT_VERSION_NUMBER
1919       ,P_ORG_PAYMENT_METHOD_NAME        => P_ORG_PAYMENT_METHOD_NAME
1920       ,P_CURRENCY_CODE                  => P_CURRENCY_CODE
1921       ,P_ATTRIBUTE_CATEGORY             => P_ATTRIBUTE_CATEGORY
1922       ,P_ATTRIBUTE1                     => P_ATTRIBUTE1
1923       ,P_ATTRIBUTE2                     => P_ATTRIBUTE2
1924       ,P_ATTRIBUTE3                     => P_ATTRIBUTE3
1925       ,P_ATTRIBUTE4                     => P_ATTRIBUTE4
1926       ,P_ATTRIBUTE5                     => P_ATTRIBUTE5
1927       ,P_ATTRIBUTE6                     => P_ATTRIBUTE6
1928       ,P_ATTRIBUTE7                     => P_ATTRIBUTE7
1929       ,P_ATTRIBUTE8                     => P_ATTRIBUTE8
1930       ,P_ATTRIBUTE9                     => P_ATTRIBUTE9
1931       ,P_ATTRIBUTE10                    => P_ATTRIBUTE10
1932       ,P_ATTRIBUTE11                    => P_ATTRIBUTE11
1933       ,P_ATTRIBUTE12                    => P_ATTRIBUTE12
1934       ,P_ATTRIBUTE13                    => P_ATTRIBUTE13
1935       ,P_ATTRIBUTE14                    => P_ATTRIBUTE14
1936       ,P_ATTRIBUTE15                    => P_ATTRIBUTE15
1937       ,P_ATTRIBUTE16                    => P_ATTRIBUTE16
1938       ,P_ATTRIBUTE17                    => P_ATTRIBUTE17
1939       ,P_ATTRIBUTE18                    => P_ATTRIBUTE18
1940       ,P_ATTRIBUTE19                    => P_ATTRIBUTE19
1941       ,P_ATTRIBUTE20                    => P_ATTRIBUTE20
1942 --      ,P_PMETH_INFORMATION_CATEGORY     => P_PMETH_INFORMATION_CATEGORY
1943       ,P_PMETH_INFORMATION1             => P_PMETH_INFORMATION1
1944       ,P_PMETH_INFORMATION2             => P_PMETH_INFORMATION2
1945       ,P_PMETH_INFORMATION3             => P_PMETH_INFORMATION3
1946       ,P_PMETH_INFORMATION4             => P_PMETH_INFORMATION4
1947       ,P_PMETH_INFORMATION5             => P_PMETH_INFORMATION5
1948       ,P_PMETH_INFORMATION6             => P_PMETH_INFORMATION6
1949       ,P_PMETH_INFORMATION7             => P_PMETH_INFORMATION7
1950       ,P_PMETH_INFORMATION8             => P_PMETH_INFORMATION8
1951       ,P_PMETH_INFORMATION9             => P_PMETH_INFORMATION9
1952       ,P_PMETH_INFORMATION10            => P_PMETH_INFORMATION10
1953       ,P_PMETH_INFORMATION11            => P_PMETH_INFORMATION11
1954       ,P_PMETH_INFORMATION12            => P_PMETH_INFORMATION12
1955       ,P_PMETH_INFORMATION13            => P_PMETH_INFORMATION13
1956       ,P_PMETH_INFORMATION14            => P_PMETH_INFORMATION14
1957       ,P_PMETH_INFORMATION15            => P_PMETH_INFORMATION15
1958       ,P_PMETH_INFORMATION16            => P_PMETH_INFORMATION16
1959       ,P_PMETH_INFORMATION17            => P_PMETH_INFORMATION17
1960       ,P_PMETH_INFORMATION18            => P_PMETH_INFORMATION18
1961       ,P_PMETH_INFORMATION19            => P_PMETH_INFORMATION19
1962       ,P_PMETH_INFORMATION20            => P_PMETH_INFORMATION20
1963       ,P_COMMENTS                       => P_COMMENTS
1964       ,P_SEGMENT1                       => P_SEGMENT1
1965       ,P_SEGMENT2                       => P_SEGMENT2
1966       ,P_SEGMENT3                       => P_SEGMENT3
1967       ,P_SEGMENT4                       => P_SEGMENT4
1968       ,P_SEGMENT5                       => P_SEGMENT5
1969       ,P_SEGMENT6                       => P_SEGMENT6
1970       ,P_SEGMENT7                       => P_SEGMENT7
1971       ,P_SEGMENT8                       => P_SEGMENT8
1972       ,P_SEGMENT9                       => P_SEGMENT9
1973       ,P_SEGMENT10                      => P_SEGMENT10
1974       ,P_SEGMENT11                      => P_SEGMENT11
1975       ,P_SEGMENT12                      => P_SEGMENT12
1976       ,P_SEGMENT13                      => P_SEGMENT13
1977       ,P_SEGMENT14                      => P_SEGMENT14
1978       ,P_SEGMENT15                      => P_SEGMENT15
1979       ,P_SEGMENT16                      => P_SEGMENT16
1980       ,P_SEGMENT17                      => P_SEGMENT17
1981       ,P_SEGMENT18                      => P_SEGMENT18
1982       ,P_SEGMENT19                      => P_SEGMENT19
1983       ,P_SEGMENT20                      => P_SEGMENT20
1984       ,P_SEGMENT21                      => P_SEGMENT21
1985       ,P_SEGMENT22                      => P_SEGMENT22
1986       ,P_SEGMENT23                      => P_SEGMENT23
1987       ,P_SEGMENT24                      => P_SEGMENT24
1988       ,P_SEGMENT25                      => P_SEGMENT25
1989       ,P_SEGMENT26                      => P_SEGMENT26
1990       ,P_SEGMENT27                      => P_SEGMENT27
1991       ,P_SEGMENT28                      => P_SEGMENT28
1992       ,P_SEGMENT29                      => P_SEGMENT29
1993       ,P_SEGMENT30                      => P_SEGMENT30
1994       ,P_CONCAT_SEGMENTS                => P_CONCAT_SEGMENTS
1995       ,P_GL_SEGMENT1                    => P_GL_SEGMENT1
1996       ,P_GL_SEGMENT2                    => P_GL_SEGMENT2
1997       ,P_GL_SEGMENT3                    => P_GL_SEGMENT3
1998       ,P_GL_SEGMENT4                    => P_GL_SEGMENT4
1999       ,P_GL_SEGMENT5                    => P_GL_SEGMENT5
2000       ,P_GL_SEGMENT6                    => P_GL_SEGMENT6
2001       ,P_GL_SEGMENT7                    => P_GL_SEGMENT7
2002       ,P_GL_SEGMENT8                    => P_GL_SEGMENT8
2003       ,P_GL_SEGMENT9                    => P_GL_SEGMENT9
2004       ,P_GL_SEGMENT10                   => P_GL_SEGMENT10
2005       ,P_GL_SEGMENT11                   => P_GL_SEGMENT11
2006       ,P_GL_SEGMENT12                   => P_GL_SEGMENT12
2007       ,P_GL_SEGMENT13                   => P_GL_SEGMENT13
2008       ,P_GL_SEGMENT14                   => P_GL_SEGMENT14
2009       ,P_GL_SEGMENT15                   => P_GL_SEGMENT15
2010       ,P_GL_SEGMENT16                   => P_GL_SEGMENT16
2011       ,P_GL_SEGMENT17                   => P_GL_SEGMENT17
2012       ,P_GL_SEGMENT18                   => P_GL_SEGMENT18
2013       ,P_GL_SEGMENT19                   => P_GL_SEGMENT19
2014       ,P_GL_SEGMENT20                   => P_GL_SEGMENT20
2015       ,P_GL_SEGMENT21                   => P_GL_SEGMENT21
2016       ,P_GL_SEGMENT22                   => P_GL_SEGMENT22
2017       ,P_GL_SEGMENT23                   => P_GL_SEGMENT23
2018       ,P_GL_SEGMENT24                   => P_GL_SEGMENT24
2019       ,P_GL_SEGMENT25                   => P_GL_SEGMENT25
2020       ,P_GL_SEGMENT26                   => P_GL_SEGMENT26
2021       ,P_GL_SEGMENT27                   => P_GL_SEGMENT27
2022       ,P_GL_SEGMENT28                   => P_GL_SEGMENT28
2023       ,P_GL_SEGMENT29                   => P_GL_SEGMENT29
2024       ,P_GL_SEGMENT30                   => P_GL_SEGMENT30
2025       ,P_GL_CONCAT_SEGMENTS             => P_GL_CONCAT_SEGMENTS
2026       ,P_GL_CTRL_SEGMENT1               => P_GL_CTRL_SEGMENT1
2027       ,P_GL_CTRL_SEGMENT2               => P_GL_CTRL_SEGMENT2
2028       ,P_GL_CTRL_SEGMENT3               => P_GL_CTRL_SEGMENT3
2029       ,P_GL_CTRL_SEGMENT4               => P_GL_CTRL_SEGMENT4
2030       ,P_GL_CTRL_SEGMENT5               => P_GL_CTRL_SEGMENT5
2031       ,P_GL_CTRL_SEGMENT6               => P_GL_CTRL_SEGMENT6
2032       ,P_GL_CTRL_SEGMENT7               => P_GL_CTRL_SEGMENT7
2033       ,P_GL_CTRL_SEGMENT8               => P_GL_CTRL_SEGMENT8
2034       ,P_GL_CTRL_SEGMENT9               => P_GL_CTRL_SEGMENT9
2035       ,P_GL_CTRL_SEGMENT10              => P_GL_CTRL_SEGMENT10
2036       ,P_GL_CTRL_SEGMENT11              => P_GL_CTRL_SEGMENT11
2037       ,P_GL_CTRL_SEGMENT12              => P_GL_CTRL_SEGMENT12
2038       ,P_GL_CTRL_SEGMENT13              => P_GL_CTRL_SEGMENT13
2039       ,P_GL_CTRL_SEGMENT14              => P_GL_CTRL_SEGMENT14
2040       ,P_GL_CTRL_SEGMENT15              => P_GL_CTRL_SEGMENT15
2041       ,P_GL_CTRL_SEGMENT16              => P_GL_CTRL_SEGMENT16
2042       ,P_GL_CTRL_SEGMENT17              => P_GL_CTRL_SEGMENT17
2043       ,P_GL_CTRL_SEGMENT18              => P_GL_CTRL_SEGMENT18
2044       ,P_GL_CTRL_SEGMENT19              => P_GL_CTRL_SEGMENT19
2045       ,P_GL_CTRL_SEGMENT20              => P_GL_CTRL_SEGMENT20
2046       ,P_GL_CTRL_SEGMENT21              => P_GL_CTRL_SEGMENT21
2047       ,P_GL_CTRL_SEGMENT22              => P_GL_CTRL_SEGMENT22
2048       ,P_GL_CTRL_SEGMENT23              => P_GL_CTRL_SEGMENT23
2049       ,P_GL_CTRL_SEGMENT24              => P_GL_CTRL_SEGMENT24
2050       ,P_GL_CTRL_SEGMENT25              => P_GL_CTRL_SEGMENT25
2051       ,P_GL_CTRL_SEGMENT26              => P_GL_CTRL_SEGMENT26
2052       ,P_GL_CTRL_SEGMENT27              => P_GL_CTRL_SEGMENT27
2053       ,P_GL_CTRL_SEGMENT28              => P_GL_CTRL_SEGMENT28
2054       ,P_GL_CTRL_SEGMENT29              => P_GL_CTRL_SEGMENT29
2055       ,P_GL_CTRL_SEGMENT30              => P_GL_CTRL_SEGMENT30
2056       ,P_GL_CTRL_CONCAT_SEGMENTS        => P_GL_CTRL_CONCAT_SEGMENTS
2057       ,P_GL_CCRL_SEGMENT1               => P_GL_CCRL_SEGMENT1
2058       ,P_GL_CCRL_SEGMENT2               => P_GL_CCRL_SEGMENT2
2059       ,P_GL_CCRL_SEGMENT3               => P_GL_CCRL_SEGMENT3
2060       ,P_GL_CCRL_SEGMENT4               => P_GL_CCRL_SEGMENT4
2061       ,P_GL_CCRL_SEGMENT5               => P_GL_CCRL_SEGMENT5
2062       ,P_GL_CCRL_SEGMENT6               => P_GL_CCRL_SEGMENT6
2063       ,P_GL_CCRL_SEGMENT7               => P_GL_CCRL_SEGMENT7
2064       ,P_GL_CCRL_SEGMENT8               => P_GL_CCRL_SEGMENT8
2065       ,P_GL_CCRL_SEGMENT9               => P_GL_CCRL_SEGMENT9
2066       ,P_GL_CCRL_SEGMENT10              => P_GL_CCRL_SEGMENT10
2067       ,P_GL_CCRL_SEGMENT11              => P_GL_CCRL_SEGMENT11
2068       ,P_GL_CCRL_SEGMENT12              => P_GL_CCRL_SEGMENT12
2069       ,P_GL_CCRL_SEGMENT13              => P_GL_CCRL_SEGMENT13
2070       ,P_GL_CCRL_SEGMENT14              => P_GL_CCRL_SEGMENT14
2071       ,P_GL_CCRL_SEGMENT15              => P_GL_CCRL_SEGMENT15
2072       ,P_GL_CCRL_SEGMENT16              => P_GL_CCRL_SEGMENT16
2073       ,P_GL_CCRL_SEGMENT17              => P_GL_CCRL_SEGMENT17
2074       ,P_GL_CCRL_SEGMENT18              => P_GL_CCRL_SEGMENT18
2075       ,P_GL_CCRL_SEGMENT19              => P_GL_CCRL_SEGMENT19
2076       ,P_GL_CCRL_SEGMENT20              => P_GL_CCRL_SEGMENT20
2077       ,P_GL_CCRL_SEGMENT21              => P_GL_CCRL_SEGMENT21
2078       ,P_GL_CCRL_SEGMENT22              => P_GL_CCRL_SEGMENT22
2079       ,P_GL_CCRL_SEGMENT23              => P_GL_CCRL_SEGMENT23
2080       ,P_GL_CCRL_SEGMENT24              => P_GL_CCRL_SEGMENT24
2081       ,P_GL_CCRL_SEGMENT25              => P_GL_CCRL_SEGMENT25
2082       ,P_GL_CCRL_SEGMENT26              => P_GL_CCRL_SEGMENT26
2083       ,P_GL_CCRL_SEGMENT27              => P_GL_CCRL_SEGMENT27
2084       ,P_GL_CCRL_SEGMENT28              => P_GL_CCRL_SEGMENT28
2085       ,P_GL_CCRL_SEGMENT29              => P_GL_CCRL_SEGMENT29
2086       ,P_GL_CCRL_SEGMENT30              => P_GL_CCRL_SEGMENT30
2087       ,P_GL_CCRL_CONCAT_SEGMENTS        => P_GL_CCRL_CONCAT_SEGMENTS
2088       ,P_GL_ERR_SEGMENT1                => P_GL_ERR_SEGMENT1
2089       ,P_GL_ERR_SEGMENT2                => P_GL_ERR_SEGMENT2
2090       ,P_GL_ERR_SEGMENT3                => P_GL_ERR_SEGMENT3
2091       ,P_GL_ERR_SEGMENT4                => P_GL_ERR_SEGMENT4
2092       ,P_GL_ERR_SEGMENT5                => P_GL_ERR_SEGMENT5
2093       ,P_GL_ERR_SEGMENT6                => P_GL_ERR_SEGMENT6
2094       ,P_GL_ERR_SEGMENT7                => P_GL_ERR_SEGMENT7
2095       ,P_GL_ERR_SEGMENT8                => P_GL_ERR_SEGMENT8
2096       ,P_GL_ERR_SEGMENT9                => P_GL_ERR_SEGMENT9
2097       ,P_GL_ERR_SEGMENT10               => P_GL_ERR_SEGMENT10
2098       ,P_GL_ERR_SEGMENT11               => P_GL_ERR_SEGMENT11
2099       ,P_GL_ERR_SEGMENT12               => P_GL_ERR_SEGMENT12
2100       ,P_GL_ERR_SEGMENT13               => P_GL_ERR_SEGMENT13
2101       ,P_GL_ERR_SEGMENT14               => P_GL_ERR_SEGMENT14
2102       ,P_GL_ERR_SEGMENT15               => P_GL_ERR_SEGMENT15
2103       ,P_GL_ERR_SEGMENT16               => P_GL_ERR_SEGMENT16
2104       ,P_GL_ERR_SEGMENT17               => P_GL_ERR_SEGMENT17
2105       ,P_GL_ERR_SEGMENT18               => P_GL_ERR_SEGMENT18
2106       ,P_GL_ERR_SEGMENT19               => P_GL_ERR_SEGMENT19
2107       ,P_GL_ERR_SEGMENT20               => P_GL_ERR_SEGMENT20
2108       ,P_GL_ERR_SEGMENT21               => P_GL_ERR_SEGMENT21
2109       ,P_GL_ERR_SEGMENT22               => P_GL_ERR_SEGMENT22
2110       ,P_GL_ERR_SEGMENT23               => P_GL_ERR_SEGMENT23
2111       ,P_GL_ERR_SEGMENT24               => P_GL_ERR_SEGMENT24
2112       ,P_GL_ERR_SEGMENT25               => P_GL_ERR_SEGMENT25
2113       ,P_GL_ERR_SEGMENT26               => P_GL_ERR_SEGMENT26
2114       ,P_GL_ERR_SEGMENT27               => P_GL_ERR_SEGMENT27
2115       ,P_GL_ERR_SEGMENT28               => P_GL_ERR_SEGMENT28
2116       ,P_GL_ERR_SEGMENT29               => P_GL_ERR_SEGMENT29
2117       ,P_GL_ERR_SEGMENT30               => P_GL_ERR_SEGMENT30
2118       ,P_GL_ERR_CONCAT_SEGMENTS         => P_GL_ERR_CONCAT_SEGMENTS
2119       ,P_SETS_OF_BOOK_ID                => P_SETS_OF_BOOK_ID
2120       ,P_TRANSFER_TO_GL_FLAG            => P_TRANSFER_TO_GL_FLAG
2121       ,P_COST_PAYMENT                   => P_COST_PAYMENT
2122       ,P_COST_CLEARED_PAYMENT           => P_COST_CLEARED_PAYMENT
2123       ,P_COST_CLEARED_VOID_PAYMENT      => P_COST_CLEARED_VOID_PAYMENT
2124       ,P_EXCLUDE_MANUAL_PAYMENT         => P_EXCLUDE_MANUAL_PAYMENT
2125       );
2126   exception
2127     when hr_api.cannot_find_prog_unit then
2128       hr_api.cannot_find_prog_unit_error
2129         (p_module_name => 'update_org_payment_method_b'
2130         ,p_hook_type   => 'BP'
2131         );
2132   end;
2133   --
2134   -- Validation in addition to Row Handlers
2135   --
2136   l_set_of_books_id := p_sets_of_book_id;
2137   l_ASSET_CODE_COMBINATION_ID := null;
2138   l_asset_code_changed := false;
2139   l_extr_changed  := false;
2140   --
2141   -- Process Logic
2142   --
2143   -- Call table handler pay_exa_upd to control the processing of the external
2144   -- account combination keyflex, discarding the returning parameter
2145   -- p_object_version_number
2146   --
2147   hr_utility.set_location('Before determining the external A/C id : ' ||l_proc, 25);
2148   if ((P_SEGMENT1  <> hr_api.g_varchar2) OR
2149       (P_SEGMENT2  <> hr_api.g_varchar2) OR
2150       (P_SEGMENT3  <> hr_api.g_varchar2) OR
2151       (P_SEGMENT4  <> hr_api.g_varchar2) OR
2152       (P_SEGMENT5  <> hr_api.g_varchar2) OR
2153       (P_SEGMENT6  <> hr_api.g_varchar2) OR
2154       (P_SEGMENT7  <> hr_api.g_varchar2) OR
2155       (P_SEGMENT8  <> hr_api.g_varchar2) OR
2156       (P_SEGMENT9  <> hr_api.g_varchar2) OR
2157       (P_SEGMENT10 <> hr_api.g_varchar2) OR
2158       (P_SEGMENT11 <> hr_api.g_varchar2) OR
2159       (P_SEGMENT12 <> hr_api.g_varchar2) OR
2160       (P_SEGMENT13 <> hr_api.g_varchar2) OR
2161       (P_SEGMENT14 <> hr_api.g_varchar2) OR
2162       (P_SEGMENT15 <> hr_api.g_varchar2) OR
2163       (P_SEGMENT16 <> hr_api.g_varchar2) OR
2164       (P_SEGMENT17 <> hr_api.g_varchar2) OR
2165       (P_SEGMENT18 <> hr_api.g_varchar2) OR
2166       (P_SEGMENT19 <> hr_api.g_varchar2) OR
2167       (P_SEGMENT20 <> hr_api.g_varchar2) OR
2168       (P_SEGMENT21 <> hr_api.g_varchar2) OR
2169       (P_SEGMENT22 <> hr_api.g_varchar2) OR
2170       (P_SEGMENT23 <> hr_api.g_varchar2) OR
2171       (P_SEGMENT24 <> hr_api.g_varchar2) OR
2172       (P_SEGMENT25 <> hr_api.g_varchar2) OR
2173       (P_SEGMENT26 <> hr_api.g_varchar2) OR
2174       (P_SEGMENT27 <> hr_api.g_varchar2) OR
2175       (P_SEGMENT28 <> hr_api.g_varchar2) OR
2176       (P_SEGMENT29 <> hr_api.g_varchar2) OR
2177       (P_SEGMENT30 <> hr_api.g_varchar2) OR
2178       (P_CONCAT_SEGMENTS <> hr_api.g_varchar2)) then
2179        --
2180 	hr_api.mandatory_arg_error(p_api_name       => l_proc
2181                                ,p_argument       => 'ORG_PAYMENT_METHOD_ID'
2182                                ,p_argument_value => P_ORG_PAYMENT_METHOD_ID
2183                                );
2184 	--
2185 	open csr_business_group_id(P_ORG_PAYMENT_METHOD_ID);
2186 	fetch csr_business_group_id into l_business_group_id;
2187 	if (csr_business_group_id%notfound) then
2188 	--
2189 		close csr_business_group_id;
2190 		fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
2191 		fnd_message.set_token('COLUMN_NAME', 'BUSINESS_GROUP_ID');
2192 		fnd_message.raise_error;
2193 	--
2194 	end if;
2195 	close csr_business_group_id;
2196 	--
2197 	open csr_territory_code(P_ORG_PAYMENT_METHOD_ID);
2198 	fetch csr_territory_code into l_territory_code;
2199 	if (csr_territory_code%notfound) then
2200 	--
2201 		close csr_territory_code;
2202 		fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
2203 	        fnd_message.set_token('COLUMN_NAME', 'PAYMENT_TYPE_ID');
2204 		fnd_message.raise_error;
2205 	--
2206 	end if;
2207 	close csr_territory_code;
2208 	--
2209 	pay_exa_upd.upd_or_sel
2210        (p_segment1              => p_segment1
2211        ,p_segment2              => p_segment2
2212        ,p_segment3              => p_segment3
2213        ,p_segment4              => p_segment4
2214        ,p_segment5              => p_segment5
2215        ,p_segment6              => p_segment6
2216        ,p_segment7              => p_segment7
2217        ,p_segment8              => p_segment8
2218        ,p_segment9              => p_segment9
2219        ,p_segment10             => p_segment10
2220        ,p_segment11             => p_segment11
2221        ,p_segment12             => p_segment12
2222        ,p_segment13             => p_segment13
2223        ,p_segment14             => p_segment14
2224        ,p_segment15             => p_segment15
2225        ,p_segment16             => p_segment16
2226        ,p_segment17             => p_segment17
2227        ,p_segment18             => p_segment18
2228        ,p_segment19             => p_segment19
2229        ,p_segment20             => p_segment20
2230        ,p_segment21             => p_segment21
2231        ,p_segment22             => p_segment22
2232        ,p_segment23             => p_segment23
2233        ,p_segment24             => p_segment24
2234        ,p_segment25             => p_segment25
2235        ,p_segment26             => p_segment26
2236        ,p_segment27             => p_segment27
2237        ,p_segment28             => p_segment28
2238        ,p_segment29             => p_segment29
2239        ,p_segment30             => p_segment30
2240        ,p_concat_segments       => p_concat_segments
2241        ,p_business_group_id     => l_business_group_id
2242        ,p_territory_code        => l_territory_code
2243        ,p_external_account_id   => l_external_account_id
2244        ,p_object_version_number => l_discard
2245        );
2246        l_extr_changed := true;
2247   --
2248   else
2249   --
2250      hr_api.mandatory_arg_error(p_api_name       => l_proc
2251                                ,p_argument       => 'ORG_PAYMENT_METHOD_ID'
2252                                ,p_argument_value => P_ORG_PAYMENT_METHOD_ID
2253                                );
2254      --
2255      -- External_account_id can be null.
2256      -- Let the row handlers to validate this.
2257      --
2258      -- open csr_external_account_id(P_ORG_PAYMENT_METHOD_ID);
2259      -- fetch csr_external_account_id into l_external_account_id;
2260      -- if (csr_external_account_id%notfound) then
2261      --    close csr_external_account_id;
2262      --    fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
2263      --    fnd_message.set_token('COLUMN_NAME', 'EXTERNAL_ACCOUNT_ID');
2264      --    fnd_message.raise_error;
2265      -- end if;
2266      -- close csr_external_account_id;
2267      --
2268      l_external_account_id := null;
2269      --
2270   --
2271   end if;
2272   --
2273   hr_utility.set_location(l_proc, 30);
2274   --
2275   -- Determine the Assest definition by calling upd_or_sel.
2276   --
2277   --
2278   if (PAY_ADHOC_UTILS_PKG.chk_post_r11i = 'Y' ) then
2279       if (l_set_of_books_id = hr_api.g_number) then
2280 		--
2281 	l_set_of_books_id := pay_maintain_bank_acct.get_sob_id(
2282                     p_org_payment_method_id    => P_ORG_PAYMENT_METHOD_ID);
2283 
2284 	if (l_set_of_books_id is null) then
2285 	--
2286 		fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
2287 		fnd_message.set_token('COLUMN_NAME', 'ORG_PAYMENT_METHOD_ID');
2288 		fnd_message.raise_error;
2289 	--
2290 	end if;
2291 	--
2292       end if;
2293     --
2294     if (l_set_of_books_id is not null) then
2295     --
2296 	open csr_chart_of_accounts_id(l_set_of_books_id);
2297 	fetch csr_chart_of_accounts_id into l_key_flex_id;
2298 	if (csr_chart_of_accounts_id%notfound and l_set_of_books_id<>0) then
2299 	--
2300 		close csr_chart_of_accounts_id;
2301 		fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
2302 		fnd_message.set_token('COLUMN_NAME', 'sets_of_book_id');
2303 		fnd_message.raise_error;
2304 	--
2305 	end if;
2306 	close csr_chart_of_accounts_id;
2307      --
2308      end if;
2309   --
2310   end if;
2311   hr_utility.set_location('Before Determining cash A/C id : '||l_proc, 35);
2312   if (l_set_of_books_id is not null) then
2313   --
2314 	if ((P_GL_SEGMENT1  <> hr_api.g_varchar2) OR
2315          (P_GL_SEGMENT2  <> hr_api.g_varchar2) OR
2316          (P_GL_SEGMENT3  <> hr_api.g_varchar2) OR
2317          (P_GL_SEGMENT4  <> hr_api.g_varchar2) OR
2318          (P_GL_SEGMENT5  <> hr_api.g_varchar2) OR
2319          (P_GL_SEGMENT6  <> hr_api.g_varchar2) OR
2320          (P_GL_SEGMENT7  <> hr_api.g_varchar2) OR
2321          (P_GL_SEGMENT8  <> hr_api.g_varchar2) OR
2322          (P_GL_SEGMENT9  <> hr_api.g_varchar2) OR
2323          (P_GL_SEGMENT10 <> hr_api.g_varchar2) OR
2324          (P_GL_SEGMENT11 <> hr_api.g_varchar2) OR
2325          (P_GL_SEGMENT12 <> hr_api.g_varchar2) OR
2326          (P_GL_SEGMENT13 <> hr_api.g_varchar2) OR
2327          (P_GL_SEGMENT14 <> hr_api.g_varchar2) OR
2328          (P_GL_SEGMENT15 <> hr_api.g_varchar2) OR
2329          (P_GL_SEGMENT16 <> hr_api.g_varchar2) OR
2330          (P_GL_SEGMENT17 <> hr_api.g_varchar2) OR
2331          (P_GL_SEGMENT18 <> hr_api.g_varchar2) OR
2332          (P_GL_SEGMENT19 <> hr_api.g_varchar2) OR
2333          (P_GL_SEGMENT20 <> hr_api.g_varchar2) OR
2334          (P_GL_SEGMENT21 <> hr_api.g_varchar2) OR
2335          (P_GL_SEGMENT22 <> hr_api.g_varchar2) OR
2336          (P_GL_SEGMENT23 <> hr_api.g_varchar2) OR
2337          (P_GL_SEGMENT24 <> hr_api.g_varchar2) OR
2338          (P_GL_SEGMENT25 <> hr_api.g_varchar2) OR
2339          (P_GL_SEGMENT26 <> hr_api.g_varchar2) OR
2340          (P_GL_SEGMENT27 <> hr_api.g_varchar2) OR
2341          (P_GL_SEGMENT28 <> hr_api.g_varchar2) OR
2342          (P_GL_SEGMENT29 <> hr_api.g_varchar2) OR
2343          (P_GL_SEGMENT30 <> hr_api.g_varchar2) OR
2344          (P_GL_CONCAT_SEGMENTS <> hr_api.g_varchar2)) then
2345          --
2346 		if l_key_flex_id is not null then
2347 			hr_kflex_utility.upd_or_sel_keyflex_comb
2348 			(p_appl_short_name       => 'SQLGL'
2349 			,p_flex_code             => 'GL#'
2350 			,p_flex_num              => l_key_flex_id
2351 			,p_segment1              => p_gl_segment1
2352 			,p_segment2              => p_gl_segment2
2353 			,p_segment3              => p_gl_segment3
2354 			,p_segment4              => p_gl_segment4
2355 			,p_segment5              => p_gl_segment5
2356 			,p_segment6              => p_gl_segment6
2357 			,p_segment7              => p_gl_segment7
2358 			,p_segment8              => p_gl_segment8
2359 			,p_segment9              => p_gl_segment9
2360 			,p_segment10             => p_gl_segment10
2361 			,p_segment11             => p_gl_segment11
2362 			,p_segment12             => p_gl_segment12
2363 			,p_segment13             => p_gl_segment13
2364 			,p_segment14             => p_gl_segment14
2365 			,p_segment15             => p_gl_segment15
2366 			,p_segment16             => p_gl_segment16
2367 			,p_segment17             => p_gl_segment17
2368 			,p_segment18             => p_gl_segment18
2369 			,p_segment19             => p_gl_segment19
2370 			,p_segment20             => p_gl_segment20
2371 			,p_segment21             => p_gl_segment21
2372 			,p_segment22             => p_gl_segment22
2373 			,p_segment23             => p_gl_segment23
2374 			,p_segment24             => p_gl_segment24
2375 			,p_segment25             => p_gl_segment25
2376 			,p_segment26             => p_gl_segment26
2377 			,p_segment27             => p_gl_segment27
2378 			,p_segment28             => p_gl_segment28
2379 			,p_segment29             => p_gl_segment29
2380 			,p_segment30             => p_gl_segment30
2381 			,p_concat_segments_in    => p_gl_concat_segments
2382 			,p_ccid                  => l_gl_cash_ac_id
2383 			,p_concat_segments_out   => l_gl_concat_segments
2384 			);
2385 			l_ASSET_CODE_COMBINATION_ID := l_gl_cash_ac_id;
2386 			l_asset_code_changed := true;
2387 		--
2388 		end if;
2389 	else  --If none of the segments are specified
2390 	--
2391 		if (p_sets_of_book_id <> hr_api.g_number) then
2392 		--
2393 			l_gl_cash_ac_id := null;
2394 			l_asset_code_changed := true;
2395 	        --
2396 		end if;
2397         --
2398 	end if; --For GL Segments.
2399 	--
2400 	hr_utility.set_location('Before Determining Control A/C id : '||l_proc, 40);
2401 	--
2402 	if ((P_GL_CTRL_SEGMENT1  <> hr_api.g_varchar2) OR
2403 	   (P_GL_CTRL_SEGMENT2  <> hr_api.g_varchar2) OR
2404 	   (P_GL_CTRL_SEGMENT3  <> hr_api.g_varchar2) OR
2405 	   (P_GL_CTRL_SEGMENT4  <> hr_api.g_varchar2) OR
2406 	   (P_GL_CTRL_SEGMENT5  <> hr_api.g_varchar2) OR
2407 	   (P_GL_CTRL_SEGMENT6  <> hr_api.g_varchar2) OR
2408 	   (P_GL_CTRL_SEGMENT7  <> hr_api.g_varchar2) OR
2409 	   (P_GL_CTRL_SEGMENT8  <> hr_api.g_varchar2) OR
2410 	   (P_GL_CTRL_SEGMENT9  <> hr_api.g_varchar2) OR
2411 	   (P_GL_CTRL_SEGMENT10 <> hr_api.g_varchar2) OR
2412 	   (P_GL_CTRL_SEGMENT11 <> hr_api.g_varchar2) OR
2413 	   (P_GL_CTRL_SEGMENT12 <> hr_api.g_varchar2) OR
2414 	   (P_GL_CTRL_SEGMENT13 <> hr_api.g_varchar2) OR
2415 	   (P_GL_CTRL_SEGMENT14 <> hr_api.g_varchar2) OR
2416 	   (P_GL_CTRL_SEGMENT15 <> hr_api.g_varchar2) OR
2417 	   (P_GL_CTRL_SEGMENT16 <> hr_api.g_varchar2) OR
2418 	   (P_GL_CTRL_SEGMENT17 <> hr_api.g_varchar2) OR
2419 	   (P_GL_CTRL_SEGMENT18 <> hr_api.g_varchar2) OR
2420 	   (P_GL_CTRL_SEGMENT19 <> hr_api.g_varchar2) OR
2421 	   (P_GL_CTRL_SEGMENT20 <> hr_api.g_varchar2) OR
2422 	   (P_GL_CTRL_SEGMENT21 <> hr_api.g_varchar2) OR
2423 	   (P_GL_CTRL_SEGMENT22 <> hr_api.g_varchar2) OR
2424 	   (P_GL_CTRL_SEGMENT23 <> hr_api.g_varchar2) OR
2425 	   (P_GL_CTRL_SEGMENT24 <> hr_api.g_varchar2) OR
2426 	   (P_GL_CTRL_SEGMENT25 <> hr_api.g_varchar2) OR
2427 	   (P_GL_CTRL_SEGMENT26 <> hr_api.g_varchar2) OR
2428 	   (P_GL_CTRL_SEGMENT27 <> hr_api.g_varchar2) OR
2429 	   (P_GL_CTRL_SEGMENT28 <> hr_api.g_varchar2) OR
2430 	   (P_GL_CTRL_SEGMENT29 <> hr_api.g_varchar2) OR
2431 	   (P_GL_CTRL_SEGMENT30 <> hr_api.g_varchar2) OR
2432 	   (P_GL_CTRL_CONCAT_SEGMENTS <> hr_api.g_varchar2)) then
2433 	--
2434 		if l_key_flex_id is not null then
2435 		--
2436 			hr_kflex_utility.upd_or_sel_keyflex_comb
2437 			(p_appl_short_name       => 'SQLGL'
2438 			,p_flex_code             => 'GL#'
2439 			,p_flex_num              => l_key_flex_id
2440 			,p_segment1              => p_gl_ctrl_segment1
2441 			,p_segment2              => p_gl_ctrl_segment2
2442 			,p_segment3              => p_gl_ctrl_segment3
2443 			,p_segment4              => p_gl_ctrl_segment4
2444 			,p_segment5              => p_gl_ctrl_segment5
2445 			,p_segment6              => p_gl_ctrl_segment6
2446 			,p_segment7              => p_gl_ctrl_segment7
2447 			,p_segment8              => p_gl_ctrl_segment8
2448 			,p_segment9              => p_gl_ctrl_segment9
2449 			,p_segment10             => p_gl_ctrl_segment10
2450 			,p_segment11             => p_gl_ctrl_segment11
2451 			,p_segment12             => p_gl_ctrl_segment12
2452 			,p_segment13             => p_gl_ctrl_segment13
2453 			,p_segment14             => p_gl_ctrl_segment14
2454 			,p_segment15             => p_gl_ctrl_segment15
2455 			,p_segment16             => p_gl_ctrl_segment16
2456 			,p_segment17             => p_gl_ctrl_segment17
2457 			,p_segment18             => p_gl_ctrl_segment18
2458 			,p_segment19             => p_gl_ctrl_segment19
2459 			,p_segment20             => p_gl_ctrl_segment20
2460 			,p_segment21             => p_gl_ctrl_segment21
2461 			,p_segment22             => p_gl_ctrl_segment22
2462 			,p_segment23             => p_gl_ctrl_segment23
2463 			,p_segment24             => p_gl_ctrl_segment24
2464 		        ,p_segment25             => p_gl_ctrl_segment25
2465 			,p_segment26             => p_gl_ctrl_segment26
2466 		        ,p_segment27             => p_gl_ctrl_segment27
2467 		        ,p_segment28             => p_gl_ctrl_segment28
2468 			,p_segment29             => p_gl_ctrl_segment29
2469 		        ,p_segment30             => p_gl_ctrl_segment30
2470 		        ,p_concat_segments_in    => p_gl_ctrl_concat_segments
2471 			,p_ccid                  => l_gl_control_ac_id
2472 		        ,p_concat_segments_out   => l_gl_control_concat_segment
2473 		        );
2474 		--
2475 		end if;
2476 	--
2477 	end if;
2478 	--
2479 	hr_utility.set_location('Before Determining Cash Clearing A/C id : '||l_proc, 45);
2480 	--
2481 	if ((P_GL_CCRL_SEGMENT1  <> hr_api.g_varchar2) OR
2482 	(P_GL_CCRL_SEGMENT2  <> hr_api.g_varchar2) OR
2483 	(P_GL_CCRL_SEGMENT3  <> hr_api.g_varchar2) OR
2484 	(P_GL_CCRL_SEGMENT4  <> hr_api.g_varchar2) OR
2485 	(P_GL_CCRL_SEGMENT5  <> hr_api.g_varchar2) OR
2486 	(P_GL_CCRL_SEGMENT6  <> hr_api.g_varchar2) OR
2487 	(P_GL_CCRL_SEGMENT7  <> hr_api.g_varchar2) OR
2488 	(P_GL_CCRL_SEGMENT8  <> hr_api.g_varchar2) OR
2489 	(P_GL_CCRL_SEGMENT9  <> hr_api.g_varchar2) OR
2490 	(P_GL_CCRL_SEGMENT10 <> hr_api.g_varchar2) OR
2491 	(P_GL_CCRL_SEGMENT11 <> hr_api.g_varchar2) OR
2492 	(P_GL_CCRL_SEGMENT12 <> hr_api.g_varchar2) OR
2493 	(P_GL_CCRL_SEGMENT13 <> hr_api.g_varchar2) OR
2494 	(P_GL_CCRL_SEGMENT14 <> hr_api.g_varchar2) OR
2495 	(P_GL_CCRL_SEGMENT15 <> hr_api.g_varchar2) OR
2496 	(P_GL_CCRL_SEGMENT16 <> hr_api.g_varchar2) OR
2497 	(P_GL_CCRL_SEGMENT17 <> hr_api.g_varchar2) OR
2498 	(P_GL_CCRL_SEGMENT18 <> hr_api.g_varchar2) OR
2499 	(P_GL_CCRL_SEGMENT19 <> hr_api.g_varchar2) OR
2500 	(P_GL_CCRL_SEGMENT20 <> hr_api.g_varchar2) OR
2501 	(P_GL_CCRL_SEGMENT21 <> hr_api.g_varchar2) OR
2502 	(P_GL_CCRL_SEGMENT22 <> hr_api.g_varchar2) OR
2503 	(P_GL_CCRL_SEGMENT23 <> hr_api.g_varchar2) OR
2504 	(P_GL_CCRL_SEGMENT24 <> hr_api.g_varchar2) OR
2505 	(P_GL_CCRL_SEGMENT25 <> hr_api.g_varchar2) OR
2506 	(P_GL_CCRL_SEGMENT26 <> hr_api.g_varchar2) OR
2507 	(P_GL_CCRL_SEGMENT27 <> hr_api.g_varchar2) OR
2508 	(P_GL_CCRL_SEGMENT28 <> hr_api.g_varchar2) OR
2509 	(P_GL_CCRL_SEGMENT29 <> hr_api.g_varchar2) OR
2510 	(P_GL_CCRL_SEGMENT30 <> hr_api.g_varchar2) OR
2511 	(P_GL_CCRL_CONCAT_SEGMENTS <> hr_api.g_varchar2)) then
2512 	--
2513 		if l_key_flex_id is not null then
2514 		--
2515 			hr_kflex_utility.upd_or_sel_keyflex_comb
2516 			(p_appl_short_name       => 'SQLGL'
2517 			,p_flex_code             => 'GL#'
2518 			,p_flex_num              => l_key_flex_id
2519 			,p_segment1              => p_gl_ccrl_segment1
2520 			,p_segment2              => p_gl_ccrl_segment2
2521 			,p_segment3              => p_gl_ccrl_segment3
2522 			,p_segment4              => p_gl_ccrl_segment4
2523 			,p_segment5              => p_gl_ccrl_segment5
2524 			,p_segment6              => p_gl_ccrl_segment6
2525 			,p_segment7              => p_gl_ccrl_segment7
2526 			,p_segment8              => p_gl_ccrl_segment8
2527 			,p_segment9              => p_gl_ccrl_segment9
2528 			,p_segment10             => p_gl_ccrl_segment10
2529 			,p_segment11             => p_gl_ccrl_segment11
2530 			,p_segment12             => p_gl_ccrl_segment12
2531 			,p_segment13             => p_gl_ccrl_segment13
2532 			,p_segment14             => p_gl_ccrl_segment14
2533 			,p_segment15		 => p_gl_ccrl_segment15
2534 			,p_segment16             => p_gl_ccrl_segment16
2535 			,p_segment17             => p_gl_ccrl_segment17
2536 			,p_segment18             => p_gl_ccrl_segment18
2537 			,p_segment19             => p_gl_ccrl_segment19
2538 			,p_segment20             => p_gl_ccrl_segment20
2539 			,p_segment21             => p_gl_ccrl_segment21
2540 			,p_segment22             => p_gl_ccrl_segment22
2541 			,p_segment23             => p_gl_ccrl_segment23
2542 			,p_segment24             => p_gl_ccrl_segment24
2543 			,p_segment25             => p_gl_ccrl_segment25
2544 			,p_segment26             => p_gl_ccrl_segment26
2545 			,p_segment27             => p_gl_ccrl_segment27
2546 			,p_segment28             => p_gl_ccrl_segment28
2547 			,p_segment29             => p_gl_ccrl_segment29
2548 			,p_segment30             => p_gl_ccrl_segment30
2549 			,p_concat_segments_in    => p_gl_ccrl_concat_segments
2550 			,p_ccid                  => l_gl_cash_clearing_ac_id
2551 			,p_concat_segments_out   => l_gl_csh_clr_concat_segment
2552 			);
2553 		--
2554 		end if;
2555 	--
2556 	end if;
2557 	--
2558 	hr_utility.set_location('Before Determining Error A/C id : '||l_proc, 50);
2559 	--
2560 	if ((P_GL_ERR_SEGMENT1  <> hr_api.g_varchar2) OR
2561 	(P_GL_ERR_SEGMENT2  <> hr_api.g_varchar2) OR
2562 	(P_GL_ERR_SEGMENT3  <> hr_api.g_varchar2) OR
2563 	(P_GL_ERR_SEGMENT4  <> hr_api.g_varchar2) OR
2564 	(P_GL_ERR_SEGMENT5  <> hr_api.g_varchar2) OR
2565 	(P_GL_ERR_SEGMENT6  <> hr_api.g_varchar2) OR
2566 	(P_GL_ERR_SEGMENT7  <> hr_api.g_varchar2) OR
2567 	(P_GL_ERR_SEGMENT8  <> hr_api.g_varchar2) OR
2568 	(P_GL_ERR_SEGMENT9  <> hr_api.g_varchar2) OR
2569 	(P_GL_ERR_SEGMENT10 <> hr_api.g_varchar2) OR
2570 	(P_GL_ERR_SEGMENT11 <> hr_api.g_varchar2) OR
2571 	(P_GL_ERR_SEGMENT12 <> hr_api.g_varchar2) OR
2572 	(P_GL_ERR_SEGMENT13 <> hr_api.g_varchar2) OR
2573 	(P_GL_ERR_SEGMENT14 <> hr_api.g_varchar2) OR
2574 	(P_GL_ERR_SEGMENT15 <> hr_api.g_varchar2) OR
2575 	(P_GL_ERR_SEGMENT16 <> hr_api.g_varchar2) OR
2576 	(P_GL_ERR_SEGMENT17 <> hr_api.g_varchar2) OR
2577 	(P_GL_ERR_SEGMENT18 <> hr_api.g_varchar2) OR
2578 	(P_GL_ERR_SEGMENT19 <> hr_api.g_varchar2) OR
2579 	(P_GL_ERR_SEGMENT20 <> hr_api.g_varchar2) OR
2580 	(P_GL_ERR_SEGMENT21 <> hr_api.g_varchar2) OR
2581 	(P_GL_ERR_SEGMENT22 <> hr_api.g_varchar2) OR
2582 	(P_GL_ERR_SEGMENT23 <> hr_api.g_varchar2) OR
2583 	(P_GL_ERR_SEGMENT24 <> hr_api.g_varchar2) OR
2584 	(P_GL_ERR_SEGMENT25 <> hr_api.g_varchar2) OR
2585 	(P_GL_ERR_SEGMENT26 <> hr_api.g_varchar2) OR
2586 	(P_GL_ERR_SEGMENT27 <> hr_api.g_varchar2) OR
2587 	(P_GL_ERR_SEGMENT28 <> hr_api.g_varchar2) OR
2588 	(P_GL_ERR_SEGMENT29 <> hr_api.g_varchar2) OR
2589 	(P_GL_ERR_SEGMENT30 <> hr_api.g_varchar2) OR
2590 	(P_GL_ERR_CONCAT_SEGMENTS <> hr_api.g_varchar2)) then
2591 	--
2592 		if l_key_flex_id is not null then
2593 		--
2594 			hr_kflex_utility.upd_or_sel_keyflex_comb
2595 			(p_appl_short_name       => 'SQLGL'
2596 			,p_flex_code             => 'GL#'
2597 			,p_flex_num              => l_key_flex_id
2598 			,p_segment1              => p_gl_err_segment1
2599 			,p_segment2              => p_gl_err_segment2
2600 			,p_segment3              => p_gl_err_segment3
2601 			,p_segment4              => p_gl_err_segment4
2602 			,p_segment5              => p_gl_err_segment5
2603 			,p_segment6              => p_gl_err_segment6
2604 			,p_segment7              => p_gl_err_segment7
2605 			,p_segment8              => p_gl_err_segment8
2606 			,p_segment9              => p_gl_err_segment9
2607 			,p_segment10             => p_gl_err_segment10
2608 			,p_segment11             => p_gl_err_segment11
2609 			,p_segment12             => p_gl_err_segment12
2610 			,p_segment13             => p_gl_err_segment13
2611 			,p_segment14             => p_gl_err_segment14
2612 			,p_segment15             => p_gl_err_segment15
2613 			,p_segment16             => p_gl_err_segment16
2614 			,p_segment17             => p_gl_err_segment17
2615 			,p_segment18             => p_gl_err_segment18
2616 		        ,p_segment19		 => p_gl_err_segment19
2617 			,p_segment20             => p_gl_err_segment20
2618 			,p_segment21             => p_gl_err_segment21
2619 			,p_segment22             => p_gl_err_segment22
2620 			,p_segment23             => p_gl_err_segment23
2621 			,p_segment24             => p_gl_err_segment24
2622 			,p_segment25             => p_gl_err_segment25
2623 			,p_segment26             => p_gl_err_segment26
2624 			,p_segment27             => p_gl_err_segment27
2625 			,p_segment28             => p_gl_err_segment28
2626 			,p_segment29             => p_gl_err_segment29
2627 			,p_segment30             => p_gl_err_segment30
2628 			,p_concat_segments_in    => p_gl_err_concat_segments
2629 			,p_ccid                  => l_gl_error_ac_id
2630 			,p_concat_segments_out   => l_gl_error_concat_segment
2631 			);
2632 		--
2633 		end if;
2634 	--
2635 	end if;
2636 	--
2637   --
2638   end if; -- For set of books id is not null
2639   --
2640   --
2641   open csr_currency_code(p_org_payment_method_id);
2642   fetch csr_currency_code into l_currency_code;
2643   if (csr_currency_code%notfound) then
2644      close csr_currency_code;
2645      fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
2646      fnd_message.set_token('COLUMN_NAME', 'ORG_PAYMENT_METHOD_ID');
2647      fnd_message.raise_error;
2648   end if;
2649   close csr_currency_code;
2650   if (p_currency_code is not null) then
2651      l_currency_code := p_currency_code;
2652   end if;
2653   --
2654   hr_utility.set_location('Validation for Sychrinizing A/Cids with flags : '||l_proc, 55);
2655   -- Validation for the cost and cost cleared payments.
2656   -- If the cost cleared payment is set to 'Y' then all the Cash, Cash Clearing,
2657   -- Control and Error A/Cs should be specified.
2658   -- If the cost cleared or cost payment is set then Cash and Cash Clearing A/Cs
2659   -- should be there.
2660   --
2661   open csr_get_cst_cstclr_flags(p_org_payment_method_id, l_effective_date);
2662   fetch csr_get_cst_cstclr_flags into l_cst_flag, l_cstclr_flag;
2663   if (csr_get_cst_cstclr_flags%notfound) then
2664      close csr_get_cst_cstclr_flags;
2665      fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
2666      fnd_message.set_token('COLUMN_NAME', 'ORG_PAYMENT_METHOD_ID');
2667      fnd_message.raise_error;
2668   end if;
2669   close csr_get_cst_cstclr_flags;
2670 
2671   if(p_cost_payment is not null) then
2672 	if (p_cost_payment <> hr_api.g_varchar2) then
2673 		l_cst_flag := p_cost_payment;
2674 	end if;
2675   else
2676 	l_cst_flag := null;
2677   end if;
2678 
2679   if (p_cost_cleared_payment is not null) then
2680 	if (p_cost_cleared_payment <> hr_api.g_varchar2) then
2681 		l_cstclr_flag := p_cost_cleared_payment;
2682 	end if;
2683   else
2684 	l_cstclr_flag := null;
2685   end if;
2686 
2687   if (l_cstclr_flag = 'Y') and (l_gl_cash_ac_id is null or
2688 				l_gl_cash_clearing_ac_id is null or
2689 				l_gl_control_ac_id is null or
2690 				l_gl_error_ac_id is null) then
2691      fnd_message.set_name('PAY', 'PAY_33420_INV_CSTCLR_IDS');
2692      fnd_message.raise_error;
2693   elsif (l_cst_flag = 'Y' ) and (l_gl_cash_ac_id is null or
2694 			     l_gl_cash_clearing_ac_id is null) then
2695      fnd_message.set_name('PAY', 'PAY_33421_INV_CST_IDS');
2696      fnd_message.raise_error;
2697   end if;
2698   --
2699   hr_utility.set_location('Before Row Handler of OPM : '||l_proc, 60);
2700   --
2701   pay_opm_upd.upd
2702       (p_effective_date                => l_effective_date
2703       ,p_datetrack_mode                => p_datetrack_update_mode
2704       ,p_org_payment_method_id         => p_org_payment_method_id
2705       ,p_object_version_number         => l_object_version_number
2706       ,p_external_account_id           => l_external_account_id
2707       ,p_currency_code                 => l_currency_code
2708       ,p_comments                      => p_comments
2709       ,p_attribute_category            => p_attribute_category
2710       ,p_attribute1                    => p_attribute1
2711       ,p_attribute2                    => p_attribute2
2712       ,p_attribute3                    => p_attribute3
2713       ,p_attribute4                    => p_attribute4
2714       ,p_attribute5                    => p_attribute5
2715       ,p_attribute6                    => p_attribute6
2716       ,p_attribute7                    => p_attribute7
2717       ,p_attribute8                    => p_attribute8
2718       ,p_attribute9                    => p_attribute9
2719       ,p_attribute10                   => p_attribute10
2720       ,p_attribute11                   => p_attribute11
2721       ,p_attribute12                   => p_attribute12
2722       ,p_attribute13                   => p_attribute13
2723       ,p_attribute14                   => p_attribute14
2724       ,p_attribute15                   => p_attribute15
2725       ,p_attribute16                   => p_attribute16
2726       ,p_attribute17                   => p_attribute17
2727       ,p_attribute18                   => p_attribute18
2728       ,p_attribute19                   => p_attribute19
2729       ,p_attribute20                   => p_attribute20
2730       ,p_pmeth_information_category    => l_pmeth_information_category
2731       ,p_pmeth_information1            => p_pmeth_information1
2732       ,p_pmeth_information2            => p_pmeth_information2
2733       ,p_pmeth_information3            => p_pmeth_information3
2734       ,p_pmeth_information4            => p_pmeth_information4
2735       ,p_pmeth_information5            => p_pmeth_information5
2736       ,p_pmeth_information6            => p_pmeth_information6
2737       ,p_pmeth_information7            => p_pmeth_information7
2738       ,p_pmeth_information8            => p_pmeth_information8
2739       ,p_pmeth_information9            => p_pmeth_information9
2740       ,p_pmeth_information10           => p_pmeth_information10
2741       ,p_pmeth_information11           => p_pmeth_information11
2742       ,p_pmeth_information12           => p_pmeth_information12
2743       ,p_pmeth_information13           => p_pmeth_information13
2744       ,p_pmeth_information14           => p_pmeth_information14
2745       ,p_pmeth_information15           => p_pmeth_information15
2746       ,p_pmeth_information16           => p_pmeth_information16
2747       ,p_pmeth_information17           => p_pmeth_information17
2748       ,p_pmeth_information18           => p_pmeth_information18
2749       ,p_pmeth_information19           => p_pmeth_information19
2750       ,p_pmeth_information20           => p_pmeth_information20
2751       ,p_TRANSFER_TO_GL_FLAG           => p_TRANSFER_TO_GL_FLAG
2752       ,p_cost_payment                  => p_cost_payment
2753       ,p_cost_cleared_payment          => p_cost_cleared_payment
2754       ,p_cost_cleared_void_payment     => p_cost_cleared_void_payment
2755       ,p_exclude_manual_payment        => p_exclude_manual_payment
2756       ,p_effective_start_date          => l_effective_start_date
2757       ,p_effective_end_date            => l_effective_end_date
2758       ,p_comment_id                    => l_comment_id
2759       );
2760   --
2761   pay_opt_upd.upd_tl
2762       (p_language_code                  => l_language_code
2763       ,p_org_payment_method_id          => p_org_payment_method_id
2764       ,p_org_payment_method_name        => p_org_payment_method_name
2765       );
2766   --
2767   hr_utility.set_location('Before Updating Bank Accounts : '||l_proc, 65);
2768   -- Updating the ap_bank_accounts_all
2769   if (pay_ce_support_pkg.pay_and_ce_licensed) then
2770   --
2771 
2772      --   Bug No. 4644827
2773      --   for r11.5 the same functionality is done through database trigger. Code
2774      --   is for R12
2775           IF l_external_account_id IS NOT NULL THEN
2776              pay_maintain_bank_acct.update_payroll_bank_acct(
2777             	      p_bank_account_id     => p_bank_account_id,
2778                       p_external_account_id =>l_external_account_id,
2779 		      p_org_payment_method_id => p_org_payment_method_id);
2780           end if;
2781 
2782 
2783 	if (l_asset_code_changed) then
2784         --
2785           --Bug No. 4644827
2786           pay_maintain_bank_acct.update_asset_ccid(
2787                    p_assest_ccid              =>l_ASSET_CODE_COMBINATION_ID,
2788                    p_set_of_books_id          =>l_set_of_books_id,
2789                    p_external_account_id      =>l_external_account_id
2790                    );
2791         --
2792 	else
2793         --
2794           --Bug No. 4644827
2795           pay_maintain_bank_acct.update_asset_ccid(
2796                    p_assest_ccid              =>null,
2797                    p_set_of_books_id          =>l_set_of_books_id,
2798                    p_external_account_id      =>l_external_account_id
2799                    );
2800 
2801         --
2802         end if;
2803      --
2804      -- removing any redundant bank details within ap.
2805      --
2806 	if (l_external_account_id <> hr_api.g_number) then
2807             --Bug No. 4644827
2808   	    pay_maintain_bank_acct.remove_redundant_bank_detail;
2809 	end if;
2810      --
2811   end if;
2812 
2813   hr_utility.set_location('Before Updating GL Accounts : '||l_proc, 70);
2814   PAY_PAYMENT_GL_ACCOUNTS_PKG.UPDATE_ROW
2815    ( P_EFFECTIVE_START_DATE => l_effective_start_date,
2816      P_EFFECTIVE_END_DATE   => l_effective_end_date,
2817      P_SET_OF_BOOKS_ID      => l_set_of_books_id,
2818      P_GL_CASH_AC_ID        => l_gl_cash_ac_id,
2819      P_GL_CASH_CLEARING_AC_ID => l_gl_cash_clearing_ac_id,
2820      P_GL_CONTROL_AC_ID       => l_gl_control_ac_id,
2821      P_GL_ERROR_AC_ID         => l_gl_error_ac_id,
2822      P_EXTERNAL_ACCOUNT_ID    => l_external_account_id,
2823      P_ORG_PAYMENT_METHOD_ID  => p_org_payment_method_id,
2824      P_DT_UPDATE_MODE         => P_DATETRACK_UPDATE_MODE,
2825      P_DEFAULT_GL_ACCOUNT     => p_default_gl_account,
2826      P_PAY_GL_ACCOUNT_ID_OUT  => l_pay_gl_account_id_out
2827    );
2828 
2829   --
2830   --
2831   -- Call After Process User Hook
2832   --
2833   begin
2834     pay_org_payment_method_bk2.update_org_payment_method_a
2835       (P_EFFECTIVE_DATE                 => l_EFFECTIVE_DATE
2836       ,P_DATETRACK_UPDATE_MODE          => P_DATETRACK_UPDATE_MODE
2837       ,P_LANGUAGE_CODE                  => l_LANGUAGE_CODE
2838       ,P_ORG_PAYMENT_METHOD_ID          => P_ORG_PAYMENT_METHOD_ID
2839       ,P_OBJECT_VERSION_NUMBER          => l_OBJECT_VERSION_NUMBER
2840       ,P_ORG_PAYMENT_METHOD_NAME        => P_ORG_PAYMENT_METHOD_NAME
2841       ,P_CURRENCY_CODE                  => l_CURRENCY_CODE
2842       ,P_ATTRIBUTE_CATEGORY             => P_ATTRIBUTE_CATEGORY
2843       ,P_ATTRIBUTE1                     => P_ATTRIBUTE1
2844       ,P_ATTRIBUTE2                     => P_ATTRIBUTE2
2845       ,P_ATTRIBUTE3                     => P_ATTRIBUTE3
2846       ,P_ATTRIBUTE4                     => P_ATTRIBUTE4
2847       ,P_ATTRIBUTE5                     => P_ATTRIBUTE5
2848       ,P_ATTRIBUTE6                     => P_ATTRIBUTE6
2849       ,P_ATTRIBUTE7                     => P_ATTRIBUTE7
2850       ,P_ATTRIBUTE8                     => P_ATTRIBUTE8
2851       ,P_ATTRIBUTE9                     => P_ATTRIBUTE9
2852       ,P_ATTRIBUTE10                    => P_ATTRIBUTE10
2853       ,P_ATTRIBUTE11                    => P_ATTRIBUTE11
2854       ,P_ATTRIBUTE12                    => P_ATTRIBUTE12
2855       ,P_ATTRIBUTE13                    => P_ATTRIBUTE13
2856       ,P_ATTRIBUTE14                    => P_ATTRIBUTE14
2857       ,P_ATTRIBUTE15                    => P_ATTRIBUTE15
2858       ,P_ATTRIBUTE16                    => P_ATTRIBUTE16
2859       ,P_ATTRIBUTE17                    => P_ATTRIBUTE17
2860       ,P_ATTRIBUTE18                    => P_ATTRIBUTE18
2861       ,P_ATTRIBUTE19                    => P_ATTRIBUTE19
2862       ,P_ATTRIBUTE20                    => P_ATTRIBUTE20
2863 --      ,P_PMETH_INFORMATION_CATEGORY     => P_PMETH_INFORMATION_CATEGORY
2864       ,P_PMETH_INFORMATION1             => P_PMETH_INFORMATION1
2865       ,P_PMETH_INFORMATION2             => P_PMETH_INFORMATION2
2866       ,P_PMETH_INFORMATION3             => P_PMETH_INFORMATION3
2867       ,P_PMETH_INFORMATION4             => P_PMETH_INFORMATION4
2868       ,P_PMETH_INFORMATION5             => P_PMETH_INFORMATION5
2869       ,P_PMETH_INFORMATION6             => P_PMETH_INFORMATION6
2870       ,P_PMETH_INFORMATION7             => P_PMETH_INFORMATION7
2871       ,P_PMETH_INFORMATION8             => P_PMETH_INFORMATION8
2872       ,P_PMETH_INFORMATION9             => P_PMETH_INFORMATION9
2873       ,P_PMETH_INFORMATION10            => P_PMETH_INFORMATION10
2874       ,P_PMETH_INFORMATION11            => P_PMETH_INFORMATION11
2875       ,P_PMETH_INFORMATION12            => P_PMETH_INFORMATION12
2876       ,P_PMETH_INFORMATION13            => P_PMETH_INFORMATION13
2877       ,P_PMETH_INFORMATION14            => P_PMETH_INFORMATION14
2878       ,P_PMETH_INFORMATION15            => P_PMETH_INFORMATION15
2879       ,P_PMETH_INFORMATION16            => P_PMETH_INFORMATION16
2880       ,P_PMETH_INFORMATION17            => P_PMETH_INFORMATION17
2881       ,P_PMETH_INFORMATION18            => P_PMETH_INFORMATION18
2882       ,P_PMETH_INFORMATION19            => P_PMETH_INFORMATION19
2883       ,P_PMETH_INFORMATION20            => P_PMETH_INFORMATION20
2884       ,P_COMMENTS                       => P_COMMENTS
2885       ,P_SEGMENT1                       => P_SEGMENT1
2886       ,P_SEGMENT2                       => P_SEGMENT2
2887       ,P_SEGMENT3                       => P_SEGMENT3
2888       ,P_SEGMENT4                       => P_SEGMENT4
2889       ,P_SEGMENT5                       => P_SEGMENT5
2890       ,P_SEGMENT6                       => P_SEGMENT6
2891       ,P_SEGMENT7                       => P_SEGMENT7
2892       ,P_SEGMENT8                       => P_SEGMENT8
2893       ,P_SEGMENT9                       => P_SEGMENT9
2894       ,P_SEGMENT10                      => P_SEGMENT10
2895       ,P_SEGMENT11                      => P_SEGMENT11
2896       ,P_SEGMENT12                      => P_SEGMENT12
2897       ,P_SEGMENT13                      => P_SEGMENT13
2898       ,P_SEGMENT14                      => P_SEGMENT14
2899       ,P_SEGMENT15                      => P_SEGMENT15
2900       ,P_SEGMENT16                      => P_SEGMENT16
2901       ,P_SEGMENT17                      => P_SEGMENT17
2902       ,P_SEGMENT18                      => P_SEGMENT18
2903       ,P_SEGMENT19                      => P_SEGMENT19
2904       ,P_SEGMENT20                      => P_SEGMENT20
2905       ,P_SEGMENT21                      => P_SEGMENT21
2906       ,P_SEGMENT22                      => P_SEGMENT22
2907       ,P_SEGMENT23                      => P_SEGMENT23
2908       ,P_SEGMENT24                      => P_SEGMENT24
2909       ,P_SEGMENT25                      => P_SEGMENT25
2910       ,P_SEGMENT26                      => P_SEGMENT26
2911       ,P_SEGMENT27                      => P_SEGMENT27
2912       ,P_SEGMENT28                      => P_SEGMENT28
2913       ,P_SEGMENT29                      => P_SEGMENT29
2914       ,P_SEGMENT30                      => P_SEGMENT30
2915       ,P_CONCAT_SEGMENTS                => P_CONCAT_SEGMENTS
2916       ,P_GL_SEGMENT1                    => P_GL_SEGMENT1
2917       ,P_GL_SEGMENT2                    => P_GL_SEGMENT2
2918       ,P_GL_SEGMENT3                    => P_GL_SEGMENT3
2919       ,P_GL_SEGMENT4                    => P_GL_SEGMENT4
2920       ,P_GL_SEGMENT5                    => P_GL_SEGMENT5
2921       ,P_GL_SEGMENT6                    => P_GL_SEGMENT6
2922       ,P_GL_SEGMENT7                    => P_GL_SEGMENT7
2923       ,P_GL_SEGMENT8                    => P_GL_SEGMENT8
2924       ,P_GL_SEGMENT9                    => P_GL_SEGMENT9
2925       ,P_GL_SEGMENT10                   => P_GL_SEGMENT10
2926       ,P_GL_SEGMENT11                   => P_GL_SEGMENT11
2927       ,P_GL_SEGMENT12                   => P_GL_SEGMENT12
2928       ,P_GL_SEGMENT13                   => P_GL_SEGMENT13
2929       ,P_GL_SEGMENT14                   => P_GL_SEGMENT14
2930       ,P_GL_SEGMENT15                   => P_GL_SEGMENT15
2931       ,P_GL_SEGMENT16                   => P_GL_SEGMENT16
2932       ,P_GL_SEGMENT17                   => P_GL_SEGMENT17
2933       ,P_GL_SEGMENT18                   => P_GL_SEGMENT18
2934       ,P_GL_SEGMENT19                   => P_GL_SEGMENT19
2935       ,P_GL_SEGMENT20                   => P_GL_SEGMENT20
2936       ,P_GL_SEGMENT21                   => P_GL_SEGMENT21
2937       ,P_GL_SEGMENT22                   => P_GL_SEGMENT22
2938       ,P_GL_SEGMENT23                   => P_GL_SEGMENT23
2939       ,P_GL_SEGMENT24                   => P_GL_SEGMENT24
2940       ,P_GL_SEGMENT25                   => P_GL_SEGMENT25
2941       ,P_GL_SEGMENT26                   => P_GL_SEGMENT26
2942       ,P_GL_SEGMENT27                   => P_GL_SEGMENT27
2943       ,P_GL_SEGMENT28                   => P_GL_SEGMENT28
2944       ,P_GL_SEGMENT29                   => P_GL_SEGMENT29
2945       ,P_GL_SEGMENT30                   => P_GL_SEGMENT30
2946       ,P_GL_CONCAT_SEGMENTS             => P_GL_CONCAT_SEGMENTS
2947       ,P_GL_CTRL_SEGMENT1               => P_GL_CTRL_SEGMENT1
2948       ,P_GL_CTRL_SEGMENT2               => P_GL_CTRL_SEGMENT2
2949       ,P_GL_CTRL_SEGMENT3               => P_GL_CTRL_SEGMENT3
2950       ,P_GL_CTRL_SEGMENT4               => P_GL_CTRL_SEGMENT4
2951       ,P_GL_CTRL_SEGMENT5               => P_GL_CTRL_SEGMENT5
2952       ,P_GL_CTRL_SEGMENT6               => P_GL_CTRL_SEGMENT6
2953       ,P_GL_CTRL_SEGMENT7               => P_GL_CTRL_SEGMENT7
2954       ,P_GL_CTRL_SEGMENT8               => P_GL_CTRL_SEGMENT8
2955       ,P_GL_CTRL_SEGMENT9               => P_GL_CTRL_SEGMENT9
2956       ,P_GL_CTRL_SEGMENT10              => P_GL_CTRL_SEGMENT10
2957       ,P_GL_CTRL_SEGMENT11              => P_GL_CTRL_SEGMENT11
2958       ,P_GL_CTRL_SEGMENT12              => P_GL_CTRL_SEGMENT12
2959       ,P_GL_CTRL_SEGMENT13              => P_GL_CTRL_SEGMENT13
2960       ,P_GL_CTRL_SEGMENT14              => P_GL_CTRL_SEGMENT14
2961       ,P_GL_CTRL_SEGMENT15              => P_GL_CTRL_SEGMENT15
2962       ,P_GL_CTRL_SEGMENT16              => P_GL_CTRL_SEGMENT16
2963       ,P_GL_CTRL_SEGMENT17              => P_GL_CTRL_SEGMENT17
2964       ,P_GL_CTRL_SEGMENT18              => P_GL_CTRL_SEGMENT18
2965       ,P_GL_CTRL_SEGMENT19              => P_GL_CTRL_SEGMENT19
2966       ,P_GL_CTRL_SEGMENT20              => P_GL_CTRL_SEGMENT20
2967       ,P_GL_CTRL_SEGMENT21              => P_GL_CTRL_SEGMENT21
2968       ,P_GL_CTRL_SEGMENT22              => P_GL_CTRL_SEGMENT22
2969       ,P_GL_CTRL_SEGMENT23              => P_GL_CTRL_SEGMENT23
2970       ,P_GL_CTRL_SEGMENT24              => P_GL_CTRL_SEGMENT24
2971       ,P_GL_CTRL_SEGMENT25              => P_GL_CTRL_SEGMENT25
2972       ,P_GL_CTRL_SEGMENT26              => P_GL_CTRL_SEGMENT26
2973       ,P_GL_CTRL_SEGMENT27              => P_GL_CTRL_SEGMENT27
2974       ,P_GL_CTRL_SEGMENT28              => P_GL_CTRL_SEGMENT28
2975       ,P_GL_CTRL_SEGMENT29              => P_GL_CTRL_SEGMENT29
2976       ,P_GL_CTRL_SEGMENT30              => P_GL_CTRL_SEGMENT30
2977       ,P_GL_CTRL_CONCAT_SEGMENTS        => P_GL_CTRL_CONCAT_SEGMENTS
2978       ,P_GL_CCRL_SEGMENT1               => P_GL_CCRL_SEGMENT1
2979       ,P_GL_CCRL_SEGMENT2               => P_GL_CCRL_SEGMENT2
2980       ,P_GL_CCRL_SEGMENT3               => P_GL_CCRL_SEGMENT3
2981       ,P_GL_CCRL_SEGMENT4               => P_GL_CCRL_SEGMENT4
2982       ,P_GL_CCRL_SEGMENT5               => P_GL_CCRL_SEGMENT5
2983       ,P_GL_CCRL_SEGMENT6               => P_GL_CCRL_SEGMENT6
2984       ,P_GL_CCRL_SEGMENT7               => P_GL_CCRL_SEGMENT7
2985       ,P_GL_CCRL_SEGMENT8               => P_GL_CCRL_SEGMENT8
2986       ,P_GL_CCRL_SEGMENT9               => P_GL_CCRL_SEGMENT9
2987       ,P_GL_CCRL_SEGMENT10              => P_GL_CCRL_SEGMENT10
2988       ,P_GL_CCRL_SEGMENT11              => P_GL_CCRL_SEGMENT11
2989       ,P_GL_CCRL_SEGMENT12              => P_GL_CCRL_SEGMENT12
2990       ,P_GL_CCRL_SEGMENT13              => P_GL_CCRL_SEGMENT13
2991       ,P_GL_CCRL_SEGMENT14              => P_GL_CCRL_SEGMENT14
2992       ,P_GL_CCRL_SEGMENT15              => P_GL_CCRL_SEGMENT15
2993       ,P_GL_CCRL_SEGMENT16              => P_GL_CCRL_SEGMENT16
2994       ,P_GL_CCRL_SEGMENT17              => P_GL_CCRL_SEGMENT17
2995       ,P_GL_CCRL_SEGMENT18              => P_GL_CCRL_SEGMENT18
2996       ,P_GL_CCRL_SEGMENT19              => P_GL_CCRL_SEGMENT19
2997       ,P_GL_CCRL_SEGMENT20              => P_GL_CCRL_SEGMENT20
2998       ,P_GL_CCRL_SEGMENT21              => P_GL_CCRL_SEGMENT21
2999       ,P_GL_CCRL_SEGMENT22              => P_GL_CCRL_SEGMENT22
3000       ,P_GL_CCRL_SEGMENT23              => P_GL_CCRL_SEGMENT23
3001       ,P_GL_CCRL_SEGMENT24              => P_GL_CCRL_SEGMENT24
3002       ,P_GL_CCRL_SEGMENT25              => P_GL_CCRL_SEGMENT25
3003       ,P_GL_CCRL_SEGMENT26              => P_GL_CCRL_SEGMENT26
3004       ,P_GL_CCRL_SEGMENT27              => P_GL_CCRL_SEGMENT27
3005       ,P_GL_CCRL_SEGMENT28              => P_GL_CCRL_SEGMENT28
3006       ,P_GL_CCRL_SEGMENT29              => P_GL_CCRL_SEGMENT29
3007       ,P_GL_CCRL_SEGMENT30              => P_GL_CCRL_SEGMENT30
3008       ,P_GL_CCRL_CONCAT_SEGMENTS        => P_GL_CCRL_CONCAT_SEGMENTS
3009       ,P_GL_ERR_SEGMENT1                => P_GL_ERR_SEGMENT1
3010       ,P_GL_ERR_SEGMENT2                => P_GL_ERR_SEGMENT2
3011       ,P_GL_ERR_SEGMENT3                => P_GL_ERR_SEGMENT3
3012       ,P_GL_ERR_SEGMENT4                => P_GL_ERR_SEGMENT4
3013       ,P_GL_ERR_SEGMENT5                => P_GL_ERR_SEGMENT5
3014       ,P_GL_ERR_SEGMENT6                => P_GL_ERR_SEGMENT6
3015       ,P_GL_ERR_SEGMENT7                => P_GL_ERR_SEGMENT7
3016       ,P_GL_ERR_SEGMENT8                => P_GL_ERR_SEGMENT8
3017       ,P_GL_ERR_SEGMENT9                => P_GL_ERR_SEGMENT9
3018       ,P_GL_ERR_SEGMENT10               => P_GL_ERR_SEGMENT10
3019       ,P_GL_ERR_SEGMENT11               => P_GL_ERR_SEGMENT11
3020       ,P_GL_ERR_SEGMENT12               => P_GL_ERR_SEGMENT12
3021       ,P_GL_ERR_SEGMENT13               => P_GL_ERR_SEGMENT13
3022       ,P_GL_ERR_SEGMENT14               => P_GL_ERR_SEGMENT14
3023       ,P_GL_ERR_SEGMENT15               => P_GL_ERR_SEGMENT15
3024       ,P_GL_ERR_SEGMENT16               => P_GL_ERR_SEGMENT16
3025       ,P_GL_ERR_SEGMENT17               => P_GL_ERR_SEGMENT17
3026       ,P_GL_ERR_SEGMENT18               => P_GL_ERR_SEGMENT18
3027       ,P_GL_ERR_SEGMENT19               => P_GL_ERR_SEGMENT19
3028       ,P_GL_ERR_SEGMENT20               => P_GL_ERR_SEGMENT20
3029       ,P_GL_ERR_SEGMENT21               => P_GL_ERR_SEGMENT21
3030       ,P_GL_ERR_SEGMENT22               => P_GL_ERR_SEGMENT22
3031       ,P_GL_ERR_SEGMENT23               => P_GL_ERR_SEGMENT23
3032       ,P_GL_ERR_SEGMENT24               => P_GL_ERR_SEGMENT24
3033       ,P_GL_ERR_SEGMENT25               => P_GL_ERR_SEGMENT25
3034       ,P_GL_ERR_SEGMENT26               => P_GL_ERR_SEGMENT26
3035       ,P_GL_ERR_SEGMENT27               => P_GL_ERR_SEGMENT27
3036       ,P_GL_ERR_SEGMENT28               => P_GL_ERR_SEGMENT28
3037       ,P_GL_ERR_SEGMENT29               => P_GL_ERR_SEGMENT29
3038       ,P_GL_ERR_SEGMENT30               => P_GL_ERR_SEGMENT30
3039       ,P_GL_ERR_CONCAT_SEGMENTS         => P_GL_ERR_CONCAT_SEGMENTS
3040       ,P_SETS_OF_BOOK_ID                => P_SETS_OF_BOOK_ID
3041       ,P_EFFECTIVE_START_DATE           => l_EFFECTIVE_START_DATE
3042       ,P_EFFECTIVE_END_DATE             => l_EFFECTIVE_END_DATE
3043       ,P_ASSET_CODE_COMBINATION_ID      => l_ASSET_CODE_COMBINATION_ID
3044       ,P_COMMENT_ID                     => l_COMMENT_ID
3045       ,P_EXTERNAL_ACCOUNT_ID            => l_EXTERNAL_ACCOUNT_ID
3046       ,P_TRANSFER_TO_GL_FLAG            => P_TRANSFER_TO_GL_FLAG
3047       ,P_COST_PAYMENT                   => P_COST_PAYMENT
3048       ,P_COST_CLEARED_PAYMENT           => P_COST_CLEARED_PAYMENT
3049       ,P_COST_CLEARED_VOID_PAYMENT      => P_COST_CLEARED_VOID_PAYMENT
3050       ,P_EXCLUDE_MANUAL_PAYMENT         => P_EXCLUDE_MANUAL_PAYMENT
3051       );
3052   exception
3053     when hr_api.cannot_find_prog_unit then
3054       hr_api.cannot_find_prog_unit_error
3055         (p_module_name => 'update_org_payment_method_a'
3056         ,p_hook_type   => 'AP'
3057         );
3058   end;
3059   --
3060   -- When in validation only mode raise the Validate_Enabled exception
3061   --
3062   if p_validate then
3063     raise hr_api.validate_enabled;
3064   end if;
3065   --
3066   -- Set all output arguments
3067   --
3068   p_object_version_number     := l_object_version_number;
3069   p_comment_id                := l_comment_id;
3070   p_external_account_id       := l_external_account_id;
3071   p_effective_start_date      := l_effective_start_date;
3072   p_effective_end_date        := l_effective_end_date;
3073   p_asset_code_combination_id := l_asset_code_combination_id;
3074   --
3075   hr_utility.set_location(' Leaving:'||l_proc, 75);
3076   hr_utility.trace_off;
3077 exception
3078   when hr_api.validate_enabled then
3079     --
3080     -- As the Validate_Enabled exception has been raised
3081     -- we must rollback to the savepoint
3082     --
3083     rollback to update_org_payment_method;
3084     --
3085     -- Only set output warning arguments
3086     -- (Any key or derived arguments must be set to null
3087     -- when validation only mode is being used.)
3088     --
3089     p_comment_id := null;
3090     p_external_account_id := null;
3091     p_effective_start_date := null;
3092     p_effective_end_date := null;
3093     p_asset_code_combination_id := null;
3094     --
3095     hr_utility.set_location(' Leaving:'||l_proc, 80);
3096   when others then
3097     --
3098     -- A validation or unexpected error has occured
3099     --
3100     rollback to update_org_payment_method;
3101     p_comment_id := null;
3102     p_external_account_id := null;
3103     p_effective_start_date := null;
3104     p_effective_end_date := null;
3105     p_asset_code_combination_id := null;
3106     p_object_version_number := l_copy_ov_number;
3107     hr_utility.set_location(' Leaving:'||l_proc, 90);
3108     raise;
3109 end update_org_payment_method;
3110 --
3111 --
3112 -- ----------------------------------------------------------------------------
3113 -- |----------------------< delete_org_payment_method >-----------------------|
3114 -- ----------------------------------------------------------------------------
3115 --
3116 procedure delete_org_payment_method
3117   (P_VALIDATE                      in            boolean  default false
3118   ,P_EFFECTIVE_DATE                in            date
3119   ,P_DATETRACK_DELETE_MODE         in            varchar2
3120   ,P_ORG_PAYMENT_METHOD_ID         in            number
3121   ,P_OBJECT_VERSION_NUMBER         in out nocopy number
3122   ,P_EFFECTIVE_START_DATE             out nocopy date
3123   ,P_EFFECTIVE_END_DATE               out nocopy date
3124   ) is
3125   --
3126   -- Declare cursors and local variables
3127   --
3128   l_proc                      varchar2(72) := g_package||'delete_org_payment_method';
3129   l_effective_start_date      pay_org_payment_methods_f.effective_start_date%TYPE;
3130   l_effective_end_date        pay_org_payment_methods_f.effective_end_date%TYPE;
3131   l_object_version_number     pay_org_payment_methods_f.object_version_number%TYPE;
3132   l_effective_date            date;
3133   l_copy_ov_number            number;
3134   --
3135   --
3136 begin
3137   hr_utility.set_location('Entering:'|| l_proc, 5);
3138   l_copy_ov_number := p_object_version_number;
3139   --
3140   -- Issue a savepoint if operating in validation only mode.
3141   --
3142   savepoint delete_org_payment_method;
3143   --
3144   -- Truncate the time portion from all IN date parameters
3145   --
3146   l_effective_date := trunc(p_effective_date);
3147   l_object_version_number  := p_object_version_number;
3148   --
3149   -- Call Before Process User Hook
3150   --
3151   begin
3152     pay_org_payment_method_bk3.delete_org_payment_method_b
3153       (P_EFFECTIVE_DATE                => l_EFFECTIVE_DATE
3154       ,P_DATETRACK_DELETE_MODE         => P_DATETRACK_DELETE_MODE
3155       ,P_ORG_PAYMENT_METHOD_ID         => P_ORG_PAYMENT_METHOD_ID
3156       ,P_OBJECT_VERSION_NUMBER         => P_OBJECT_VERSION_NUMBER
3157       );
3158   exception
3159     when hr_api.cannot_find_prog_unit then
3160       hr_api.cannot_find_prog_unit_error
3161         (p_module_name => 'delete_org_payment_method_b'
3162         ,p_hook_type   => 'BP'
3163         );
3164   end;
3165   --
3166   --
3167   hr_utility.set_location(l_proc, 7);
3168   --
3169   -- Process Logic
3170   --
3171   if (p_datetrack_delete_mode = hr_api.g_zap) then
3172      --
3173      --  Need to lock main table to maintain the locking ladder order
3174      --
3175      hr_utility.set_location( l_proc, 30);
3176      --
3177      pay_opm_shd.lck
3178        (p_effective_date                   => l_effective_date
3179        ,p_datetrack_mode                   => p_datetrack_delete_mode
3180        ,p_org_payment_method_id            => p_org_payment_method_id
3181        ,p_object_version_number            => p_object_version_number
3182        ,p_validation_start_date            => l_effective_start_date
3183        ,p_validation_end_date              => l_effective_end_date
3184        );
3185      --
3186      --  Remove all matching translation rows
3187      --
3188      hr_utility.set_location( l_proc, 35);
3189      --
3190      pay_opt_del.del_tl
3191        (P_ORG_PAYMENT_METHOD_ID         => P_ORG_PAYMENT_METHOD_ID
3192        );
3193      --
3194   end if;
3195   --
3196   --  Remove non-translated data row
3197   --
3198   hr_utility.set_location( l_proc, 40);
3199   --
3200   pay_opm_del.del
3201     (p_effective_date                   => l_effective_date
3202     ,p_datetrack_mode                   => P_DATETRACK_DELETE_MODE
3203     ,p_org_payment_method_id            => p_org_payment_method_id
3204     ,p_object_version_number            => l_object_version_number
3205     ,p_effective_start_date             => l_effective_start_date
3206     ,p_effective_end_date               => l_effective_end_date
3207     );
3208   --
3209   --
3210   -- removing any redundant bank details within ap.
3211   --
3212   if (pay_ce_support_pkg.pay_and_ce_licensed) then
3213      --Bug No. 4644827
3214      pay_maintain_bank_acct.remove_redundant_bank_detail;
3215   end if;
3216   --
3217   hr_utility.set_location( l_proc, 45);
3218   PAY_PAYMENT_GL_ACCOUNTS_PKG.DELETE_ROW (
3219   p_org_payment_method_id  => p_org_payment_method_id
3220  ,p_effective_date         => l_effective_date
3221  ,p_datetrack_mode         => P_DATETRACK_DELETE_MODE
3222  ,p_org_eff_start_date     => l_effective_start_date
3223  ,p_org_eff_end_date       => l_effective_end_date);
3224   --
3225   hr_utility.set_location(l_proc, 20);
3226   --
3227   --
3228   -- Call After Process User Hook
3229   --
3230   begin
3231     pay_org_payment_method_bk3.delete_org_payment_method_a
3232       (P_EFFECTIVE_DATE                => l_EFFECTIVE_DATE
3233       ,P_DATETRACK_DELETE_MODE         => P_DATETRACK_DELETE_MODE
3234       ,P_ORG_PAYMENT_METHOD_ID         => P_ORG_PAYMENT_METHOD_ID
3235       ,P_OBJECT_VERSION_NUMBER         => l_OBJECT_VERSION_NUMBER
3236       ,P_EFFECTIVE_START_DATE          => l_EFFECTIVE_START_DATE
3237       ,P_EFFECTIVE_END_DATE            => l_EFFECTIVE_END_DATE
3238       );
3239   exception
3240     when hr_api.cannot_find_prog_unit then
3241       hr_api.cannot_find_prog_unit_error
3242         (p_module_name => 'delete_org_payment_method_a'
3243         ,p_hook_type   => 'AP'
3244         );
3245   end;
3246   --
3247   -- When in validation only mode raise the Validate_Enabled exception
3248   --
3249   if p_validate then
3250     raise hr_api.validate_enabled;
3251   end if;
3252   --
3253   -- Set all output arguments
3254   --
3255   p_object_version_number  := l_object_version_number;
3256   p_effective_start_date   := l_effective_start_date;
3257   p_effective_end_date     := l_effective_end_date;
3258   --
3259   hr_utility.set_location(' Leaving:'||l_proc, 21);
3260 exception
3261   when hr_api.validate_enabled then
3262     --
3263     -- As the Validate_Enabled exception has been raised
3264     -- we must rollback to the savepoint
3265     --
3266     ROLLBACK TO delete_org_payment_method;
3267     --
3268     hr_utility.set_location(' Leaving:'||l_proc, 22);
3269   --
3270   when others then
3271   --
3272   --
3273   ROLLBACK TO delete_org_payment_method;
3274   --
3275   p_object_version_number  := l_copy_ov_number;
3276   p_effective_start_date   := null;
3277   p_effective_end_date     := null;
3278   raise;
3279   --
3280 end delete_org_payment_method;
3281 --
3282 --
3283 end PAY_ORG_PAYMENT_METHOD_API;