DBA Data[Home] [Help]

PACKAGE BODY: APPS.AP_AI_TABLE_HANDLER_PKG

Source


1 PACKAGE BODY AP_AI_TABLE_HANDLER_PKG as
2 /* $Header: apainthb.pls 120.22.12010000.6 2009/02/04 05:59:14 ctetala ship $ */
3 
4 PROCEDURE CHECK_UNIQUE (
5           p_ROWID                     VARCHAR2,
6           p_INVOICE_NUM               VARCHAR2,
7           p_VENDOR_ID                 NUMBER,
8           p_ORG_ID                    NUMBER,   -- Bug 5407785
9           p_calling_sequence  IN      VARCHAR2) IS
10 
11   dummy_a                       NUMBER := 0;
12   dummy_b                       NUMBER := 0;
13   current_calling_sequence      VARCHAR2(2000);
14   debug_info                    VARCHAR2(100);
15 
16 BEGIN
17 
18   -- Update the calling sequence
19 
20   current_calling_sequence :=
21                'AP_AI_TABLE_HANDLER_PKG.CHECK_UNIQUE<-'||p_calling_sequence;
22 
23   debug_info := 'Count for same vendor_id and invoice_num';
24   SELECT count(1)
25     INTO dummy_a
26     FROM ap_invoices_all
27    WHERE invoice_num = p_INVOICE_NUM
28      AND vendor_id   = p_VENDOR_ID
29      AND org_id      = p_ORG_ID   -- Bug 5407785
30      AND ((p_ROWID is null) OR
31           (rowid <> p_ROWID));
32 
33   IF (dummy_a >= 1) THEN
34     fnd_message.set_name('SQLAP','AP_ALL_DUPLICATE_VALUE');
35     app_exception.raise_exception;
36   END IF;
37 
38   debug_info := 'Count for same vendor_id, invoice_num amount purged invoices';
39   SELECT count(1)
40     INTO dummy_b
41     FROM ap_history_invoices_all
42    WHERE invoice_num = p_INVOICE_NUM
43      AND vendor_id = p_VENDOR_ID
44      AND org_id = p_ORG_ID;   -- Bug 5407785
45 
46   IF (dummy_b >= 1) THEN
47     fnd_message.set_name('SQLAP','AP_ALL_DUPLICATE_VALUE');
48     app_exception.raise_exception;
49   END IF;
50 
51   EXCEPTION
52      WHEN OTHERS THEN
53          IF (SQLCODE <> -20001) THEN
54            FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
55            FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
56            FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',
57                      current_calling_sequence);
58            FND_MESSAGE.SET_TOKEN('PARAMETERS',
59                'p_Rowid = '      ||p_Rowid
60            ||', p_INVOICE_NUM = '||p_INVOICE_NUM
61            ||', p_VENDOR_ID = '  ||p_VENDOR_ID
62                                     );
63            FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
64          END IF;
65        APP_EXCEPTION.RAISE_EXCEPTION;
66 
67 END CHECK_UNIQUE;
68 
69 ---------------------------------------------------------------------
70 PROCEDURE Insert_Row(
71           p_Rowid                       IN OUT NOCOPY VARCHAR2,
72           p_Invoice_Id                  IN OUT NOCOPY NUMBER,
73           p_Last_Update_Date                   DATE,
74           p_Last_Updated_By                    NUMBER,
75           p_Vendor_Id                          NUMBER,
76           p_Invoice_Num                        VARCHAR2,
77           p_Invoice_Amount                     NUMBER,
78           p_Vendor_Site_Id                     NUMBER,
79           p_Amount_Paid                        NUMBER,
80           p_Discount_Amount_Taken              NUMBER,
81           p_Invoice_Date                       DATE,
82           p_Source                             VARCHAR2,
83           p_Invoice_Type_Lookup_Code           VARCHAR2,
84           p_Description                        VARCHAR2,
85           p_Batch_Id                           NUMBER,
86           p_Amt_Applicable_To_Discount         NUMBER,
87           p_Terms_Id                           NUMBER,
88           p_Terms_Date                         DATE,
89           p_Goods_Received_Date                DATE,
90           p_Invoice_Received_Date              DATE,
91           p_Voucher_Num                        VARCHAR2,
92           p_Approved_Amount                    NUMBER,
93           p_Approval_Status                    VARCHAR2,
94           p_Approval_Description               VARCHAR2,
95           p_Pay_Group_Lookup_Code              VARCHAR2,
96           p_Set_Of_Books_Id                    NUMBER,
97           p_Accts_Pay_CCId                     NUMBER,
98           p_Recurring_Payment_Id               NUMBER,
99           p_Invoice_Currency_Code              VARCHAR2,
100           p_Payment_Currency_Code              VARCHAR2,
101           p_Exchange_Rate                      NUMBER,
102           p_Payment_Amount_Total               NUMBER,
103           p_Payment_Status_Flag                VARCHAR2,
104           p_Posting_Status                     VARCHAR2,
105           p_Authorized_By                      VARCHAR2,
106           p_Attribute_Category                 VARCHAR2,
107           p_Attribute1                         VARCHAR2,
108           p_Attribute2                         VARCHAR2,
109           p_Attribute3                         VARCHAR2,
110           p_Attribute4                         VARCHAR2,
111           p_Attribute5                         VARCHAR2,
112           p_Creation_Date                      DATE,
113           p_Created_By                         NUMBER,
114           p_Vendor_Prepay_Amount               NUMBER,
115           p_Base_Amount                        NUMBER,
116           p_Exchange_Rate_Type                 VARCHAR2,
117           p_Exchange_Date                      DATE,
118           p_Payment_Cross_Rate                 NUMBER,
119           p_Payment_Cross_Rate_Type            VARCHAR2,
120           p_Payment_Cross_Rate_Date            Date,
121           p_Pay_Curr_Invoice_Amount            NUMBER,
122           p_Last_Update_Login                  NUMBER,
123           p_Original_Prepayment_Amount         NUMBER,
124           p_Earliest_Settlement_Date           DATE,
125           p_Attribute11                        VARCHAR2,
126           p_Attribute12                        VARCHAR2,
127           p_Attribute13                        VARCHAR2,
128           p_Attribute14                        VARCHAR2,
129           p_Attribute6                         VARCHAR2,
130           p_Attribute7                         VARCHAR2,
131           p_Attribute8                         VARCHAR2,
132           p_Attribute9                         VARCHAR2,
133           p_Attribute10                        VARCHAR2,
134           p_Attribute15                        VARCHAR2,
135           p_Cancelled_Date                     DATE,
136           p_Cancelled_By                       NUMBER,
137           p_Cancelled_Amount                   NUMBER,
138           p_Temp_Cancelled_Amount              NUMBER,
139           p_Exclusive_Payment_Flag             VARCHAR2,
140           p_Po_Header_Id                       NUMBER,
141           p_Doc_Sequence_Id                    NUMBER,
142           p_Doc_Sequence_Value                 NUMBER,
143           p_Doc_Category_Code                  VARCHAR2,
144           p_Expenditure_Item_Date              DATE,
145           p_Expenditure_Organization_Id        NUMBER,
146           p_Expenditure_Type                   VARCHAR2,
147           p_Pa_Default_Dist_Ccid               NUMBER,
148           p_Pa_Quantity                        NUMBER,
149           p_Project_Id                         NUMBER,
150           p_Task_Id                            NUMBER,
151           p_Awt_Flag                           VARCHAR2,
152           p_Awt_Group_Id                       NUMBER,
153           p_Pay_Awt_Group_Id                       NUMBER,--bug6639866
154           p_Reference_1                        VARCHAR2,
155           p_Reference_2                        VARCHAR2,
156           p_Org_Id                             NUMBER,
157           p_global_attribute_category          VARCHAR2 DEFAULT NULL,
158           p_global_attribute1                  VARCHAR2 DEFAULT NULL,
159           p_global_attribute2                  VARCHAR2 DEFAULT NULL,
160           p_global_attribute3                  VARCHAR2 DEFAULT NULL,
161           p_global_attribute4                  VARCHAR2 DEFAULT NULL,
162           p_global_attribute5                  VARCHAR2 DEFAULT NULL,
163           p_global_attribute6                  VARCHAR2 DEFAULT NULL,
164           p_global_attribute7                  VARCHAR2 DEFAULT NULL,
165           p_global_attribute8                  VARCHAR2 DEFAULT NULL,
166           p_global_attribute9                  VARCHAR2 DEFAULT NULL,
167           p_global_attribute10                 VARCHAR2 DEFAULT NULL,
168           p_global_attribute11                 VARCHAR2 DEFAULT NULL,
169           p_global_attribute12                 VARCHAR2 DEFAULT NULL,
170           p_global_attribute13                 VARCHAR2 DEFAULT NULL,
171           p_global_attribute14                 VARCHAR2 DEFAULT NULL,
172           p_global_attribute15                 VARCHAR2 DEFAULT NULL,
173           p_global_attribute16                 VARCHAR2 DEFAULT NULL,
174           p_global_attribute17                 VARCHAR2 DEFAULT NULL,
175           p_global_attribute18                 VARCHAR2 DEFAULT NULL,
176           p_global_attribute19                 VARCHAR2 DEFAULT NULL,
177           p_global_attribute20                 VARCHAR2 DEFAULT NULL,
178           p_calling_sequence            IN     VARCHAR2,
179           p_gl_date                            DATE,
180           p_Award_Id                           NUMBER,
181           p_approval_iteration                 NUMBER,
182           p_approval_ready_flag                VARCHAR2 DEFAULT 'Y',
183           p_wfapproval_status                  VARCHAR2 DEFAULT 'NOT REQUIRED',
184           p_paid_on_behalf_employee_id         NUMBER   DEFAULT NULL,
185           p_amt_due_employee                   NUMBER   DEFAULT NULL,
186           p_amt_due_ccard_company              NUMBER   DEFAULT NULL,
187           p_requester_id                       NUMBER   DEFAULT NULL,
188           -- Invoice Lines Project Stage 1
189           p_quick_credit                       VARCHAR2 DEFAULT NULL,
190           p_credited_invoice_id                NUMBER   DEFAULT NULL,
191           p_distribution_set_id                NUMBER   DEFAULT NULL,
192 	  --ETAX: Invwkb
193 	  p_force_revalidation_flag	       VARCHAR2 DEFAULT NULL,
194 	  p_control_amount		       NUMBER   DEFAULT NULL,
195 	  p_tax_related_invoice_id	       NUMBER   DEFAULT NULL,
196 	  p_trx_business_category      	       VARCHAR2 DEFAULT NULL,
197 	  p_user_defined_fisc_class    	       VARCHAR2 DEFAULT NULL,
198 	  p_taxation_country	               VARCHAR2 DEFAULT NULL,
199 	  p_document_sub_type                  VARCHAR2 DEFAULT NULL,
200 	  p_supplier_tax_invoice_number        VARCHAR2 DEFAULT NULL,
201 	  p_supplier_tax_invoice_date          DATE     DEFAULT NULL,
202 	  p_supplier_tax_exchange_rate         NUMBER   DEFAULT NULL,
203 	  p_tax_invoice_recording_date         DATE     DEFAULT NULL,
204 	  p_tax_invoice_internal_seq           NUMBER   DEFAULT NULL,
205 	  p_legal_entity_id		       NUMBER   DEFAULT NULL,
206 	  p_quick_po_header_id		       NUMBER   DEFAULT NULL,
207           P_PAYMENT_METHOD_CODE                varchar2 ,
208           P_PAYMENT_REASON_CODE                varchar2 default null,
209           P_PAYMENT_REASON_COMMENTS            varchar2 default null,
210           P_UNIQUE_REMITTANCE_IDENTIFIER       varchar2 default null,
211           P_URI_CHECK_DIGIT                    varchar2 default null,
212           P_BANK_CHARGE_BEARER                 varchar2 default null,
213           P_DELIVERY_CHANNEL_CODE              varchar2 default null,
214           P_SETTLEMENT_PRIORITY                varchar2 default null,
215 	  p_net_of_retainage_flag	       varchar2 default null,
216 	  p_release_amount_net_of_tax	       number   default null,
217 	  p_port_of_entry_code		       varchar2 default null,
218           p_external_bank_account_id           number   default null,
219           p_party_id                           number   default null,
220           p_party_site_id                      number   default null,
221            /* bug 4931755 */
225           p_remit_msg1                         varchar2 default null,
222           p_disc_is_inv_less_tax_flag          varchar2 default null,
223           p_exclude_freight_from_disc          varchar2 default null,
224           /* Bug 5087834 */
226           p_remit_msg2                         varchar2 default null,
227           p_remit_msg3                         varchar2 default null,
228 	  p_cust_registration_number	       varchar2 default null,
229 	  /* Third Party Payments*/
230 	  p_remit_to_supplier_name	varchar2 default null,
231 	  p_remit_to_supplier_id	number default null,
232 	  p_remit_to_supplier_site	varchar2 default null,
233 	  p_remit_to_supplier_site_id number default null,
234 	  p_relationship_id		number default null,
235 	  /* Bug 7831073 */
236 	  p_original_invoice_amount number default null,
237 	  p_dispute_reason varchar2 default null
238 
239 	  )
240   IS
241 
242   CURSOR C IS
243   SELECT rowid FROM ap_invoices_all
244    WHERE invoice_id = p_Invoice_Id;
245 
246   CURSOR C2 IS
247   SELECT ap_invoices_s.nextval FROM sys.dual;
248 
249   current_calling_sequence            VARCHAR2(2000);
250   debug_info                          VARCHAR2(100);
251 BEGIN
252   -- Update the calling sequence
253 
254   current_calling_sequence := 'AP_AI_TABLE_HANDLER_PKG.INSERT_ROW<-'||
255                               p_calling_sequence;
256 
257   -- Check uniqueness first
258   ap_ai_table_handler_pkg.check_unique(
259            p_ROWID,
260            p_INVOICE_NUM,
261            p_VENDOR_ID,
262            p_ORG_ID,  -- Bug 5407785
263            current_calling_sequence);
264 
265   IF (p_Invoice_Id is NULL) THEN
266     debug_info := 'Open cursor C2';
267     OPEN C2;
268     debug_info := 'Fetch cursor C2';
269     FETCH C2 INTO
270           p_Invoice_Id;
271     debug_info := 'hello Close cursor C2';
272     CLOSE C2;
273   END IF;
274 
275   debug_info := 'Insert into ap_invoices_all';
276 
277   INSERT INTO ap_invoices_all(
278           invoice_id,
279           last_update_date,
280           last_updated_by,
281           vendor_id,
282           invoice_num,
283           invoice_amount,
284           vendor_site_id,
285           amount_paid,
286           discount_amount_taken,
287           invoice_date,
288           source,
289           invoice_type_lookup_code,
290           description,
291           batch_id,
292           amount_applicable_to_discount,
293           terms_id,
294           terms_date,
295           goods_received_date,
296           invoice_received_date,
297           voucher_num,
298           approved_amount,
299           approval_status,
300           approval_description,
301           pay_group_lookup_code,
302           set_of_books_id,
303           accts_pay_code_combination_id,
304           recurring_payment_id,
305           invoice_currency_code,
306           payment_currency_code,
307           exchange_rate,
308           payment_amount_total,
309           payment_status_flag,
310           posting_status,
311           authorized_by,
312           attribute_category,
313           attribute1,
314           attribute2,
315           attribute3,
316           attribute4,
317           attribute5,
318           creation_date,
319           created_by,
320           vendor_prepay_amount,
321           base_amount,
322           exchange_rate_type,
323           exchange_date,
324           payment_cross_rate,
325           payment_cross_rate_type,
326           payment_cross_rate_date,
327           pay_curr_invoice_amount,
328           last_update_login,
329           original_prepayment_amount,
330           earliest_settlement_date,
331           attribute11,
332           attribute12,
333           attribute13,
334           attribute14,
335           attribute6,
336           attribute7,
337           attribute8,
338           attribute9,
339           attribute10,
340           attribute15,
341           cancelled_date,
342           cancelled_by,
343           cancelled_amount,
344           temp_cancelled_amount,
345           exclusive_payment_flag,
346           po_header_id,
347           doc_sequence_id,
348           doc_sequence_value,
349           doc_category_code,
350           expenditure_item_date,
351           expenditure_organization_id,
352           expenditure_type,
353           pa_default_dist_ccid,
354           pa_quantity,
355           project_id,
356           task_id,
357           awt_flag,
358           awt_group_id,
359           pay_awt_group_id,--bug6639866
360           reference_1,
361           reference_2,
362           global_attribute_category,
363           global_attribute1,
364           global_attribute2,
365           global_attribute3,
366           global_attribute4,
367           global_attribute5,
368           global_attribute6,
369           global_attribute7,
370           global_attribute8,
371           global_attribute9,
372           global_attribute10,
373           global_attribute11,
374           global_attribute12,
375           global_attribute13,
376           global_attribute14,
377           global_attribute15,
381           global_attribute19,
378           global_attribute16,
379           global_attribute17,
380           global_attribute18,
382           global_attribute20,
383           gl_date,
384           award_id,
385           approval_iteration,
386           approval_ready_flag,
387           wfapproval_status,
388           paid_on_behalf_employee_id,
389           amt_due_employee,
390           amt_due_ccard_company,
391           requester_id,
392           org_id,
393           -- Invoice Lines Project Stage 1
394           quick_credit,
395           credited_invoice_id,
396           distribution_set_id,
397 	  --ETAX:Invwkb
398 	  force_revalidation_flag,
399 	  control_amount,
400 	  tax_related_invoice_id,
401 	  trx_business_category,
402 	  user_defined_fisc_class,
403 	  taxation_country,
404 	  document_sub_type,
405 	  supplier_tax_invoice_number,
406 	  supplier_tax_invoice_date,
407 	  supplier_tax_exchange_rate,
408 	  tax_invoice_recording_date,
409 	  tax_invoice_internal_seq,
410 	  legal_entity_id,
411 	  --Contract Payments
412 	  quick_po_header_id,
413           PAYMENT_METHOD_CODE,
414           PAYMENT_REASON_CODE,
415           PAYMENT_REASON_COMMENTS,
416           UNIQUE_REMITTANCE_IDENTIFIER,
417           URI_CHECK_DIGIT,
418           BANK_CHARGE_BEARER,
419           DELIVERY_CHANNEL_CODE,
420           SETTLEMENT_PRIORITY,
421 	  net_of_retainage_flag,
422 	  release_amount_net_of_tax,
423 	  port_of_entry_code,
424           external_bank_account_id,
425           party_id,
426           party_site_id,
427            /* bug 4931755 */
428           disc_is_inv_less_tax_flag,
429           exclude_freight_from_discount,
430           REMITTANCE_MESSAGE1,
431           REMITTANCE_MESSAGE2,
432           REMITTANCE_MESSAGE3,
433 	  CUST_REGISTRATION_NUMBER,
434 	  /* Third Party Payments*/
435 	  REMIT_TO_SUPPLIER_NAME,
436 	  REMIT_TO_SUPPLIER_ID,
437 	  REMIT_TO_SUPPLIER_SITE,
438 	  REMIT_TO_SUPPLIER_SITE_ID,
439 	  RELATIONSHIP_ID,
440       /* Bug 7831073 */
441       original_invoice_amount,
442       dispute_reason
443 	  )
444   VALUES (
445           p_Invoice_Id,
446           p_Last_Update_Date,
447           p_Last_Updated_By,
448           p_Vendor_Id,
449           p_Invoice_Num,
450           p_Invoice_Amount,
451           p_Vendor_Site_Id,
452           p_Amount_Paid,
453           p_Discount_Amount_Taken,
454           p_Invoice_Date,
455           p_Source,
456           p_Invoice_Type_Lookup_Code,
457           p_Description,
458           p_Batch_Id,
459           p_Amt_Applicable_To_Discount,
460           p_Terms_Id,
461           p_Terms_Date,
462           p_Goods_Received_Date,
463           p_Invoice_Received_Date,
464           p_Voucher_Num,
465           p_Approved_Amount,
466           p_Approval_Status,
467           p_Approval_Description,
468           p_Pay_Group_Lookup_Code,
469           p_Set_Of_Books_Id,
470           p_Accts_Pay_CCId,
471           p_Recurring_Payment_Id,
472           p_Invoice_Currency_Code,
473           p_Payment_Currency_Code,
474           p_Exchange_Rate,
475           p_Payment_Amount_Total,
476           p_Payment_Status_Flag,
477           p_Posting_Status,
478           p_Authorized_By,
479           p_Attribute_Category,
480           p_Attribute1,
481           p_Attribute2,
482           p_Attribute3,
483           p_Attribute4,
484           p_Attribute5,
485           p_Creation_Date,
486           p_Created_By,
487           p_Vendor_Prepay_Amount,
488           p_Base_Amount,
489           p_Exchange_Rate_Type,
490           p_Exchange_Date,
491           p_Payment_Cross_Rate,
492           p_Payment_Cross_Rate_Type,
493           p_Payment_Cross_Rate_Date,
494           p_Pay_Curr_Invoice_Amount,
495           p_Last_Update_Login,
496           p_Original_Prepayment_Amount,
497           p_Earliest_Settlement_Date,
498           p_Attribute11,
499           p_Attribute12,
500           p_Attribute13,
501           p_Attribute14,
502           p_Attribute6,
503           p_Attribute7,
504           p_Attribute8,
505           p_Attribute9,
506           p_Attribute10,
507           p_Attribute15,
508           p_Cancelled_Date,
509           p_Cancelled_By,
510           p_Cancelled_Amount,
511           p_Temp_Cancelled_Amount,
512           p_Exclusive_Payment_Flag,
513           p_Po_Header_Id,
514           p_Doc_Sequence_Id,
515           p_Doc_Sequence_Value,
516           p_Doc_Category_Code,
517           p_Expenditure_Item_Date,
518           p_Expenditure_Organization_Id,
519           p_Expenditure_Type,
520           p_Pa_Default_Dist_Ccid,
521           p_Pa_Quantity,
522           p_Project_Id,
523           p_Task_Id,
524           p_Awt_Flag,
525           p_Awt_Group_Id,
526           p_Pay_Awt_Group_Id,--bug6639866
527           p_Reference_1,
528           p_Reference_2,
529           p_global_attribute_category,
530           p_global_attribute1,
531           p_global_attribute2,
532           p_global_attribute3,
533           p_global_attribute4,
534           p_global_attribute5,
535           p_global_attribute6,
536           p_global_attribute7,
540           p_global_attribute11,
537           p_global_attribute8,
538           p_global_attribute9,
539           p_global_attribute10,
541           p_global_attribute12,
542           p_global_attribute13,
543           p_global_attribute14,
544           p_global_attribute15,
545           p_global_attribute16,
546           p_global_attribute17,
547           p_global_attribute18,
548           p_global_attribute19,
549           p_global_attribute20,
550           p_gl_date,
551           p_Award_Id,
552           p_approval_iteration,
553           p_approval_ready_flag,
554           p_wfapproval_status,
555           p_paid_on_behalf_employee_id,
556           p_amt_due_employee,
557           p_amt_due_ccard_company,
558           p_requester_id,
559           p_org_id,
560           -- Invoice Lines Project Stage 1
561           p_quick_credit,
562           p_credited_invoice_id,
563           p_distribution_set_id,
564 	  --ETAX: Invwkb
565 	  p_force_revalidation_flag,
566 	  p_control_amount,
567           p_tax_related_invoice_id,
568 	  p_trx_business_category,
569 	  p_user_defined_fisc_class,
570 	  p_taxation_country,
571 	  p_document_sub_type,
572 	  p_supplier_tax_invoice_number,
573 	  p_supplier_tax_invoice_date,
574 	  p_supplier_tax_exchange_rate,
575 	  p_tax_invoice_recording_date,
576 	  p_tax_invoice_internal_seq,
577 	  p_legal_entity_id,
578 	  p_quick_po_header_id,
579           P_PAYMENT_METHOD_CODE,
580           P_PAYMENT_REASON_CODE,
581           P_PAYMENT_REASON_COMMENTS,
582           P_UNIQUE_REMITTANCE_IDENTIFIER,
583           P_URI_CHECK_DIGIT,
584           P_BANK_CHARGE_BEARER,
585           P_DELIVERY_CHANNEL_CODE,
586           P_SETTLEMENT_PRIORITY,
587 	  p_net_of_retainage_flag,
588 	  p_release_amount_net_of_tax,
589 	  p_port_of_entry_code,
590           p_external_bank_account_id,
591           p_party_id,
592           p_party_site_id,
593           p_disc_is_inv_less_tax_flag,
594           p_exclude_freight_from_disc,
595           p_remit_msg1,
596           p_remit_msg2,
597           p_remit_msg3,
598 	  p_cust_registration_number,
599 	  /* Third Party Payments*/
600 	  p_remit_to_supplier_name,
601 	  p_remit_to_supplier_id,
602 	  p_remit_to_supplier_site,
603 	  p_remit_to_supplier_site_id,
604 	  p_relationship_id,
605 	 /* Bug 7831073 */
606 	  p_original_invoice_amount,
607 	  p_dispute_reason
608 	  );
609 
610   debug_info := 'Open cursor C';
611   OPEN C;
612   debug_info := 'Fetch cursor C';
613   FETCH C INTO p_Rowid;
614   IF (C%NOTFOUND) THEN
615     debug_info := 'Close cursor C - ROW NOTFOUND';
616     CLOSE C;
617     RAISE NO_DATA_FOUND;
618   END IF;
619   debug_info := 'Close cursor C';
620   CLOSE C;
621 
622   --Bug 4539462 DBI logging
623   AP_DBI_PKG.Maintain_DBI_Summary
624               (p_table_name => 'AP_INVOICES',
625                p_operation => 'I',
626                p_key_value1 => p_invoice_id,
627                 p_calling_sequence => current_calling_sequence);
628 
629   EXCEPTION
630      WHEN OTHERS THEN
631          IF (SQLCODE <> -20001) THEN
632            FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
633            FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
634            FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',
635                      current_calling_sequence);
636            FND_MESSAGE.SET_TOKEN('PARAMETERS',
637                'p_Rowid = '||p_Rowid
638            ||', p_invoice_id = '||p_invoice_id
639                                     );
640            FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
641          END IF;
642        APP_EXCEPTION.RAISE_EXCEPTION;
643 
644 END Insert_Row;
645 
646 PROCEDURE Update_Row(
647           p_Rowid                              VARCHAR2,
648           p_Invoice_Id                         NUMBER,
649           p_Last_Update_Date                   DATE,
650           p_Last_Updated_By                    NUMBER,
651           p_Vendor_Id                          NUMBER,
652           p_Invoice_Num                        VARCHAR2,
653           p_Invoice_Amount                     NUMBER,
654           p_Vendor_Site_Id                     NUMBER,
655           p_Amount_Paid                        NUMBER,
656           p_Discount_Amount_Taken              NUMBER,
657           p_Invoice_Date                       DATE,
658           p_Source                             VARCHAR2,
659           p_Invoice_Type_Lookup_Code           VARCHAR2,
660           p_Description                        VARCHAR2,
661           p_Batch_Id                           NUMBER,
662           p_Amt_Applicable_To_Discount         NUMBER,
663           p_Terms_Id                           NUMBER,
664           p_Terms_Date                         DATE,
665           p_Goods_Received_Date                DATE,
666           p_Invoice_Received_Date              DATE,
667           p_Voucher_Num                        VARCHAR2,
668           p_Approved_Amount                    NUMBER,
669           p_Approval_Status                    VARCHAR2,
670           p_Approval_Description               VARCHAR2,
671           p_Pay_Group_Lookup_Code              VARCHAR2,
675           p_Invoice_Currency_Code              VARCHAR2,
672           p_Set_Of_Books_Id                    NUMBER,
673           p_Accts_Pay_CCId                     NUMBER,
674           p_Recurring_Payment_Id               NUMBER,
676           p_Payment_Currency_Code              VARCHAR2,
677           p_Exchange_Rate                      NUMBER,
678           p_Payment_Amount_Total               NUMBER,
679           p_Payment_Status_Flag                VARCHAR2,
680           p_Posting_Status                     VARCHAR2,
681           p_Authorized_By                      VARCHAR2,
682           p_Attribute_Category                 VARCHAR2,
683           p_Attribute1                         VARCHAR2,
684           p_Attribute2                         VARCHAR2,
685           p_Attribute3                         VARCHAR2,
686           p_Attribute4                         VARCHAR2,
687           p_Attribute5                         VARCHAR2,
688           p_Vendor_Prepay_Amount               NUMBER,
689           p_Base_Amount                        NUMBER,
690           p_Exchange_Rate_Type                 VARCHAR2,
691           p_Exchange_Date                      DATE,
692           p_Payment_Cross_Rate                 NUMBER,
693           p_Payment_Cross_Rate_Type            VARCHAR2,
694           p_Payment_Cross_Rate_Date            DATE,
695           p_Pay_Curr_Invoice_Amount            NUMBER,
696           p_Last_Update_Login                  NUMBER,
697           p_Original_Prepayment_Amount         NUMBER,
698           p_Earliest_Settlement_Date           DATE,
699           p_Attribute11                        VARCHAR2,
700           p_Attribute12                        VARCHAR2,
701           p_Attribute13                        VARCHAR2,
702           p_Attribute14                        VARCHAR2,
703           p_Attribute6                         VARCHAR2,
704           p_Attribute7                         VARCHAR2,
705           p_Attribute8                         VARCHAR2,
706           p_Attribute9                         VARCHAR2,
707           p_Attribute10                        VARCHAR2,
708           p_Attribute15                        VARCHAR2,
709           p_Cancelled_Date                     DATE,
710           p_Cancelled_By                       NUMBER,
711           p_Cancelled_Amount                   NUMBER,
712           p_Temp_Cancelled_Amount              NUMBER,
713           p_Exclusive_Payment_Flag             VARCHAR2,
714           p_Po_Header_Id                       NUMBER,
715           p_Doc_Sequence_Id                    NUMBER,
716           p_Doc_Sequence_Value                 NUMBER,
717           p_Doc_Category_Code                  VARCHAR2,
718           p_Expenditure_Item_Date              DATE,
719           p_Expenditure_Organization_Id        NUMBER,
720           p_Expenditure_Type                   VARCHAR2,
721           p_Pa_Default_Dist_Ccid               NUMBER,
722           p_Pa_Quantity                        NUMBER,
723           p_Project_Id                         NUMBER,
724           p_Task_Id                            NUMBER,
725           p_Awt_Flag                           VARCHAR2,
726           p_Awt_Group_Id                       NUMBER,
727           p_Pay_Awt_Group_Id                       NUMBER,--bug6639866
728           p_Reference_1                        VARCHAR2,
729           p_Reference_2                        VARCHAR2,
730           p_Org_Id                             NUMBER,
731           p_global_attribute_category          VARCHAR2 DEFAULT NULL,
732           p_global_attribute1                  VARCHAR2 DEFAULT NULL,
733           p_global_attribute2                  VARCHAR2 DEFAULT NULL,
734           p_global_attribute3                  VARCHAR2 DEFAULT NULL,
735           p_global_attribute4                  VARCHAR2 DEFAULT NULL,
736           p_global_attribute5                  VARCHAR2 DEFAULT NULL,
737           p_global_attribute6                  VARCHAR2 DEFAULT NULL,
738           p_global_attribute7                  VARCHAR2 DEFAULT NULL,
739           p_global_attribute8                  VARCHAR2 DEFAULT NULL,
740           p_global_attribute9                  VARCHAR2 DEFAULT NULL,
741           p_global_attribute10                 VARCHAR2 DEFAULT NULL,
742           p_global_attribute11                 VARCHAR2 DEFAULT NULL,
743           p_global_attribute12                 VARCHAR2 DEFAULT NULL,
744           p_global_attribute13                 VARCHAR2 DEFAULT NULL,
745           p_global_attribute14                 VARCHAR2 DEFAULT NULL,
746           p_global_attribute15                 VARCHAR2 DEFAULT NULL,
747           p_global_attribute16                 VARCHAR2 DEFAULT NULL,
748           p_global_attribute17                 VARCHAR2 DEFAULT NULL,
749           p_global_attribute18                 VARCHAR2 DEFAULT NULL,
750           p_global_attribute19                 VARCHAR2 DEFAULT NULL,
751           p_global_attribute20                 VARCHAR2 DEFAULT NULL,
752           p_calling_sequence            IN     VARCHAR2,
753           p_gl_date                            DATE,
754           p_Award_Id                           NUMBER,
755           p_approval_iteration                 NUMBER,
756           p_approval_ready_flag                VARCHAR2 DEFAULT 'Y',
757           p_wfapproval_status                  VARCHAR2 DEFAULT 'NOT REQUIRED',
758           p_requester_id                       NUMBER   DEFAULT NULL,
759           -- Invoice Lines Project Stage 1
763 	  p_FORCE_REVALIDATION_FLAG	       VARCHAR2 DEFAULT NULL,
760           p_quick_credit                       VARCHAR2 DEFAULT NULL,
761           p_credited_invoice_id                NUMBER   DEFAULT NULL,
762           p_distribution_set_id                NUMBER   DEFAULT NULL,
764 	  p_CONTROL_AMOUNT                     NUMBER   DEFAULT NULL,
765 	  p_TAX_RELATED_INVOICE_ID             NUMBER   DEFAULT NULL,
766 	  p_TRX_BUSINESS_CATEGORY              VARCHAR2 DEFAULT NULL,
767 	  p_USER_DEFINED_FISC_CLASS            VARCHAR2 DEFAULT NULL,
768 	  p_TAXATION_COUNTRY                   VARCHAR2 DEFAULT NULL,
769 	  p_DOCUMENT_SUB_TYPE                  VARCHAR2 DEFAULT NULL,
770 	  p_SUPPLIER_TAX_INVOICE_NUMBER        VARCHAR2 DEFAULT NULL,
771 	  p_SUPPLIER_TAX_INVOICE_DATE          DATE     DEFAULT NULL,
772 	  p_SUPPLIER_TAX_EXCHANGE_RATE         NUMBER   DEFAULT NULL,
773 	  p_TAX_INVOICE_RECORDING_DATE         DATE     DEFAULT NULL,
774 	  p_TAX_INVOICE_INTERNAL_SEQ           NUMBER   DEFAULT NULL,
775 	  p_QUICK_PO_HEADER_ID		       NUMBER   DEFAULT NULL,
776           P_PAYMENT_METHOD_CODE                varchar2 ,
777           P_PAYMENT_REASON_CODE                varchar2 default null,
778           P_PAYMENT_REASON_COMMENTS            varchar2 default null,
779           P_UNIQUE_REMITTANCE_IDENTIFIER       varchar2 default null,
780           P_URI_CHECK_DIGIT                    varchar2 default null,
781           P_BANK_CHARGE_BEARER                 varchar2 default null,
782           P_DELIVERY_CHANNEL_CODE              varchar2 default null,
783           P_SETTLEMENT_PRIORITY                varchar2 default null,
784 	  p_net_of_retainage_flag	       varchar2 default null,
785 	  p_release_amount_net_of_tax	       number   default null,
786 	  p_port_of_entry_code		       varchar2 default null,
787           p_external_bank_account_id           number   default null,
788           p_party_id                           number   default null,
789           p_party_site_id                      number   default null,
790           p_disc_is_inv_less_tax_flag          varchar2 default null,
791           p_exclude_freight_from_disc          varchar2 default null,
792           -- Bug 5087834
793           p_remit_msg1                         varchar2 default null,
794           p_remit_msg2                         varchar2 default null,
795           p_remit_msg3                         varchar2 default null,
796 	  /* Third Party Payments*/
797 	  p_remit_to_supplier_name	varchar2 default null,
798 	  p_remit_to_supplier_id	number default null,
799 	  p_remit_to_supplier_site	varchar2 default null,
800 	  p_remit_to_supplier_site_id number default null,
801 	  p_relationship_id		number default null,
802 	  /* Bug 7831073 */
803 	  p_original_invoice_amount number default null,
804 	  p_dispute_reason varchar2 default null
805 	  )
806 IS
807   current_calling_sequence           VARCHAR2(2000);
808   debug_info                         VARCHAR2(100);
809   l_invoice_id                       NUMBER;
810 BEGIN
811 
812   -- Update the calling sequence
813 
814   current_calling_sequence :=
815                'AP_AI_TABLE_HANDLER_PKG.UPDATE_ROW<-'||p_calling_sequence;
816 
817   -- Check uniqueness first
818   ap_ai_table_handler_pkg.check_unique(
819           p_ROWID,
820           p_INVOICE_NUM,
821           p_VENDOR_ID,
822           p_ORG_ID,     -- Bug 5407785
823           current_calling_sequence);
824 
825   debug_info := 'Update ap_invoices';
826   UPDATE ap_invoices_all
827   SET
828     invoice_id                     = p_Invoice_Id,
829     last_update_date               = p_Last_Update_Date,
830     last_updated_by                = p_Last_Updated_By,
831     vendor_id                      = p_Vendor_Id,
832     invoice_num                    = p_Invoice_Num,
833     invoice_amount                 = p_Invoice_Amount,
834     vendor_site_id                 = p_Vendor_Site_Id,
835     amount_paid                    = p_Amount_Paid,
836     discount_amount_taken          = p_Discount_Amount_Taken,
837     invoice_date                   = p_Invoice_Date,
838     source                         = p_Source,
839     invoice_type_lookup_code       = p_Invoice_Type_Lookup_Code,
840     description                    = p_Description,
841     batch_id                       = p_Batch_Id,
842     amount_applicable_to_discount  = p_Amt_Applicable_To_Discount,
843     terms_id                       = p_Terms_Id,
844     terms_date                     = p_Terms_Date,
845     goods_received_date            = p_Goods_Received_Date,
846     invoice_received_date          = p_Invoice_Received_Date,
847     voucher_num                    = p_Voucher_Num,
848     approved_amount                = p_Approved_Amount,
849     approval_status                = p_Approval_Status,
850     approval_description           = p_Approval_Description,
851     pay_group_lookup_code          = p_Pay_Group_Lookup_Code,
852     set_of_books_id                = p_Set_Of_Books_Id,
853     accts_pay_code_combination_id  = p_Accts_Pay_CCId,
854     recurring_payment_id           = p_Recurring_Payment_Id,
855     invoice_currency_code          = p_Invoice_Currency_Code,
856     payment_currency_code          = p_Payment_Currency_Code,
857     exchange_rate                  = p_Exchange_Rate,
858     payment_amount_total           = p_Payment_Amount_Total,
859     payment_status_flag            = p_Payment_Status_Flag,
860     posting_status                 = p_Posting_Status,
861     authorized_by                  = p_Authorized_By,
865     attribute3                     = p_Attribute3,
862     attribute_category             = p_Attribute_Category,
863     attribute1                     = p_Attribute1,
864     attribute2                     = p_Attribute2,
866     attribute4                     = p_Attribute4,
867     attribute5                     = p_Attribute5,
868     vendor_prepay_amount           = p_Vendor_Prepay_Amount,
869     base_amount                    = p_Base_Amount,
870     exchange_rate_type             = p_Exchange_Rate_Type,
871     exchange_date                  = p_Exchange_Date,
872     payment_cross_rate             = p_Payment_Cross_Rate,
873     payment_cross_rate_type        = p_Payment_Cross_Rate_Type,
874     payment_cross_rate_date        = p_Payment_Cross_Rate_Date,
875     pay_curr_invoice_amount        = p_Pay_Curr_Invoice_Amount,
876     last_update_login              = p_Last_Update_Login,
877     original_prepayment_amount     = p_Original_Prepayment_Amount,
878     earliest_settlement_date       = p_Earliest_Settlement_Date,
879     attribute11                    = p_Attribute11,
880     attribute12                    = p_Attribute12,
881     attribute13                    = p_Attribute13,
882     attribute14                    = p_Attribute14,
883     attribute6                     = p_Attribute6,
884     attribute7                     = p_Attribute7,
885     attribute8                     = p_Attribute8,
886     attribute9                     = p_Attribute9,
887     attribute10                    = p_Attribute10,
888     attribute15                    = p_Attribute15,
889     cancelled_date                 = p_Cancelled_Date,
890     cancelled_by                   = p_Cancelled_By,
891     cancelled_amount               = p_Cancelled_Amount,
892     temp_cancelled_amount          = p_Temp_Cancelled_Amount,
893     exclusive_payment_flag         = p_Exclusive_Payment_Flag,
894     po_header_id                   = p_Po_Header_Id,
895     doc_sequence_id                = p_Doc_Sequence_Id,
896     doc_sequence_value             = p_Doc_Sequence_Value,
897     doc_category_code              = p_Doc_Category_Code,
898     expenditure_item_date          = p_Expenditure_Item_Date,
899     expenditure_organization_id    = p_Expenditure_Organization_Id,
900     expenditure_type               = p_Expenditure_Type,
901     pa_default_dist_ccid           = p_Pa_Default_Dist_Ccid,
902     pa_quantity                    = p_Pa_Quantity,
903     project_id                     = p_Project_Id,
904     task_id                        = p_Task_Id,
905     awt_flag                       = p_Awt_Flag,
906     awt_group_id                   = p_Awt_Group_Id,
907     pay_awt_group_id                   = p_Pay_Awt_Group_Id,--bug6639866
908     reference_1                    = p_Reference_1,
909     reference_2                    = p_Reference_2,
910     global_attribute_category      = p_global_attribute_category,
911     global_attribute1              = p_global_attribute1,
912     global_attribute2              = p_global_attribute2,
913     global_attribute3              = p_global_attribute3,
914     global_attribute4              = p_global_attribute4,
915     global_attribute5              = p_global_attribute5,
916     global_attribute6              = p_global_attribute6,
917     global_attribute7              = p_global_attribute7,
918     global_attribute8              = p_global_attribute8,
919     global_attribute9              = p_global_attribute9,
920     global_attribute10             = p_global_attribute10,
921     global_attribute11             = p_global_attribute11,
922     global_attribute12             = p_global_attribute12,
923     global_attribute13             = p_global_attribute13,
924     global_attribute14             = p_global_attribute14,
925     global_attribute15             = p_global_attribute15,
926     global_attribute16             = p_global_attribute16,
927     global_attribute17             = p_global_attribute17,
928     global_attribute18             = p_global_attribute18,
929     global_attribute19             = p_global_attribute19,
930     global_attribute20             = p_global_attribute20,
931     award_id                       = p_Award_Id,
932     gl_date                        = p_gl_date,
933     approval_iteration             = p_approval_iteration,
934     approval_ready_flag            = p_approval_ready_flag,
935     wfapproval_status              = p_wfapproval_status,
936     requester_id                   = p_requester_id,
937     -- Invoice Lines Project Stage 1
938     quick_credit                   = p_quick_credit,
939     credited_invoice_id            = p_credited_invoice_id,
940     distribution_set_id            = p_distribution_set_id,
941     --ETAX: Invwkb
942     force_revalidation_flag        = p_force_revalidation_flag,
943     control_amount		   = p_control_amount,
944     tax_related_invoice_id         = p_tax_related_invoice_id,
945     trx_business_category          = p_trx_business_category,
946     user_defined_fisc_class        = p_user_defined_fisc_class,
947     taxation_country               = p_taxation_country,
948     document_sub_type              = p_document_sub_type,
949     supplier_tax_invoice_number    = p_supplier_tax_invoice_number,
950     supplier_tax_invoice_date      = p_supplier_tax_invoice_date,
951     supplier_tax_exchange_rate     = p_supplier_tax_exchange_rate,
952     tax_invoice_recording_date     = p_tax_invoice_recording_date,
953     tax_invoice_internal_seq       = p_tax_invoice_internal_seq,
954     quick_po_header_id		   = p_quick_po_header_id,
955     PAYMENT_METHOD_CODE            = p_PAYMENT_METHOD_CODE,
956     PAYMENT_REASON_CODE            = p_PAYMENT_REASON_CODE,
957     PAYMENT_REASON_COMMENTS        = P_PAYMENT_REASON_COMMENTS,
958     UNIQUE_REMITTANCE_IDENTIFIER   = p_UNIQUE_REMITTANCE_IDENTIFIER,
959     URI_CHECK_DIGIT                = p_URI_CHECK_DIGIT,
960     BANK_CHARGE_BEARER             = p_BANK_CHARGE_BEARER,
961     DELIVERY_CHANNEL_CODE          = p_DELIVERY_CHANNEL_CODE,
962     SETTLEMENT_PRIORITY            = p_SETTLEMENT_PRIORITY,
963     net_of_retainage_flag	   = p_net_of_retainage_flag,
964     release_amount_net_of_tax	   = p_release_amount_net_of_tax,
965     port_of_entry_code		   = p_port_of_entry_code,
966     external_bank_account_id       = p_external_bank_account_id,
967     party_id                       = p_party_id,
968     party_site_id                  = p_party_site_id,
969      /* bug 4931755 */
970     disc_is_inv_less_tax_flag      = p_disc_is_inv_less_tax_flag,
971     exclude_freight_from_discount  = p_exclude_freight_from_disc,
972     REMITTANCE_MESSAGE1            = p_remit_msg1,
973     REMITTANCE_MESSAGE2            = p_remit_msg2,
974     REMITTANCE_MESSAGE3            = p_remit_msg3,
975 	  /* Third Party Payments*/
976     remit_to_supplier_name            = p_remit_to_supplier_name,
977     remit_to_supplier_id			 = p_remit_to_supplier_id,
978     remit_to_supplier_site		 = p_remit_to_supplier_site,
979     remit_to_supplier_site_id           = p_remit_to_supplier_site_id,
980     relationship_id				 = p_relationship_id,
981 	/* Bug 7831073 */
982 	original_invoice_amount      = p_original_invoice_amount,
983 	dispute_reason               = p_dispute_reason
984   WHERE rowid = p_rowid;
985 
986   IF (SQL%NOTFOUND) THEN
987     RAISE NO_DATA_FOUND;
988   END IF;
989 
990   SELECT invoice_id
991     INTO l_invoice_id
992     FROM ap_invoices_all
993    WHERE rowid = p_rowid;
994 
995    --Bug 4539462 DBI logging
996    AP_DBI_PKG.Maintain_DBI_Summary
997               (p_table_name => 'AP_INVOICES',
998                p_operation => 'U',
999                p_key_value1 => P_invoice_id,
1000                 p_calling_sequence => current_calling_sequence);
1001 
1002  EXCEPTION
1003      WHEN OTHERS THEN
1004          IF (SQLCODE <> -20001) THEN
1005            FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
1006            FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
1007            FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',
1008                      current_calling_sequence);
1009            FND_MESSAGE.SET_TOKEN('PARAMETERS',
1010                'p_Rowid = '||p_Rowid
1011            ||', p_invoice_id = '||p_invoice_id
1012                                     );
1013            FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
1014          END IF;
1015        APP_EXCEPTION.RAISE_EXCEPTION;
1016 
1017 
1018 END Update_Row;
1019 
1020 
1021 PROCEDURE Delete_Row(
1022           p_Rowid                      VARCHAR2,
1023           p_calling_sequence   IN      VARCHAR2)
1024 IS
1025   l_invoice_id                  NUMBER;
1026   current_calling_sequence      VARCHAR2(2000);
1027   debug_info                    VARCHAR2(100);
1028   l_key_value_list              gl_ca_utility_pkg.r_key_value_arr;
1029 
1030    /*Start of 7388641*/
1031   l_invoice_type_lookup_code    AP_INVOICES.INVOICE_TYPE_LOOKUP_CODE%TYPE;
1032   l_return_status_service       VARCHAR2(50);
1033   l_msg_count                   NUMBER;
1034   l_msg_data                    VARCHAR2(100);
1035   l_transaction_rec             ZX_API_PUB.TRANSACTION_REC_TYPE;
1036   l_event_class_code            VARCHAR2(25) := NULL;
1037   l_event_type_code             VARCHAR2(25) := NULL;
1038   l_error_code                  VARCHAR2(25);
1039   l_success                     BOOLEAN;
1040 
1041   /*End of 7388641*/
1042 
1043 BEGIN
1044   -- Update the calling sequence
1045   --
1046   current_calling_sequence :=
1047                'AP_AI_TABLE_HANDLER_PKG.DELETE_ROW<-'||p_calling_sequence;
1048 
1049   -- Get the invoice_id
1050   debug_info := 'Get the invoice_id';
1051 
1052  /*7388641 also selecting invoice_type_lookup_code*/
1053   SELECT invoice_id,invoice_type_lookup_code
1054     INTO   l_invoice_id,l_invoice_type_lookup_code
1055     FROM   ap_invoices
1056    WHERE  rowid = p_rowid;
1057 
1058   -- Delete attachments
1059   debug_info := 'Delete from fnd_attachments';
1060   fnd_attached_documents2_pkg.delete_attachments(
1061                 'AP_INVOICES',
1062                 l_invoice_id);
1063 
1064   -- Delete from the child entities
1065   -- debug_info := 'Delete from child entity - jg_zz_invoice_info';
1066 
1067   -- DELETE FROM jg_zz_invoice_info
1068   -- WHERE invoice_id = l_invoice_id;
1069 
1070   debug_info := 'Delete from child entity - ap_invoice_distributions';
1071 
1072   DELETE FROM ap_invoice_distributions_all
1073   WHERE  invoice_id = l_invoice_id
1074   RETURNING invoice_distribution_id
1075   BULK COLLECT INTO l_key_value_list;
1076 
1077   --Bugfix:4670908
1078   debug_info := 'Delete from child entity - ap_invoice_lines';
1079   DELETE FROM ap_invoice_lines_all
1080   WHERE invoice_id = l_invoice_id;
1081 
1082   --added back in the following deletes
1083   debug_info := 'Delete from child entity - ap_payment_schedules';
1084   delete from ap_payment_schedules_all
1085   where  invoice_id = l_invoice_id;
1086 
1087   debug_info := 'Delete from child entity - ap_holds';
1088   delete from ap_holds_all
1089   where  invoice_id = l_invoice_id;
1090 
1091   --7388641 to de orphan records in tax tables---
1092 
1093   debug_info := 'Delete from child entity - ap_self_assessed_tax_dist';
1094   DELETE FROM ap_self_assessed_tax_dist_all
1095   WHERE invoice_id = l_invoice_id;
1096 
1097   debug_info := 'Before deleting data in Tax tables taking required data';
1098 
1099    l_transaction_rec.application_id := 200;
1100    l_transaction_rec.entity_code := 'AP_INVOICES';
1101    l_transaction_rec.trx_id := l_invoice_id;
1102 
1103    l_success :=  AP_ETAX_UTILITY_PKG.Get_Event_Class_Code(
1104                    P_Invoice_Type_Lookup_Code => l_invoice_type_lookup_code,
1105                    P_Event_Class_Code         => l_event_class_code,
1106                    P_error_code               => l_error_code,
1107                    P_calling_sequence         => current_calling_sequence);
1108 
1109     IF (l_success) THEN
1110          l_transaction_rec.event_class_code := l_event_class_code;
1111     END IF;
1112 
1113     l_success :=  AP_ETAX_UTILITY_PKG.Get_Event_Type_Code(
1114                     P_Event_Class_Code          => l_event_class_code,
1118                     P_Error_Code                => l_error_code,
1115                     P_Calling_Mode              => 'DELETE INVOICE' ,
1116                     P_eTax_Already_called_flag  =>  NULL,
1117                     P_Event_Type_Code           => l_event_type_code,
1119                     P_Calling_Sequence          => current_calling_sequence);
1120 
1121      IF (l_success) THEN
1122          l_transaction_rec.event_type_code := l_event_type_code;
1123      END IF;
1124 
1125      debug_info := 'Calling ZX API to delete entries in Tax tables';
1126 
1127       zx_api_pub.global_document_update(
1128          p_api_version        => 1.0,              --in parameter
1129          p_init_msg_list      => FND_API.G_TRUE,   --in parameter
1130          p_commit             => FND_API.G_FALSE,  --in parameter
1131          p_validation_level   => FND_API.G_VALID_LEVEL_FULL,--in out parameter
1132          p_transaction_rec    => l_transaction_rec,--in parameter
1133          x_return_status      => l_return_status_service,--out parameter
1134          x_msg_count          => l_msg_count,      --out parameter
1135          x_msg_data           => l_msg_data);      --out parameter
1136 
1137      --End of 7388641 --
1138 
1139   debug_info := 'Delete from ap_invoices';
1140   DELETE FROM ap_invoices_all
1141   WHERE  rowid = p_Rowid;
1142 
1143   --Bug 4539462 DBI logging
1144   AP_DBI_PKG.Maintain_DBI_Summary
1145               (p_table_name => 'AP_INVOICES',
1146                p_operation => 'D',
1147                p_key_value1 => l_invoice_id,
1148                 p_calling_sequence => current_calling_sequence);
1149 
1150   IF (SQL%NOTFOUND) THEN
1151     RAISE NO_DATA_FOUND;
1152   END IF;
1153 
1154   EXCEPTION
1155      WHEN OTHERS THEN
1156          IF (SQLCODE <> -20001) THEN
1157            FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
1158            FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
1159            FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',
1160                      current_calling_sequence);
1161            FND_MESSAGE.SET_TOKEN('PARAMETERS',
1162                'p_Rowid = '||p_Rowid
1163                                     );
1164            FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
1165          END IF;
1166        APP_EXCEPTION.RAISE_EXCEPTION;
1167 
1168 
1169 END DELETE_ROW;
1170 
1171 END AP_AI_TABLE_HANDLER_PKG;