DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGI_AP_INV_DIST_PKG

Source


1 PACKAGE BODY IGI_AP_INV_DIST_PKG as
2 -- $Header: igisiaeb.pls 120.4.12000000.1 2007/09/12 11:47:40 mbremkum ship $
3 
4   l_debug_level number:=FND_LOG.G_CURRENT_RUNTIME_LEVEL;
5 
6   l_state_level number:=FND_LOG.LEVEL_STATEMENT;
7   l_proc_level number:=FND_LOG.LEVEL_PROCEDURE;
8   l_event_level number:=FND_LOG.LEVEL_EVENT;
9   l_excep_level number:=FND_LOG.LEVEL_EXCEPTION;
10   l_error_level number:=FND_LOG.LEVEL_ERROR;
11   l_unexp_level number:=FND_LOG.LEVEL_UNEXPECTED;
12 
13 
14 PROCEDURE Lock_Row(X_Rowid              VARCHAR2
15                   ,X_igi_sap_flag     VARCHAR2
16   ) IS
17     CURSOR C IS
18         SELECT *
19 	FROM AP_INVOICE_DISTRIBUTIONS_ALL
20         WHERE  rowid = X_Rowid
21         FOR UPDATE of  invoice_id NOWAIT;
22     Recinfo C%ROWTYPE;
23 
24  /* bug # 5905278 start R12 Uptake of SIA - cursor C1 is modified to include invoice_line_number  */
25  /* CURSOR C1 IS
26         SELECT *
27 	FROM IGI_INVOICE_DISTRIBUTIONS_ALL
28         WHERE  (invoice_id,distribution_line_number,org_id) =
29                (SELECT invoice_id,distribution_line_number, org_id
30                 FROM   AP_INVOICE_DISTRIBUTIONS_ALL
31                 WHERE  rowid = X_Rowid)
32         FOR UPDATE of  igi_sap_flag NOWAIT; */
33    CURSOR C1 IS
34         SELECT *
35 	FROM IGI_INVOICE_DISTRIBUTIONS_ALL
36         WHERE  (invoice_id,invoice_line_number,distribution_line_number,org_id) =
37                (SELECT invoice_id,invoice_line_number,distribution_line_number, org_id
38                 FROM   AP_INVOICE_DISTRIBUTIONS_ALL
39                 WHERE  rowid = X_Rowid)
40         FOR UPDATE of  igi_sap_flag NOWAIT;
41     Recinfo1 C1%ROWTYPE;
42   BEGIN
43 --
44 -- Ensure that invoice record and corresponding record in extended table are both locked
45 --
46     OPEN C;
47     FETCH C INTO Recinfo;
48     if (C%NOTFOUND) then
49       CLOSE C;
50       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
51       --Bug 3199481 (start)
52       If (l_unexp_level >= l_debug_level) then
53          FND_LOG.MESSAGE(l_unexp_level,'igi.plsql.igi_ap_inv_dist_pkg.lock_row.Msg1',FALSE);
54       End if;
55       --Bug 3199481 (end)
56       APP_EXCEPTION.Raise_Exception;
57     end if;
58     CLOSE C;
59     OPEN C1;
60     FETCH C1 INTO Recinfo1;
61     if (C1%NOTFOUND) then
62       CLOSE C1;
63       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
64       --Bug 3199481 (start)
65       If (l_unexp_level >= l_debug_level) then
66          FND_LOG.MESSAGE(l_unexp_level,'igi.plsql.igi_ap_inv_dist_pkg.lock_row.Msg2',FALSE);
67       End if;
68       --Bug 3199481 (end)
69       APP_EXCEPTION.Raise_Exception;
70     end if;
71     CLOSE C1;
72     if (
73                (nvl(Recinfo1.igi_sap_flag,'N') =  X_igi_sap_flag)
74       ) then
75       return;
76     else
77       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
78       --Bug 3199481 (start)
79       If (l_unexp_level >= l_debug_level) then
80          FND_LOG.MESSAGE(l_unexp_level,'igi.plsql.igi_ap_inv_dist_pkg.lock_row.Msg3',FALSE);
81       End if;
82       --Bug 3199481 (end)
83       APP_EXCEPTION.Raise_Exception;
84     end if;
85   END Lock_Row;
86 
87 PROCEDURE Update_Row	(X_Rowid                VARCHAR2
88                 	,X_igi_sap_flag       VARCHAR2
89                 	,X_Last_Update_Login    NUMBER
90                 	,X_Last_Update_Date     DATE
91                 	,X_Last_Updated_By      NUMBER
92                 	) IS
93 			BEGIN
94 				UPDATE IGI_INVOICE_DISTRIBUTIONS_ALL
95 				SET
96 				igi_sap_flag		= 	X_igi_sap_flag,
97 				last_update_login	=	X_Last_Update_Login,
98 				last_updated_by		=	X_Last_Updated_By,
99 				last_update_date	=	X_Last_Update_Date
100 				WHERE rowid = X_Rowid;
101 				if (SQL%NOTFOUND) then
102       				  Raise NO_DATA_FOUND;
103 				end if;
104 			END Update_Row;
105 END IGI_AP_INV_DIST_PKG;