DBA Data[Home] [Help]

PACKAGE BODY: APPS.ONT_OEXOEITR_XMLP_PKG

Source


1 PACKAGE BODY ONT_OEXOEITR_XMLP_PKG AS
2 /* $Header: OEXOEITRB.pls 120.2 2008/05/05 09:04:13 dwkrishn noship $ */
3   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4   BEGIN
5     BEGIN
6       BEGIN
7         P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
8         P_ORDER_DATE_LOW_T := to_char(P_ORDER_DATE_LOW,'DD-MON-YY');
9         P_ORDER_DATE_HIGH_T := TO_CHAR(P_ORDER_DATE_HIGH,'DD-MON-YY');
10 
11         /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
12       EXCEPTION
13         WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
14           BEGIN
15             /*SRW.MESSAGE(1000
16                        ,'Failed in BEFORE REPORT trigger')*/NULL;
17             /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
18           END;
19       END;
20       BEGIN
21         P_ORG_ID := MO_GLOBAL.GET_CURRENT_ORG_ID;
22       END;
23       DECLARE
24         L_COMPANY_NAME VARCHAR2(100);
25         L_FUNCTIONAL_CURRENCY VARCHAR2(15);
26       BEGIN
27         SELECT
28           SOB.NAME,
29           SOB.CURRENCY_CODE
30         INTO L_COMPANY_NAME,L_FUNCTIONAL_CURRENCY
31         FROM
32           GL_SETS_OF_BOOKS SOB,
33           FND_CURRENCIES CUR
34         WHERE SOB.SET_OF_BOOKS_ID = P_SOB_ID
35           AND SOB.CURRENCY_CODE = CUR.CURRENCY_CODE;
36         RP_COMPANY_NAME := L_COMPANY_NAME;
37         RP_FUNCTIONAL_CURRENCY := L_FUNCTIONAL_CURRENCY;
38       EXCEPTION
39         WHEN NO_DATA_FOUND THEN
40           NULL;
41       END;
42       BEGIN
43         /*SRW.REFERENCE(P_ITEM_FLEX_CODE)*/NULL;
44         /*SRW.REFERENCE(P_ITEM_STRUCTURE_NUM)*/NULL;
45         IF P_ITEM_LOW IS NOT NULL OR P_ITEM_HI IS NOT NULL THEN
46           LP_ITEM := ' and ' || LP_ITEM;
47         ELSE
48           LP_ITEM := ' ';
49         END IF;
50       EXCEPTION
51         WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
52           /*SRW.MESSAGE(1
53                      ,'Failed in before report trigger:MSTK')*/NULL;
54       END;
55       DECLARE
56         L_MEANING VARCHAR2(80);
57         L_LOOKUP_TYPE VARCHAR2(80);
58       BEGIN
59         L_LOOKUP_TYPE := 'ITEM_DISPLAY_CODE';
60         SELECT
61           MEANING
62         INTO L_MEANING
63         FROM
64           OE_LOOKUPS
65         WHERE LOOKUP_TYPE = L_LOOKUP_TYPE
66           AND LOOKUP_CODE = SUBSTR(UPPER(P_PRINT_DESCRIPTION)
67               ,1
68               ,1);
69         RP_PRINT_DESCRIPTION := L_MEANING;
70       EXCEPTION
71         WHEN NO_DATA_FOUND THEN
72           RP_PRINT_DESCRIPTION := 'Internal Item Description';
73         WHEN OTHERS THEN
74           /*SRW.MESSAGE(2000
75                      ,'Failed in BEFORE REPORT trigger. Get Print Description')*/NULL;
76       END;
77       DECLARE
78         L_REPORT_NAME VARCHAR2(240);
79       BEGIN
80         SELECT
81           CP.USER_CONCURRENT_PROGRAM_NAME
82         INTO L_REPORT_NAME
83         FROM
84           FND_CONCURRENT_PROGRAMS_VL CP,
85           FND_CONCURRENT_REQUESTS CR
86         WHERE CR.REQUEST_ID = P_CONC_REQUEST_ID
87           AND CP.APPLICATION_ID = CR.PROGRAM_APPLICATION_ID
88           AND CP.CONCURRENT_PROGRAM_ID = CR.CONCURRENT_PROGRAM_ID;
89         RP_REPORT_NAME := SUBSTR(L_REPORT_NAME,1,INSTR(L_REPORT_NAME,' (XML)'));
90       EXCEPTION
91         WHEN NO_DATA_FOUND THEN
92           RP_REPORT_NAME := 'Orders by Item';
93       END;
94     END;
95     RETURN (TRUE);
96   END BEFOREREPORT;
97 
98   FUNCTION AFTERREPORT RETURN BOOLEAN IS
99   BEGIN
100     BEGIN
101       /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
102     EXCEPTION
103       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
104         /*SRW.MESSAGE(1
105                    ,'Failed in AFTER REPORT TRIGGER')*/NULL;
106         RETURN (FALSE);
107     END;
108     RETURN (TRUE);
109   END AFTERREPORT;
110 
111   FUNCTION P_ITEM_FLEX_CODEVALIDTRIGGER RETURN BOOLEAN IS
112   BEGIN
113     RETURN (TRUE);
114   END P_ITEM_FLEX_CODEVALIDTRIGGER;
115 
116   FUNCTION AFTERPFORM RETURN BOOLEAN IS
117   BEGIN
118     IF P_ORDER_NUM_LOW IS NOT NULL AND P_ORDER_NUM_HIGH IS NOT NULL THEN
119       LP_ORDER_NUM := ' AND  h.order_number  between to_number(:p_order_num_low) and to_number(:p_order_num_high)  ';
120     ELSIF (P_ORDER_NUM_LOW IS NOT NULL) THEN
121       LP_ORDER_NUM := ' and h.order_number >= to_number(:p_order_num_low) ';
122     ELSIF (P_ORDER_NUM_HIGH IS NOT NULL) THEN
123       LP_ORDER_NUM := ' and h.order_number <= to_number(:p_order_num_high) ';
124     ELSE
125       LP_ORDER_NUM := ' ';
126     END IF;
127     IF P_ORDER_TYPE_LOW IS NOT NULL AND P_ORDER_TYPE_HIGH IS NOT NULL THEN
128       LP_ORDER_TYPE := 'and ot.transaction_type_id between :P_order_type_low and :P_order_type_high ';
129       SELECT
130         OEOT.NAME
131       INTO L_ORDER_TYPE_LOW
132       FROM
133         OE_TRANSACTION_TYPES_TL OEOT
134       WHERE OEOT.TRANSACTION_TYPE_ID = P_ORDER_TYPE_LOW
135         AND OEOT.LANGUAGE = USERENV('LANG');
136       SELECT
137         OEOT.NAME
138       INTO L_ORDER_TYPE_HIGH
139       FROM
140         OE_TRANSACTION_TYPES_TL OEOT
141       WHERE OEOT.TRANSACTION_TYPE_ID = P_ORDER_TYPE_HIGH
142         AND OEOT.LANGUAGE = USERENV('LANG');
143     ELSE
144       IF P_ORDER_TYPE_LOW IS NULL AND P_ORDER_TYPE_HIGH IS NOT NULL THEN
145         LP_ORDER_TYPE := 'and ot.transaction_type_id <= :P_order_type_high ';
146         SELECT
147           OEOT.NAME
148         INTO L_ORDER_TYPE_HIGH
149         FROM
150           OE_TRANSACTION_TYPES_TL OEOT
151         WHERE OEOT.TRANSACTION_TYPE_ID = P_ORDER_TYPE_HIGH
152           AND OEOT.LANGUAGE = USERENV('LANG');
153       ELSE
154         IF P_ORDER_TYPE_LOW IS NOT NULL AND P_ORDER_TYPE_HIGH IS NULL THEN
155           LP_ORDER_TYPE := 'and ot.transaction_type_id >= :P_order_type_low ';
156           SELECT
157             OEOT.NAME
158           INTO L_ORDER_TYPE_LOW
159           FROM
160             OE_TRANSACTION_TYPES_TL OEOT
161           WHERE OEOT.TRANSACTION_TYPE_ID = P_ORDER_TYPE_LOW
162             AND OEOT.LANGUAGE = USERENV('LANG');
163         ELSE
164           LP_ORDER_TYPE := '   ';
165         END IF;
166       END IF;
167     END IF;
168     IF P_ORDER_DATE_LOW IS NOT NULL AND P_ORDER_DATE_HIGH IS NOT NULL THEN
169       LP_ORDER_DATE := ' AND h.ordered_date >= :p_order_date_low and h.ordered_date < :p_order_date_high+1 ';
170     ELSIF (P_ORDER_DATE_LOW IS NOT NULL) THEN
171       LP_ORDER_DATE := ' and h.ordered_date >= :p_order_date_low';
172     ELSIF (P_ORDER_DATE_HIGH IS NOT NULL) THEN
173       LP_ORDER_DATE := 'and h.ordered_date < :p_order_date_high+1 ';
174     ELSE
175       LP_ORDER_DATE := ' ';
176     END IF;
177     IF P_CUSTOMER_NAME_LOW IS NOT NULL AND P_CUSTOMER_NAME_HIGH IS NOT NULL THEN
178       IF P_CUSTOMER_NAME_LOW = P_CUSTOMER_NAME_HIGH THEN
179         LP_CUSTOMER_NAME := ' AND party.party_name = :p_customer_name_low ';
180       ELSE
181         LP_CUSTOMER_NAME := ' AND party.party_name between :p_customer_name_low and :p_customer_name_high ';
182       END IF;
183     ELSIF (P_CUSTOMER_NAME_LOW IS NOT NULL) THEN
184       LP_CUSTOMER_NAME := ' and party.party_name >= :p_customer_name_low ';
185     ELSIF (P_CUSTOMER_NAME_HIGH IS NOT NULL) THEN
186       LP_CUSTOMER_NAME := ' and party.party_name <= :p_customer_name_high ';
187     ELSE
188       LP_CUSTOMER_NAME := ' ';
189     END IF;
190     IF (P_OPENONLY IS NOT NULL) THEN
191       IF ((SUBSTR(UPPER(P_OPENONLY)
192             ,1
193             ,1)) = 'Y') THEN
194         LP_OPENONLY := ' AND NVL(H.OPEN_FLAG, ''N'') = ''Y''';
195       ELSE
196         LP_OPENONLY := ' ';
197       END IF;
198     END IF;
199     IF P_ORDER_NUM_LOW = P_ORDER_NUM_HIGH THEN
200       NULL;
201     ELSE
202       IF P_ORDER_CATEGORY IS NOT NULL THEN
203         IF P_ORDER_CATEGORY = 'SALES' THEN
204           LP_ORDER_CATEGORY := 'and h.order_category_code in (''ORDER'', ''MIXED'') ';
205         ELSIF P_ORDER_CATEGORY = 'CREDIT' THEN
206           LP_ORDER_CATEGORY := 'and h.order_category_code in (''RETURN'', ''MIXED'') ';
207         ELSIF P_ORDER_CATEGORY = 'ALL' THEN
208           LP_ORDER_CATEGORY := ' ';
209         END IF;
210       ELSE
211         LP_ORDER_CATEGORY := 'and h.order_category_code in (''ORDER'', ''MIXED'') ';
212       END IF;
213     END IF;
214     IF P_LINE_CATEGORY IS NOT NULL THEN
215       IF P_LINE_CATEGORY = 'SALES' THEN
216         LP_LINE_CATEGORY := 'and l.line_category_code = ''ORDER'' ';
217       ELSIF P_LINE_CATEGORY = 'CREDIT' THEN
218         LP_LINE_CATEGORY := 'and l.line_category_code = ''RETURN'' ';
219       ELSIF P_LINE_CATEGORY = 'ALL' THEN
220         LP_LINE_CATEGORY := ' ';
221       END IF;
222     ELSE
223       LP_LINE_CATEGORY := 'and l.line_category_code = ''ORDER'' ';
224     END IF;
225     RETURN (TRUE);
226   END AFTERPFORM;
227 
228   FUNCTION C_SET_LBLFORMULA RETURN VARCHAR2 IS
229   BEGIN
230     BEGIN
231       IF P_CUSTOMER_NAME_LOW IS NOT NULL OR P_CUSTOMER_NAME_HIGH IS NOT NULL THEN
232         RP_CUSTOMER_RANGE := 'From ' || NVL(SUBSTR(P_CUSTOMER_NAME_LOW
233                                        ,1
234                                        ,16)
235                                 ,'     ') || ' To ' || NVL(SUBSTR(P_CUSTOMER_NAME_HIGH
236                                        ,1
237                                        ,16)
238                                 ,'     ');
239       END IF;
240       IF P_ORDER_DATE_LOW IS NOT NULL OR P_ORDER_DATE_HIGH IS NOT NULL THEN
241         RP_ORDER_DATE_RANGE := 'From ' || NVL(TO_CHAR(P_ORDER_DATE_LOW
242                                           ,'DD-MON-RRRR')
243                                   ,'     ') || ' To ' || NVL(TO_CHAR(P_ORDER_DATE_HIGH
244                                           ,'DD-MON-RRRR')
245                                   ,'     ');
246       END IF;
247       IF P_ORDER_NUM_LOW IS NOT NULL OR P_ORDER_NUM_HIGH IS NOT NULL THEN
248         RP_ORDER_RANGE := 'From ' || NVL(P_ORDER_NUM_LOW
249                              ,'     ') || ' To ' || NVL(P_ORDER_NUM_HIGH
250                              ,'     ');
251       END IF;
252       IF P_ITEM_LOW IS NOT NULL OR P_ITEM_HI IS NOT NULL THEN
253         RP_ITEM_RANGE := 'From ' || NVL(P_ITEM_LOW
254                             ,'       ') || ' To ' || NVL(P_ITEM_HI
255                             ,'        ');
256       END IF;
257       BEGIN
258         DECLARE
259           MEANING VARCHAR2(80);
260         BEGIN
261           SELECT
262             MEANING
263           INTO MEANING
264           FROM
265             FND_LOOKUPS
266           WHERE LOOKUP_TYPE = 'YES_NO'
267             AND LOOKUP_CODE = P_OPENONLY;
268           RP_OPENONLY := MEANING;
269         EXCEPTION
270           WHEN NO_DATA_FOUND THEN
271             RP_OPENONLY := P_OPENONLY;
272         END;
273       END;
274       RETURN (1);
275     END;
276     RETURN NULL;
277   END C_SET_LBLFORMULA;
278 
279   FUNCTION RP_ORDER_CATEGORYFORMULA RETURN VARCHAR2 IS
280   BEGIN
281     DECLARE
282       L_MEANING VARCHAR2(80);
283       L_LOOKUP_TYPE VARCHAR2(80);
284       L_LOOKUP_CODE VARCHAR2(80);
285     BEGIN
286       L_LOOKUP_TYPE := 'REPORT_ORDER_CATEGORY';
287       L_LOOKUP_CODE := P_ORDER_CATEGORY;
288       SELECT
289         MEANING
290       INTO L_MEANING
291       FROM
292         OE_LOOKUPS
293       WHERE LOOKUP_TYPE = L_LOOKUP_TYPE
294         AND LOOKUP_CODE = L_LOOKUP_CODE;
295       RETURN (L_MEANING);
296     EXCEPTION
297       WHEN NO_DATA_FOUND THEN
298         RETURN (NULL);
299     END;
300     RETURN NULL;
301   END RP_ORDER_CATEGORYFORMULA;
302 
303   FUNCTION RP_LINE_CATEGORYFORMULA RETURN VARCHAR2 IS
304   BEGIN
305     DECLARE
306       L_MEANING VARCHAR2(80);
307       L_LOOKUP_TYPE VARCHAR2(80);
308       L_LOOKUP_CODE VARCHAR2(80);
309     BEGIN
310       L_LOOKUP_TYPE := 'REPORT_LINE_DISPLAY';
311       L_LOOKUP_CODE := P_LINE_CATEGORY;
312       SELECT
313         MEANING
314       INTO L_MEANING
315       FROM
316         OE_LOOKUPS
317       WHERE LOOKUP_TYPE = L_LOOKUP_TYPE
318         AND LOOKUP_CODE = L_LOOKUP_CODE;
319       RETURN (L_MEANING);
320     EXCEPTION
321       WHEN NO_DATA_FOUND THEN
322         RETURN (NULL);
323     END;
324     RETURN NULL;
325   END RP_LINE_CATEGORYFORMULA;
326 
327   FUNCTION CF_UNIT1FORMULA(UNIT IN VARCHAR2) RETURN CHAR IS
328   BEGIN
329     CP_UNIT1 := UNIT;
330     RETURN 1;
331   END CF_UNIT1FORMULA;
332 
333   FUNCTION CF_UNIT2FORMULA(UNIT2 IN VARCHAR2) RETURN CHAR IS
334   BEGIN
335     CP_UNIT2 := UNIT2;
336     RETURN 1;
337   END CF_UNIT2FORMULA;
338 
339   FUNCTION C_MASTER_ORGFORMULA RETURN NUMBER IS
340     V_MASTER_ORG VARCHAR2(20);
341   BEGIN
342     SELECT
343       NVL(OE_SYS_PARAMETERS.VALUE('MASTER_ORGANIZATION_ID'
344                                  ,MO_GLOBAL.GET_CURRENT_ORG_ID)
345          ,0)
346     INTO V_MASTER_ORG
347     FROM
348       DUAL;
349     RETURN V_MASTER_ORG;
350   END C_MASTER_ORGFORMULA;
351 
352   FUNCTION CF_CHARGE_PERIODICITYFORMULA(CHARGE_PERIODICITY_CODE IN VARCHAR2) RETURN VARCHAR2 IS
353     L_UOM_CLASS VARCHAR2(50) := FND_PROFILE.VALUE('ONT_UOM_CLASS_CHARGE_PERIODICITY');
354     L_CHARGE_PERIODICITY VARCHAR2(25);
355   BEGIN
356     IF CHARGE_PERIODICITY_CODE IS NOT NULL THEN
357       SELECT
358         UNIT_OF_MEASURE
359       INTO L_CHARGE_PERIODICITY
360       FROM
361         MTL_UNITS_OF_MEASURE_VL
362       WHERE UOM_CLASS = L_UOM_CLASS
363         AND UOM_CODE = CHARGE_PERIODICITY_CODE;
364       RETURN L_CHARGE_PERIODICITY;
365     ELSE
366       RETURN (P_ONE_TIME);
367     END IF;
368   EXCEPTION
369     WHEN NO_DATA_FOUND THEN
370       RETURN NULL;
371   END CF_CHARGE_PERIODICITYFORMULA;
372 
373   FUNCTION RP_REPORT_NAME_P RETURN VARCHAR2 IS
374   BEGIN
375     RETURN RP_REPORT_NAME;
376   END RP_REPORT_NAME_P;
377 
378   FUNCTION RP_SUB_TITLE_P RETURN VARCHAR2 IS
379   BEGIN
380     RETURN RP_SUB_TITLE;
381   END RP_SUB_TITLE_P;
382 
383   FUNCTION RP_COMPANY_NAME_P RETURN VARCHAR2 IS
384   BEGIN
385     RETURN RP_COMPANY_NAME;
386   END RP_COMPANY_NAME_P;
387 
388   FUNCTION RP_FUNCTIONAL_CURRENCY_P RETURN VARCHAR2 IS
389   BEGIN
390     RETURN RP_FUNCTIONAL_CURRENCY;
391   END RP_FUNCTIONAL_CURRENCY_P;
392 
393   FUNCTION RP_DATA_FOUND_P RETURN VARCHAR2 IS
394   BEGIN
395     RETURN RP_DATA_FOUND;
396   END RP_DATA_FOUND_P;
397 
398   FUNCTION RP_ITEM_FLEX_LPROMPT_P RETURN VARCHAR2 IS
399   BEGIN
400     RETURN RP_ITEM_FLEX_LPROMPT;
401   END RP_ITEM_FLEX_LPROMPT_P;
402 
403   FUNCTION RP_ITEM_FLEX_CODE_P RETURN VARCHAR2 IS
404   BEGIN
405     RETURN RP_ITEM_FLEX_CODE;
406   END RP_ITEM_FLEX_CODE_P;
407 
408   FUNCTION RP_ITEM_FLEX_APROMPT_P RETURN VARCHAR2 IS
409   BEGIN
410     RETURN RP_ITEM_FLEX_APROMPT;
411   END RP_ITEM_FLEX_APROMPT_P;
412 
413   FUNCTION RP_CUSTOMER_RANGE_P RETURN VARCHAR2 IS
414   BEGIN
415     RETURN RP_CUSTOMER_RANGE;
416   END RP_CUSTOMER_RANGE_P;
417 
418   FUNCTION RP_TYPE_RANGE_P RETURN VARCHAR2 IS
419   BEGIN
420     RETURN RP_TYPE_RANGE;
421   END RP_TYPE_RANGE_P;
422 
423   FUNCTION RP_ORDER_RANGE_P RETURN VARCHAR2 IS
424   BEGIN
425     RETURN RP_ORDER_RANGE;
426   END RP_ORDER_RANGE_P;
427 
428   FUNCTION RP_ORDER_DATE_RANGE_P RETURN VARCHAR2 IS
429   BEGIN
430     RETURN RP_ORDER_DATE_RANGE;
431   END RP_ORDER_DATE_RANGE_P;
432 
433   FUNCTION RP_ORDER_BY_P RETURN VARCHAR2 IS
434   BEGIN
435     RETURN RP_ORDER_BY;
436   END RP_ORDER_BY_P;
437 
438   FUNCTION RP_OPENONLY_P RETURN VARCHAR2 IS
439   BEGIN
440     RETURN RP_OPENONLY;
441   END RP_OPENONLY_P;
442 
443   FUNCTION RP_ITEM_RANGE_P RETURN VARCHAR2 IS
444   BEGIN
445     RETURN RP_ITEM_RANGE;
446   END RP_ITEM_RANGE_P;
447 
448   FUNCTION RP_ITEM_FLEX_ALL_SEG_P RETURN VARCHAR2 IS
449   BEGIN
450     RETURN RP_ITEM_FLEX_ALL_SEG;
451   END RP_ITEM_FLEX_ALL_SEG_P;
452 
453   FUNCTION RP_PRINT_DESCRIPTION_P RETURN VARCHAR2 IS
454   BEGIN
455     RETURN RP_PRINT_DESCRIPTION;
456   END RP_PRINT_DESCRIPTION_P;
457 
458   FUNCTION CP_UNIT1_P RETURN VARCHAR2 IS
459   BEGIN
460     RETURN CP_UNIT1;
461   END CP_UNIT1_P;
462 
463   FUNCTION CP_UNIT2_P RETURN VARCHAR2 IS
464   BEGIN
465     RETURN CP_UNIT2;
466   END CP_UNIT2_P;
467   FUNCTION F_1FORMATTRIGGER RETURN VARCHAR2 IS
468   BEGIN
469   IF OE_SYS_PARAMETERS.VALUE('RECURRING_CHARGES',MO_GLOBAL.GET_CURRENT_ORG_ID()) ='Y' THEN
470   RETURN ('TRUE');
471   ELSE
472    RETURN ('FALSE');
473   END IF;
474   END F_1FORMATTRIGGER;
475 
476 function Item_dspFormula(
477 ITEM_IDENTIFIER_TYPE IN VARCHAR2,
478 C_MASTER_ORG IN NUMBER,
479 INVENTORY_ITEM_ID_T IN NUMBER,
480 ORDERED_ITEM_ID IN NUMBER,
481 ORDERED_ITEM IN VARCHAR2,
482 ORGANIZATION_ID_T in number,
483 INVENTORY_ITEM_ID_T1 in number
484 )
485 
486 return Char is
487 v_item varchar2(2000);
488 v_description varchar2(500);
489 begin
490 
491   if (item_identifier_type is null or item_identifier_type = 'INT')
492        or (P_PRINT_DESCRIPTION in ('I','D','F')) then
493     select sitems.description description
494     into   v_description
495     from   mtl_system_items_vl sitems
496 --    where  sitems.customer_order_enabled_flag = 'Y'
497 --    and    sitems.bom_item_type in (1,4)
498     where    nvl(sitems.organization_id,0) = c_master_org
499     and    sitems.inventory_item_id = inventory_item_id_T;
500         /* srw.reference (:item_flex);
501          srw.reference (:p_item_flex_code);
502          srw.reference (:Item_dsp);
503          srw.reference (:p_item_structure_num);
504          srw.user_exit (' FND FLEXIDVAL
505 		    CODE=":p_item_flex_code"
506 		    NUM=":p_item_structure_num"
507 		    APPL_SHORT_NAME="INV"
508 		    DATA= ":item_flex"
509 		    VALUE=":Item_dsp"
510 		    DISPLAY="ALL"'
511 		);*/
512     v_item := fnd_flex_xml_publisher_apis.process_kff_combination_1('Item_dsp', 'INV', P_item_flex_code, P_ITEM_STRUCTURE_NUM, ORGANIZATION_ID_T, INVENTORY_ITEM_ID_T1, 'ALL', 'Y', 'VALUE');
513   elsif (item_identifier_type = 'CUST' and p_print_description in ('C','P','O')) then
514     select citems.customer_item_number item,
515     	   nvl(citems.customer_item_desc,sitems.description) description
516     into   v_item,v_description
517     from   mtl_customer_items citems,
518            mtl_customer_item_xrefs cxref,
519            mtl_system_items_vl sitems
520     where  citems.customer_item_id = cxref.customer_item_id
521     and    cxref.inventory_item_id = sitems.inventory_item_id
522     and    citems.customer_item_id = ordered_item_id
523     and    nvl(sitems.organization_id,0) = c_master_org
524     and    sitems.inventory_item_id = inventory_item_id_T;
525 --    and    sitems.customer_order_enabled_flag = 'Y'
526 --    and    sitems.bom_item_type in (1,4)
527   elsif (p_print_description in ('C','P','O')) then
528   Begin
529     select items.cross_reference item,
530     	   nvl(items.description,sitems.description) description
531     into   v_item,v_description
532     from   mtl_cross_reference_types xtypes,
533            mtl_cross_references items,
534            mtl_system_items_vl sitems
535     where  xtypes.cross_reference_type = items.cross_reference_type
536     and    items.inventory_item_id = sitems.inventory_item_id
537     and    items.cross_reference = ordered_item
538     and    items.cross_reference_type = item_identifier_type
539     and    nvl(sitems.organization_id,0) = c_master_org
540     and    sitems.inventory_item_id = inventory_item_id_T
541     -- Bug 3433353 Start
542     and    items.org_independent_flag = 'N'
543     and    items.organization_id = c_master_org;
544 --    and    sitems.customer_order_enabled_flag = 'Y'
545 --    and    sitems.bom_item_type in (1,4)
546      Exception When NO_DATA_FOUND Then
547      Select items.cross_reference item,
548      nvl(items.description,sitems.description) description
549      into v_item,v_description
550      from mtl_cross_reference_types xtypes,
551      mtl_cross_references items,
552      mtl_system_items_vl sitems
553      where xtypes.cross_reference_type =
554      items.cross_reference_type
555      and items.inventory_item_id =
556      sitems.inventory_item_id
557      and items.cross_reference = ordered_item
558      and items.cross_reference_type = item_identifier_type
559      and nvl(sitems.organization_id,0) = c_master_org
560      and sitems.inventory_item_id = inventory_item_id_T
561      and items.org_independent_flag = 'Y';
562      End;
563   --Bug 3433353 End
564   end if;
565 
566   if (p_print_description in ('I','C')) then
567     return(v_item||' - '||v_description);
568   elsif (p_print_description in ('D','P')) then
569     return(v_description);
570   else
571     return(v_item);
572   end if;
573 RETURN NULL;
574 Exception
575    When Others Then
576         return('Item Not Found');
577 end;
578 
579 
580 END ONT_OEXOEITR_XMLP_PKG;
581