[Home] [Help]
PACKAGE BODY: APPS.IGI_BUD_JOURNAL_HEADERS_PKG
Source
1 PACKAGE BODY IGI_BUD_JOURNAL_HEADERS_PKG as
2 -- $Header: igibudfb.pls 120.4 2005/10/30 05:51:44 appldev ship $
3
4 --Bug 3199481
5
6 l_debug_level number := FND_LOG.G_CURRENT_RUNTIME_LEVEL ;
7
8 l_state_level number := FND_LOG.LEVEL_STATEMENT ;
9 l_proc_level number := FND_LOG.LEVEL_PROCEDURE ;
10 l_event_level number := FND_LOG.LEVEL_EVENT ;
11 l_excep_level number := FND_LOG.LEVEL_EXCEPTION ;
12 l_error_level number := FND_LOG.LEVEL_ERROR ;
13 l_unexp_level number := FND_LOG.LEVEL_UNEXPECTED ;
14
15 --Bug 3199481
16
17 PROCEDURE Insert_Row(X_Rowid IN OUT NOCOPY VARCHAR2,
18 X_Be_Batch_Id NUMBER,
19 X_Be_Header_Id IN OUT NOCOPY NUMBER,
20 X_Budget_Entity_Id NUMBER,
21 X_Budget_Version_Id NUMBER,
22 X_Set_Of_Books_Id NUMBER,
23 X_Currency_Code VARCHAR2,
24 X_Je_Category_Name VARCHAR2,
25 X_Name VARCHAR2,
26 X_Running_Total_Dr NUMBER,
27 X_Running_Total_Cr NUMBER,
28 X_Autocopy_Flag VARCHAR2,
29 X_Control_Total NUMBER,
30 X_Default_Reason_Code VARCHAR2,
31 X_Description VARCHAR2,
32 X_Creation_Date DATE,
33 X_Created_By NUMBER,
34 X_Last_Update_Date DATE,
35 X_Last_Updated_By NUMBER,
36 X_Last_Update_Login NUMBER
37 ) IS
38 CURSOR C IS SELECT rowid FROM IGI_BUD_JOURNAL_HEADERS
39 WHERE be_header_id = X_Be_Header_Id;
40 CURSOR C2 IS SELECT igi_bud_journal_headers_s.nextval FROM sys.dual;
41 BEGIN
42 if (X_Be_Header_Id is NULL) then
43 OPEN C2;
44 FETCH C2 INTO X_Be_Header_Id;
45 CLOSE C2;
46 end if;
47
48 INSERT INTO IGI_BUD_JOURNAL_HEADERS(
49 be_batch_id,
50 be_header_id,
51 budget_entity_id,
52 budget_version_id,
53 set_of_books_id,
54 currency_code,
55 je_category_name,
56 name,
57 running_total_dr,
58 running_total_cr,
59 autocopy_flag,
60 control_total,
61 default_reason_code,
62 description,
63 creation_date,
64 created_by,
65 last_update_date,
66 last_updated_by,
67 last_update_login
68 ) VALUES (
69 X_Be_Batch_Id,
70 X_Be_Header_Id,
71 X_Budget_Entity_Id,
72 X_Budget_Version_Id,
73 X_Set_Of_Books_Id,
74 X_Currency_Code,
75 X_Je_Category_Name,
76 X_Name,
77 X_Running_Total_Dr,
78 X_Running_Total_Cr,
79 X_Autocopy_Flag,
80 X_Control_Total,
81 X_Default_Reason_Code,
82 X_Description,
83 X_Creation_Date,
84 X_Created_By,
85 X_Last_Update_Date,
86 X_Last_Updated_By,
87 X_Last_Update_Login
88 );
89
90 OPEN C;
91 FETCH C INTO X_Rowid;
92 if (C%NOTFOUND) then
93 CLOSE C;
94 Raise NO_DATA_FOUND;
95 end if;
96 CLOSE C;
97 END Insert_Row;
98
99
100 PROCEDURE Lock_Row(X_Rowid VARCHAR2,
101 X_Be_Batch_Id NUMBER,
102 X_Be_Header_Id NUMBER,
103 X_Budget_Entity_Id NUMBER,
104 X_Budget_Version_Id NUMBER,
105 X_Set_Of_Books_Id NUMBER,
106 X_Currency_Code VARCHAR2,
107 X_Je_Category_Name VARCHAR2,
108 X_Name VARCHAR2,
109 X_Running_Total_Dr NUMBER,
110 X_Running_Total_Cr NUMBER,
111 X_Autocopy_Flag VARCHAR2,
112 X_Control_Total NUMBER,
113 X_Default_Reason_Code VARCHAR2,
114 X_Description VARCHAR2
115 ) IS
116 CURSOR C IS
117 SELECT *
118 FROM IGI_BUD_JOURNAL_HEADERS
119 WHERE rowid = X_Rowid
120 FOR UPDATE of Be_Header_Id NOWAIT;
121 Recinfo C%ROWTYPE;
122
123
124 BEGIN
125 OPEN C;
126 FETCH C INTO Recinfo;
127 if (C%NOTFOUND) then
128 CLOSE C;
129 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
130 --Bug 3199481 (start)
131 If (l_unexp_level >= l_debug_level) then
132 FND_LOG.MESSAGE(l_unexp_level,'igi.plsql.igi_bud_journal_headers_pkg.lock_row.Msg1',FALSE);
133 End if;
134 --Bug 3199481 (End)
135 APP_EXCEPTION.Raise_Exception;
136 end if;
137 CLOSE C;
138 if (
139 (Recinfo.be_batch_id = X_Be_Batch_Id)
140 AND (Recinfo.be_header_id = X_Be_Header_Id)
141 AND (Recinfo.budget_entity_id = X_Budget_Entity_Id)
142 AND (Recinfo.budget_version_id = X_Budget_Version_Id)
143 AND (Recinfo.set_of_books_id = X_Set_Of_Books_Id)
144 AND (Recinfo.currency_code = X_Currency_Code)
145 AND (Recinfo.je_category_name = X_Je_Category_Name)
146 AND (Recinfo.name = X_Name)
147 AND (Recinfo.running_total_dr = X_Running_Total_Dr)
148 AND (Recinfo.running_total_cr = X_Running_Total_Cr)
149 AND (Recinfo.autocopy_flag = X_Autocopy_Flag)
150 AND ( (Recinfo.control_total = X_Control_Total)
151 OR ( (Recinfo.control_total IS NULL)
152 AND (X_Control_Total IS NULL)))
153 AND ( (Recinfo.default_reason_code = X_Default_Reason_Code)
154 OR ( (Recinfo.default_reason_code IS NULL)
155 AND (X_Default_Reason_Code IS NULL)))
156 AND ( (Recinfo.description = X_Description)
157 OR ( (Recinfo.description IS NULL)
158 AND (X_Description IS NULL)))
159 ) then
160 return;
161 else
162 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
163 --Bug 3199481 (start)
164 If (l_unexp_level >= l_debug_level) then
165 FND_LOG.MESSAGE(l_unexp_level,'igi.plsql.igi_bud_journal_headers_pkg.lock_row.Msg2',FALSE);
166 End if;
167 --Bug 3199481 (End)
168 APP_EXCEPTION.Raise_Exception;
169 end if;
170 END Lock_Row;
171
172
173
174 PROCEDURE Update_Row(X_Rowid VARCHAR2,
175 X_Be_Batch_Id NUMBER,
176 X_Be_Header_Id NUMBER,
177 X_Budget_Entity_Id NUMBER,
178 X_Budget_Version_Id NUMBER,
179 X_Set_Of_Books_Id NUMBER,
180 X_Currency_Code VARCHAR2,
181 X_Je_Category_Name VARCHAR2,
182 X_Name VARCHAR2,
183 X_Running_Total_Dr NUMBER,
184 X_Running_Total_Cr NUMBER,
185 X_Autocopy_Flag VARCHAR2,
186 X_Control_Total NUMBER,
187 X_Default_Reason_Code VARCHAR2,
188 X_Description VARCHAR2,
189 X_Last_Update_Date DATE,
190 X_Last_Updated_By NUMBER,
191 X_Last_Update_Login NUMBER
192
193 ) IS
194 BEGIN
195 UPDATE IGI_BUD_JOURNAL_HEADERS
196 SET
197 be_batch_id = X_Be_Batch_Id,
198 be_header_id = X_Be_Header_Id,
199 budget_entity_id = X_Budget_Entity_Id,
200 budget_version_id = X_Budget_Version_Id,
201 set_of_books_id = X_Set_Of_Books_Id,
202 currency_code = X_Currency_Code,
203 je_category_name = X_Je_Category_Name,
204 name = X_Name,
205 running_total_dr = X_Running_Total_Dr,
206 running_total_cr = X_Running_Total_Cr,
207 autocopy_flag = X_Autocopy_Flag,
208 control_total = X_Control_Total,
209 default_reason_code = X_Default_Reason_Code,
210 description = X_Description,
211 last_update_date = X_Last_Update_Date,
212 last_updated_by = X_Last_Updated_By,
213 last_update_login = X_Last_Update_Login
214 WHERE rowid = X_Rowid;
215
216 if (SQL%NOTFOUND) then
217 Raise NO_DATA_FOUND;
218 end if;
219 END Update_Row;
220
221 PROCEDURE Delete_Row(X_Rowid VARCHAR2,
222 X_Be_Header_Id NUMBER) IS
223
224 cursor related_lines is
225 select l.rowid row_id, l.be_line_num
226 from igi_bud_journal_lines l
227 where l.be_header_id = X_Be_Header_Id;
228
229 BEGIN
230 DELETE FROM IGI_BUD_JOURNAL_HEADERS
231 WHERE rowid = X_Rowid;
232
233 for lines in related_lines loop
234 igi_bud_journal_lines_pkg.delete_row(lines.row_id,
235 X_Be_Header_Id,
236 lines.be_line_num);
237 end loop;
238
239 if (SQL%NOTFOUND) then
240 Raise NO_DATA_FOUND;
241 end if;
242 END Delete_Row;
243
244
245 END IGI_BUD_JOURNAL_HEADERS_PKG;