1: package body AP_INVOICE_LINES_INTERFACE_PKG as
2: /* $Header: apailthb.pls 120.10 2008/03/04 06:45:30 imandal ship $ */
3:
4: procedure INSERT_ROW (
5: X_ROWID IN OUT NOCOPY VARCHAR2,
147: debug_info VARCHAR2(100);
148:
149: CURSOR C IS
150: SELECT ROWID
151: FROM AP_INVOICE_LINES_INTERFACE
152: WHERE invoice_id = X_Invoice_Id
153: AND invoice_line_id = X_Invoice_Line_Id;
154: BEGIN
155: -- Update the calling sequence
153: AND invoice_line_id = X_Invoice_Line_Id;
154: BEGIN
155: -- Update the calling sequence
156:
157: current_calling_sequence :='AP_INVOICE_LINES_INTERFACE_PKG.Insert_Row<-'||
158: X_Calling_Sequence;
159:
160: -- Check for uniqueness of the line number in the process.
161:
160: -- Check for uniqueness of the line number in the process.
161:
162: debug_info := 'Insert into ap_invoice_distributions';
163:
164: INSERT INTO AP_INVOICE_LINES_INTERFACE (
165: INVOICE_ID,
166: INVOICE_LINE_ID,
167: LINE_NUMBER,
168: LINE_TYPE_LOOKUP_CODE,
727: PURCHASING_CATEGORY_ID,
728: COST_FACTOR_NAME,
729: COST_FACTOR_ID,
730: TAX_CLASSIFICATION_CODE
731: FROM AP_INVOICE_LINES_INTERFACE
732: WHERE rowid = X_Rowid
733: FOR UPDATE OF Invoice_id NOWAIT;
734:
735: tlinfo c1%rowtype;
737: debug_info VARCHAR2(100);
738: BEGIN
739: -- Update the calling sequence
740:
741: current_calling_sequence :='AP_INVOICE_LINES_INTERFACE_PKG.Lock_Row<-'
742: ||X_Calling_Sequence;
743:
744: debug_info := 'Select from ap_invoice_lines_interface';
745:
740:
741: current_calling_sequence :='AP_INVOICE_LINES_INTERFACE_PKG.Lock_Row<-'
742: ||X_Calling_Sequence;
743:
744: debug_info := 'Select from ap_invoice_lines_interface';
745:
746: OPEN c1;
747:
748: debug_info := 'Fetch cursor C1';
1315:
1316: BEGIN
1317: -- Update the calling sequence
1318:
1319: current_calling_sequence := 'AP_INVOICE_LINES_INTERFACE_PKG.Update_Row<-'
1320: ||X_Calling_Sequence;
1321:
1322: debug_info := 'Update ap_invoice_lines_interface';
1323:
1318:
1319: current_calling_sequence := 'AP_INVOICE_LINES_INTERFACE_PKG.Update_Row<-'
1320: ||X_Calling_Sequence;
1321:
1322: debug_info := 'Update ap_invoice_lines_interface';
1323:
1324: UPDATE AP_INVOICE_LINES_INTERFACE SET
1325: INVOICE_ID = X_INVOICE_ID,
1326: INVOICE_LINE_ID = X_INVOICE_LINE_ID,
1320: ||X_Calling_Sequence;
1321:
1322: debug_info := 'Update ap_invoice_lines_interface';
1323:
1324: UPDATE AP_INVOICE_LINES_INTERFACE SET
1325: INVOICE_ID = X_INVOICE_ID,
1326: INVOICE_LINE_ID = X_INVOICE_LINE_ID,
1327: LINE_NUMBER = X_LINE_NUMBER,
1328: LINE_TYPE_LOOKUP_CODE = X_LINE_TYPE_LOOKUP_CODE,
1483: BEGIN
1484:
1485: -- Update the calling sequence
1486:
1487: current_calling_sequence := 'AP_INVOICE_LINES_INTERFACE_PKG.Delete_Row<-'
1488: ||X_Calling_Sequence;
1489:
1490: -- Bug 2496745. Deleting the rejections for this invoice line.
1491:
1492: debug_info := 'Delete from ap_interface_rejections';
1493:
1494: DELETE FROM AP_INTERFACE_REJECTIONS
1495: WHERE parent_id = X_invoice_line_id
1496: AND parent_table = 'AP_INVOICE_LINES_INTERFACE';
1497:
1498: debug_info := 'Delete from ap_invoice_lines_interface';
1499:
1500: DELETE FROM AP_INVOICE_LINES_INTERFACE
1494: DELETE FROM AP_INTERFACE_REJECTIONS
1495: WHERE parent_id = X_invoice_line_id
1496: AND parent_table = 'AP_INVOICE_LINES_INTERFACE';
1497:
1498: debug_info := 'Delete from ap_invoice_lines_interface';
1499:
1500: DELETE FROM AP_INVOICE_LINES_INTERFACE
1501: WHERE invoice_line_id = X_invoice_line_id;
1502:
1496: AND parent_table = 'AP_INVOICE_LINES_INTERFACE';
1497:
1498: debug_info := 'Delete from ap_invoice_lines_interface';
1499:
1500: DELETE FROM AP_INVOICE_LINES_INTERFACE
1501: WHERE invoice_line_id = X_invoice_line_id;
1502:
1503: IF (SQL%NOTFOUND) THEN
1504: Raise NO_DATA_FOUND;
1515: APP_EXCEPTION.RAISE_EXCEPTION;
1516:
1517: END Delete_Row;
1518:
1519: END AP_INVOICE_LINES_INTERFACE_PKG;