[Home] [Help]
PACKAGE BODY: APPS.XLA_XLAABACR_XMLP_PKG
Source
1 PACKAGE BODY XLA_XLAABACR_XMLP_PKG AS
2 /* $Header: XLAABACRB.pls 120.0 2007/12/27 08:44:44 npannamp noship $ */
3 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4 CURSOR C_AAD1 IS
5 SELECT
6 PRB.APPLICATION_ID,
7 PRB.AMB_CONTEXT_CODE,
8 PRB.PRODUCT_RULE_TYPE_CODE,
9 PRB.PRODUCT_RULE_CODE
10 FROM
11 XLA_PRODUCT_RULES_B PRB
12 WHERE PRB.COMPILE_STATUS_CODE in ( 'E' , 'N' , DECODE(P_UNCOMPILE_ONLY_FLAG
13 ,'N'
14 ,'Y'
15 ,'') )
16 AND PRB.PRODUCT_RULE_TYPE_CODE = NVL(P_PRODUCT_RULE_TYPE_CODE
17 ,PRB.PRODUCT_RULE_TYPE_CODE)
18 AND PRB.AMB_CONTEXT_CODE = NVL(FND_PROFILE.VALUE('XLA_AMB_CONTEXT')
19 ,'DEFAULT');
20 CURSOR C_AAD2 IS
21 SELECT
22 PRB.APPLICATION_ID,
23 PRB.AMB_CONTEXT_CODE,
24 PRB.PRODUCT_RULE_TYPE_CODE,
25 PRB.PRODUCT_RULE_CODE
26 FROM
27 XLA_PRODUCT_RULES_B PRB
28 WHERE PRB.COMPILE_STATUS_CODE in ( 'E' , 'N' , DECODE(P_UNCOMPILE_ONLY_FLAG
29 ,'N'
30 ,'Y'
31 ,'') )
32 AND PRB.PRODUCT_RULE_TYPE_CODE = NVL(P_PRODUCT_RULE_TYPE_CODE
33 ,PRB.PRODUCT_RULE_TYPE_CODE)
34 AND PRB.APPLICATION_ID = P_APPLICATION_ID
35 AND PRB.AMB_CONTEXT_CODE = NVL(FND_PROFILE.VALUE('XLA_AMB_CONTEXT')
36 ,'DEFAULT');
37 CURSOR C_AAD3 IS
38 SELECT
39 PRB.APPLICATION_ID,
40 PRB.AMB_CONTEXT_CODE,
41 PRB.PRODUCT_RULE_TYPE_CODE,
42 PRB.PRODUCT_RULE_CODE
43 FROM
44 XLA_PRODUCT_RULES_B PRB
45 WHERE PRB.COMPILE_STATUS_CODE in ( 'E' , 'N' , DECODE(P_UNCOMPILE_ONLY_FLAG
46 ,'N'
47 ,'Y'
48 ,'') )
49 AND PRB.PRODUCT_RULE_TYPE_CODE = NVL(P_PRODUCT_RULE_TYPE_CODE
50 ,PRB.PRODUCT_RULE_TYPE_CODE)
51 AND PRB.APPLICATION_ID = P_APPLICATION_ID
52 AND PRB.PRODUCT_RULE_CODE = P_PRODUCT_RULE_CODE
53 AND PRB.AMB_CONTEXT_CODE = NVL(FND_PROFILE.VALUE('XLA_AMB_CONTEXT')
54 ,'DEFAULT');
55 CURSOR C_AAD4 IS
56 SELECT
57 PRB.APPLICATION_ID,
58 PRB.AMB_CONTEXT_CODE,
59 PRB.PRODUCT_RULE_TYPE_CODE,
60 PRB.PRODUCT_RULE_CODE
61 FROM
62 XLA_PRODUCT_RULES_B PRB,
63 XLA_GL_LEDGERS_V LE,
64 XLA_ACCTG_METHOD_RULES AMR,
65 XLA_LEDGER_RELATIONSHIPS_V LR
66 WHERE PRB.PRODUCT_RULE_TYPE_CODE = AMR.PRODUCT_RULE_TYPE_CODE
67 AND PRB.PRODUCT_RULE_CODE = AMR.PRODUCT_RULE_CODE
68 AND PRB.APPLICATION_ID = AMR.APPLICATION_ID
69 AND AMR.ACCOUNTING_METHOD_TYPE_CODE = LE.SLA_ACCOUNTING_METHOD_TYPE
70 AND AMR.ACCOUNTING_METHOD_CODE = LE.SLA_ACCOUNTING_METHOD_CODE
71 AND LE.LEDGER_ID = LR.LEDGER_ID
72 AND LR.PRIMARY_LEDGER_ID = P_LEDGER_ID
73 AND PRB.COMPILE_STATUS_CODE in ( 'E' , 'N' , DECODE(P_UNCOMPILE_ONLY_FLAG
74 ,'N'
75 ,'Y'
76 ,'') )
77 AND PRB.PRODUCT_RULE_TYPE_CODE = NVL(P_PRODUCT_RULE_TYPE_CODE
78 ,PRB.PRODUCT_RULE_TYPE_CODE)
79 AND PRB.APPLICATION_ID = NVL(P_APPLICATION_ID
80 ,PRB.APPLICATION_ID)
81 AND PRB.AMB_CONTEXT_CODE = NVL(FND_PROFILE.VALUE('XLA_AMB_CONTEXT')
82 ,'DEFAULT');
83 CURSOR C_AAD5 IS
84 SELECT
85 PRB.APPLICATION_ID,
86 PRB.AMB_CONTEXT_CODE,
87 PRB.PRODUCT_RULE_TYPE_CODE,
88 PRB.PRODUCT_RULE_CODE
89 FROM
90 XLA_PRODUCT_RULES_B PRB,
91 XLA_GL_LEDGERS_V LE,
92 XLA_ACCTG_METHOD_RULES AMR
93 WHERE PRB.PRODUCT_RULE_TYPE_CODE = AMR.PRODUCT_RULE_TYPE_CODE
94 AND PRB.PRODUCT_RULE_CODE = AMR.PRODUCT_RULE_CODE
95 AND PRB.APPLICATION_ID = AMR.APPLICATION_ID
96 AND AMR.ACCOUNTING_METHOD_TYPE_CODE = LE.SLA_ACCOUNTING_METHOD_TYPE
97 AND AMR.ACCOUNTING_METHOD_CODE = LE.SLA_ACCOUNTING_METHOD_CODE
98 AND LE.LEDGER_ID = P_LEDGER_ID
99 AND PRB.COMPILE_STATUS_CODE in ( 'E' , 'N' , DECODE(P_UNCOMPILE_ONLY_FLAG
100 ,'N'
101 ,'Y'
102 ,'') )
103 AND PRB.PRODUCT_RULE_TYPE_CODE = NVL(P_PRODUCT_RULE_TYPE_CODE
104 ,PRB.PRODUCT_RULE_TYPE_CODE)
105 AND PRB.APPLICATION_ID = NVL(P_APPLICATION_ID
106 ,PRB.APPLICATION_ID)
107 AND PRB.AMB_CONTEXT_CODE = NVL(FND_PROFILE.VALUE('XLA_AMB_CONTEXT')
108 ,'DEFAULT');
109 L_APPLICATION_ID INTEGER;
110 L_AMB_CONTEXT_CODE VARCHAR2(30);
111 L_PROD_RULE_CODE VARCHAR2(30);
112 L_PROD_RULE_TYPE_CODE VARCHAR2(30);
113 L_VALIDATION_STATUS_CODE VARCHAR2(1);
114 L_COMPILE_STATUS_CODE VARCHAR2(1);
115 L_HASH_ID INTEGER;
116 BEGIN
117 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
118 XLA_UTILITY_PKG.ACTIVATE('SRS_DBP'
119 ,'XLAABACR');
120 XLA_ENVIRONMENT_PKG.REFRESH;
121 SET_REPORT_CONSTANTS;
122 IF (P_REPORT_ONLY_MODE < 'Y') THEN
123 IF (P_LEDGER_ID IS NULL) THEN
124 IF (P_APPLICATION_ID IS NULL) THEN
125 XLA_UTILITY_PKG.TRACE('use c_aad1'
126 ,30);
127 OPEN C_AAD1;
128 LOOP
129 FETCH C_AAD1
130 INTO
131 L_APPLICATION_ID
132 ,L_AMB_CONTEXT_CODE
133 ,L_PROD_RULE_TYPE_CODE
134 ,L_PROD_RULE_CODE;
135 EXIT WHEN C_AAD1%NOTFOUND;
136 XLA_UTILITY_PKG.TRACE('l_application_id = ' || L_APPLICATION_ID
137 ,30);
138 XLA_UTILITY_PKG.TRACE('l_amb_context_code = ' || L_AMB_CONTEXT_CODE
139 ,30);
140 XLA_UTILITY_PKG.TRACE('l_prod_rule_type_code = ' || L_PROD_RULE_TYPE_CODE
141 ,30);
142 XLA_UTILITY_PKG.TRACE('l_prod_rule_code = ' || L_PROD_RULE_CODE
143 ,30);
144 UPDATE
145 XLA_PRODUCT_RULES_B
146 SET
147 COMPILE_STATUS_CODE = 'R'
148 WHERE APPLICATION_ID = L_APPLICATION_ID
149 AND AMB_CONTEXT_CODE = L_AMB_CONTEXT_CODE
150 AND PRODUCT_RULE_TYPE_CODE = L_PROD_RULE_TYPE_CODE
151 AND PRODUCT_RULE_CODE = L_PROD_RULE_CODE;
152 XLA_AMB_AAD_PKG.VALIDATE_AND_COMPILE_AAD(P_APPLICATION_ID => L_APPLICATION_ID
153 ,P_AMB_CONTEXT_CODE => L_AMB_CONTEXT_CODE
154 ,P_PRODUCT_RULE_TYPE_CODE => L_PROD_RULE_TYPE_CODE
155 ,P_PRODUCT_RULE_CODE => L_PROD_RULE_CODE
156 ,X_VALIDATION_STATUS_CODE => L_VALIDATION_STATUS_CODE
157 ,X_COMPILATION_STATUS_CODE => L_COMPILE_STATUS_CODE
158 ,X_HASH_ID => L_HASH_ID);
159 IF (L_VALIDATION_STATUS_CODE = 'E' OR L_COMPILE_STATUS_CODE = 'E') THEN
160 CP_RET_CODE := 1;
161 L_COMPILE_STATUS_CODE := 'E';
162 ELSE
163 L_COMPILE_STATUS_CODE := 'Y';
164 END IF;
165 UPDATE
166 XLA_PRODUCT_RULES_B
167 SET
168 COMPILE_STATUS_CODE = L_COMPILE_STATUS_CODE
169 WHERE APPLICATION_ID = L_APPLICATION_ID
170 AND AMB_CONTEXT_CODE = L_AMB_CONTEXT_CODE
171 AND PRODUCT_RULE_TYPE_CODE = L_PROD_RULE_TYPE_CODE
172 AND PRODUCT_RULE_CODE = L_PROD_RULE_CODE;
173 END LOOP;
174 CLOSE C_AAD1;
175 ELSIF (P_PRODUCT_RULE_CODE IS NULL) THEN
176 XLA_UTILITY_PKG.TRACE('use c_aad2'
177 ,30);
178 OPEN C_AAD2;
179 LOOP
180 FETCH C_AAD2
181 INTO
182 L_APPLICATION_ID
183 ,L_AMB_CONTEXT_CODE
184 ,L_PROD_RULE_TYPE_CODE
185 ,L_PROD_RULE_CODE;
186 EXIT WHEN C_AAD2%NOTFOUND;
187 XLA_UTILITY_PKG.TRACE('l_application_id = ' || L_APPLICATION_ID
188 ,30);
189 XLA_UTILITY_PKG.TRACE('l_amb_context_code = ' || L_AMB_CONTEXT_CODE
190 ,30);
191 XLA_UTILITY_PKG.TRACE('l_prod_rule_type_code = ' || L_PROD_RULE_TYPE_CODE
192 ,30);
193 XLA_UTILITY_PKG.TRACE('l_prod_rule_code = ' || L_PROD_RULE_CODE
194 ,30);
195 UPDATE
196 XLA_PRODUCT_RULES_B
197 SET
198 COMPILE_STATUS_CODE = 'R'
199 WHERE APPLICATION_ID = L_APPLICATION_ID
200 AND AMB_CONTEXT_CODE = L_AMB_CONTEXT_CODE
201 AND PRODUCT_RULE_TYPE_CODE = L_PROD_RULE_TYPE_CODE
202 AND PRODUCT_RULE_CODE = L_PROD_RULE_CODE;
203 XLA_AMB_AAD_PKG.VALIDATE_AND_COMPILE_AAD(P_APPLICATION_ID => L_APPLICATION_ID
204 ,P_AMB_CONTEXT_CODE => L_AMB_CONTEXT_CODE
205 ,P_PRODUCT_RULE_TYPE_CODE => L_PROD_RULE_TYPE_CODE
206 ,P_PRODUCT_RULE_CODE => L_PROD_RULE_CODE
207 ,X_VALIDATION_STATUS_CODE => L_VALIDATION_STATUS_CODE
208 ,X_COMPILATION_STATUS_CODE => L_COMPILE_STATUS_CODE
209 ,X_HASH_ID => L_HASH_ID);
210 IF (L_VALIDATION_STATUS_CODE = 'E' OR L_COMPILE_STATUS_CODE = 'E') THEN
211 CP_RET_CODE := 1;
212 L_COMPILE_STATUS_CODE := 'E';
213 ELSE
214 L_COMPILE_STATUS_CODE := 'Y';
215 END IF;
216 UPDATE
217 XLA_PRODUCT_RULES_B
218 SET
219 COMPILE_STATUS_CODE = L_COMPILE_STATUS_CODE
220 WHERE APPLICATION_ID = L_APPLICATION_ID
221 AND AMB_CONTEXT_CODE = L_AMB_CONTEXT_CODE
222 AND PRODUCT_RULE_TYPE_CODE = L_PROD_RULE_TYPE_CODE
223 AND PRODUCT_RULE_CODE = L_PROD_RULE_CODE;
224 END LOOP;
225 CLOSE C_AAD2;
226 ELSE
227 XLA_UTILITY_PKG.TRACE('use c_aad3'
228 ,30);
229 OPEN C_AAD3;
230 LOOP
231 FETCH C_AAD3
232 INTO
233 L_APPLICATION_ID
234 ,L_AMB_CONTEXT_CODE
235 ,L_PROD_RULE_TYPE_CODE
236 ,L_PROD_RULE_CODE;
237 EXIT WHEN C_AAD3%NOTFOUND;
238 XLA_UTILITY_PKG.TRACE('l_application_id = ' || L_APPLICATION_ID
239 ,30);
240 XLA_UTILITY_PKG.TRACE('l_amb_context_code = ' || L_AMB_CONTEXT_CODE
241 ,30);
242 XLA_UTILITY_PKG.TRACE('l_prod_rule_type_code = ' || L_PROD_RULE_TYPE_CODE
243 ,30);
244 XLA_UTILITY_PKG.TRACE('l_prod_rule_code = ' || L_PROD_RULE_CODE
245 ,30);
246 UPDATE
247 XLA_PRODUCT_RULES_B
248 SET
249 COMPILE_STATUS_CODE = 'R'
250 WHERE APPLICATION_ID = L_APPLICATION_ID
251 AND AMB_CONTEXT_CODE = L_AMB_CONTEXT_CODE
252 AND PRODUCT_RULE_TYPE_CODE = L_PROD_RULE_TYPE_CODE
253 AND PRODUCT_RULE_CODE = L_PROD_RULE_CODE;
254 XLA_AMB_AAD_PKG.VALIDATE_AND_COMPILE_AAD(P_APPLICATION_ID => L_APPLICATION_ID
255 ,P_AMB_CONTEXT_CODE => L_AMB_CONTEXT_CODE
256 ,P_PRODUCT_RULE_TYPE_CODE => L_PROD_RULE_TYPE_CODE
257 ,P_PRODUCT_RULE_CODE => L_PROD_RULE_CODE
258 ,X_VALIDATION_STATUS_CODE => L_VALIDATION_STATUS_CODE
259 ,X_COMPILATION_STATUS_CODE => L_COMPILE_STATUS_CODE
260 ,X_HASH_ID => L_HASH_ID);
261 IF (L_VALIDATION_STATUS_CODE = 'E' OR L_COMPILE_STATUS_CODE = 'E') THEN
262 CP_RET_CODE := 1;
263 L_COMPILE_STATUS_CODE := 'E';
264 ELSE
265 L_COMPILE_STATUS_CODE := 'Y';
266 END IF;
267 UPDATE
268 XLA_PRODUCT_RULES_B
269 SET
270 COMPILE_STATUS_CODE = L_COMPILE_STATUS_CODE
271 WHERE APPLICATION_ID = L_APPLICATION_ID
272 AND AMB_CONTEXT_CODE = L_AMB_CONTEXT_CODE
273 AND PRODUCT_RULE_TYPE_CODE = L_PROD_RULE_TYPE_CODE
274 AND PRODUCT_RULE_CODE = L_PROD_RULE_CODE;
275 END LOOP;
276 CLOSE C_AAD3;
277 END IF;
278 ELSE
279 IF (CP_LEDGER_CATEGORY = 'SECONDARY') THEN
280 XLA_UTILITY_PKG.TRACE('use c_aad5'
281 ,30);
282 OPEN C_AAD5;
283 LOOP
284 FETCH C_AAD5
285 INTO
286 L_APPLICATION_ID
287 ,L_AMB_CONTEXT_CODE
288 ,L_PROD_RULE_TYPE_CODE
289 ,L_PROD_RULE_CODE;
290 EXIT WHEN C_AAD5%NOTFOUND;
291 XLA_UTILITY_PKG.TRACE('l_application_id = ' || L_APPLICATION_ID
292 ,30);
293 XLA_UTILITY_PKG.TRACE('l_amb_context_code = ' || L_AMB_CONTEXT_CODE
294 ,30);
295 XLA_UTILITY_PKG.TRACE('l_prod_rule_type_code = ' || L_PROD_RULE_TYPE_CODE
296 ,30);
297 XLA_UTILITY_PKG.TRACE('l_prod_rule_code = ' || L_PROD_RULE_CODE
298 ,30);
299 UPDATE
300 XLA_PRODUCT_RULES_B
301 SET
302 COMPILE_STATUS_CODE = 'R'
303 WHERE APPLICATION_ID = L_APPLICATION_ID
304 AND AMB_CONTEXT_CODE = L_AMB_CONTEXT_CODE
305 AND PRODUCT_RULE_TYPE_CODE = L_PROD_RULE_TYPE_CODE
306 AND PRODUCT_RULE_CODE = L_PROD_RULE_CODE;
307 XLA_AMB_AAD_PKG.VALIDATE_AND_COMPILE_AAD(P_APPLICATION_ID => L_APPLICATION_ID
308 ,P_AMB_CONTEXT_CODE => L_AMB_CONTEXT_CODE
309 ,P_PRODUCT_RULE_TYPE_CODE => L_PROD_RULE_TYPE_CODE
310 ,P_PRODUCT_RULE_CODE => L_PROD_RULE_CODE
311 ,X_VALIDATION_STATUS_CODE => L_VALIDATION_STATUS_CODE
312 ,X_COMPILATION_STATUS_CODE => L_COMPILE_STATUS_CODE
313 ,X_HASH_ID => L_HASH_ID);
314 IF (L_VALIDATION_STATUS_CODE = 'E' OR L_COMPILE_STATUS_CODE = 'E') THEN
315 CP_RET_CODE := 1;
316 L_COMPILE_STATUS_CODE := 'E';
317 ELSE
318 L_COMPILE_STATUS_CODE := 'Y';
319 END IF;
320 UPDATE
321 XLA_PRODUCT_RULES_B
322 SET
323 COMPILE_STATUS_CODE = L_COMPILE_STATUS_CODE
324 WHERE APPLICATION_ID = L_APPLICATION_ID
325 AND AMB_CONTEXT_CODE = L_AMB_CONTEXT_CODE
326 AND PRODUCT_RULE_TYPE_CODE = L_PROD_RULE_TYPE_CODE
327 AND PRODUCT_RULE_CODE = L_PROD_RULE_CODE;
328 END LOOP;
329 CLOSE C_AAD5;
330 ELSE
331 XLA_UTILITY_PKG.TRACE('use c_aad4'
332 ,30);
333 OPEN C_AAD4;
334 LOOP
335 FETCH C_AAD4
336 INTO
337 L_APPLICATION_ID
338 ,L_AMB_CONTEXT_CODE
339 ,L_PROD_RULE_TYPE_CODE
340 ,L_PROD_RULE_CODE;
341 EXIT WHEN C_AAD4%NOTFOUND;
342 XLA_UTILITY_PKG.TRACE('l_application_id = ' || L_APPLICATION_ID
343 ,30);
344 XLA_UTILITY_PKG.TRACE('l_amb_context_code = ' || L_AMB_CONTEXT_CODE
345 ,30);
346 XLA_UTILITY_PKG.TRACE('l_prod_rule_type_code = ' || L_PROD_RULE_TYPE_CODE
347 ,30);
348 XLA_UTILITY_PKG.TRACE('l_prod_rule_code = ' || L_PROD_RULE_CODE
349 ,30);
350 UPDATE
351 XLA_PRODUCT_RULES_B
352 SET
353 COMPILE_STATUS_CODE = 'R'
354 WHERE APPLICATION_ID = L_APPLICATION_ID
355 AND AMB_CONTEXT_CODE = L_AMB_CONTEXT_CODE
356 AND PRODUCT_RULE_TYPE_CODE = L_PROD_RULE_TYPE_CODE
357 AND PRODUCT_RULE_CODE = L_PROD_RULE_CODE;
358 XLA_AMB_AAD_PKG.VALIDATE_AND_COMPILE_AAD(P_APPLICATION_ID => L_APPLICATION_ID
359 ,P_AMB_CONTEXT_CODE => L_AMB_CONTEXT_CODE
360 ,P_PRODUCT_RULE_TYPE_CODE => L_PROD_RULE_TYPE_CODE
361 ,P_PRODUCT_RULE_CODE => L_PROD_RULE_CODE
362 ,X_VALIDATION_STATUS_CODE => L_VALIDATION_STATUS_CODE
363 ,X_COMPILATION_STATUS_CODE => L_COMPILE_STATUS_CODE
364 ,X_HASH_ID => L_HASH_ID);
365 IF (L_VALIDATION_STATUS_CODE = 'E' OR L_COMPILE_STATUS_CODE = 'E') THEN
366 CP_RET_CODE := 1;
367 L_COMPILE_STATUS_CODE := 'E';
368 ELSE
369 L_COMPILE_STATUS_CODE := 'Y';
370 END IF;
371 UPDATE
372 XLA_PRODUCT_RULES_B
373 SET
374 COMPILE_STATUS_CODE = L_COMPILE_STATUS_CODE
375 WHERE APPLICATION_ID = L_APPLICATION_ID
376 AND AMB_CONTEXT_CODE = L_AMB_CONTEXT_CODE
377 AND PRODUCT_RULE_TYPE_CODE = L_PROD_RULE_TYPE_CODE
378 AND PRODUCT_RULE_CODE = L_PROD_RULE_CODE;
379 END LOOP;
380 CLOSE C_AAD4;
381 END IF;
382 END IF;
383 END IF;
384 RETURN (TRUE);
385 EXCEPTION
386 WHEN OTHERS THEN
387 RAISE_APPLICATION_ERROR(-20101
388 ,NULL);
389 END BEFOREREPORT;
390
391 PROCEDURE SET_REPORT_CONSTANTS IS
392 CURSOR C_LEDGER IS
393 SELECT
394 LEDGER_CATEGORY_CODE
395 FROM
396 XLA_GL_LEDGERS_V
397 WHERE LEDGER_ID = P_LEDGER_ID;
398 BEGIN
399 XLA_UTILITY_PKG.TRACE('> XLA_XLAABACR_XMLP_PKG.set_report_constants'
400 ,20);
401 CP_DEBUG_FLAG := NVL(FND_PROFILE.VALUE('XLA_DEBUG_TRACE')
402 ,'N');
403 CP_DEFAULT_MODULE := 'xla.reports.XLAABACR';
404 IF (P_REPORT_ONLY_MODE = 'N') THEN
405 CP_QUERY := ' AND ERR.REQUEST_ID = ' || P_CONC_REQUEST_ID;
406 CP_JLD_SELECT := ' ';
407 CP_JLD_WHERE := ' ';
408 CP_JLD_FROM := ' ';
409 ELSIF (P_REPORT_ONLY_MODE < 'N' AND P_APPLICATION_ID IS NOT NULL AND P_PRODUCT_RULE_CODE IS NOT NULL AND P_PRODUCT_RULE_TYPE_CODE IS NOT NULL) THEN
410 CP_QUERY := ' AND ERR.APPLICATION_ID = ' || P_APPLICATION_ID || '
411 AND ERR.AMB_CONTEXT_CODE = fnd_profile.value(''XLA_AMB_CONTEXT'')
412 AND ERR.PRODUCT_RULE_TYPE_CODE = ''' || P_PRODUCT_RULE_TYPE_CODE || '''
413 AND ERR.PRODUCT_RULE_CODE = ''' || P_PRODUCT_RULE_CODE || '''';
414 CP_JLD_SELECT := ' UNION
415 select app.application_name
416 ,lk11.meaning amb_context_dsp
417 ,err.amb_context_code
418 ,err.product_rule_code
419 ,null product_rule_name
420 ,err.product_rule_type_code
421 ,null product_rule_type_dsp
422 ,err.line_definition_owner_code
423 ,lk12.meaning line_definition_owner
424 ,err.line_definition_code
425 ,xld.name line_definition_name
426 ,err.category_sequence_num
427 ,err.message_category_code
428 ,lk2.meaning message_category_dsp
429 ,msg.message_number
430 ,err.message_type_flag
431 ,lk1.meaning message_type_dsp
432 ,ect.event_class_code
433 ,ect.name event_class_name
434 ,ett.event_type_code
435 ,ett.name event_type_name
436 ,err.description_code
437 ,dt.name description_name
438 ,err.description_type_code
439 ,lk5.meaning description_type_dsp
440 ,err.extract_object_name
441 ,err.extract_object_type_code
442 ,null extract_object_type_dsp
443 ,err.source_code
444 ,st.name source_name
445 ,err.source_type_code
446 ,lk9.meaning source_type_dsp
447 ,err.analytical_criterion_code
448 ,act.name analytical_criterion_name
449 ,err.analytical_criterion_type_code
450 ,lk6.meaning analytical_criterion_type_dsp
451 ,err.accounting_line_code
452 ,acb.name accounting_line_name
453 ,err.accounting_line_type_code
454 ,lk7.meaning accounting_line_type_dsp
455 ,err.mapping_set_code
456 ,mst.name mapping_set_name
457 ,err.segment_rule_code
458 ,srt.name segment_rule_name
459 ,err.segment_rule_type_code
460 ,lk8.meaning segment_rule_type_dsp
461 ,err.accounting_source_code
462 ,err.mapping_group_code
463 ,lk10.meaning mapping_group_dsp
464 ,ast1.name accounting_source_name
465 ,err.mpa_accounting_line_code
466 ,malt.name mpa_accounting_line_name
467 ,err.mpa_accounting_line_type_code
468 ,lk13.meaning mpa_accounting_line_type_dsp
469 ,msg.message_text ';
470 CP_JLD_FROM := ' from
471 xla_amb_setup_errors err
472 ,xla_aad_line_defn_assgns xal
473 ,xla_line_definitions_tl xld
474 ,xla_event_classes_tl ect
475 ,xla_event_types_tl ett
476 ,xla_descriptions_tl dt
477 ,xla_analytical_hdrs_tl act
478 ,xla_acct_line_types_tl acb
479 ,xla_acct_line_types_tl malt
480 ,xla_sources_tl st
481 ,xla_acct_attributes_tl ast
482 ,xla_mapping_sets_tl mst
483 ,xla_seg_rules_tl srt
484 ,fnd_new_messages msg
485 ,fnd_application_vl app
486 ,xla_lookups lk1
487 ,xla_lookups lk2
488 ,xla_lookups lk5
489 ,xla_lookups lk6
490 ,xla_lookups lk7
491 ,xla_lookups lk8
492 ,xla_lookups lk9
493 ,xla_lookups lk10
494 ,xla_lookups lk11
495 ,xla_lookups lk12
496 ,xla_lookups lk13 ';
497 CP_JLD_WHERE := ' where
498 msg.message_name = err.message_name
499 and msg.application_id = 602
500 and msg.language_code = USERENV(''LANG'')
501 and app.application_id = err.application_id
502 and xld.application_id(+) = err.application_id
503 and xld.amb_context_code(+) = err.amb_context_code
504 and xld.event_class_code(+) = err.event_class_code
505 and xld.event_type_code(+) = err.event_type_code
506 and xld.line_definition_owner_code(+) = err.line_definition_owner_code
507 and xld.line_definition_code(+) = err.line_definition_code
508 and xld.language(+) = USERENV(''LANG'')
509 and ect.application_id(+) = err.application_id
510 and ect.event_class_code(+) = err.event_class_code
511 and ect.language(+) = USERENV(''LANG'')
512 and ett.application_id(+) = err.application_id
513 and ett.event_class_code (+) = err.event_class_code
514 and ett.event_type_code(+) = err.event_type_code
515 and ett.language(+) = USERENV(''LANG'')
516 and dt.application_id(+) = err.application_id
517 and dt.amb_context_code (+) = err.amb_context_code
518 and dt.description_type_code(+) = err.description_type_code
519 and dt.description_code(+) = err.description_code
520 and dt.language(+) = USERENV(''LANG'')
521 and st.application_id(+) = err.application_id
522 and st.source_type_code(+) = err.source_type_code
523 and st.source_code(+) = err.source_code
524 and st.language(+) = USERENV(''LANG'')
525 and ast1.accounting_attribute_code(+) = err.accounting_source_code
526 and ast1.language(+) = USERENV(''LANG'')
527 and acb.application_id(+) = err.application_id
528 and acb.event_class_code(+) = err.event_class_code
529 and acb.amb_context_code (+) = err.amb_context_code
530 and acb.accounting_line_type_code(+) = err.accounting_line_type_code
531 and acb.accounting_line_code(+) = err.accounting_line_code
532 and acb.language(+) = USERENV(''LANG'')
533 and malt.application_id(+) = err.application_id
534 and malt.event_class_code(+) = err.event_class_code
535 and malt.amb_context_code (+) = err.amb_context_code
536 and malt.accounting_line_type_code(+) = err.mpa_accounting_line_type_code
537 and malt.accounting_line_code(+) = err.mpa_accounting_line_code
538 and malt.language(+) = USERENV(''LANG'')
539 and act.analytical_criterion_code(+) = err.analytical_criterion_code
540 and act.analytical_criterion_type_code(+) = err.analytical_criterion_type_code
541 and act.amb_context_code(+) = err.amb_context_code
542 and act.language(+) = USERENV(''LANG'')
543 and mst.mapping_set_code(+) = err.mapping_set_code
544 and mst.amb_context_code(+) = err.amb_context_code
545 and mst.language(+) = USERENV(''LANG'')
546 and srt.application_id(+) = err.application_id
547 and srt.amb_context_code(+) = err.amb_context_code
548 and srt.segment_rule_type_code(+) = err.segment_rule_type_code
549 and srt.segment_rule_code(+) = err.segment_rule_code
550 and srt.language(+) = USERENV(''LANG'')';
551 CP_JLD_WHERE2 := '
552 and lk1.lookup_code = err.message_type_flag
553 and lk1.lookup_type = ''XLA_ERROR_TYPE''
554 and lk2.lookup_code = err.message_category_code
555 and lk2.lookup_type = ''XLA_AB_MESSAGE_CATEGORY''
556 and lk5.lookup_code(+) = err.description_type_code
557 and lk5.lookup_type(+) = ''XLA_OWNER_TYPE''
558 and lk6.lookup_code(+) = err.analytical_criterion_type_code
559 and lk6.lookup_type(+) = ''XLA_OWNER_TYPE''
560 and lk7.lookup_code(+) = err.accounting_line_type_code
561 and lk7.lookup_type(+) = ''XLA_OWNER_TYPE''
562 and lk8.lookup_code(+) = err.segment_rule_type_code
563 and lk8.lookup_type(+) = ''XLA_OWNER_TYPE''
564 and lk9.lookup_code(+) = err.source_type_code
565 and lk9.lookup_type(+) = ''XLA_SOURCE_TYPE''
566 and lk10.lookup_code(+) = err.mapping_group_code
567 and lk10.lookup_type(+) = ''XLA_ACCT_ATTR_ASSGN_GROUP''
568 and lk11.lookup_code = err.amb_context_code
569 and lk11.lookup_type = ''XLA_AMB_CONTEXT_TYPE''
570 and lk12.lookup_code(+) = err.line_definition_owner_code
571 and lk12.lookup_type(+) = ''XLA_OWNER_TYPE''
572 and lk13.lookup_code(+) = err.mpa_accounting_line_type_code
573 and lk13.lookup_type(+) = ''XLA_OWNER_TYPE''
574 AND err.application_id = xal.application_id
575 AND err.amb_context_code = xal.amb_context_code
576 AND err.event_class_code = xal.event_class_code
577 AND err.event_type_code = xal.event_type_code
578 AND err.line_definition_owner_code = xal.line_definition_owner_code
579 AND err.line_definition_code = xal.line_definition_code
580 AND XAL.APPLICATION_ID = ' || P_APPLICATION_ID || '
581 AND XAL.AMB_CONTEXT_CODE = fnd_profile.value(''XLA_AMB_CONTEXT'')
582 AND XAL.PRODUCT_RULE_TYPE_CODE = ''' || P_PRODUCT_RULE_TYPE_CODE || '''
583 AND XAL.PRODUCT_RULE_CODE = ''' || P_PRODUCT_RULE_CODE || '''';
584 ELSIF (P_REPORT_ONLY_MODE < 'N' AND P_APPLICATION_ID IS NOT NULL AND P_EVENT_CLASS_CODE IS NOT NULL AND P_EVENT_TYPE_CODE IS NOT NULL AND P_LINE_DEFINITION_OWNER_CODE IS NOT NULL AND P_LINE_DEFINITION_CODE IS NOT NULL) THEN
585 CP_QUERY := 'AND ERR.APPLICATION_ID = ' || P_APPLICATION_ID || '
586 AND ERR.AMB_CONTEXT_CODE = FND_PROFILE.VALUE(''XLA_AMB_CONTEXT'')
587 AND ERR.EVENT_CLASS_CODE = ''' || P_EVENT_CLASS_CODE || '''
588 AND ERR.EVENT_TYPE_CODE = ''' || P_EVENT_TYPE_CODE || '''
589 AND ERR.LINE_DEFINITION_OWNER_CODE = ''' || P_LINE_DEFINITION_OWNER_CODE || '''
590 AND ERR.LINE_DEFINITION_CODE = ''' || P_LINE_DEFINITION_CODE || '''';
591 CP_JLD_SELECT := ' ';
592 CP_JLD_WHERE := ' ';
593 CP_JLD_FROM := ' ';
594 ELSE
595 CP_QUERY := ' ';
596 CP_JLD_SELECT := ' ';
597 CP_JLD_WHERE := ' ';
598 CP_JLD_FROM := ' ';
599 END IF;
600 IF (P_PRODUCT_RULE_TYPE_CODE IS NOT NULL) THEN
601 CP_AAD_QUERY := CP_AAD_QUERY || ' and prb.product_rule_type_code = ''' || P_PRODUCT_RULE_TYPE_CODE || ''' ';
602 END IF;
603 IF (P_APPLICATION_ID IS NOT NULL) THEN
604 CP_AAD_QUERY := CP_AAD_QUERY || ' and prb.application_id = ' || P_APPLICATION_ID;
605 END IF;
606 IF (P_PRODUCT_RULE_CODE IS NOT NULL) THEN
607 CP_AAD_QUERY := CP_AAD_QUERY || ' and prb.product_rule_code = ''' || P_PRODUCT_RULE_CODE || ''' ';
608 CP_AAD_QUERY := CP_AAD_QUERY || ' and prb.amb_context_code = fnd_profile.value(''XLA_AMB_CONTEXT'') ';
609 END IF;
610 IF (P_LEDGER_ID IS NOT NULL) THEN
611 OPEN C_LEDGER;
612 FETCH C_LEDGER
613 INTO
614 CP_LEDGER_CATEGORY;
615 CLOSE C_LEDGER;
616 IF (CP_LEDGER_CATEGORY = 'PRIMARY') THEN
617 CP_AAD_WHERE := ' ,xla_gl_ledgers_v le, xla_acctg_method_rules amr, xla_ledger_relationships_v lr ';
618 CP_AAD_QUERY := CP_AAD_QUERY || '
619 and prb.product_rule_type_code = amr.product_rule_type_code
620 and prb.product_rule_code = amr.product_rule_code
621 and prb.application_id = amr.application_id
622 and amr.accounting_method_type_code = le.sla_accounting_method_type
623 and amr.accounting_method_code = le.sla_accounting_method_code
624 and le.ledger_id = lr.ledger_id
625 and lr.primary_ledger_id = ' || P_LEDGER_ID;
626 ELSE
627 CP_AAD_WHERE := ' ,xla_gl_ledgers_v le,xla_acctg_method_rules amr ';
628 CP_AAD_QUERY := CP_AAD_QUERY || '
629 and prb.product_rule_type_code = amr.product_rule_type_code
630 and prb.product_rule_code = amr.product_rule_code
631 and prb.application_id = amr.application_id
632 and amr.accounting_method_type_code = le.sla_accounting_method_type
633 and amr.accounting_method_code = le.sla_accounting_method_code
634 and le.ledger_id = ' || P_LEDGER_ID;
635 END IF;
636 END IF;
637 XLA_UTILITY_PKG.TRACE('CP_QUERY = ' || CP_QUERY
638 ,30);
639 XLA_UTILITY_PKG.TRACE('CP_AAD_QUERY = ' || CP_AAD_QUERY
640 ,30);
641 XLA_UTILITY_PKG.TRACE('CP_AAD_WHERE = ' || CP_AAD_WHERE
642 ,30);
643 XLA_UTILITY_PKG.TRACE('< XLA_XLAABACR_XMLP_PKG.set_report_constants'
644 ,20);
645 EXCEPTION
646 WHEN OTHERS THEN
647 RAISE_APPLICATION_ERROR(-20101
648 ,NULL);
649 END SET_REPORT_CONSTANTS;
650
651 FUNCTION AFTERREPORT RETURN BOOLEAN IS
652 L_TEMP BOOLEAN;
653 BEGIN
654 IF CP_RET_CODE = 1 OR P_REPORT_ONLY_MODE = 'Y' THEN
655 XLA_UTILITY_PKG.TRACE('setting completion status to WARNING'
656 ,30);
657 L_TEMP := FND_CONCURRENT.SET_COMPLETION_STATUS(STATUS => 'WARNING'
658 ,MESSAGE => NULL);
659 ELSIF CP_RET_CODE = 0 THEN
660 NULL;
661 ELSE
662 XLA_UTILITY_PKG.TRACE('setting completion status to ERROR'
663 ,30);
664 L_TEMP := FND_CONCURRENT.SET_COMPLETION_STATUS(STATUS => 'ERROR'
665 ,MESSAGE => NULL);
666 END IF;
667 XLA_UTILITY_PKG.DEACTIVATE('XLAABACR');
668 RETURN (TRUE);
669 EXCEPTION
670 WHEN OTHERS THEN
671 XLA_UTILITY_PKG.DEACTIVATE('XLAABACR');
672 RAISE_APPLICATION_ERROR(-20101
673 ,NULL);
674 END AFTERREPORT;
675
676 FUNCTION CP_RET_CODE_P RETURN NUMBER IS
677 BEGIN
678 RETURN CP_RET_CODE;
679 END CP_RET_CODE_P;
680
681 FUNCTION CP_QUERY_P RETURN VARCHAR2 IS
682 BEGIN
683 RETURN CP_QUERY;
684 END CP_QUERY_P;
685
686 FUNCTION CP_DEBUG_FLAG_P RETURN VARCHAR2 IS
687 BEGIN
688 RETURN CP_DEBUG_FLAG;
689 END CP_DEBUG_FLAG_P;
690
691 FUNCTION CP_LOG_LEVEL_P RETURN NUMBER IS
692 BEGIN
693 RETURN CP_LOG_LEVEL;
694 END CP_LOG_LEVEL_P;
695
696 FUNCTION CP_DEFAULT_MODULE_P RETURN VARCHAR2 IS
697 BEGIN
698 RETURN CP_DEFAULT_MODULE;
699 END CP_DEFAULT_MODULE_P;
700
701 FUNCTION CP_AAD_QUERY_P RETURN VARCHAR2 IS
702 BEGIN
703 RETURN nvl(CP_AAD_QUERY,' ');
704 END CP_AAD_QUERY_P;
705
706 FUNCTION CP_AAD_WHERE_P RETURN VARCHAR2 IS
707 BEGIN
708 RETURN nvl(CP_AAD_WHERE,' ');
709 END CP_AAD_WHERE_P;
710
711 FUNCTION CP_LEDGER_CATEGORY_P RETURN VARCHAR2 IS
712 BEGIN
713 RETURN CP_LEDGER_CATEGORY;
714 END CP_LEDGER_CATEGORY_P;
715
716 FUNCTION CP_JLD_WHERE_P RETURN VARCHAR2 IS
717 BEGIN
718 RETURN CP_JLD_WHERE;
719 END CP_JLD_WHERE_P;
720
721 FUNCTION CP_JLD_SELECT_P RETURN VARCHAR2 IS
722 BEGIN
723 RETURN CP_JLD_SELECT;
724 END CP_JLD_SELECT_P;
725
726 FUNCTION CP_JLD_FROM_P RETURN VARCHAR2 IS
727 BEGIN
728 RETURN CP_JLD_FROM;
729 END CP_JLD_FROM_P;
730
731 FUNCTION CP_JLD_WHERE2_P RETURN VARCHAR2 IS
732 BEGIN
733 RETURN CP_JLD_WHERE2;
734 END CP_JLD_WHERE2_P;
735
736 END XLA_XLAABACR_XMLP_PKG;
737