DBA Data[Home] [Help]

PACKAGE: APPS.IBY_EXT_BANKACCT_PUB

Source


1 PACKAGE IBY_EXT_BANKACCT_PUB AS
2 /*$Header: ibyxbnks.pls 120.11.12010000.6 2009/02/26 09:17:06 vkarlapu ship $*/
3 
4  --
5  -- Declaring Global variables
6  --
7  G_PKG_NAME CONSTANT VARCHAR2(30) := 'IBY_EXT_BANKACCT_PUB';
8 
9  --
10  -- module name used for the application debugging framework
11  --
12  G_DEBUG_MODULE CONSTANT VARCHAR2(100) := 'iby.plsql.IBY_EXT_BANKACCT_PUB';
13 
14 
15  -- Masking character
16  G_MASK_CHARACTER CONSTANT VARCHAR2(1) := 'X';
17  -- Default unmask length
18  G_DEF_UNMASK_LENGTH CONSTANT NUMBER := 4;
19  -- Bank number padd character
20  G_BANK_NUMBER_PAD CONSTANT VARCHAR2(1) := ' ';
21 
22 
23  -------------------------------------------------------------------------
24  -- **Defining all DataStructures required by the APIs**
25  -- The following PL/SQL record/table types are defined
26  -- to store the objects (entities) necessary for the APIs.
27  -------------------------------------------------------------------------
28  --
29  -- Generic Record Types
30  --
31 
32  -- External Bank Record
33   TYPE ExtBank_rec_type IS RECORD (
34     bank_id                     hz_parties.PARTY_ID%TYPE,
35     bank_name                   hz_parties.PARTY_NAME%TYPE,
36     bank_number                 hz_organization_profiles.BANK_OR_BRANCH_NUMBER%TYPE,
37     institution_type            hz_code_assignments.CLASS_CODE%TYPE,
38     country_code                hz_parties.COUNTRY%TYPE,
39     bank_alt_name               hz_parties.ORGANIZATION_NAME_PHONETIC%TYPE,
40     bank_short_name             hz_parties.KNOWN_AS%TYPE,
41     description                 hz_parties.MISSION_STATEMENT%TYPE,
42     tax_payer_id                hz_organization_profiles.JGZZ_FISCAL_CODE%TYPE,
43     tax_registration_number     hz_organization_profiles.TAX_REFERENCE%TYPE,
44     attribute_category          hz_parties.ATTRIBUTE_CATEGORY%TYPE,
45     attribute1                  hz_parties.ATTRIBUTE1%TYPE,
46     attribute2                  hz_parties.ATTRIBUTE2%TYPE,
47     attribute3                  hz_parties.ATTRIBUTE3%TYPE,
48     attribute4                  hz_parties.ATTRIBUTE4%TYPE,
49     attribute5                  hz_parties.ATTRIBUTE5%TYPE,
50     attribute6                  hz_parties.ATTRIBUTE6%TYPE,
51     attribute7                  hz_parties.ATTRIBUTE7%TYPE,
52     attribute8                  hz_parties.ATTRIBUTE8%TYPE,
53     attribute9                  hz_parties.ATTRIBUTE9%TYPE,
54     attribute10                 hz_parties.ATTRIBUTE10%TYPE,
55     attribute11                 hz_parties.ATTRIBUTE11%TYPE,
56     attribute12                 hz_parties.ATTRIBUTE12%TYPE,
57     attribute13                 hz_parties.ATTRIBUTE13%TYPE,
58     attribute14                 hz_parties.ATTRIBUTE14%TYPE,
59     attribute15                 hz_parties.ATTRIBUTE15%TYPE,
60     attribute16                 hz_parties.ATTRIBUTE16%TYPE,
61     attribute17                 hz_parties.ATTRIBUTE17%TYPE,
62     attribute18                 hz_parties.ATTRIBUTE18%TYPE,
63     attribute19                 hz_parties.ATTRIBUTE19%TYPE,
64     attribute20                 hz_parties.ATTRIBUTE20%TYPE,
65     attribute21                 hz_parties.ATTRIBUTE21%TYPE,
66     attribute22                 hz_parties.ATTRIBUTE22%TYPE,
67     attribute23                 hz_parties.ATTRIBUTE23%TYPE,
68     attribute24                 hz_parties.ATTRIBUTE24%TYPE,
69     object_version_number       hz_parties.OBJECT_VERSION_NUMBER%TYPE
70     );
71 
72  -- External Bank Branch Record
73   TYPE ExtBankBranch_rec_type IS RECORD(
74         branch_party_id            hz_parties.PARTY_ID%TYPE,
75         bank_party_id		       hz_parties.PARTY_ID%TYPE,
76         branch_name                hz_parties.PARTY_NAME%TYPE,
77         branch_number              hz_organization_profiles.BANK_OR_BRANCH_NUMBER%TYPE,
78 	    branch_type		           hz_code_assignments.CLASS_CODE%TYPE,
79         alternate_branch_name      hz_parties.ORGANIZATION_NAME_PHONETIC%TYPE,
80         description                hz_parties.MISSION_STATEMENT%TYPE,
81         bic                        hz_contact_points.EFT_SWIFT_CODE%TYPE,
82         eft_number	               hz_contact_points.EFT_USER_NUMBER%TYPE,
83 	    rfc_identifier	           hz_code_assignments.CLASS_CODE%TYPE,
84 	    attribute_category         hz_parties.ATTRIBUTE_CATEGORY%TYPE,
85 	    attribute1                 hz_parties.ATTRIBUTE1%TYPE,
86   	    attribute2                 hz_parties.ATTRIBUTE2%TYPE,
87 	    attribute3                 hz_parties.ATTRIBUTE3%TYPE,
88 	    attribute4                 hz_parties.ATTRIBUTE4%TYPE,
89 	    attribute5                 hz_parties.ATTRIBUTE5%TYPE,
90 	    attribute6                 hz_parties.ATTRIBUTE6%TYPE,
91 	    attribute7                 hz_parties.ATTRIBUTE7%TYPE,
92 	    attribute8                 hz_parties.ATTRIBUTE8%TYPE,
93 	    attribute9                 hz_parties.ATTRIBUTE9%TYPE,
94 	    attribute10                hz_parties.ATTRIBUTE10%TYPE,
95 	    attribute11                hz_parties.ATTRIBUTE11%TYPE,
96 	    attribute12                hz_parties.ATTRIBUTE12%TYPE,
97 	    attribute13                hz_parties.ATTRIBUTE13%TYPE,
98 	    attribute14                hz_parties.ATTRIBUTE14%TYPE,
99 	    attribute15                hz_parties.ATTRIBUTE15%TYPE,
100 	    attribute16                hz_parties.ATTRIBUTE16%TYPE,
101 	    attribute17                hz_parties.ATTRIBUTE17%TYPE,
102 	    attribute18                hz_parties.ATTRIBUTE18%TYPE,
103 	    attribute19                hz_parties.ATTRIBUTE19%TYPE,
104 	    attribute20                hz_parties.ATTRIBUTE20%TYPE,
105 	    attribute21                hz_parties.ATTRIBUTE21%TYPE,
106 	    attribute22                hz_parties.ATTRIBUTE22%TYPE,
107 	    attribute23                hz_parties.ATTRIBUTE23%TYPE,
108 	    attribute24                hz_parties.ATTRIBUTE24%TYPE,
109 	    bch_object_version_number  hz_parties.OBJECT_VERSION_NUMBER%TYPE,
110         typ_object_version_number  hz_code_assignments.OBJECT_VERSION_NUMBER%TYPE,
111 	    rfc_object_version_number  hz_code_assignments.OBJECT_VERSION_NUMBER%TYPE,
112         eft_object_version_number  hz_code_assignments.OBJECT_VERSION_NUMBER%TYPE
113   );
114 
115  -- External Bank Account Record
116   TYPE ExtBankAcct_rec_type IS RECORD (
117     bank_account_id		         iby_ext_bank_accounts.EXT_BANK_ACCOUNT_ID%TYPE,
118     country_code		         iby_ext_bank_accounts.COUNTRY_CODE%TYPE,
119     branch_id			         iby_ext_bank_accounts.BRANCH_ID%TYPE,
120     bank_id			             iby_ext_bank_accounts.BANK_ID%TYPE,
121     acct_owner_party_id          iby_account_owners.ACCOUNT_OWNER_PARTY_ID%TYPE,
122     bank_account_name		     iby_ext_bank_accounts.BANK_ACCOUNT_NAME%TYPE,
123     bank_account_num		     iby_ext_bank_accounts.BANK_ACCOUNT_NUM%TYPE,
124     currency			         iby_ext_bank_accounts.CURRENCY_CODE%TYPE,
125     iban			             iby_ext_bank_accounts.IBAN%TYPE,
126     check_digits		         iby_ext_bank_accounts.CHECK_DIGITS%TYPE,
127     multi_currency_allowed_flag  varchar2(1),
128     alternate_acct_name		     iby_ext_bank_accounts.BANK_ACCOUNT_NAME_ALT%TYPE,
129     short_acct_name              iby_ext_bank_accounts.SHORT_ACCT_NAME%TYPE,
130     acct_type			         iby_ext_bank_accounts.BANK_ACCOUNT_TYPE%TYPE,
131     acct_suffix			         iby_ext_bank_accounts.ACCOUNT_SUFFIX%TYPE,
132     description			         iby_ext_bank_accounts.DESCRIPTION%TYPE,
133     agency_location_code	     iby_ext_bank_accounts.AGENCY_LOCATION_CODE%TYPE,
134     foreign_payment_use_flag	 iby_ext_bank_accounts.FOREIGN_PAYMENT_USE_FLAG%TYPE,
135     exchange_rate_agreement_num  iby_ext_bank_accounts.EXCHANGE_RATE_AGREEMENT_NUM%TYPE,
136     exchange_rate_agreement_type iby_ext_bank_accounts.EXCHANGE_RATE_AGREEMENT_TYPE%TYPE,
137     exchange_rate		         iby_ext_bank_accounts.EXCHANGE_RATE%TYPE,
138     payment_factor_flag		     iby_ext_bank_accounts.PAYMENT_FACTOR_FLAG%TYPE,
139     status                       varchar2(1),
140     end_date                     iby_ext_bank_accounts.END_DATE%TYPE,
141     START_DATE                   iby_ext_bank_accounts.START_DATE%TYPE,
142     hedging_contract_reference   iby_ext_bank_accounts.HEDGING_CONTRACT_REFERENCE%TYPE,
143     attribute_category		     iby_ext_bank_accounts.ATTRIBUTE_CATEGORY%TYPE,
144     attribute1			         iby_ext_bank_accounts.ATTRIBUTE1%TYPE,
145     attribute2			         iby_ext_bank_accounts.ATTRIBUTE2%TYPE,
146     attribute3			         iby_ext_bank_accounts.ATTRIBUTE3%TYPE,
147     attribute4                   iby_ext_bank_accounts.ATTRIBUTE4%TYPE,
148     attribute5                   iby_ext_bank_accounts.ATTRIBUTE5%TYPE,
149     attribute6                   iby_ext_bank_accounts.ATTRIBUTE6%TYPE,
150     attribute7                   iby_ext_bank_accounts.ATTRIBUTE7%TYPE,
151     attribute8                   iby_ext_bank_accounts.ATTRIBUTE8%TYPE,
152     attribute9                   iby_ext_bank_accounts.ATTRIBUTE9%TYPE,
153     attribute10                  iby_ext_bank_accounts.ATTRIBUTE10%TYPE,
154     attribute11                  iby_ext_bank_accounts.ATTRIBUTE11%TYPE,
155     attribute12                  iby_ext_bank_accounts.ATTRIBUTE12%TYPE,
156     attribute13                  iby_ext_bank_accounts.ATTRIBUTE13%TYPE,
157     attribute14                  iby_ext_bank_accounts.ATTRIBUTE14%TYPE,
158     attribute15                  iby_ext_bank_accounts.ATTRIBUTE15%TYPE,
159     object_version_number        iby_ext_bank_accounts.OBJECT_VERSION_NUMBER%TYPE,
160     secondary_account_reference   iby_ext_bank_accounts.SECONDARY_ACCOUNT_REFERENCE%TYPE   -- Bug 7408747(Added New Parameter to save Secondary Account Reference)
161   );
162 
163  -- Intermediary Bank Account Record
164   TYPE IntermediaryAcct_rec_type IS RECORD(
165     intermediary_acct_id        iby_intermediary_accts.INTERMEDIARY_ACCT_ID%TYPE,
166     bank_account_id             iby_intermediary_accts.BANK_ACCT_ID%TYPE,
167 	country_code                iby_intermediary_accts.COUNTRY_CODE%TYPE,
168 	bank_name	                iby_intermediary_accts.BANK_NAME%TYPE,
169 	city                        iby_intermediary_accts.CITY%TYPE,
170 	bank_code                   iby_intermediary_accts.BANK_CODE%TYPE,
171 	branch_number               iby_intermediary_accts.BRANCH_NUMBER%TYPE,
172 	bic                         iby_intermediary_accts.BIC%TYPE,
173 	account_number              iby_intermediary_accts.ACCOUNT_NUMBER%TYPE,
174 	check_digits                iby_intermediary_accts.CHECK_DIGITS%TYPE,
175 	iban                        iby_intermediary_accts.IBAN%TYPE,
176 	comments                    iby_intermediary_accts.COMMENTS%TYPE,
177 	object_version_number       iby_intermediary_accts.OBJECT_VERSION_NUMBER%TYPE
178   );
179 
180   /*======================================================================
181    * APIs defined in this package
182    *
183    *   1. create_ext_bank
184    *   2. update_ext_bank
185    *   3. set_ext_bank_end_date
186    *   4. check_ext_bank_exist
187    *   5. create_bank_branch
188    *   6. update_bank_branch
189    *   7. set_bank_branch_end_date
190    *   8. check_ext_bank_branch_exist
191    *   9. create_ext_bank_acct
192    *  10. update_ext_bank_acct
193    *  11. set_ext_bank_acct_dates
194    *  12. check_ext_acct_exist
195    *  13. get_ext_bank_acct
196    *  14. get_ext_bank_acct
197    *  15. create_intermediary_acct
198    *  16. update_intermediary_acct
199    *  17. add_joint_acct_owner
200    *  18. set_joint_acct_owner_end_date
201    *  19. change_primary_acct_owner
202    +====================================================================*/
203 
204 
205    -- 1. create_ext_bank
206    --
207    --   API name        : create_ext_bank
208    --   Type            : Public
209    --   Pre-reqs        : None
210    --   Function        : Creates an external bank
211    --   Current version : 1.0
212    --   Previous version: 1.0
213    --   Initial version : 1.0
214    --
215    PROCEDURE create_ext_bank (
216     p_api_version              IN  NUMBER,
217 	p_init_msg_list            IN  VARCHAR2 DEFAULT FND_API.G_FALSE,
218 	p_ext_bank_rec             IN  ExtBank_rec_type,
219 	x_bank_id                  OUT NOCOPY NUMBER,
220 	x_return_status            OUT NOCOPY VARCHAR2,
221 	x_msg_count                OUT NOCOPY NUMBER,
222 	x_msg_data                 OUT NOCOPY VARCHAR2,
223 	x_response                 OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
224   );
225 
226 
227    -- 2. update_ext_bank
228    --
229    --   API name        : update_ext_bank
230    --   Type            : Public
231    --   Pre-reqs        : None
232    --   Function        : Updates the external bank
233    --   Current version : 1.0
234    --   Previous version: 1.0
235    --   Initial version : 1.0
236    --
237    PROCEDURE update_ext_bank (
238     p_api_version              IN  NUMBER,
239 	p_init_msg_list            IN  VARCHAR2 DEFAULT FND_API.G_FALSE,
240 	p_ext_bank_rec             IN  ExtBank_rec_type,
241 	x_return_status            OUT NOCOPY VARCHAR2,
242 	x_msg_count                OUT NOCOPY NUMBER,
243 	x_msg_data                 OUT NOCOPY VARCHAR2,
244 	x_response                 OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
245    );
246 
247 
248    -- 3. set_bank_end_date
249    --
250    --   API name        : set_bank_end_date
251    --   Type            : Public
252    --   Pre-reqs        : None
253    --   Function        : Sets the bank end date
254    --   Current version : 1.0
255    --   Previous version: 1.0
256    --   Initial version : 1.0
257    --
258    PROCEDURE set_bank_end_date (
259     p_api_version               IN   NUMBER,
260     p_init_msg_list             IN  VARCHAR2 DEFAULT FND_API.G_FALSE,
261     p_bank_id                   IN   NUMBER,
262     p_end_date                  IN   DATE,
263     x_return_status             OUT NOCOPY VARCHAR2,
264     x_msg_count                 OUT NOCOPY NUMBER,
268 
265     x_msg_data                  OUT NOCOPY VARCHAR2,
266     x_response                  OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
267     );
269 
270   -- 4. check_bank_exist
271   --
272   --   API name        : check_bank_exist
273   --   Type            : Public
274   --   Pre-reqs        : None
275   --   Function        : Checks if the bank exists; bank name/number
276   --                     and country code are used for identity
277   --   Current version : 1.0
278   --   Previous version: 1.0
279   --   Initial version : 1.0
280   --
281   PROCEDURE check_bank_exist (
282    p_api_version                 IN   NUMBER,
283    p_init_msg_list               IN  VARCHAR2 DEFAULT FND_API.G_FALSE,
284    p_country_code                IN   VARCHAR2,
285    p_bank_name                   IN   VARCHAR2,
286    p_bank_number                 IN   VARCHAR2,
287    x_return_status               OUT NOCOPY VARCHAR2,
288    x_msg_count                   OUT NOCOPY NUMBER,
289    x_msg_data                    OUT NOCOPY VARCHAR2,
290    x_bank_id                     OUT NOCOPY NUMBER,
291    x_end_date                    OUT NOCOPY DATE,
292    x_response                    OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
293     );
294 
295 
296   -- 5. create_ext_bank_branch
297   --
298   --   API name        : create_ext_bank_branch
299   --   Type            : Public
300   --   Pre-reqs        : None
301   --   Function        : Creates the external bank branch
302   --   Current version : 1.0
303   --   Previous version: 1.0
304   --   Initial version : 1.0
305   --
306   PROCEDURE create_ext_bank_branch (
307    p_api_version                IN   NUMBER,
308    p_init_msg_list              IN   VARCHAR2 default FND_API.G_FALSE,
309    p_ext_bank_branch_rec        IN   ExtBankBranch_rec_type,
310    x_branch_id                  OUT  NOCOPY  NUMBER,
311    x_return_status              OUT  NOCOPY  VARCHAR2,
312    x_msg_count                  OUT  NOCOPY  NUMBER,
313    x_msg_data                   OUT  NOCOPY  VARCHAR2,
314    x_response                   OUT  NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
315   );
316 
317 
318   -- 6. update_ext_bank_branch
319   --
320   --   API name        : update_ext_bank_branch
321   --   Type            : Public
322   --   Pre-reqs        : None
323   --   Function        : Updates the external bank branch
324   --   Current version : 1.0
325   --   Previous version: 1.0
326   --   Initial version : 1.0
327   --
328   PROCEDURE update_ext_bank_branch (
329    p_api_version                IN     NUMBER,
330    p_init_msg_list              IN     VARCHAR2 default FND_API.G_FALSE,
331    p_ext_bank_branch_rec        IN OUT NOCOPY ExtBankBranch_rec_type,
332    x_return_status                 OUT NOCOPY  VARCHAR2,
333    x_msg_count                     OUT NOCOPY  NUMBER,
334    x_msg_data                      OUT NOCOPY  VARCHAR2,
335    x_response                      OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
336   );
337 
338 
339   -- 7. set_ext_bank_branch_end_date
340   --
341   --   API name        : set_ext_bank_branch_end_date
342   --   Type            : Public
343   --   Pre-reqs        : None
344   --   Function        : Sets the bank branch end date
345   --   Current version : 1.0
346   --   Previous version: 1.0
347   --   Initial version : 1.0
348   --
349   PROCEDURE set_ext_bank_branch_end_date (
350    p_api_version                IN   NUMBER,
351    p_init_msg_list              IN   VARCHAR2 default FND_API.G_FALSE,
352    p_branch_id                  IN   NUMBER,
353    p_end_date                   IN   DATE,
354    x_return_status              OUT NOCOPY VARCHAR2,
355    x_msg_count                  OUT NOCOPY NUMBER,
356    x_msg_data                   OUT NOCOPY VARCHAR2,
357    x_response                   OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
358   );
359 
360 
361   -- 8. check_ext_bank_branch_exist
362   --
363   --   API name        : check_ext_bank_branch_exist
364   --   Type            : Public
365   --   Pre-reqs        : None
366   --   Function        : Checks if the bank branch exists; branch name/number
367   --                     and bank id are used for identity
368   --   Current version : 1.0
369   --   Previous version: 1.0
370   --   Initial version : 1.0
371   --
372   PROCEDURE check_ext_bank_branch_exist (
373    p_api_version                IN   NUMBER,
374    p_init_msg_list              IN   VARCHAR2 default FND_API.G_FALSE,
375    p_bank_id                    IN   NUMBER,
376    p_branch_name                IN   VARCHAR2,
377    p_branch_number              IN   VARCHAR2,
378    x_return_status              OUT NOCOPY VARCHAR2,
379    x_msg_count                  OUT NOCOPY NUMBER,
380    x_msg_data                   OUT NOCOPY VARCHAR2,
381    x_branch_id                  OUT NOCOPY NUMBER,
382    x_end_date                   OUT NOCOPY DATE,
383    x_response                   OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
384   );
385 
386 
387   -- 9. create_ext_bank_acct
388   --
389   --   API name        : create_ext_bank_acct
390   --   Type            : Public
391   --   Pre-reqs        : None
392   --   Function        : Creates an external bank account
396   --
393   --   Current version : 1.0
394   --   Previous version: 1.0
395   --   Initial version : 1.0
397   PROCEDURE create_ext_bank_acct (
398    p_api_version                IN   NUMBER,
399    p_init_msg_list            	IN   VARCHAR2 default FND_API.G_FALSE,
400    p_ext_bank_acct_rec          IN   ExtBankAcct_rec_type,
401    x_acct_id			        OUT  NOCOPY NUMBER,
402    x_return_status            	OUT  NOCOPY  VARCHAR2,
403    x_msg_count                	OUT  NOCOPY  NUMBER,
404    x_msg_data                 	OUT  NOCOPY  VARCHAR2,
405    x_response                   OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
406   );
407 
408   --- Updated for the bug 6461487
409   PROCEDURE create_ext_bank_acct (
410    p_api_version                IN   NUMBER,
411    p_init_msg_list              IN   VARCHAR2,
412    p_ext_bank_acct_rec          IN   ExtBankAcct_rec_type,
413    p_association_level          IN   VARCHAR2,
414    p_supplier_site_id           IN   NUMBER,
415    p_party_site_id              IN   NUMBER,
416    p_org_id                     IN   NUMBER,
417    p_org_type			IN   VARCHAR2 default NULL,     --Bug7136876: new parameter
418    x_acct_id                    OUT  NOCOPY NUMBER,
419    x_return_status              OUT  NOCOPY  VARCHAR2,
420    x_msg_count                  OUT  NOCOPY  NUMBER,
421    x_msg_data                   OUT  NOCOPY  VARCHAR2,
422    x_response                   OUT  NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
423   );
424 
425 
426   -- 10. update_ext_bank_acct
427   --
428   --   API name        : update_ext_bank_acct
429   --   Type            : Public
430   --   Pre-reqs        : None
431   --   Function        : Updates an external bank account
432   --   Current version : 1.0
433   --   Previous version: 1.0
434   --   Initial version : 1.0
435   --
436   PROCEDURE update_ext_bank_acct (
437    p_api_version               IN  NUMBER,
438    p_init_msg_list             IN  VARCHAR2 default FND_API.G_FALSE,
439    p_ext_bank_acct_rec         IN  OUT NOCOPY ExtBankAcct_rec_type,
440    x_return_status                 OUT NOCOPY VARCHAR2,
441    x_msg_count                     OUT NOCOPY NUMBER,
442    x_msg_data                      OUT NOCOPY VARCHAR2,
443    x_response                      OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
444   );
445 
446 
447   -- 11. get_ext_bank_acct
448   --
449   --   API name        : get_ext_bank_acct
450   --   Type            : Public
451   --   Pre-reqs        : None
452   --   Function        : Queries an external bank account
453   --   Current version : 1.0
454   --   Previous version: 1.0
455   --   Initial version : 1.0
456   --
457   PROCEDURE get_ext_bank_acct (
458    p_api_version               IN   NUMBER,
459    p_init_msg_list             IN   VARCHAR2 default FND_API.G_FALSE,
460    p_bankacct_id               IN   NUMBER,
461    x_return_status             OUT NOCOPY VARCHAR2,
462    x_msg_count                 OUT NOCOPY NUMBER,
463    x_msg_data                  OUT NOCOPY VARCHAR2,
464    x_bankacct                  OUT NOCOPY ExtBankAcct_rec_type,
465    x_response                  OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
466   );
467 
468 
469   -- 12. get_ext_bank_acct
470   --
471   --   API name        : get_ext_bank_acct
472   --   Type            : Public
473   --   Pre-reqs        : None
474   --   Function        : Queries an external bank account, decrypting secure
475   --                     fields
476   --   Current version : 1.0
477   --   Previous version: 1.0
478   --   Initial version : 1.0
479   --
480   PROCEDURE get_ext_bank_acct (
481    p_api_version               IN   NUMBER,
482    p_init_msg_list             IN   VARCHAR2 default FND_API.G_FALSE,
483    p_bankacct_id               IN   NUMBER,
484    p_sec_key                   IN   VARCHAR2,
485    x_return_status             OUT NOCOPY VARCHAR2,
486    x_msg_count                 OUT NOCOPY NUMBER,
487    x_msg_data                  OUT NOCOPY VARCHAR2,
488    x_bankacct                  OUT NOCOPY ExtBankAcct_rec_type,
489    x_response                  OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
490   );
491 
492 
493   -- 13. set_ext_bank_acct_dates
494   --
495   --   API name        : set_ext_bank_acct_dates
496   --   Type            : Public
497   --   Pre-reqs        : None
498   --   Function        : Sets the bank account end dates
499   --   Current version : 1.0
500   --   Previous version: 1.0
501   --   Initial version : 1.0
502   --
503   PROCEDURE set_ext_bank_acct_dates (
504    p_api_version              IN     NUMBER,
505    p_init_msg_list            IN     VARCHAR2 default FND_API.G_FALSE,
506    p_acct_id                  IN     NUMBER,
507    p_start_date		          IN	 DATE,
508    p_end_date                 IN     DATE,
509    p_object_version_number    IN OUT NOCOPY  NUMBER,
510    x_return_status               OUT NOCOPY  VARCHAR2,
511    x_msg_count                   OUT NOCOPY  NUMBER,
512    x_msg_data                    OUT NOCOPY  VARCHAR2,
513    x_response                    OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
514   );
515 
516 
517   -- 14. check_ext_acct_exist
518   --
519   --   API name        : check_ext_acct_exist
520   --   Type            : Public
521   --   Pre-reqs        : None
522   --   Function        : Checks if the external account exists; identity
526   --   Previous version: 1.0
523   --                     is determined by bank id, branch id, country and
524   --                     currency codes
525   --   Current version : 1.0
527   --   Initial version : 1.0
528   --
529    PROCEDURE check_ext_acct_exist(
530     p_api_version            IN  NUMBER,
531     p_init_msg_list          IN  VARCHAR2 default FND_API.G_FALSE,
532     p_ext_bank_acct_rec      IN  ExtBankAcct_rec_type,
533     x_acct_id                OUT NOCOPY NUMBER,
534 	x_start_date		     OUT NOCOPY DATE,
535 	x_end_date		         OUT NOCOPY DATE,
536 	x_return_status          OUT NOCOPY VARCHAR2,
537     x_msg_count              OUT NOCOPY NUMBER,
538     x_msg_data               OUT NOCOPY VARCHAR2,
539     x_response               OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
540   );
541 
542   -- 14. check_ext_acct_exist
543   --
544   --   API name        : check_ext_acct_exist
545   --   Type            : Public
546   --   Pre-reqs        : None
547   --   Function        : Checks if the external account exists; identity
548   --                     is determined by bank id, branch id, country and
549   --                     currency codes
550   --
551   --
552   --        Input parameters for the procedure is modified to facilitate
553   -- country specific unique bank account validation. But this procedure
554   -- is used by many external products. To ensure that no other code breaks
555   -- due to this change, the original procedure is maintained as overloaded
556   -- procedure. This procedure should be removed as soon as all the external
557   -- products update their code to use the updated procedure.
558   --
559   --   Current version : 1.0
560   --   Previous version: 1.0
561   --   Initial version : 1.0
562   --
563    PROCEDURE check_ext_acct_exist(
564     p_api_version            IN  NUMBER,
565     p_init_msg_list          IN  VARCHAR2  default FND_API.G_FALSE,
566     p_bank_id                IN varchar2,
567     p_branch_id              IN  NUMBER,
568     p_acct_number            IN  VARCHAR2,
569     p_acct_name              IN  VARCHAR2,
570     p_currency		     IN  VARCHAR2,
571     p_country_code           IN  VARCHAR2,
572     x_acct_id                OUT NOCOPY NUMBER,
573     x_start_date		     OUT NOCOPY DATE,
574     x_end_date		         OUT NOCOPY DATE,
575     x_return_status          OUT NOCOPY VARCHAR2,
576     x_msg_count              OUT NOCOPY NUMBER,
577     x_msg_data               OUT NOCOPY VARCHAR2,
578     x_response               OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
579   );
580 
581 
582   -- 15. create_intermediary_acct
583   --
584   --   API name        : create_intermediary_acct
585   --   Type            : Public
586   --   Pre-reqs        : None
587   --   Function        : Creates an intermediary bank account
588   --   Current version : 1.0
589   --   Previous version: 1.0
590   --   Initial version : 1.0
591   --
592   PROCEDURE create_intermediary_acct (
593     p_api_version              IN   NUMBER,
594 	p_init_msg_list            IN   VARCHAR2 default FND_API.G_FALSE,
595     p_intermed_acct_rec        IN   IntermediaryAcct_rec_type,
596 	x_intermediary_acct_id     OUT  NOCOPY NUMBER,
597 	x_return_status            OUT  NOCOPY  VARCHAR2,
598 	x_msg_count                OUT  NOCOPY  NUMBER,
599 	x_msg_data                 OUT  NOCOPY  VARCHAR2,
600 	x_response                 OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
601   );
602 
603 
604   -- 16. Update_Intermediary_Acct
605   --
606   --   API name        : Update_Intermediary_Acct
607   --   Type            : Public
608   --   Pre-reqs        : None
609   --   Function        : Updates an intermediary bank account
610   --   Current version : 1.0
611   --   Previous version: 1.0
612   --   Initial version : 1.0
613   --
614   PROCEDURE update_intermediary_acct (
615    p_api_version              IN  NUMBER,
616    p_init_msg_list            IN  VARCHAR2 default FND_API.G_FALSE,
617    p_intermed_acct_rec        IN  OUT NOCOPY  IntermediaryAcct_rec_type,
618    x_return_status                OUT NOCOPY  VARCHAR2,
619    x_msg_count                    OUT NOCOPY  NUMBER,
620    x_msg_data                     OUT NOCOPY  VARCHAR2,
621    x_response                     OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
622   );
623 
624 
625   -- 17. add_joint_account_owner
626   --
627   --   API name        : add_joint_account_owner
628   --   Type            : Public
629   --   Pre-reqs        : None
630   --   Function        : Associates another owner with a bank account
631   --   Current version : 1.0
632   --   Previous version: 1.0
633   --   Initial version : 1.0
634   --
635   PROCEDURE add_joint_account_owner (
636    p_api_version               IN   NUMBER,
637    p_init_msg_list             IN   VARCHAR2 default FND_API.G_FALSE,
638    p_bank_account_id           IN   NUMBER,
639    p_acct_owner_party_id       IN   NUMBER,
640    x_joint_acct_owner_id	   OUT  NOCOPY  NUMBER,
641    x_return_status             OUT  NOCOPY  VARCHAR2,
642    x_msg_count                 OUT  NOCOPY  NUMBER,
643    x_msg_data                  OUT  NOCOPY  VARCHAR2,
644    x_response                  OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
645   );
646 
647 
648   -- 18. set_joint_acct_owner_end_date
649   --
650   --   API name        : set_joint_acct_owner_end_date
654   --   Current version : 1.0
651   --   Type            : Public
652   --   Pre-reqs        : None
653   --   Function        : Sets the end data for a joint account owner
655   --   Previous version: 1.0
656   --   Initial version : 1.0
657   --
658   PROCEDURE set_joint_acct_owner_end_date (
659    p_api_version                IN   NUMBER,
660    p_init_msg_list              IN     VARCHAR2 default FND_API.G_FALSE,
661    p_acct_owner_id              IN     NUMBER,
662    p_end_date                   IN     DATE,
663    p_object_version_number      IN OUT NOCOPY  NUMBER,
664    x_return_status                 OUT NOCOPY  VARCHAR2,
665    x_msg_count                     OUT NOCOPY  NUMBER,
666    x_msg_data                      OUT NOCOPY  VARCHAR2,
667    x_response                      OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
668   );
669 
670 
671   -- 19. change_primary_acct_owner
672   --
673   --   API name        : change_primary_acct_owner
674   --   Type            : Public
675   --   Pre-reqs        : None
676   --   Function        : Changes the
677   --   Current version : 1.0
678   --   Previous version: 1.0
679   --   Initial version : 1.0
680   --
681   PROCEDURE change_primary_acct_owner (
682    p_api_version                IN NUMBER,
683    p_init_msg_list              IN VARCHAR2 default FND_API.G_FALSE,
684    p_bank_acct_id               IN NUMBER,
685    p_acct_owner_party_id        IN NUMBER,
686    x_return_status              OUT NOCOPY VARCHAR2,
687    x_msg_count                  OUT NOCOPY NUMBER,
688    x_msg_data                   OUT NOCOPY VARCHAR2,
689    x_response                   OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
690   );
691 
692 
693   -- 100. Mask_Bank_Number
694   --
695   --   Function        : Mask_Bank_Number
696   --   Type            : Private
697   --   Purpose         : Masks secured bank account attributes using bank
698   --                     account mask settings
699   --
700   FUNCTION Mask_Bank_Number( p_bank_number IN VARCHAR2 ) RETURN VARCHAR2;
701 
702   -- 101. Mask_Bank_Number
703   --
704   --   Function        : Mask_Bank_Number
705   --   Type            : Private
706   --   Purpose         : Masks secured bank account attributes
707   --
708   FUNCTION Mask_Bank_Number
709   (p_bank_number     IN   VARCHAR2,
710    p_mask_option     IN   iby_ext_bank_accounts.ba_mask_setting%TYPE,
711    p_unmask_len      IN   iby_ext_bank_accounts.ba_unmask_length%TYPE
712   )
713   RETURN VARCHAR2;
714 
715   --
716   -- USE: Gets the Bank account encryption mode setting
717   --
718   FUNCTION Get_BA_Encrypt_Mode
719   RETURN iby_sys_security_options.ext_ba_encryption_mode%TYPE;
720 
721 
722   -- 102. Uncipher_Bank_Number
723   --
724   --   Function        : Uncipher_Bank_Number
725   --   Type            : Private
726   --   Purpose         : Unciphers a bank account/IBAN number
727   --
728   FUNCTION Uncipher_Bank_Number
729   (p_unmask_digits  IN   VARCHAR2,
730    p_segment_id     IN   iby_security_segments.sec_segment_id%TYPE,
731    p_sys_key        IN   iby_security_pkg.DES3_KEY_TYPE,
732    p_sub_key_cipher IN   iby_sys_security_subkeys.subkey_cipher_text%TYPE,
733    p_segment_cipher IN   iby_security_segments.segment_cipher_text%TYPE,
734    p_encoding       IN   iby_security_segments.encoding_scheme%TYPE,
735    p_mask_option    IN   iby_ext_bank_accounts.ba_mask_setting%TYPE,
736    p_unmask_len     IN   iby_ext_bank_accounts.ba_unmask_length%TYPE
737   )
738   RETURN VARCHAR2;
739 
740   -- 103. Remask_Accounts
741   --
742   --   Function        : Remask_Accounts
743   --   Type            : Private
744   --   Purpose         : Remasks secured bank account attributes
745   --
746   PROCEDURE Remask_Accounts
747   (p_commit      IN     VARCHAR2 := FND_API.G_TRUE,
748    p_sys_key     IN     iby_security_pkg.DES3_KEY_TYPE
749   );
750 
751   -- 104. Encrypt_Accounts
752   --
753   --   Function        : Encrypt_Accounts
754   --   Type            : Private
755   --   Purpose         : Encrypts all unencrypted accounts
756   --
757   PROCEDURE Encrypt_Accounts
758   (p_commit      IN     VARCHAR2,
759    p_sys_key     IN     iby_security_pkg.DES3_KEY_TYPE
760   );
761 
762   -- 104. Decrypt_Accounts
763   --
764   --   Function        : Decrypt_Accounts
765   --   Type            : Private
766   --   Purpose         : Decrypt all encrypted accounts
767   --
768   PROCEDURE Decrypt_Accounts
769   (p_commit      IN     VARCHAR2,
770    p_sys_key     IN     iby_security_pkg.DES3_KEY_TYPE
771   );
775   PROCEDURE Compress_Bank_Number
772 
773   -- 105. Compress_Bank_Number
774   --
776   (p_bank_number  IN VARCHAR2,
777    p_mask_setting IN iby_sys_security_options.ext_ba_mask_setting%TYPE,
778    p_unmask_len   IN iby_sys_security_options.ext_ba_unmask_len%TYPE,
779    x_compress_num OUT NOCOPY VARCHAR2,
780    x_unmask_digits OUT NOCOPY VARCHAR2
781   );
782 
783 
784   --106. FSIO Code.. To Fetch vendor_id given party_id
785   --
786   PROCEDURE vendor_id(p_party_id IN VARCHAR2,
787                       x_vendor_id OUT NOCOPY NUMBER);
788 END IBY_EXT_BANKACCT_PUB;