[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;