DBA Data[Home] [Help]

PACKAGE BODY: APPS.ONT_OEXOHOHS_XMLP_PKG

Source


1 PACKAGE BODY ONT_OEXOHOHS_XMLP_PKG AS
2 /* $Header: OEXOHOHSB.pls 120.2 2008/05/05 06:39:36 dwkrishn noship $ */
3 function Item_dspFormula(item_identifier_type_L varchar2,
4                          c_master_org_L varchar2 ,
5 			  inventory_item_id_L number,
6 			  ordered_item_id_L number,
7 			  ordered_item_L varchar2,
8 			  ORGANIZATION_ID_L number) return Char is
9 v_item varchar2(2000);
10 v_description varchar2(500);
11 begin
12 
13   if (item_identifier_type_L is null or item_identifier_type_L = 'INT')
14        or (p_flex_or_desc in ('I','D','F')) then
15     select sitems.description description
16     into   v_description
17     from   mtl_system_items_vl sitems
18     Where    nvl(sitems.organization_id,0) = c_master_org_L
19     and    sitems.inventory_item_id = inventory_item_id_L;
20 /*         srw.reference (:item_flex);
21          srw.reference (:p_item_flex_code);
22          srw.reference (:Item_dsp);
23          srw.reference (:p_item_structure_num);
24          srw.user_exit (' FND FLEXIDVAL
25 		    CODE=":p_item_flex_code"
26 		    NUM=":p_item_structure_num"
27 		    APPL_SHORT_NAME="INV"
28 		    DATA= ":item_flex"
29 		    VALUE=":Item_dsp"
30 		    DISPLAY="ALL"'
31 		);   */
32     v_item := fnd_flex_xml_publisher_apis.process_kff_combination_1('Item_dsp', 'INV',p_item_flex_code,p_item_structure_num,ORGANIZATION_ID_L,INVENTORY_ITEM_ID_L, 'ALL', 'Y', 'VALUE');
33   elsif (item_identifier_type_L = 'CUST' and p_flex_or_desc in ('C','P','O')) then
34     select citems.customer_item_number item,
35     	   nvl(citems.customer_item_desc,sitems.description) description
36     into   v_item,v_description
37     from   mtl_customer_items citems,
38            mtl_customer_item_xrefs cxref,
39            mtl_system_items_vl sitems
40     where  citems.customer_item_id = cxref.customer_item_id
41     and    cxref.inventory_item_id = sitems.inventory_item_id
42     and    citems.customer_item_id = ordered_item_id_L
43     and    nvl(sitems.organization_id,0) = c_master_org_L
44     and    sitems.inventory_item_id = inventory_item_id_L;
45 --    and    sitems.customer_order_enabled_flag = 'Y'
46 --    and    sitems.bom_item_type in (1,4)
47   elsif (p_flex_or_desc in ('C','P','O')) then
48     Begin
49     select items.cross_reference item,
50     	   nvl(items.description,sitems.description) description
51     into   v_item,v_description
52     from   mtl_cross_reference_types xtypes,
53            mtl_cross_references items,
54            mtl_system_items_vl sitems
55     where  xtypes.cross_reference_type = items.cross_reference_type
56     and    items.inventory_item_id = sitems.inventory_item_id
57     and    items.cross_reference = ordered_item_L
58     and    items.cross_reference_type = item_identifier_type_L
59     and    nvl(sitems.organization_id,0) = c_master_org_L
60     and    sitems.inventory_item_id = inventory_item_id_L
61 -- Bug 3433353 Begin
62     and items.org_independent_flag = 'N'
63     and items.organization_id = c_master_org_L;
64 --    and    sitems.customer_order_enabled_flag = 'Y'
65 --    and    sitems.bom_item_type in (1,4)
66     Exception When NO_DATA_FOUND Then
67     select items.cross_reference item,
68     nvl(items.description,sitems.description) description
69     into v_item,v_description
70     from mtl_cross_reference_types xtypes,
71     mtl_cross_references items,
72     mtl_system_items_vl sitems
73     where xtypes.cross_reference_type =
74     items.cross_reference_type
75     and items.inventory_item_id =
76      sitems.inventory_item_id
77     and items.cross_reference = ordered_item_L
78     and items.cross_reference_type = item_identifier_type_L
79     and nvl(sitems.organization_id,0) = c_master_org_L
80     and sitems.inventory_item_id = inventory_item_id_L
81     and items.org_independent_flag = 'Y';
82     End;
83 -- Bug 3422253 End
84   end if;
85 
86   if (p_flex_or_desc in ('I','C')) then
87     return(v_item||' - '||v_description);
88   elsif (p_flex_or_desc in ('D','P')) then
89     return(v_description);
90   else
91     return(v_item);
92   end if;
93 RETURN NULL;
94 Exception
95    When Others Then
96         return('Item Not Found');
97 end;
98   FUNCTION SOB_NAMEFORMULA RETURN VARCHAR2 IS
99   BEGIN
100     DECLARE
101       SOB_NAME VARCHAR2(30);
102     BEGIN
103       SELECT
104         NAME
105       INTO SOB_NAME
106       FROM
107         GL_SETS_OF_BOOKS
108       WHERE SET_OF_BOOKS_ID = P_SOB_ID;
109       RETURN (SOB_NAME);
110     END;
111     RETURN NULL;
112   END SOB_NAMEFORMULA;
113 
114   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
115   BEGIN
116     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
117     /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
118     BEGIN
119       P_ORG_ID := MO_GLOBAL.GET_CURRENT_ORG_ID;
120     END;
121     BEGIN
122       /*SRW.REFERENCE(P_ITEM_FLEX_CODE)*/NULL;
123       /*SRW.REFERENCE(P_ITEM_STRUCTURE_NUM)*/NULL;
124     EXCEPTION
125       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
126         /*SRW.MESSAGE(1
127                    ,'Failed in before report trigger:MSTK')*/NULL;
128     END;
129     IF P_ITEM_HI IS NULL AND P_ITEM_LO IS NULL THEN
130       NULL;
131     ELSE
132       BEGIN
133         NULL;
134       EXCEPTION
135         WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
136           /*SRW.MESSAGE(2
137                      ,'Failed in before report trigger:where:MSTK')*/NULL;
138       END;
139     END IF;
140     RETURN (TRUE);
141   END BEFOREREPORT;
142 
143   FUNCTION AFTERREPORT RETURN BOOLEAN IS
144   BEGIN
145     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
146     RETURN (TRUE);
147   EXCEPTION
148     WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
149       /*SRW.MESSAGE(1
150                  ,'FAILED IN AFTER REPORT TRIGGER')*/NULL;
151       RETURN (FALSE);
152   END AFTERREPORT;
153 
154   FUNCTION ITEM_DISPLAY_MEANINGFORMULA RETURN VARCHAR2 IS
155   BEGIN
156     DECLARE
157       ITEM_DISPLAY_MEANING VARCHAR2(80);
158     BEGIN
159       SELECT
160         MEANING
161       INTO ITEM_DISPLAY_MEANING
162       FROM
163         OE_LOOKUPS
164       WHERE LOOKUP_TYPE = 'ITEM_DISPLAY_CODE'
165         AND LOOKUP_CODE = P_FLEX_OR_DESC;
166       RETURN (ITEM_DISPLAY_MEANING);
167     END;
168     RETURN NULL;
169   END ITEM_DISPLAY_MEANINGFORMULA;
170 
171   FUNCTION C_CUSTOMER_WHERE RETURN VARCHAR2 IS
172   BEGIN
173     IF P_CUST_NAME_LO IS NOT NULL AND P_CUST_NAME_HI IS NOT NULL THEN
174       RETURN ('and org.name between ''' || P_CUST_NAME_LO || '''
175                       and ''' || P_CUST_NAME_HI || ''' ');
176     ELSE
177       IF P_CUST_NAME_LO IS NULL AND P_CUST_NAME_HI IS NOT NULL THEN
178         RETURN ('and org.name <= ''' || P_CUST_NAME_HI || ''' ');
179       ELSE
180         IF P_CUST_NAME_LO IS NOT NULL AND P_CUST_NAME_HI IS NULL THEN
181           RETURN ('and org.name >= ''' || P_CUST_NAME_LO || ''' ');
182         ELSE
183           RETURN (NULL);
184         END IF;
185       END IF;
186     END IF;
187     RETURN NULL;
188   END C_CUSTOMER_WHERE;
189 
190   FUNCTION C_HOLD_WHERE RETURN VARCHAR2 IS
191   BEGIN
192     IF P_HOLD_NAME_LO IS NOT NULL AND P_HOLD_NAME_HI IS NOT NULL THEN
193       RETURN ('and nvl(ho.name, ''ZZZ'') between :P_hold_name_lo
194                                  and :P_hold_name_hi ');
195     ELSE
196       IF P_HOLD_NAME_LO IS NULL AND P_HOLD_NAME_HI IS NOT NULL THEN
197         RETURN ('and nvl(ho.name, ''zzz'') <= :P_hold_name_hi');
198       ELSE
199         IF P_HOLD_NAME_LO IS NOT NULL AND P_HOLD_NAME_HI IS NULL THEN
200           RETURN ('and nvl(ho.name, ''zzz'') >= :P_hold_name_lo ');
201         ELSE
202           RETURN (NULL);
203         END IF;
204       END IF;
205     END IF;
206     RETURN NULL;
207   END C_HOLD_WHERE;
208 
209   FUNCTION AFTERPFORM RETURN BOOLEAN IS
210   BEGIN
211     /*SRW.MESSAGE(99999
212                ,'$Header: ONT_OEXOHOHS_XMLP_PKG.rdf 120.4 2005/08/26 05:29 maysriva ship
213 	       $')*/NULL;
214     BEGIN
215       IF P_HOLD_NAME_LO IS NOT NULL AND P_HOLD_NAME_HI IS NOT NULL THEN
216         LP_HOLD_WHERE := 'and ho.name between :P_hold_name_lo and :P_hold_name_hi';
217         IF (P_HOLD_NAME_LO = P_HOLD_NAME_HI) THEN
218           LP_HOLD_WHERE := 'and ho.name = :P_hold_name_lo ';
219         END IF;
220       ELSIF P_HOLD_NAME_LO IS NULL AND P_HOLD_NAME_HI IS NOT NULL THEN
221         LP_HOLD_WHERE := 'and ho.name <= :P_hold_name_hi';
222       ELSIF P_HOLD_NAME_LO IS NOT NULL AND P_HOLD_NAME_HI IS NULL THEN
223         LP_HOLD_WHERE := 'and ho.name >= :P_hold_name_lo';
224       ELSE
225         LP_HOLD_WHERE := NULL;
226       END IF;
227     IF (LP_HOLD_WHERE IS NULL) THEN
228 	LP_HOLD_WHERE := ' ';
229     END IF;
230 
231       IF P_CUST_NAME_LO IS NOT NULL AND P_CUST_NAME_HI IS NOT NULL THEN
232         LP_CUSTOMER_WHERE := 'and org.name between :P_cust_name_lo and :P_cust_name_hi';
233         IF (P_CUST_NAME_LO = P_CUST_NAME_HI) THEN
234           LP_CUSTOMER_WHERE := 'and org.name = :P_cust_name_lo ';
235         END IF;
236       ELSIF P_CUST_NAME_LO IS NULL AND P_CUST_NAME_HI IS NOT NULL THEN
237         LP_CUSTOMER_WHERE := 'and org.name <= :P_cust_name_hi';
238       ELSIF P_CUST_NAME_LO IS NOT NULL AND P_CUST_NAME_HI IS NULL THEN
239         LP_CUSTOMER_WHERE := 'and org.name >= :P_cust_name_lo';
240       ELSE
241         LP_CUSTOMER_WHERE := NULL;
242       END IF;
243     END;
244     IF (LP_CUSTOMER_WHERE IS NULL) THEN
245 	LP_CUSTOMER_WHERE := ' ';
246     END IF;
247     RETURN (TRUE);
248   END AFTERPFORM;
249 
250   FUNCTION C_LINE_OR_ORDERFORMULA(P_ORDER_HOLD_ID IN NUMBER) RETURN VARCHAR2 IS
251   BEGIN
252     /*SRW.REFERENCE(ORDER_HOLD_ID)*/NULL;
253     DECLARE
254       LINE_ID NUMBER;
255     BEGIN
256       SELECT
257         LINE_ID
258       INTO LINE_ID
259       FROM
260         OE_ORDER_HOLDS
261       WHERE ORDER_HOLD_ID = P_ORDER_HOLD_ID;
262       IF LINE_ID IS NOT NULL THEN
263         RETURN ('LINE');
264       ELSE
265         RETURN ('ORDER');
266       END IF;
267     END;
268     RETURN NULL;
269   END C_LINE_OR_ORDERFORMULA;
270 
271   FUNCTION C_SHOW_AMOUNTFORMULA(HEADER_ID IN NUMBER
272                                ,C_LINE_OR_ORDER IN VARCHAR2) RETURN VARCHAR2 IS
273   BEGIN
274     DECLARE
275       HEADER_ID_VAR NUMBER;
276     BEGIN
277       /*SRW.REFERENCE(HEADER_ID)*/NULL;
278       /*SRW.REFERENCE(C_LINE_OR_ORDER)*/NULL;
279       IF C_LINE_OR_ORDER = 'LINE' THEN
280         SELECT
281           HEADER_ID
282         INTO HEADER_ID_VAR
283         FROM
284           OE_ORDER_HOLDS
285         WHERE HEADER_ID = HEADER_ID
286           AND LINE_ID is NULL
287           AND HOLD_RELEASE_ID is NULL;
288       END IF;
289       IF HEADER_ID_VAR IS NOT NULL THEN
290         RETURN ('N');
291       ELSE
292         RETURN ('Y');
293       END IF;
294     EXCEPTION
295       WHEN NO_DATA_FOUND THEN
296         RETURN ('Y');
297       WHEN TOO_MANY_ROWS THEN
298         RETURN ('N');
299     END;
300     RETURN NULL;
301   END C_SHOW_AMOUNTFORMULA;
302 
303   FUNCTION C_MASTER_ORGFORMULA RETURN CHAR IS
304     V_MASTER_ORG VARCHAR2(20);
305   BEGIN
306     SELECT
307       NVL(OE_SYS_PARAMETERS.VALUE('MASTER_ORGANIZATION_ID'
308                                  ,MO_GLOBAL.GET_CURRENT_ORG_ID)
309          ,0)
310     INTO V_MASTER_ORG
311     FROM
312       DUAL;
313     RETURN V_MASTER_ORG;
314   END C_MASTER_ORGFORMULA;
315 
316   FUNCTION C_AMOUNTFORMULA(AMOUNT IN NUMBER) RETURN NUMBER IS
317   BEGIN
318     RETURN (NVL(AMOUNT
319               ,0));
320   END C_AMOUNTFORMULA;
321 
322   FUNCTION C_FORMATTED_FLEX_VALUE_P RETURN VARCHAR2 IS
323   BEGIN
324     RETURN C_FORMATTED_FLEX_VALUE;
325   END C_FORMATTED_FLEX_VALUE_P;
326 
327   FUNCTION RP_ITEM_FLEX_ALL_SEG_P RETURN VARCHAR2 IS
328   BEGIN
329     RETURN RP_ITEM_FLEX_ALL_SEG;
330   END RP_ITEM_FLEX_ALL_SEG_P;
331 
332 END ONT_OEXOHOHS_XMLP_PKG;
333