[Home] [Help]
PACKAGE BODY: APPS.XLA_MPA_JLT_ADR_ASSGNS_F_PVT
Source
1 PACKAGE BODY XLA_MPA_JLT_ADR_ASSGNS_F_PVT AS
2 /* $Header: xlathmad.pkb 120.0 2005/06/24 01:30:05 eklau noship $ */
3
4 --=============================================================================
5 -- *********** Local Trace Routine **********
6 --=============================================================================
7 C_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
8 C_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
9 C_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
10 C_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
11 C_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
12 C_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
13
14 C_LEVEL_LOG_DISABLED CONSTANT NUMBER := 99;
15 C_DEFAULT_MODULE CONSTANT VARCHAR2(240) := 'xla.plsql.XLA_MPA_JLT_ADR_ASSGNS_F_PVT';
16
17 g_log_level NUMBER;
18 g_log_enabled BOOLEAN;
19
20 PROCEDURE trace
21 (p_msg IN VARCHAR2
22 ,p_module IN VARCHAR2
23 ,p_level IN NUMBER) IS
24 BEGIN
25 ----------------------------------------------------------------------------
26 -- Following is for FND log.
27 ----------------------------------------------------------------------------
28 IF (p_msg IS NULL AND p_level >= g_log_level) THEN
29 fnd_log.message(p_level, p_module);
30 ELSIF p_level >= g_log_level THEN
31 fnd_log.string(p_level, p_module, p_msg);
32 END IF;
33
34 EXCEPTION
35 WHEN xla_exceptions_pkg.application_exception THEN
36 RAISE;
37
38 WHEN OTHERS THEN
39 xla_exceptions_pkg.raise_message
40 (p_location => 'XLA_MPA_JLT_ADR_ASSGNS_F_PVT.trace');
41 END trace;
42
43
44 PROCEDURE Insert_Row (
45 x_rowid IN OUT NOCOPY VARCHAR2,
46 x_amb_context_code IN VARCHAR2,
47 x_application_id IN NUMBER,
48 x_event_class_code IN VARCHAR2,
49 x_event_type_code IN VARCHAR2,
50 x_line_definition_owner_code IN VARCHAR2,
51 x_line_definition_code IN VARCHAR2,
52 x_accounting_line_type_code IN VARCHAR2,
53 x_accounting_line_code IN VARCHAR2,
54 x_mpa_accounting_line_type_co IN VARCHAR2,
55 x_mpa_accounting_line_code IN VARCHAR2,
56 x_flexfield_segment_code IN VARCHAR2,
57 x_segment_rule_appl_id IN NUMBER,
58 x_segment_rule_type_code IN VARCHAR2,
59 x_segment_rule_code IN VARCHAR2,
60 x_inherit_adr_flag IN VARCHAR2,
61 x_creation_date IN DATE,
62 x_created_by IN NUMBER,
63 x_last_update_date IN DATE,
64 x_last_updated_by IN NUMBER,
65 x_last_update_login IN NUMBER
66 ) IS
67
68 Cursor C is
69 Select rowid
70 from xla_mpa_jlt_adr_assgns
71 where amb_context_code = x_amb_context_code
72 and application_id = x_application_id
73 and event_type_code = x_event_type_code
74 and line_definition_owner_code = x_line_definition_owner_code
75 and line_definition_code = x_line_definition_code
76 and accounting_line_type_code = x_accounting_line_type_code
77 and accounting_line_code = x_accounting_line_code
78 and mpa_accounting_line_type_code = x_mpa_accounting_line_type_co
79 and mpa_accounting_line_code = x_mpa_accounting_line_code
80 and flexfield_segment_code = x_flexfield_segment_code;
81
82 l_log_module VARCHAR2(240);
83
84 BEGIN
85 If (g_log_enabled) then
86 l_log_module := C_DEFAULT_MODULE||'.insert_row';
87 End If;
88
89 If (C_LEVEL_PROCEDURE >= g_log_level) then
90 trace(p_msg => 'BEGIN of procedure insert_row',
91 p_module => l_log_module,
92 p_level => C_LEVEL_PROCEDURE);
93 End If;
94
95 INSERT INTO XLA_MPA_JLT_ADR_ASSGNS (
96 AMB_CONTEXT_CODE,
97 APPLICATION_ID,
98 EVENT_CLASS_CODE,
99 EVENT_TYPE_CODE,
100 LINE_DEFINITION_OWNER_CODE,
101 LINE_DEFINITION_CODE,
102 ACCOUNTING_LINE_TYPE_CODE,
103 ACCOUNTING_LINE_CODE,
104 MPA_ACCOUNTING_LINE_TYPE_CODE,
105 MPA_ACCOUNTING_LINE_CODE,
106 FLEXFIELD_SEGMENT_CODE,
107 SEGMENT_RULE_APPL_ID,
108 SEGMENT_RULE_TYPE_CODE,
109 SEGMENT_RULE_CODE,
110 INHERIT_ADR_FLAG,
111 OBJECT_VERSION_NUMBER,
112 CREATION_DATE,
113 CREATED_BY,
114 LAST_UPDATE_DATE,
115 LAST_UPDATED_BY,
116 LAST_UPDATE_LOGIN
117 )
118 VALUES (
119 X_AMB_CONTEXT_CODE,
120 X_APPLICATION_ID,
121 X_EVENT_CLASS_CODE,
122 X_EVENT_TYPE_CODE,
123 X_LINE_DEFINITION_OWNER_CODE,
124 X_LINE_DEFINITION_CODE,
125 X_ACCOUNTING_LINE_TYPE_CODE,
126 X_ACCOUNTING_LINE_CODE,
127 X_MPA_ACCOUNTING_LINE_TYPE_CO,
128 X_MPA_ACCOUNTING_LINE_CODE,
129 X_FLEXFIELD_SEGMENT_CODE,
130 X_SEGMENT_RULE_APPL_ID,
131 X_SEGMENT_RULE_TYPE_CODE,
132 X_SEGMENT_RULE_CODE,
133 X_INHERIT_ADR_FLAG,
134 1,
135 X_CREATION_DATE,
136 X_CREATED_BY,
137 X_LAST_UPDATE_DATE,
138 X_LAST_UPDATED_BY,
139 X_LAST_UPDATE_LOGIN);
140
141 Open C;
142 Fetch C into x_rowid;
143
144 If (C%NOTFOUND) then
145 Close C;
146 Raise NO_DATA_FOUND;
147 End If;
148 Close C;
149
150 If (C_LEVEL_PROCEDURE >= g_log_level) then
151 trace(p_msg => 'END of procedure insert_row',
152 p_module => l_log_module,
153 p_level => C_LEVEL_PROCEDURE);
154 End If;
155
156 END Insert_Row;
157
158
159 PROCEDURE Update_Row (
160 x_amb_context_code IN VARCHAR2,
161 x_application_id IN NUMBER,
162 x_event_type_code IN VARCHAR2,
163 x_line_definition_owner_code IN VARCHAR2,
164 x_line_definition_code IN VARCHAR2,
165 x_accounting_line_type_code IN VARCHAR2,
166 x_accounting_line_code IN VARCHAR2,
167 x_mpa_accounting_line_type_co IN VARCHAR2,
168 x_mpa_accounting_line_code IN VARCHAR2,
169 x_flexfield_segment_code IN VARCHAR2,
170 x_segment_rule_appl_id IN NUMBER,
171 x_segment_rule_type_code IN VARCHAR2,
172 x_segment_rule_code IN VARCHAR2,
173 x_inherit_adr_flag IN VARCHAR2,
174 x_last_update_date IN DATE,
175 x_last_updated_by IN NUMBER,
176 x_last_update_login IN NUMBER
177 ) IS
178
179 l_log_module varchar2(240);
180
181 BEGIN
182
183 IF g_log_enabled THEN
184 l_log_module := C_DEFAULT_MODULE||'.update_row';
185 END IF;
186
187 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
188 trace(p_msg => 'BEGIN of procedure update_row',
189 p_module => l_log_module,
190 p_level => C_LEVEL_PROCEDURE);
191 END IF;
192
193 UPDATE XLA_MPA_JLT_ADR_ASSGNS
194 SET segment_rule_appl_id = x_segment_rule_appl_id,
195 segment_rule_type_code = x_segment_rule_type_code,
196 segment_rule_code = x_segment_rule_code,
197 inherit_adr_flag = x_inherit_adr_flag,
198 last_update_date = x_last_update_date,
199 object_version_number = object_version_number + 1,
200 last_updated_by = x_last_updated_by,
201 last_update_login = x_last_update_login
202 WHERE amb_context_code = x_amb_context_code
203 and application_id = x_application_id
204 and event_type_code = x_event_type_code
205 and line_definition_owner_code = x_line_definition_owner_code
206 and line_definition_code = x_line_definition_code
207 and accounting_line_type_code = x_accounting_line_type_code
208 and accounting_line_code = x_accounting_line_code
209 and mpa_accounting_line_type_code = x_mpa_accounting_line_type_co
210 and mpa_accounting_line_code = x_mpa_accounting_line_code
211 and flexfield_segment_code = x_flexfield_segment_code;
212
213 IF ( SQL%NOTFOUND ) THEN
214 RAISE NO_DATA_FOUND;
215 END IF;
216
217 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
218 trace(p_msg => 'END of procedure update_row',
219 p_module => l_log_module,
220 p_level => C_LEVEL_PROCEDURE);
221 END IF;
222
223 END Update_Row;
224
225
226 PROCEDURE Lock_Row (
227 x_amb_context_code IN VARCHAR2,
228 x_application_id IN NUMBER,
229 x_event_type_code IN VARCHAR2,
230 x_line_definition_owner_code IN VARCHAR2,
231 x_line_definition_code IN VARCHAR2,
232 x_accounting_line_type_code IN VARCHAR2,
233 x_accounting_line_code IN VARCHAR2,
234 x_mpa_accounting_line_type_co IN VARCHAR2,
235 x_mpa_accounting_line_code IN VARCHAR2,
236 x_flexfield_segment_code IN VARCHAR2,
237 x_segment_rule_appl_id IN NUMBER,
238 x_segment_rule_type_code IN VARCHAR2,
239 x_segment_rule_code IN VARCHAR2,
240 x_inherit_adr_flag IN VARCHAR2
241 ) IS
242
243 Cursor C is
244 Select *
245 from xla_mpa_jlt_adr_assgns
246 where amb_context_code = x_amb_context_code
247 and application_id = x_application_id
248 and event_type_code = x_event_type_code
249 and line_definition_owner_code = x_line_definition_owner_code
250 and line_definition_code = x_line_definition_code
251 and accounting_line_type_code = x_accounting_line_type_code
252 and accounting_line_code = x_accounting_line_code
253 and mpa_accounting_line_type_code = x_mpa_accounting_line_type_co
254 and mpa_accounting_line_code = x_mpa_accounting_line_code
255 and flexfield_segment_code = x_flexfield_segment_code
256 for update of event_class_code nowait;
257
258 l_rec C%ROWTYPE;
259 l_log_module varchar2(240);
260
261 BEGIN
262 If g_log_enabled then
263 l_log_module := C_DEFAULT_MODULE||'.lock_row';
264 End If;
265
266 If (C_LEVEL_PROCEDURE >= g_log_level) then
267 trace(p_msg => 'BEGIN of procedure lock_row',
268 p_module => l_log_module,
269 p_level => C_LEVEL_PROCEDURE);
270 End If;
271
272 Open C;
273 Fetch C into l_rec;
274 If (C%NOTFOUND) then
275 Close C;
276 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
277 app_exception.raise_exception;
278 End If;
279 Close C;
280
281 IF (nvl(l_rec.inherit_adr_flag,'@') = nvl(x_inherit_adr_flag,'@') AND
282 nvl(l_rec.segment_rule_appl_id,1) = nvl(x_segment_rule_appl_id,1) AND
283 nvl(l_rec.segment_rule_type_code,'@') = nvl(x_segment_rule_type_code,'@') AND
284 nvl(l_rec.segment_rule_code,'@') = nvl(x_segment_rule_code,'@')) then
285 NULL;
286 ELSE
287 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
288 app_exception.raise_exception;
289 END IF;
290
291 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
292 trace(p_msg => 'END of procedure lock_row',
293 p_module => l_log_module,
294 p_level => C_LEVEL_PROCEDURE);
295 END IF;
296 END Lock_Row;
297
298
299
300 PROCEDURE Delete_Row (
301 x_amb_context_code IN VARCHAR2,
302 x_application_id IN NUMBER,
303 x_event_type_code IN VARCHAR2,
304 x_line_definition_owner_code IN VARCHAR2,
305 x_line_definition_code IN VARCHAR2,
306 x_accounting_line_type_code IN VARCHAR2,
307 x_accounting_line_code IN VARCHAR2,
308 x_mpa_accounting_line_type_co IN VARCHAR2,
309 x_mpa_accounting_line_code IN VARCHAR2,
310 x_flexfield_segment_code IN VARCHAR2
311 ) IS
312
313 l_log_module VARCHAR2(240);
314
315 BEGIN
316 If g_log_enabled then
317 l_log_module := C_DEFAULT_MODULE||'.delete_row';
318 End If;
319
320 If (C_LEVEL_PROCEDURE >= g_log_level) then
321 trace(p_msg => 'BEGIN of procedure delete_row',
322 p_module => l_log_module,
323 p_level => C_LEVEL_PROCEDURE);
324 End If;
325
326
327 DELETE XLA_MPA_JLT_ADR_ASSGNS
328 where amb_context_code = x_amb_context_code
329 and application_id = x_application_id
330 and event_type_code = x_event_type_code
331 and line_definition_owner_code = x_line_definition_owner_code
332 and line_definition_code = x_line_definition_code
333 and accounting_line_type_code = x_accounting_line_type_code
334 and accounting_line_code = x_accounting_line_code
335 and mpa_accounting_line_type_code = x_mpa_accounting_line_type_co
336 and mpa_accounting_line_code = x_mpa_accounting_line_code
337 and flexfield_segment_code = x_flexfield_segment_code;
338
339
340 If ( SQL%NOTFOUND ) then
341 Raise NO_DATA_FOUND;
342 End If;
343
344 If (C_LEVEL_PROCEDURE >= g_log_level) then
345 trace(p_msg => 'END of procedure delete_row',
346 p_module => l_log_module,
347 p_level => C_LEVEL_PROCEDURE);
348 End If;
349
350 END Delete_Row;
351
352
353 END XLA_MPA_JLT_ADR_ASSGNS_F_PVT;