DBA Data[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