[Home] [Help]
PACKAGE BODY: APPS.XLA_ACCT_CLASS_ASSGNS_F_PKG
Source
1 PACKAGE BODY xla_acct_class_assgns_f_pkg AS
2 /* $Header: xlatbaca.pkb 120.0 2005/05/24 21:47:23 dcshah noship $ */
3 /*======================================================================+
4 | Copyright (c) 2001-2002 Oracle Corporation |
5 | Redwood Shores, CA, USA |
6 | All rights reserved. |
7 +=======================================================================+
8 | PACKAGE NAME |
9 | xla_acct_class_assgns |
10 | |
11 | DESCRIPTION |
12 | Forms PL/SQL Wrapper for xla_acct_class_assgns |
13 | |
14 | HISTORY |
15 | 05/22/01 Dimple Shah Created |
16 | |
17 +======================================================================*/
18
19 --=============================================================================
20 -- *********** Local Trace Routine **********
21 --=============================================================================
22 C_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
23 C_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
24 C_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
25 C_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
26 C_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
27 C_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
28
29 C_LEVEL_LOG_DISABLED CONSTANT NUMBER := 99;
30 C_DEFAULT_MODULE CONSTANT VARCHAR2(240) := 'xla.plsql.xla_acct_class_assgns_f_pkg';
31
32 g_log_level NUMBER;
33 g_log_enabled BOOLEAN;
34
35 PROCEDURE trace
36 (p_msg IN VARCHAR2
37 ,p_module IN VARCHAR2
38 ,p_level IN NUMBER) IS
39 BEGIN
40 ----------------------------------------------------------------------------
41 -- Following is for FND log.
42 ----------------------------------------------------------------------------
43 IF (p_msg IS NULL AND p_level >= g_log_level) THEN
44 fnd_log.message(p_level, p_module);
45 ELSIF p_level >= g_log_level THEN
46 fnd_log.string(p_level, p_module, p_msg);
47 END IF;
48
49 EXCEPTION
50 WHEN xla_exceptions_pkg.application_exception THEN
51 RAISE;
52
53 WHEN OTHERS THEN
54 xla_exceptions_pkg.raise_message
55 (p_location => 'xla_acct_class_assgns_f_pkg.trace');
56 END trace;
57
58
59
60 /*======================================================================+
61 | |
62 | Procedure insert_row |
63 | |
64 +======================================================================*/
65 PROCEDURE insert_row
66 (x_rowid IN OUT NOCOPY VARCHAR2
67 ,x_program_code IN VARCHAR2
68 ,x_program_owner_code IN VARCHAR2
69 ,x_assignment_code IN VARCHAR2
70 ,x_assignment_owner_code IN VARCHAR2
71 ,x_accounting_class_code IN VARCHAR2
72 ,x_creation_date IN DATE
73 ,x_created_by IN NUMBER
74 ,x_last_update_date IN DATE
75 ,x_last_updated_by IN NUMBER
76 ,x_last_update_login IN NUMBER)
77
78 IS
79
80 CURSOR c IS
81 SELECT rowid
82 FROM xla_acct_class_assgns
83 WHERE program_code = x_program_code
84 AND program_owner_code = x_program_owner_code
85 AND assignment_code = x_assignment_code
86 AND assignment_owner_code = x_assignment_owner_code
87 AND accounting_class_code = x_accounting_class_code
88 ;
89
90 l_log_module VARCHAR2(240);
91 BEGIN
92
93 IF g_log_enabled THEN
94 l_log_module := C_DEFAULT_MODULE||'.insert_row';
95 END IF;
96
97 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
98 trace(p_msg => 'BEGIN of procedure insert_row',
99 p_module => l_log_module,
100 p_level => C_LEVEL_PROCEDURE);
101 END IF;
102
103 INSERT INTO xla_acct_class_assgns
104 (creation_date
105 ,created_by
106 ,program_code
107 ,program_owner_code
108 ,assignment_code
109 ,assignment_owner_code
110 ,accounting_class_code
111 ,last_update_date
112 ,last_updated_by
113 ,last_update_login)
114 VALUES
115 (x_creation_date
116 ,x_created_by
117 ,x_program_code
118 ,x_program_owner_code
119 ,x_assignment_code
120 ,x_assignment_owner_code
121 ,x_accounting_class_code
122 ,x_last_update_date
123 ,x_last_updated_by
124 ,x_last_update_login)
125 ;
126
127 OPEN c;
128 FETCH c INTO x_rowid;
129
130 IF (c%NOTFOUND) THEN
131 CLOSE c;
132 RAISE NO_DATA_FOUND;
133 END IF;
134 CLOSE c;
135
136 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
137 trace(p_msg => 'END of procedure insert_row',
138 p_module => l_log_module,
139 p_level => C_LEVEL_PROCEDURE);
140 END IF;
141
142 END insert_row;
143
144 /*======================================================================+
145 | |
146 | Procedure lock_row |
147 | |
148 +======================================================================*/
149 PROCEDURE lock_row
150 (x_rowid IN OUT NOCOPY VARCHAR2
151 ,x_program_code IN VARCHAR2
152 ,x_program_owner_code IN VARCHAR2
153 ,x_assignment_code IN VARCHAR2
154 ,x_assignment_owner_code IN VARCHAR2
155 ,x_accounting_class_code IN VARCHAR2)
156
157 IS
158
159 CURSOR c IS
160 SELECT program_code
161 ,program_owner_code
162 ,assignment_code
163 ,assignment_owner_code
164 ,accounting_class_code
165 FROM xla_acct_class_assgns
166 WHERE program_code = x_program_code
167 AND program_owner_code = x_program_owner_code
168 AND assignment_code = x_assignment_code
169 AND assignment_owner_code = x_assignment_owner_code
170 AND accounting_class_code = x_accounting_class_code
171 FOR UPDATE OF program_code NOWAIT;
172
173 recinfo c%ROWTYPE;
174
175 l_log_module VARCHAR2(240);
176 BEGIN
177
178 IF g_log_enabled THEN
179 l_log_module := C_DEFAULT_MODULE||'.lock_row';
180 END IF;
181
182 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
183 trace(p_msg => 'BEGIN of procedure lock_row',
184 p_module => l_log_module,
185 p_level => C_LEVEL_PROCEDURE);
186 END IF;
187
188 OPEN c;
189 FETCH c INTO recinfo;
190
191 IF (c%NOTFOUND) THEN
192 CLOSE c;
193 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
194 app_exception.raise_exception;
195 END IF;
196 CLOSE c;
197
198 IF ( (recinfo.program_code = x_program_code)
199 AND (recinfo.program_owner_code = x_program_owner_code)
200 AND (recinfo.assignment_code = x_assignment_code)
201 AND (recinfo.assignment_owner_code = x_assignment_owner_code)
202 AND (recinfo.accounting_class_code = x_accounting_class_code)
203 ) THEN
204 null;
205 ELSE
206 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
207 app_exception.raise_exception;
208 END IF;
209
210 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
211 trace(p_msg => 'END of procedure lock_row',
212 p_module => l_log_module,
213 p_level => C_LEVEL_PROCEDURE);
214 END IF;
215
216 RETURN;
217
218 END lock_row;
219
220 /*======================================================================+
221 | |
222 | Procedure delete_row |
223 | |
224 +======================================================================*/
225 PROCEDURE delete_row
226 (x_program_code IN VARCHAR2
227 ,x_program_owner_code IN VARCHAR2
228 ,x_assignment_code IN VARCHAR2
229 ,x_assignment_owner_code IN VARCHAR2
230 ,x_accounting_class_code IN VARCHAR2)
231
232 IS
233
234 l_log_module VARCHAR2(240);
235 BEGIN
236
237 IF g_log_enabled THEN
238 l_log_module := C_DEFAULT_MODULE||'.delete_row';
239 END IF;
240
241 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
242 trace(p_msg => 'BEGIN of procedure delete_row',
243 p_module => l_log_module,
244 p_level => C_LEVEL_PROCEDURE);
245 END IF;
246
247 DELETE FROM xla_acct_class_assgns
248 WHERE program_code = x_program_code
249 AND program_owner_code = x_program_owner_code
250 AND assignment_code = x_assignment_code
251 AND assignment_owner_code = x_assignment_owner_code
252 AND accounting_class_code = x_accounting_class_code;
253
254
255 IF (SQL%NOTFOUND) THEN
256 RAISE NO_DATA_FOUND;
257 END IF;
258
259 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
260 trace(p_msg => 'END of procedure delete_row',
261 p_module => l_log_module,
262 p_level => C_LEVEL_PROCEDURE);
263 END IF;
264
265 END delete_row;
266
267 --=============================================================================
268 --
269 -- Name: load_row
270 -- Description: To be used by FNDLOAD to upload a row to the table
271 --
272 --=============================================================================
273 PROCEDURE load_row
274 (p_program_code IN VARCHAR2
275 ,p_program_owner_code IN VARCHAR2
276 ,p_assignment_code IN VARCHAR2
277 ,p_assignment_owner_code IN VARCHAR2
278 ,p_accounting_class_code IN VARCHAR2
279 ,p_owner IN VARCHAR2
280 ,p_last_update_date IN VARCHAR2)
281 IS
282
283 l_rowid ROWID;
284 l_exist VARCHAR2(1);
285 f_luby NUMBER; -- entity owner in file
286 f_ludate DATE; -- entity update date in file
287 db_luby NUMBER; -- entity owner in db
288 db_ludate DATE; -- entity update date in db
289 l_log_module VARCHAR2(240);
290 BEGIN
291
292 IF g_log_enabled THEN
293 l_log_module := C_DEFAULT_MODULE||'.load_row';
294 END IF;
295
296 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
297 trace(p_msg => 'BEGIN of procedure load_row',
298 p_module => l_log_module,
299 p_level => C_LEVEL_PROCEDURE);
300 END IF;
301
302 -- Translate owner to file_last_updated_by
303 f_luby := fnd_load_util.owner_id(p_owner);
304
305 -- Translate char last_update_date to date
306 f_ludate := nvl(to_date(p_last_update_date, 'YYYY/MM/DD'), sysdate);
307
308 BEGIN
309
310 SELECT last_updated_by, last_update_date
311 INTO db_luby, db_ludate
312 FROM xla_acct_class_assgns
313 WHERE program_code = p_program_code
314 AND program_owner_code = p_program_owner_code
315 AND assignment_code = p_assignment_code
316 AND assignment_owner_code = p_assignment_owner_code
317 AND accounting_class_code = p_accounting_class_code;
318
319 IF (fnd_load_util.upload_test(f_luby, f_ludate, db_luby, db_ludate, NULL)) THEN
320 null;
321 END IF;
322
323 EXCEPTION
324 WHEN NO_DATA_FOUND THEN
325 xla_acct_class_assgns_f_pkg.insert_row
326 (x_rowid => l_rowid
327 ,x_program_code => p_program_code
328 ,x_program_owner_code => p_program_owner_code
329 ,x_assignment_code => p_assignment_code
330 ,x_assignment_owner_code => p_assignment_owner_code
331 ,x_accounting_class_code => p_accounting_class_code
332 ,x_creation_date => f_ludate
333 ,x_created_by => f_luby
334 ,x_last_update_date => f_ludate
335 ,x_last_updated_by => f_luby
336 ,x_last_update_login => 0);
337 END;
338
339 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
340 trace(p_msg => 'END of procedure load_row',
341 p_module => l_log_module,
342 p_level => C_LEVEL_PROCEDURE);
343 END IF;
344
345 EXCEPTION
346 WHEN NO_DATA_FOUND THEN
347 null;
348 WHEN OTHERS THEN
349 xla_exceptions_pkg.raise_message
350 (p_location => 'xla_acct_class_assgns_f_pkg.load_row');
351
352 END load_row;
353
354 end xla_acct_class_assgns_f_PKG;