[Home] [Help]
PACKAGE BODY: APPS.IGI_ITR_CHARGE_CENTER_SS_PKG
Source
1 PACKAGE BODY IGI_ITR_CHARGE_CENTER_SS_PKG as
2 -- $Header: igiitrlb.pls 120.5.12000000.1 2007/09/12 10:31:48 mbremkum ship $
3 --
4
5 l_debug_level number := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
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 Insert_Row(X_Rowid IN OUT NOCOPY VARCHAR2,
15 X_Charge_Center_Id NUMBER,
16 X_Name VARCHAR2,
17 X_Set_Of_Books_Id NUMBER,
18 X_Start_Date_Active DATE,
19 X_End_Date_Active DATE,
20 X_Description VARCHAR2,
21 X_Creation_Date DATE,
22 X_Created_By NUMBER,
23 X_Last_Update_Login NUMBER,
24 X_Last_Update_Date DATE,
25 X_Last_Updated_By NUMBER
26 ) IS
27 CURSOR C IS SELECT rowid FROM IGI_itr_charge_center
28 WHERE charge_center_id = X_Charge_Center_Id;
29
30 BEGIN
31 INSERT INTO IGI_itr_charge_center(
32 Charge_Center_Id,
33 Name,
34 Set_Of_Books_Id,
35 Start_Date_Active,
36 End_Date_Active,
37 Description,
38 Creation_Date,
39 Created_By,
40 Last_Update_Login,
41 Last_Update_Date,
42 Last_Updated_By
43 )
44 VALUES (
45 X_Charge_Center_Id,
46 X_Name,
47 X_Set_Of_Books_Id,
48 X_Start_Date_Active,
49 X_End_Date_Active,
50 X_Description,
51 X_Creation_Date,
52 X_Created_By,
53 X_Last_Update_Login,
54 X_Last_Update_Date,
55 X_Last_Updated_By );
56
57 OPEN C;
58 FETCH C INTO X_Rowid;
59 if (C%NOTFOUND) then
60 CLOSE C;
61 Raise NO_DATA_FOUND;
62 end if;
63 CLOSE C;
64 END Insert_Row;
65
66
67 PROCEDURE Lock_Row( X_Rowid VARCHAR2,
68 X_Charge_Center_Id NUMBER,
69 X_Name VARCHAR2,
70 X_Set_Of_Books_Id NUMBER,
71 X_Start_Date_Active DATE,
72 X_End_Date_Active DATE,
73 X_Description VARCHAR2
74 ) IS
75 CURSOR C IS
76 SELECT *
77 FROM IGI_itr_charge_center
78 WHERE rowid = X_Rowid
79 FOR UPDATE of Charge_Center_Id NOWAIT;
80 Recinfo C%ROWTYPE;
81
82 BEGIN
83 OPEN C;
84 FETCH C INTO Recinfo;
85 if (C%NOTFOUND) then
86 CLOSE C;
87 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
88
89 IF( l_excep_level >= l_debug_level) THEN
90 FND_LOG.MESSAGE(l_excep_level,'igi.plsql.igiitrlb.IGI_ITR_CHARGE_CENTER_SS.lock_row.msg1', FALSE);
91 END IF;
92
93 APP_EXCEPTION.Raise_Exception;
94 end if;
95 CLOSE C;
96 if (
97 (Recinfo.charge_center_id = X_Charge_Center_Id)
98 AND (Recinfo.name = X_Name)
99 AND (Recinfo.set_Of_books_id = X_Set_Of_Books_Id)
100 AND (Recinfo.start_date_active = X_Start_Date_Active)
101 AND ( (Recinfo.end_date_active = X_End_Date_Active)
102 OR ( (Recinfo.end_date_active IS NULL)
103 AND (X_End_Date_Active IS NULL)))
104 AND ( (Recinfo.description = X_Description)
105 OR ( (Recinfo.description IS NULL)
106 AND (X_Description IS NULL)))
107 ) then
108 return;
109 else
110 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
111
112 IF( l_excep_level >= l_debug_level) THEN
113 FND_LOG.MESSAGE(l_excep_level,'igi.plsql.igiitrlb.IGI_ITR_CHARGE_CENTER_SS.lock_row.msg2', FALSE);
114 END IF;
115
116 APP_EXCEPTION.Raise_Exception;
117 end if;
118 END Lock_Row;
119
120
121
122 PROCEDURE Update_Row(X_Rowid VARCHAR2,
123 X_Charge_Center_Id NUMBER,
124 X_Name VARCHAR2,
125 X_Set_Of_Books_Id NUMBER,
126 X_Start_Date_Active DATE,
127 X_End_Date_Active DATE,
128 X_Description VARCHAR2,
129 X_Last_Update_Login NUMBER,
130 X_Last_Update_Date DATE,
131 X_Last_Updated_By NUMBER
132 ) IS
133
134 BEGIN
135 UPDATE IGI_itr_charge_center
136 SET
137
138 charge_center_id = X_Charge_Center_Id,
139 name = X_Name,
140 set_of_books_id = X_Set_Of_Books_Id,
141 start_date_active = X_Start_Date_Active,
142 end_date_Active = X_End_Date_Active,
143 description = X_Description ,
144 last_update_login = X_Last_Update_Login ,
145 last_update_date = X_Last_Update_Date ,
146 last_updated_by = X_Last_Updated_By
147
148 WHERE rowid = X_Rowid;
149
150 if (SQL%NOTFOUND) then
151 Raise NO_DATA_FOUND;
152 end if;
153 END Update_Row;
154
155
156 PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
157 BEGIN
158 DELETE FROM IGI_itr_charge_center
159 WHERE rowid = X_Rowid;
160 if (SQL%NOTFOUND) then
161 Raise NO_DATA_FOUND;
162 end if;
163 END Delete_Row;
164
165
166
167 PROCEDURE check_unique_cc( x_rowid VARCHAR2,
168 x_name VARCHAR2,
169 x_set_of_books_id NUMBER) IS
170
171 CURSOR c_dup IS
172 SELECT 'Duplicate'
173 FROM igi_itr_charge_center cc
174 WHERE cc.name = x_name
175 AND cc.set_of_books_id = x_set_of_books_id
176 AND (x_rowid IS NULL
177 OR
178 cc.rowid <> x_rowid);
179
180 dummy VARCHAR2(100);
181
182 BEGIN
183
184 OPEN c_dup;
185 FETCH c_dup INTO dummy;
186
187 IF c_dup%FOUND THEN
188 CLOSE c_dup;
189 fnd_message.set_name('IGI','IGI_ITR_DPL_CC_NAME');
190
191 IF( l_error_level >= l_debug_level) THEN
192 FND_LOG.MESSAGE(l_error_level,'igi.plsql.igiitrlb.IGI_ITR_CHARGE_CENTER_SS_PKG.check_unique_cc.msg3', FALSE);
193 END IF;
194
195 app_exception.raise_exception;
196 END IF;
197
198 CLOSE c_dup;
199
200 END check_unique_cc;
201
202 END IGI_ITR_CHARGE_CENTER_SS_PKG;