DBA Data[Home] [Help]

PACKAGE: APPS.IBY_VALIDATIONSETS_PUB

Source


1 PACKAGE IBY_VALIDATIONSETS_PUB AUTHID CURRENT_USER AS
2 /*$Header: ibyvalls.pls 120.29.12020000.3 2013/02/25 10:24:56 kchavali ship $*/
3 
4  --
5  -- Contains all document level fields which need to be validated
6  --
7 TYPE documentRecType IS RECORD (
8      calling_app_id             IBY_DOCS_PAYABLE_ALL.calling_app_id%TYPE,
9      calling_app_doc_id1        IBY_DOCS_PAYABLE_ALL.
10                                     calling_app_doc_unique_ref1%TYPE,
11      calling_app_doc_id2        IBY_DOCS_PAYABLE_ALL.
12                                     calling_app_doc_unique_ref2%TYPE,
13      calling_app_doc_id3        IBY_DOCS_PAYABLE_ALL.
14                                     calling_app_doc_unique_ref3%TYPE,
15      calling_app_doc_id4        IBY_DOCS_PAYABLE_ALL.
16                                     calling_app_doc_unique_ref4%TYPE,
17      calling_app_doc_id5        IBY_DOCS_PAYABLE_ALL.
18                                     calling_app_doc_unique_ref5%TYPE,
19      pay_proc_trxn_type_cd      IBY_DOCS_PAYABLE_ALL.
20                                     pay_proc_trxn_type_code%TYPE,
21      document_id                IBY_DOCS_PAYABLE_ALL.
22                                     document_payable_id%TYPE,
23      document_amount            IBY_DOCS_PAYABLE_ALL.
24                                     document_amount%TYPE,
25      document_pay_currency      IBY_DOCS_PAYABLE_ALL.
26                                     payment_currency_code%TYPE,
27      exclusive_payment_flag     IBY_DOCS_PAYABLE_ALL.
28                                     exclusive_payment_flag%TYPE := 'N',
29      delivery_channel_code      IBY_DOCS_PAYABLE_ALL.delivery_channel_code%TYPE,
30      delivery_chn_format_val    IBY_DELIVERY_CHANNELS_B.format_value%TYPE,
31      unique_remit_id_code       IBY_DOCS_PAYABLE_ALL.
32                                     unique_remittance_identifier%TYPE,
33      PAYMENT_REASON_COMMENTS    IBY_DOCS_PAYABLE_ALL.PAYMENT_REASON_COMMENTS%TYPE,
34      SETTLEMENT_PRIORITY        IBY_DOCS_PAYABLE_ALL.SETTLEMENT_PRIORITY%TYPE,
35      REMITTANCE_MESSAGE1        IBY_DOCS_PAYABLE_ALL.REMITTANCE_MESSAGE1%TYPE,
36      REMITTANCE_MESSAGE2        IBY_DOCS_PAYABLE_ALL.REMITTANCE_MESSAGE2%TYPE,
37      REMITTANCE_MESSAGE3        IBY_DOCS_PAYABLE_ALL.REMITTANCE_MESSAGE3%TYPE,
38      URI_CHECK_DIGIT            IBY_DOCS_PAYABLE_ALL.URI_CHECK_DIGIT%TYPE,
39      EXTERNAL_BANK_ACCOUNT_ID   IBY_DOCS_PAYABLE_ALL.EXTERNAL_BANK_ACCOUNT_ID%TYPE,
40 
41 
42      int_bank_num               CE_BANK_BRANCHES_V.bank_number%TYPE,
43      int_bank_name              CE_BANK_BRANCHES_V.bank_name%TYPE,
44      int_bank_name_alt          CE_BANK_BRANCHES_V.bank_name_alt%TYPE,
45      int_bank_branch_num        CE_BANK_BRANCHES_V.branch_number%TYPE,
46      int_bank_branch_name       CE_BANK_BRANCHES_V.bank_branch_name%TYPE,
47      int_bank_branch_name_alt   CE_BANK_BRANCHES_V.bank_branch_name_alt%TYPE,
48      int_bank_branch_type       CE_BANK_BRANCHES_V.bank_branch_type%TYPE,  -- bug 16007784
49 
50      int_bank_acc_num           CE_BANK_ACCOUNTS.bank_account_num%TYPE,
51      int_bank_acc_name          CE_BANK_ACCOUNTS.bank_account_name%TYPE,
52      int_bank_acc_name_alt      CE_BANK_ACCOUNTS.bank_account_name_alt%TYPE,
53      int_bank_acc_type          CE_BANK_ACCOUNTS.bank_account_type%TYPE,
54      int_bank_acc_iban          CE_BANK_ACCOUNTS.iban_number%TYPE,
55      int_bank_acc_curr          CE_BANK_ACCOUNTS.currency_code%TYPE,
56      int_bank_assigned_id1      VARCHAR2(240),
57      int_bank_assigned_id2      VARCHAR2(240),
58      int_eft_user_number        CE_BANK_ACCOUNTS.eft_user_num%TYPE,
59      int_bank_acc_chk_dgts      CE_BANK_ACCOUNTS.check_digits%TYPE,
60      int_eft_req_identifier     CE_BANK_ACCOUNTS.
61                                     eft_requester_identifier%TYPE,
62      int_bank_acc_short_name    CE_BANK_ACCOUNTS.short_account_name%TYPE,
63      int_bank_acc_holder_name   CE_BANK_ACCOUNTS.account_holder_name%TYPE,
64      int_bank_acc_holder_name_alt
65                                 CE_BANK_ACCOUNTS.account_holder_name_alt%TYPE,
66 
67      payer_le_name              IBY_PP_FIRST_PARTY_V.party_legal_name%TYPE,
68      payer_le_country           IBY_PP_FIRST_PARTY_V.party_address_country%TYPE,
69      payer_phone                IBY_PP_FIRST_PARTY_V.party_phone%TYPE,
70      payer_registration_number  IBY_PP_FIRST_PARTY_V.party_registration_number%TYPE, --added by asarada (SEPA Credit Transfer 3.3)
71      payer_tax_registration_number IBY_PAYMENTS_ALL.payer_tax_registration_num%TYPE, --added by asarada (SEPA Credit Transfer 3.3)
72      ext_bank_num               IBY_EXT_BANK_ACCOUNTS_V.bank_number%TYPE,
73      ext_bank_name              IBY_EXT_BANK_ACCOUNTS_V.bank_name%TYPE,
74 
75      ext_bank_name_alt          CE_BANKS_V.bank_name_alt%TYPE,
76 
77      ext_bank_branch_num        IBY_EXT_BANK_ACCOUNTS_V.branch_number%TYPE,
78      ext_bank_branch_name       IBY_EXT_BANK_ACCOUNTS_V.bank_branch_name%TYPE,
79 
80      ext_bank_branch_name_alt   CE_BANK_BRANCHES_V.bank_branch_name_alt%TYPE,
81 
82      ext_bank_branch_type       CE_BANK_BRANCHES_V.bank_branch_type%TYPE,  -- bug 16007784
83 
84      ext_bank_country           IBY_EXT_BANK_ACCOUNTS_V.country_code%TYPE,
85 
86      ext_bank_branch_addr1      CE_BANK_BRANCHES_V.address_line1%TYPE,
87 
88      ext_bank_branch_country    CE_BANK_BRANCHES_V.country%TYPE,
89 
90      ext_bank_acc_num           IBY_EXT_BANK_ACCOUNTS_V.
91                                     bank_account_number%TYPE,
92      ext_bank_acc_name          IBY_EXT_BANK_ACCOUNTS_V.bank_account_name%TYPE,
93      ext_bank_acc_name_alt      IBY_EXT_BANK_ACCOUNTS_V.
94                                     alternate_account_name%TYPE,
95      ext_bank_acc_type          IBY_EXT_BANK_ACCOUNTS_V.bank_account_type%TYPE,
96      ext_bank_acc_iban          IBY_EXT_BANK_ACCOUNTS_V.iban_number%TYPE,        -- Payee IBAN
97      ext_bank_acc_chk_dgts      IBY_EXT_BANK_ACCOUNTS_V.check_digits%TYPE,
98      ext_bank_acc_short_name    IBY_EXT_BANK_ACCOUNTS_V.short_acct_name%TYPE,
99      ext_bank_acc_holder_name   IBY_EXT_BANK_ACCOUNTS_V.
100                                     primary_acct_owner_name%TYPE,
101 
102      ext_bank_acc_holder_name_alt
103                                 CE_BANK_ACCOUNTS_V.bank_account_name_alt%TYPE,
104      ext_eft_swift_code IBY_EXT_BANK_ACCOUNTS_INT_V.eft_swift_code%TYPE,   -- Payee BIC (added by sodash)
105 
106      payee_party_name           HZ_PARTIES.party_name%TYPE,
107      payee_party_addr1          HZ_LOCATIONS.address1%TYPE,
108      payee_party_addr2          HZ_LOCATIONS.address2%TYPE,
109      payee_party_addr3          HZ_LOCATIONS.address3%TYPE,
110      payee_party_city           HZ_LOCATIONS.city%TYPE,
111 
112      /*
113       * Fix for bug 6713003:
114       *
115       * The payee address fields are picked up from three
116       * possible sources: HR_LOCATIONS, PER_ADDRESSES
117       * and HZ_LOCATIONS. Therefore, the field sizes
118       * should be the maximum of the corresponding column
119       * sizes from these three tables.
120       *
121       * Usually, HZ_LOCATIONS field sizes are sufficient.
122       * But for state, county and provice fields, HR_LOCATIONS /
123       * PER_ADDRESSES has larger field sizes.
124       *
125       * Therefore, for these three fields, we use HR_LOCATIONS
126       * for the field sizes.
127       */
128      payee_party_state          HR_LOCATIONS.region_2%TYPE,
129      payee_party_province       HR_LOCATIONS.region_1%TYPE,
130      payee_party_county         HR_LOCATIONS.region_1%TYPE,
131 
132      payee_party_postal         HZ_LOCATIONS.postal_code%TYPE,
133      payee_party_country        HZ_LOCATIONS.country%TYPE,
134 
135      bank_charge_bearer         IBY_DOCS_PAYABLE_ALL.bank_charge_bearer%TYPE,
136      payment_reason_code        IBY_DOCS_PAYABLE_ALL.payment_reason_code%TYPE,
137      payment_method_cd          IBY_DOCS_PAYABLE_ALL.payment_method_code%TYPE,
138      payment_format_cd          IBY_DOCS_PAYABLE_ALL.payment_format_code%TYPE,
139 
140     /*Start of Bug 9704929*/
141      payee_party_site_name      HZ_PARTY_SITES.PARTY_SITE_NAME%TYPE
142      /*Start of Bug 9704929*/
143      );
144 
145  /*
146   * This record stores the minimum number of fields required
147   * to uniquely identify a doc for the calling app.
148   *
149   * It will be used in exception situations to inform the calling
150   * app that a particular doc is in error.
151   */
152  TYPE basicDocRecType IS RECORD (
153      calling_app_id         IBY_DOCS_PAYABLE_ALL.calling_app_id%TYPE,
154      calling_app_doc_id1    IBY_DOCS_PAYABLE_ALL.
155                                 calling_app_doc_unique_ref1%TYPE,
156      calling_app_doc_id2    IBY_DOCS_PAYABLE_ALL.
157                                 calling_app_doc_unique_ref2%TYPE,
158      calling_app_doc_id3    IBY_DOCS_PAYABLE_ALL.
159                                 calling_app_doc_unique_ref3%TYPE,
160      calling_app_doc_id4    IBY_DOCS_PAYABLE_ALL.
161                                 calling_app_doc_unique_ref4%TYPE,
162      calling_app_doc_id5    IBY_DOCS_PAYABLE_ALL.
163                                 calling_app_doc_unique_ref5%TYPE,
164      pay_proc_trxn_type_cd  IBY_DOCS_PAYABLE_ALL.pay_proc_trxn_type_code%TYPE,
165      document_id            IBY_DOCS_PAYABLE_ALL.document_payable_id%TYPE
166      );
167 
168  TYPE paymentRecType IS RECORD (
169      pmt_id	                IBY_PAYMENTS_ALL.payment_id%TYPE,
170      pmt_amount                 IBY_PAYMENTS_ALL.payment_amount%TYPE,
171      pmt_currency               IBY_PAYMENTS_ALL.payment_currency_code%TYPE,
172      pmt_delivery_channel_code  IBY_PAYMENTS_ALL.delivery_channel_code%TYPE,
173      pmt_payer_le_country       IBY_PP_FIRST_PARTY_V.party_address_country%TYPE,  -- Payer Country
174      pmt_detail                 IBY_PAYMENTS_ALL.payment_details%TYPE,
175      pmt_payment_reason_count   NUMBER,
176      int_bank_account_iban  IBY_PAYMENTS_ALL.int_bank_account_iban%TYPE,   -- Payer IBAN (added by sodash)
177      payer_tax_registration_num IBY_PAYMENTS_ALL.PAYER_TAX_REGISTRATION_NUM %TYPE, --(Added by asarada SEPA Credut Transfer 3.3)
178      payer_le_registration_num  IBY_PAYMENTS_ALL.PAYER_LE_REGISTRATION_NUM %TYPE,  --(Added by asarada SEPA Credut Transfer 3.3)
179      party_address_line1  IBY_PP_FIRST_PARTY_V.party_address_line1%TYPE,    -- Payer Address Line1 (added by sodash)
180      party_address_city  IBY_PP_FIRST_PARTY_V.party_address_city%TYPE,       --  Payer City  (added by sodash)
181      party_address_postal_code   IBY_PP_FIRST_PARTY_V.party_address_postal_code%TYPE,  -- Payer Postal Code (added by sodash)
182      payer_bank_acc_cur_code     CE_BANK_ACCOUNTS.currency_code%TYPE         -- Internal Bank Account Currency Code
183      );
184 
185  TYPE instructionRecType is RECORD (
186      ins_id                     IBY_PAY_INSTRUCTIONS_ALL.
187                                     payment_instruction_id%TYPE,
188      ins_amount                 NUMBER,
189      ins_document_count         NUMBER
190      );
191 
192  --
193  -- A record to store the details of the validation set
194  --
195  TYPE valSetRecType IS RECORD (
196      doc_id                 IBY_DOCS_PAYABLE_ALL.
197                                 document_payable_id%TYPE,
198      pmt_grp_num            IBY_DOCS_PAYABLE_ALL.
199                                 payment_grouping_number%TYPE,
200      payee_id               IBY_DOCS_PAYABLE_ALL.
201                                 ext_payee_id%TYPE,
202      val_set_code           IBY_VALIDATION_SETS_VL.
203                                 validation_set_code%TYPE,
204      val_code_pkg           IBY_VALIDATION_SETS_VL.
205                                 validation_code_package%TYPE,
206      val_code_entry_point   IBY_VALIDATION_SETS_VL.
207                                 validation_code_entry_point%TYPE,
208      val_assign_id          IBY_VAL_ASSIGNMENTS.
209                                 validation_assignment_id%TYPE,
210      val_assign_entity_type IBY_VAL_ASSIGNMENTS.
211                                 val_assignment_entity_type%TYPE,
212      val_set_name           IBY_VALIDATION_SETS_VL.
213                                 validation_set_display_name%TYPE
214      );
215 
216  --
217  -- Table of validation set records
218  --
219  TYPE valSetTabType IS TABLE OF valSetRecType
220      INDEX BY BINARY_INTEGER;
221 
222  TYPE valSetOuterRecType IS RECORD (
223      val_set_count  NUMBER,
224      val_set_tbl    valSetTabType
225      );
226 
227  --
228  -- Table of validation set records
229  --
230  TYPE valSetOuterTabType IS TABLE OF valSetOuterRecType
231      INDEX BY VARCHAR2(2000);
232 
233  val_set_outer_tbl    valSetOuterTabType;
234 
235  --
236  -- Document errors table
237  --
238  TYPE docErrorTabType IS TABLE OF IBY_TRANSACTION_ERRORS%ROWTYPE
239      INDEX BY BINARY_INTEGER;
240 
241  --
242  -- Transaction error tokens table
243  --
244 
245  TYPE trxnErrTokenTabType IS TABLE OF IBY_TRXN_ERROR_TOKENS%ROWTYPE
246      INDEX BY BINARY_INTEGER;
247 
248  --
249  -- Record to hold document ids.
250  --
251  -- This record will hold a document payable id and it's
252  -- corresponding original document id.
253  --
254  TYPE docPayRecType IS RECORD (
255      doc_id                 IBY_DOCS_PAYABLE_ALL.
256                                 document_payable_id%TYPE,
257      ca_doc_id1             IBY_DOCS_PAYABLE_ALL.
258                                 calling_app_doc_unique_ref1%TYPE,
259      ca_doc_id2             IBY_DOCS_PAYABLE_ALL.
260                                 calling_app_doc_unique_ref2%TYPE,
261      ca_doc_id3             IBY_DOCS_PAYABLE_ALL.
262                                 calling_app_doc_unique_ref3%TYPE,
263      ca_doc_id4             IBY_DOCS_PAYABLE_ALL.
264                                 calling_app_doc_unique_ref4%TYPE,
265      ca_doc_id5             IBY_DOCS_PAYABLE_ALL.
266                                 calling_app_doc_unique_ref5%TYPE,
267      ca_doc_ref_num         IBY_DOCS_PAYABLE_ALL.
268                                 calling_app_doc_ref_number%TYPE,
269      ca_id                  IBY_DOCS_PAYABLE_ALL.
270                                 calling_app_id%TYPE,
271      pp_tt_cd               IBY_DOCS_PAYABLE_ALL.
272                                 pay_proc_trxn_type_code%TYPE,
273      pmt_grp_num            IBY_DOCS_PAYABLE_ALL.
274                                 payment_grouping_number%TYPE,
275      payee_id               IBY_DOCS_PAYABLE_ALL.
276                                 ext_payee_id%TYPE,
277      profile_id             IBY_DOCS_PAYABLE_ALL.
278                                 payment_profile_id%TYPE,
279      org_id                 IBY_DOCS_PAYABLE_ALL.
280                                 org_id%TYPE,
281      org_type               IBY_DOCS_PAYABLE_ALL.
282                                 org_type%TYPE,
283      pmt_method_cd          IBY_DOCS_PAYABLE_ALL.
284                                 payment_method_code%TYPE,
285      pmt_format_cd          IBY_DOCS_PAYABLE_ALL.
286                                 payment_format_code%TYPE,
287      pmt_curr_code          IBY_DOCS_PAYABLE_ALL.
288                                 payment_currency_code%TYPE,
289      int_bank_acct_id       IBY_DOCS_PAYABLE_ALL.
290                                 internal_bank_account_id%TYPE,
291      ext_bank_acct_id       IBY_DOCS_PAYABLE_ALL.
292                                 external_bank_account_id%TYPE,
293      pmt_date               IBY_DOCS_PAYABLE_ALL.
294                                 payment_date%TYPE,
295      payee_party_id         IBY_DOCS_PAYABLE_ALL.
296                                 payee_party_id%TYPE,
297      supplier_site_id       IBY_DOCS_PAYABLE_ALL.
298                                 supplier_site_id%TYPE,
299      party_site_id          IBY_DOCS_PAYABLE_ALL.
300                                 party_site_id%TYPE,
301      payment_function       IBY_DOCS_PAYABLE_ALL.
302                                 payment_function%TYPE,
303 	 affects_rejection_level IBY_DOCS_PAYABLE_ALL.
304                                 affects_rejection_level%TYPE -- AWT Enh 16296267
305 								);
306 
307  --
308  -- The document id table
309  --
310  TYPE docPayTabType IS TABLE OF docPayRecType
311      INDEX BY BINARY_INTEGER;
312 
313 
314  --
315  -- Record to hold document status.
316  --
317  -- This record will hold a document payable id, its status
318  -- and its corresponding original document id.
319  --
320  TYPE docStatusRecType IS RECORD (
321      doc_id                 IBY_DOCS_PAYABLE_ALL.
322                                 document_payable_id%TYPE,
323      pmt_grp_num            IBY_DOCS_PAYABLE_ALL.
324                                 payment_grouping_number%TYPE,
325      payee_id               IBY_DOCS_PAYABLE_ALL.
326                                 ext_payee_id%TYPE,
327      doc_status             IBY_DOCS_PAYABLE_ALL.
328                                 document_status%TYPE,
329 	 ca_doc_ref_num         IBY_DOCS_PAYABLE_ALL.
330 	                            calling_app_doc_ref_number%TYPE
331      );
332 
333  --
334  -- The document status table
335  --
336  TYPE docStatusTabType IS TABLE OF docStatusRecType
337      INDEX BY BINARY_INTEGER;
338 
339  --
340  -- System options record
341  --
342  TYPE sysOptionsRecType IS RECORD (
343      rej_level              IBY_INTERNAL_PAYERS_ALL.
344                                 document_rejection_level_code%TYPE
345      );
346 
347  --
348  -- System options table
349  --
350  TYPE sysOptionsTabType IS TABLE OF sysOptionsRecType
351      INDEX BY BINARY_INTEGER;
352 
353  /*
354   * Rejected document id along with its status.
355   */
356  TYPE rejectedDocRecType IS RECORD (
357      doc_id                 IBY_DOCS_PAYABLE_ALL.
358                                 document_payable_id%TYPE,
359      doc_status             IBY_DOCS_PAYABLE_ALL.
360                                 document_status%TYPE
361      );
362 
363  /*
364   * Table of rejected documents.
365   */
366  TYPE rejectedDocTabType IS TABLE OF rejectedDocRecType
367      INDEX BY BINARY_INTEGER;
368 
369  /*
370   * Rejected payment id along with its status.
371   */
372  TYPE rejectedPmtRecType IS RECORD (
373      pmt_id                 IBY_PAYMENTS_ALL.
374                                 payment_id%TYPE,
375      pmt_status             IBY_PAYMENTS_ALL.
376                                 payment_status%TYPE
377      );
378 
379  /*
380   * Table of rejected payments.
381   */
382  TYPE rejectedPmtTabType IS TABLE OF rejectedPmtRecType
383      INDEX BY BINARY_INTEGER;
384 
385  /*
386   * The record structure below is meant to pull up data fields for
387   * character validation. For character validation, all possible fields
388   * that could potentially be sent to the bank need to be picked up;
389   * this will include data related to the document, payer, payee,
390   * payer bank and payee bank (payments have not be created at this
391   * stage and so cannot be picked up).
392   *
393   * Notes:
394   * 1. Fields that are not likely to cause character validation errors
395   *    have not be included viz., dates, amounts, flags, lookup codes etc.
396   * 2. If you feel some field is likely to cause char validation error,
397   *    then include it to this list.
398   * 3. Document lines are ignored as they are usually not sent to the bank
399   */
400  TYPE charValRecType IS RECORD (
401 
402      /* DOCUMENT */
403      document_id
404          IBY_DOCS_PAYABLE_ALL.document_payable_id%TYPE,
405      ca_id
406          IBY_DOCS_PAYABLE_ALL.calling_app_id%TYPE,
407      calling_app_doc_id1
408          IBY_DOCS_PAYABLE_ALL.calling_app_doc_unique_ref1%TYPE,
409      calling_app_doc_id2
410          IBY_DOCS_PAYABLE_ALL.calling_app_doc_unique_ref2%TYPE,
411      calling_app_doc_id3
412          IBY_DOCS_PAYABLE_ALL.calling_app_doc_unique_ref3%TYPE,
413      calling_app_doc_id4
414          IBY_DOCS_PAYABLE_ALL.calling_app_doc_unique_ref4%TYPE,
415      calling_app_doc_id5
416          IBY_DOCS_PAYABLE_ALL.calling_app_doc_unique_ref5%TYPE,
417      pay_proc_trxn_type_cd
418          IBY_DOCS_PAYABLE_ALL.pay_proc_trxn_type_code%TYPE,
419      ca_doc_ref_num
420          IBY_DOCS_PAYABLE_ALL.calling_app_doc_ref_number%TYPE,
421      uri
422          IBY_DOCS_PAYABLE_ALL.unique_remittance_identifier%TYPE,
423      uri_checkdigit
424          IBY_DOCS_PAYABLE_ALL.uri_check_digit%TYPE,
425      po_number
426          IBY_DOCS_PAYABLE_ALL.po_number%TYPE,
427      doc_desc
428          IBY_DOCS_PAYABLE_ALL.document_description%TYPE,
429      bank_ref
430          IBY_DOCS_PAYABLE_ALL.bank_assigned_ref_code%TYPE,
431      pmt_reason_comments
432          IBY_DOCS_PAYABLE_ALL.payment_reason_comments%TYPE,
433      remit_msg1
434          IBY_DOCS_PAYABLE_ALL.remittance_message1%TYPE,
435      remit_msg2
436          IBY_DOCS_PAYABLE_ALL.remittance_message2%TYPE,
437      remit_msg3
438          IBY_DOCS_PAYABLE_ALL.remittance_message3%TYPE,
439      delv_chnl_code
440          IBY_DELIVERY_CHANNELS_VL.format_value%TYPE,
441      pmt_reason
442          IBY_PAYMENT_REASONS_VL.format_value%TYPE,
443      ca_doc_line_cd
444          IBY_DOCUMENT_LINES.calling_app_document_line_code%TYPE,
445      line_type
446          IBY_DOCUMENT_LINES.line_type%TYPE,
447      line_name
448          IBY_DOCUMENT_LINES.line_name%TYPE,
449      line_desc
450          IBY_DOCUMENT_LINES.description%TYPE,
451      line_uom
452          IBY_DOCUMENT_LINES.unit_of_measure%TYPE,
453      line_po_num
454          IBY_DOCUMENT_LINES.po_number%TYPE,
455 
456      /* PAYER */
457      payer_number
458          IBY_PP_FIRST_PARTY_V.party_number%TYPE,
459      payer_name
460          IBY_PP_FIRST_PARTY_V.party_name%TYPE,
461      payer_legal_name
462          IBY_PP_FIRST_PARTY_V.party_legal_name%TYPE,
463      payer_tax_id
464          IBY_PP_FIRST_PARTY_V.party_tax_id%TYPE,
465      payer_add1
466          IBY_PP_FIRST_PARTY_V.party_address_line1%TYPE,
467      payer_add2
468          IBY_PP_FIRST_PARTY_V.party_address_line2%TYPE,
469      payer_add3
470          IBY_PP_FIRST_PARTY_V.party_address_line3%TYPE,
471      payer_city
472          IBY_PP_FIRST_PARTY_V.party_address_city%TYPE,
473      payer_county
474          IBY_PP_FIRST_PARTY_V.party_address_county%TYPE,
475      payer_state
476          IBY_PP_FIRST_PARTY_V.party_address_state%TYPE,
477      payer_country
478          IBY_PP_FIRST_PARTY_V.party_address_country%TYPE,
479      payer_postcode
480          IBY_PP_FIRST_PARTY_V.party_address_postal_code%TYPE,
481 
482      /* PAYER BANK */
483      payer_bank_name
484          CE_BANK_BRANCHES_V.bank_name%TYPE,
485      payer_bank_number
486          CE_BANK_BRANCHES_V.bank_number%TYPE,
487      payer_bank_branch_num
488          CE_BANK_BRANCHES_V.branch_number%TYPE,
489      payer_bank_branch_name
490          CE_BANK_BRANCHES_V.bank_branch_name%TYPE,
491      payer_bank_swift_code
492          CE_BANK_BRANCHES_V.eft_swift_code%TYPE,
493      payer_bank_add1
494          CE_BANK_BRANCHES_V.address_line1%TYPE,
495      payer_bank_add2
496          CE_BANK_BRANCHES_V.address_line2%TYPE,
497      payer_bank_add3
498          CE_BANK_BRANCHES_V.address_line3%TYPE,
499      payer_bank_city
500          CE_BANK_BRANCHES_V.city%TYPE,
501      payer_bank_county
502          CE_BANK_BRANCHES_V.province%TYPE,
503      payer_bank_state
504          CE_BANK_BRANCHES_V.state%TYPE,
505      payer_bank_country
506          CE_BANK_BRANCHES_V.country%TYPE,
507      payer_bank_postcode
508          CE_BANK_BRANCHES_V.zip%TYPE,
509      payer_bank_name_alt
510          CE_BANK_BRANCHES_V.bank_name_alt%TYPE,
511      payer_bank_branch_name_alt
512          CE_BANK_BRANCHES_V.bank_branch_name_alt%TYPE,
513 
514      payer_bank_acct_name_alt
515          CE_BANK_ACCOUNTS.bank_account_name_alt%TYPE,
516      payer_bank_acct_type
517          CE_BANK_ACCOUNTS.bank_account_type%TYPE,
518      payer_bank_assigned_id1
519          VARCHAR2(240),
520      payer_bank_assigned_id2
521          VARCHAR2(240),
522      payer_eft_user_number
523          CE_BANK_ACCOUNTS.eft_user_num%TYPE,
524      payer_eft_req_identifier
525          CE_BANK_ACCOUNTS.eft_requester_identifier%TYPE,
526      payer_bank_acct_short_name
527          CE_BANK_ACCOUNTS.short_account_name%TYPE,
528      payer_bank_acct_hold_name_alt
529          CE_BANK_ACCOUNTS.account_holder_name_alt%TYPE,
530      payer_bank_acct_holder_name
531          CE_BANK_ACCOUNTS.account_holder_name%TYPE,
532      payer_bank_acct_num
533          CE_BANK_ACCOUNTS.bank_account_num%TYPE,
534      payer_bank_acct_name
535          CE_BANK_ACCOUNTS.bank_account_name%TYPE,
536      payer_bank_acct_iban_num
537          CE_BANK_ACCOUNTS.iban_number%TYPE,
538      payer_bank_acct_checkdigits
539          CE_BANK_ACCOUNTS.check_digits%TYPE,
540 
541      /* PAYEE */
542      payee_number
543          HZ_PARTIES.party_number%TYPE,
544      payee_name
545          HZ_PARTIES.party_name%TYPE,
546      payee_tax_id
547          HZ_PARTIES.tax_reference%TYPE,
548      payee_add1
549          HZ_LOCATIONS.address1%TYPE,
550      payee_add2
551          HZ_LOCATIONS.address2%TYPE,
552      payee_add3
553          HZ_LOCATIONS.address3%TYPE,
554      payee_city
555          HZ_LOCATIONS.city%TYPE,
556      payee_county
557          HZ_LOCATIONS.county%TYPE,
558      payee_province
559          HZ_LOCATIONS.province%TYPE,
560      payee_state
561          HZ_LOCATIONS.state%TYPE,
562      payee_country
563          HZ_LOCATIONS.country%TYPE,
564      payee_postcode
565          HZ_LOCATIONS.postal_code%TYPE,
566 
567      /* PAYEE BANK */
568      payee_bank_name
569          IBY_EXT_BANK_ACCOUNTS_V.bank_name%TYPE,
570      payee_bank_number
571          IBY_EXT_BANK_ACCOUNTS_V.bank_number%TYPE,
572      payee_bank_branch_num
573          IBY_EXT_BANK_ACCOUNTS_V.branch_number%TYPE,
574      payee_bank_branch_name
575          IBY_EXT_BANK_ACCOUNTS_V.bank_branch_name%TYPE,
576      payee_bank_acct_holder_name
577          IBY_EXT_BANK_ACCOUNTS_V.primary_acct_owner_name%TYPE,
578      payee_bank_acct_num
579          IBY_EXT_BANK_ACCOUNTS_V.bank_account_number%TYPE,
580      payee_bank_acct_name
581          IBY_EXT_BANK_ACCOUNTS_V.bank_account_name%TYPE,
582      payee_bank_acct_iban_num
583          IBY_EXT_BANK_ACCOUNTS_V.iban_number%TYPE,
584      payee_bank_swift_code
585          IBY_EXT_BANK_ACCOUNTS_V.eft_swift_code%TYPE,
586      payee_bank_acct_checkdigits
587          IBY_EXT_BANK_ACCOUNTS_V.check_digits%TYPE,
588      payee_bank_add1
589          VARCHAR2(240),
590      payee_bank_add2
591          VARCHAR2(240),
592      payee_bank_add3
593          VARCHAR2(240),
594      payee_bank_city
595          VARCHAR2(240),
596      payee_bank_county
597          VARCHAR2(240),
598      payee_bank_state
599          VARCHAR2(240),
600      payee_bank_country
601          VARCHAR2(240),
602      payee_bank_postcode
603          VARCHAR2(240),
604      payee_bank_name_alt
605          VARCHAR2(240),
606      payee_bank_branch_name_alt
607          VARCHAR2(240),
608      payee_bank_country_code
609          IBY_EXT_BANK_ACCOUNTS_V.country_code%TYPE,
610      payee_bank_account_name_alt
611          IBY_EXT_BANK_ACCOUNTS_V.alternate_account_name%TYPE,
612      payee_bank_account_type
613          IBY_EXT_BANK_ACCOUNTS_V.bank_account_type%TYPE,
614      payee_bank_account_short_name
615          IBY_EXT_BANK_ACCOUNTS_V.short_acct_name%TYPE,
616      payee_bank_acct_hold_name_alt
617          VARCHAR2(240)
618      );
619 
620  --
621  -- Record to hold default payment format for each payee.
622  --
623  TYPE payeeFormatRecType IS RECORD (
624      payee_id               IBY_EXTERNAL_PAYEES_ALL.
625                                 ext_payee_id%TYPE,
626      payment_format_cd      IBY_EXTERNAL_PAYEES_ALL.
627                                 payment_format_code%TYPE
628      );
629 
630  --
631  -- The payee formats table
632  --
633  TYPE payeeFormatTabType IS TABLE OF payeeFormatRecType
634      INDEX BY BINARY_INTEGER;
635 
636  --
637  -- Record to format linked to each profile.
638  --
639  TYPE profileFormatRecType IS RECORD (
640      profile_id             IBY_PAYMENT_PROFILES.
641                                 payment_profile_id%TYPE,
642      payment_format_cd      IBY_PAYMENT_PROFILES.
643                                 payment_format_code%TYPE,
644      bepid                  IBY_PAYMENT_PROFILES.
645                                 bepid%TYPE,
646      transmit_protocol_cd   IBY_PAYMENT_PROFILES.
647                                 transmit_protocol_code%TYPE
648      );
649 
650  --
651  -- The profile formats table
652  --
653  TYPE profileFormatTabType IS TABLE OF profileFormatRecType
654      INDEX BY BINARY_INTEGER;
655 
656 
657 /*--------------------------------------------------------------------
658  | NAME:
659  |     initDocumentData
660  |
661  | PURPOSE:
662  |     Initializes the document record from Oracle Payment's tables.
663  |
664  | PARAMETERS:
665  |     IN
666  |
667  |
668  |     OUT
669  |
670  |
671  | RETURNS:
672  |
673  | NOTES:
674  |
675  *---------------------------------------------------------------------*/
676  PROCEDURE initDocumentData(
677      p_document_id  IN IBY_DOCS_PAYABLE_ALL.document_payable_id%TYPE,
678      x_document_rec IN OUT NOCOPY documentRecType,
679      p_isOnline     IN VARCHAR2
680      );
681 
682 /*--------------------------------------------------------------------
683  | NAME:
684  |     initCharValData
685  |
686  | PURPOSE:
687  |     Initializes the character validation record with data from
688  |     Oracle Payment's tables.
689  |
690  | PARAMETERS:
691  |     IN
692  |
693  |
694  |     OUT
695  |
696  |
697  | RETURNS:
698  |
699  | NOTES:
700  |
701  *---------------------------------------------------------------------*/
702  PROCEDURE initCharValData(
703      p_document_id  IN IBY_DOCS_PAYABLE_ALL.document_payable_id%type,
704      x_charval_rec IN OUT NOCOPY charValRecType
705      );
706 
707 /*--------------------------------------------------------------------
708  | NAME:
709  |     initPaymentData
710  |
711  | PURPOSE:
712  |     Initializes the document record from Oracle Payment's tables.
713  |
714  | PARAMETERS:
715  |     IN
716  |
717  |
718  |     OUT
719  |
720  |
721  | RETURNS:
722  |
723  | NOTES:
724  |
725  *---------------------------------------------------------------------*/
726  PROCEDURE initPaymentData(
727      p_payment_id  IN IBY_PAYMENTS_ALL.payment_id%type,
728      x_payment_rec IN OUT NOCOPY paymentRecType
729      );
730 
731 /*--------------------------------------------------------------------
732  | NAME:
733  |     initInstructionData
734  |
735  | PURPOSE:
736  |     Initializes the instruction record from Oracle Payment's tables.
737  |
738  | PARAMETERS:
739  |     IN
740  |
741  |
742  |     OUT
743  |
744  |
745  | RETURNS:
746  |
747  | NOTES:
748  |
749  *---------------------------------------------------------------------*/
750 PROCEDURE initInstructionData (
751      p_instruction_id  IN IBY_PAY_INSTRUCTIONS_ALL.payment_instruction_id%type,
752      x_instruction_rec IN OUT NOCOPY instructionRecType
753      );
754 
755 /*--------------------------------------------------------------------
756  | NAME:
757  |     applyDocumentValidationSets
758  |
759  | PURPOSE:
760  |     Picks up Validation Sets which can be applied and validates
761  |     the documents in the payment request accordingly.
762  |
763  |
764  |
765  | PARAMETERS:
766  |     IN
767  |
768  |
769  |     OUT
770  |
771  |
772  | RETURNS:
773  |
774  | NOTES:
775  |
776  *---------------------------------------------------------------------*/
777 
778  PROCEDURE applyDocumentValidationSets(
779      p_pay_service_request_id IN IBY_PAY_SERVICE_REQUESTS.
780                                      payment_service_request_id%TYPE,
781      p_doc_rejection_level    IN IBY_INTERNAL_PAYERS_ALL.
782                                      document_rejection_level_code%TYPE,
783      p_is_singpay_flag        IN BOOLEAN,
784      x_return_status          IN OUT NOCOPY VARCHAR2
785      );
786 
787 /*--------------------------------------------------------------------
788  | NAME:
789  |     performOnlineValidations
790  |
791  | PURPOSE:
792  |     Picks up validation sets which can be applied and validates
793  |     the given document accordingly.
794  |
795  |
796  |
797  | PARAMETERS:
798  |     IN
799  |
800  |
801  |     OUT
802  |
803  |
804  | RETURNS:
805  |
806  | NOTES:
807  |
808  *---------------------------------------------------------------------*/
809  PROCEDURE performOnlineValidations(
810      p_document_id     IN IBY_DOCS_PAYABLE_ALL.document_payable_id%type,
811      x_return_status   IN OUT NOCOPY NUMBER
812      );
813 
814 /*--------------------------------------------------------------------
815  | NAME:
816  |     insert_transaction_errors
817  |
818  | PURPOSE:
819  |     Inserts the transaction errors into IBY_TRANSACTION_ERRORS
820  |     or IBY_TRANSACTION_ERRORS_GT depending upon the online flag.
821  |
822  | PARAMETERS:
823  |     IN
824  |
825  |
826  |     OUT
827  |
828  |
829  | RETURNS:
830  |
831  | NOTES:
832  |
833  *---------------------------------------------------------------------*/
834  PROCEDURE insert_transaction_errors(
835      p_isOnlineVal     IN            VARCHAR2,
836      x_docErrorTab     IN OUT NOCOPY docErrorTabType,
837      x_trxnErrTokenTab IN OUT NOCOPY trxnErrTokenTabType
838      );
839 
840  PROCEDURE insert_transaction_errors(
841      p_isOnlineVal IN VARCHAR2,
842      x_docErrorTab IN OUT NOCOPY docErrorTabType
843      );
844 
845 /*--------------------------------------------------------------------
846  | NAME:
847  |     insertIntoErrorTable
848  |
849  | PURPOSE:
850  |     Inserts the document validation error into PLSQL Table
851  |
852  | PARAMETERS:
853  |     IN
854  |
855  |
856  |     OUT
857  |
858  |
859  | RETURNS:
860  |
861  | NOTES:
862  |
863  *---------------------------------------------------------------------*/
864  PROCEDURE insertIntoErrorTable(
865      x_docErrorRec IN OUT NOCOPY IBY_TRANSACTION_ERRORS%ROWTYPE,
866      x_docErrorTab IN OUT NOCOPY docErrorTabType,
867      x_trxnErrTokenTab IN OUT NOCOPY trxnErrTokenTabType
868      );
869 
870  PROCEDURE insertIntoErrorTable(
871      x_docErrorRec IN OUT NOCOPY IBY_TRANSACTION_ERRORS%ROWTYPE,
872      x_docErrorTab IN OUT NOCOPY docErrorTabType
873      );
874 
875 /*--------------------------------------------------------------------
876  | NAME:
877  |     performDBUpdates
878  |
879  | PURPOSE:
880  |
881  |
882  | PARAMETERS:
883  |     IN
884  |
885  |
886  |     OUT
887  |
888  |
889  | RETURNS:
890  |
891  | NOTES:
892  |
893  *---------------------------------------------------------------------*/
894  PROCEDURE performDBUpdates(
895      p_pay_service_request_id
896                            IN IBY_PAY_SERVICE_REQUESTS.
897                                payment_service_request_id%type,
898      p_allDocsTab          IN docPayTabType,
899      x_errorDocsTab        IN OUT NOCOPY docStatusTabType,
900      p_allDocsSuccessFlag  IN BOOLEAN,
901      p_allDocsFailedFlag   IN BOOLEAN,
902      p_rejectionLevel      IN VARCHAR2,
903      x_txnErrorsTab        IN OUT NOCOPY docErrorTabType,
904      x_errTokenTab         IN OUT NOCOPY trxnErrTokenTabType,
905      x_return_status       IN OUT NOCOPY VARCHAR2
906      );
907 
908 /*--------------------------------------------------------------------
909  | NAME:
910  |     failRelatedDocs
911  |
912  | PURPOSE:
913  |
914  |
915  | PARAMETERS:
916  |     IN
917  |
918  |
919  |     OUT
920  |
921  |
922  | RETURNS:
923  |
924  | NOTES:
925  |
926  *---------------------------------------------------------------------*/
927  PROCEDURE failRelatedDocs(
928      p_allDocsTab        IN            docPayTabType,
929      x_failedDocsTab     IN OUT NOCOPY docStatusTabType,
930      x_docErrorTab       IN OUT NOCOPY docErrorTabType,
931      x_errTokenTab       IN OUT NOCOPY trxnErrTokenTabType
932      );
933 
934 /*--------------------------------------------------------------------
935  | NAME:
936  |     failAllDocsForPayee
937  |
938  | PURPOSE:
939  |
940  |
941  | PARAMETERS:
942  |     IN
943  |
944  |
945  |     OUT
946  |
947  |
948  | RETURNS:
949  |
950  | NOTES:
951  |
952  *---------------------------------------------------------------------*/
953  PROCEDURE failAllDocsForPayee(
954      p_allDocsTab        IN            docPayTabType,
955      x_failedDocsTab     IN OUT NOCOPY docStatusTabType,
956      x_docErrorTab       IN OUT NOCOPY docErrorTabType,
957      x_errTokenTab       IN OUT NOCOPY trxnErrTokenTabType
958      );
959 
960  --AWT Enh 16296267
961  /*--------------------------------------------------------------------
962  | NAME:
963  |     failAllAwtDocs
964  |
965  | PURPOSE:
966  |
967  |
968  | PARAMETERS:
969  |     IN
970  |
971  |
972  |     OUT
973  |
974  |
975  | RETURNS:
976  |
977  | NOTES:
978  |
979  *---------------------------------------------------------------------*/
980  PROCEDURE failAllAwtDocs(
981      p_allDocsTab        IN            docPayTabType,
982      x_failedDocsTab     IN OUT NOCOPY docStatusTabType,
983      x_docErrorTab       IN OUT NOCOPY docErrorTabType,
984      x_errTokenTab       IN OUT NOCOPY trxnErrTokenTabType
985      );
986 
987 /*--------------------------------------------------------------------
988  | NAME:
989  |     failAllDocsForRequest
990  |
991  | PURPOSE:
992  |
993  |
994  | PARAMETERS:
995  |     IN
996  |
997  |
998  |     OUT
999  |
1000  |
1001  | RETURNS:
1002  |
1003  | NOTES:
1004  |
1005  *---------------------------------------------------------------------*/
1006  PROCEDURE failAllDocsForRequest(
1007      p_allDocsTab        IN            docPayTabType,
1008      x_failedDocsTab     IN OUT NOCOPY docStatusTabType,
1009      x_docErrorTab       IN OUT NOCOPY docErrorTabType,
1010      x_errTokenTab       IN OUT NOCOPY trxnErrTokenTabType
1011      );
1012 
1013 /*--------------------------------------------------------------------
1014  | NAME:
1015  |     evaluateCondition
1016  |
1017  | PURPOSE:
1018  |     Function to evaluate a specific condition for a
1019  |     particular field on the basis of a token. This will
1020  |     minimize code in the Validation entry point procedures.
1021  |
1022  |     The possible token values are:
1023  |     EQUALSTO, NOTEQUALSTO, NOTNULL, LENGTH, MAXLENGTH,
1024  |     MINLENGTH, MIN, MAX, MASK, LIKE, SET, CUSTOM, ASSIGN,
1025  |     TYPE.
1026  |
1027  |     For token 'CUSTOM', this makes a dynamic PLSQL call to
1028  |     a procedure specified in the parameter 'p_value'.
1029  |
1030  | PARAMETERS:
1031  |     IN
1032  |
1033  |
1034  |     OUT
1035  |
1036  |
1037  | RETURNS:
1038  |
1039  | NOTES:
1040  |
1041  *---------------------------------------------------------------------*/
1042  PROCEDURE evaluateCondition(
1043      p_fieldName   IN VARCHAR2,
1044      p_fieldValue  IN VARCHAR2,
1045      p_token       IN VARCHAR2,
1046      p_char_value  IN VARCHAR2,
1047      p_num_value   IN NUMBER,
1048      x_valResult   OUT NOCOPY BOOLEAN,
1049      x_docErrorRec IN OUT NOCOPY IBY_TRANSACTION_ERRORS%ROWTYPE
1050      );
1051 
1052  PROCEDURE getParamValue (
1053       p_validation_assign_id  IN IBY_VAL_ASSIGNMENTS.
1054                                      validation_assignment_id%TYPE,
1055       p_validation_set_code   IN IBY_VALIDATION_SETS_VL.
1056                                      validation_set_code%TYPE,
1057       p_validation_param_code IN IBY_VALIDATION_PARAMS_B.
1058                                      validation_parameter_code%TYPE,
1059       p_value                 OUT NOCOPY VARCHAR2);
1060 
1061  PROCEDURE getDocumentFieldValue (
1062       p_field_name	IN VARCHAR2,
1063       p_document_rec	IN documentRecType,
1064       p_field_value	OUT NOCOPY VARCHAR2);
1065 
1066  PROCEDURE getPaymentFieldValue (
1067       p_field_name	IN VARCHAR2,
1068       p_payment_rec	IN paymentRecType,
1069       p_field_value	OUT NOCOPY VARCHAR2);
1070 
1071  PROCEDURE getInstructionFieldValue (
1072       p_field_name	IN VARCHAR2,
1073       p_instruction_rec	IN instructionRecType,
1074       p_field_value	OUT NOCOPY VARCHAR2);
1075 
1076 /*--------------------------------------------------------------------
1077  | NAME:
1078  |     getRequestAttributes
1079  |
1080  | PURPOSE:
1081  |
1082  |
1083  |
1084  | PARAMETERS:
1085  |     IN
1086  |
1087  |     OUT
1088  |
1089  |
1090  | RETURNS:
1091  |
1092  | NOTES:
1093  |
1094  *---------------------------------------------------------------------*/
1095  PROCEDURE getRequestAttributes(
1096      p_payReqId   IN IBY_PAY_SERVICE_REQUESTS.payment_service_request_id%TYPE,
1097      x_caPayReqCd IN OUT NOCOPY
1098          IBY_PAY_SERVICE_REQUESTS.call_app_pay_service_req_code%TYPE,
1099      x_caId       IN OUT NOCOPY
1100          IBY_PAY_SERVICE_REQUESTS.calling_app_id%TYPE
1101      );
1102 
1103 /*--------------------------------------------------------------------
1104  | NAME:
1105  |     raiseBizEvents
1106  |
1107  | PURPOSE:
1108  |
1109  |
1110  |
1111  | PARAMETERS:
1112  |     IN
1113  |
1114  |     OUT
1115  |
1116  |
1117  | RETURNS:
1118  |
1119  | NOTES:
1120  |
1121  *---------------------------------------------------------------------*/
1122  PROCEDURE raiseBizEvents(
1123      p_payreq_id          IN            VARCHAR2,
1124      p_cap_payreq_id      IN            VARCHAR2,
1125      p_cap_id             IN            NUMBER,
1126      x_allDocsSuccessFlag IN OUT NOCOPY BOOLEAN,
1127      p_rejectionLevel     IN            VARCHAR2
1128      );
1129 
1130 /*--------------------------------------------------------------------
1131  | NAME:
1132  |     checkIfDocFailed
1133  |
1134  | PURPOSE:
1135  |
1136  |
1137  |
1138  | PARAMETERS:
1139  |     IN
1140  |
1141  |     OUT
1142  |
1143  |
1144  | RETURNS:
1145  |
1146  | NOTES:
1147  |
1148  |
1149  *---------------------------------------------------------------------*/
1150  FUNCTION checkIfDocFailed(
1151      p_doc_id        IN IBY_DOCS_PAYABLE_ALL.document_payable_id%TYPE,
1152      p_failedDocsTab IN docStatusTabType
1153      )
1154      RETURN BOOLEAN;
1155 
1156 /*--------------------------------------------------------------------
1157  | NAME:
1158  |     checkIfAllDocsFailed
1159  |
1160  | PURPOSE:
1161  |
1162  |
1163  |
1164  | PARAMETERS:
1165  |     IN
1166  |
1167  |     OUT
1168  |
1169  |
1170  | RETURNS:
1171  |
1172  | NOTES:
1173  |
1174  |
1175  *---------------------------------------------------------------------*/
1176  FUNCTION checkIfAllDocsFailed(
1177      p_allDocsTab    IN docPayTabType,
1178      p_failedDocsTab IN docStatusTabType
1179      )
1180      RETURN BOOLEAN;
1181 
1182 /*--------------------------------------------------------------------
1183  | NAME:
1184  |     validateProfileFromProfDrivers
1185  |
1186  | PURPOSE:
1187  |
1188  |
1189  |
1190  | PARAMETERS:
1191  |     IN
1192  |
1193  |     OUT
1194  |
1195  |
1196  | RETURNS:
1197  |
1198  | NOTES:
1199  |
1200  |
1201  *---------------------------------------------------------------------*/
1202  FUNCTION validateProfileFromProfDrivers(
1203      p_profile_id        IN IBY_DOCS_PAYABLE_ALL.payment_profile_id%TYPE,
1204      p_org_id            IN IBY_DOCS_PAYABLE_ALL.org_id%TYPE,
1205      p_org_type          IN IBY_DOCS_PAYABLE_ALL.org_type%TYPE,
1206      p_pmt_method_cd     IN IBY_DOCS_PAYABLE_ALL.payment_method_code%TYPE,
1207      p_pmt_currency      IN IBY_DOCS_PAYABLE_ALL.payment_currency_code%TYPE,
1208      p_int_bank_acct_id  IN IBY_DOCS_PAYABLE_ALL.internal_bank_account_id%TYPE
1209      )
1210      RETURN BOOLEAN;
1211 
1212 /*--------------------------------------------------------------------
1213  | NAME:
1214  |     getXMLClob
1215  |
1216  | PURPOSE:
1217  |
1218  |
1219  |
1220  | PARAMETERS:
1221  |     IN
1222  |
1223  |     OUT
1224  |
1225  |
1226  | RETURNS:
1227  |
1228  | NOTES:
1229  |
1230  |
1231  *---------------------------------------------------------------------*/
1232  FUNCTION getXMLClob(
1233      p_payreq_id     IN VARCHAR2
1234      )
1235      RETURN CLOB;
1236 
1237 /*--------------------------------------------------------------------
1238  | NAME:
1239  |     retrieveErrorMSG
1240  |
1241  | PURPOSE:
1242  |     Function to retrieve an error message according to an object
1243  |     code and an error message number provided.
1244  |
1245  | PARAMETERS:
1246  |     IN
1247  |
1248  |
1249  |     OUT
1250  |
1251  |
1252  | RETURNS:
1253  |
1254  | NOTES:
1255  |
1256  *---------------------------------------------------------------------*/
1257  PROCEDURE retrieveErrorMSG (
1258             p_object_code   IN fnd_lookups.lookup_code%TYPE,
1259             p_msg_name      IN fnd_new_messages.message_name%TYPE,
1260             p_message       IN OUT NOCOPY fnd_new_messages.message_text%TYPE
1261             );
1262 
1263 /*--------------------------------------------------------------------
1264  | NAME:
1265  |     getDocRejLevelSysOption
1266  |
1267  | PURPOSE:
1268  |
1269  |
1270  | PARAMETERS:
1271  |     IN
1272  |
1273  |
1274  |     OUT
1275  |
1276  |
1277  | RETURNS:
1278  |
1279  | NOTES:
1280  |
1281  *---------------------------------------------------------------------*/
1282  FUNCTION getDocRejLevelSysOption
1283      RETURN VARCHAR2;
1284 
1285 /*--------------------------------------------------------------------
1286  | NAME:
1287  |     checkProfileFormatCompat
1288  |
1289  | PURPOSE:
1290  |
1291  |
1292  | PARAMETERS:
1293  |     IN
1294  |
1295  |
1296  |     OUT
1297  |
1298  |
1299  | RETURNS:
1300  |
1301  | NOTES:
1302  |
1303  *---------------------------------------------------------------------*/
1304  FUNCTION checkProfileFormatCompat(
1305      p_doc_id            IN IBY_DOCS_PAYABLE_ALL.document_payable_id%TYPE,
1306      p_payee_id          IN IBY_DOCS_PAYABLE_ALL.ext_payee_id%TYPE,
1307      p_profile_id        IN IBY_DOCS_PAYABLE_ALL.payment_profile_id%TYPE
1308      ) RETURN BOOLEAN;
1309 
1310 
1311 
1312 /*--------------------------------------------------------------------
1313  | NAME:
1314  |     getRejectedDocs
1315  |
1316  | PURPOSE:
1317  |     Performs a database query to get all failed documents for
1318  |     the given payment request. These failed documents are put
1319  |     into data structure and returned to the caller.
1320  |
1321  |
1322  | PARAMETERS:
1323  |     IN
1324  |
1325  |     OUT
1326  |
1327  |
1328  | RETURNS:
1329  |
1330  | NOTES:
1331  |
1332  |
1333  *---------------------------------------------------------------------*/
1334  PROCEDURE getRejectedDocs(
1335      p_payreq_id    IN VARCHAR2,
1336      x_docIDTab     IN OUT NOCOPY IBY_DISBURSE_UI_API_PUB_PKG.docPayIDTab,
1337      x_docStatusTab IN OUT NOCOPY IBY_DISBURSE_UI_API_PUB_PKG.docPayStatusTab
1338      );
1339 
1340 
1341 
1342 /*--------------------------------------------------------------------
1343  | NAME:
1344  |     initDocDataForPPR
1345  |
1346  | PURPOSE:
1347  |     Picks up Document Data for all Document payables of Request
1348  |     and inserts them in to a GT table (IBY_DOCS_PAYABLE_VAL_GT).
1349  |
1350  | PARAMETERS:
1351  |     IN
1352  |
1353  |
1354  |     OUT
1355  |
1356  |
1357  | RETURNS:
1358  |
1359  | NOTES:
1360  |
1361  *---------------------------------------------------------------------*/
1362  PROCEDURE initDocDataForPPR(
1363      p_pay_service_request_id IN IBY_PAY_SERVICE_REQUESTS.
1364                                      payment_service_request_id%TYPE
1365      );
1366 
1367 
1368 END IBY_VALIDATIONSETS_PUB;