DBA Data[Home] [Help]

PACKAGE BODY: APPS.WSH_WSHRDBDR_XMLP_PKG

Source


1 PACKAGE BODY WSH_WSHRDBDR_XMLP_PKG AS
2 /* $Header: WSHRDBDRB.pls 120.1 2008/02/12 13:12:03 dwkrishn noship $ */
3   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4   BEGIN
5     BEGIN
6       P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
7       /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
8     EXCEPTION
9       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
10         /*SRW.MESSAGE(1
11                    ,'Failed FND SRWINIT.')*/NULL;
12         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
13     END;
14     BEGIN
15       DECLARE
16         L_REPORT_NAME VARCHAR2(240);
17       BEGIN
18         SELECT
19           CP.USER_CONCURRENT_PROGRAM_NAME
20         INTO L_REPORT_NAME
21         FROM
22           FND_CONCURRENT_PROGRAMS_VL CP,
23           FND_CONCURRENT_REQUESTS CR
24         WHERE CR.REQUEST_ID = P_CONC_REQUEST_ID
25           AND CP.APPLICATION_ID = CR.PROGRAM_APPLICATION_ID
26           AND CP.CONCURRENT_PROGRAM_ID = CR.CONCURRENT_PROGRAM_ID;
27         RP_REPORT_NAME := SUBSTR(L_REPORT_NAME,1,INSTR(L_REPORT_NAME,' (XML)'));
28       EXCEPTION
29         WHEN NO_DATA_FOUND THEN
30           RP_REPORT_NAME := 'Backorder Detail Report';
31       END;
32     END;
33     RETURN (TRUE);
34   END BEFOREREPORT;
35 
36   FUNCTION AFTERREPORT RETURN BOOLEAN IS
37   BEGIN
38     BEGIN
39       /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
40     EXCEPTION
41       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
42         /*SRW.MESSAGE(1
43                    ,'Failed in SRWEXIT')*/NULL;
44         RAISE;
45     END;
46     RETURN (TRUE);
47   END AFTERREPORT;
48 
49   FUNCTION P_ORGANIZATION_IDVALIDTRIGGER RETURN BOOLEAN IS
50   BEGIN
51     RETURN (TRUE);
52   END P_ORGANIZATION_IDVALIDTRIGGER;
53 
54   FUNCTION P_ITEM_FLEX_CODEVALIDTRIGGER RETURN BOOLEAN IS
55   BEGIN
56     RETURN (TRUE);
57   END P_ITEM_FLEX_CODEVALIDTRIGGER;
58 
59   FUNCTION AFTERPFORM RETURN BOOLEAN IS
60   BEGIN
61     DECLARE
62       CURSOR STRUCT_NUM(FLEX_CODE IN VARCHAR2) IS
63         SELECT
64           ID_FLEX_NUM
65         FROM
66           FND_ID_FLEX_STRUCTURES
67         WHERE ID_FLEX_CODE = FLEX_CODE;
68       STRUCT_NUMBER NUMBER;
69     BEGIN
70       BEGIN
71         P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
72         /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
73       EXCEPTION
74         WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
75           /*SRW.MESSAGE(1000
76                      ,'Failed in After Form trigger')*/NULL;
77           RETURN (FALSE);
78       END;
79       IF P_ORDER_NUM_HIGH IS NOT NULL AND P_ORDER_NUM_LOW IS NOT NULL THEN
80         LP_HEADER_NUMBER := ' AND  to_number(wdd.source_header_number) between :p_order_num_low and :p_order_num_high';
81       ELSIF (P_ORDER_NUM_LOW IS NOT NULL) THEN
82         LP_HEADER_NUMBER := ' and to_number(wdd.source_header_number) >= :p_order_num_low';
83       ELSIF (P_ORDER_NUM_HIGH IS NOT NULL) THEN
84         LP_HEADER_NUMBER := ' and to_number(wdd.source_header_number) <= :p_order_num_high';
85       ELSE
86         LP_HEADER_NUMBER := ' ';
87       END IF;
88       IF P_ITEM_CATE_SET_ID IS NOT NULL THEN
89         LP_ITEM_FROM := ' mtl_item_categories mic, ';
90         LP_ITEM_WHERE := '  and wdd.inventory_item_id = mic.inventory_item_id
91                                      		 and mic.organization_id =  wdd.organization_id
92                                      		 and mic.category_set_id = :p_item_cate_set_id ';
93         IF P_ITEM_CATEGORY_ID IS NOT NULL THEN
94           LP_ITEM_WHERE := LP_ITEM_WHERE || ' and mic.category_id = :p_item_category_id ';
95         END IF;
96       ELSE
97         LP_ITEM_FROM := ' ';
98 	LP_ITEM_WHERE := ' ';
99       END IF;
100       IF P_ITEM_ID IS NOT NULL THEN
101         LP_ITEM_ID := ' and wdd.inventory_item_id = :p_item_id ';
102       ELSE
103         LP_ITEM_ID := ' ';
104       END IF;
105       IF P_TRANSACTION_TYPE_ID IS NOT NULL THEN
106         SELECT
107           NAME
108         INTO RP_ORDER_TYPE_NAME
109         FROM
110           OE_TRXT_TYPES_NOORGS_VL
111         WHERE TRANSACTION_TYPE_ID = P_TRANSACTION_TYPE_ID;
112         LP_ORDER_TYPE := ' and wdd.source_header_type_id = :p_transaction_type_id ';
113       ELSE
114         LP_ORDER_TYPE := ' ';
115       END IF;
116       OPEN STRUCT_NUM(P_ITEM_FLEX_CODE);
117       FETCH STRUCT_NUM
118        INTO STRUCT_NUMBER;
119       CLOSE STRUCT_NUM;
120       LP_STRUCTURE_NUM := STRUCT_NUMBER;
121       IF P_SORT_BY IS NOT NULL THEN
122         BEGIN
123           SELECT
124             MEANING
125           INTO RP_SORT_BY
126           FROM
127             FND_LOOKUP_VALUES_VL
128           WHERE LOOKUP_TYPE = 'WSH_WSH_WSHRDBDR_XMLP_PKG_SORT_BY'
129             AND LOOKUP_CODE = P_SORT_BY;
130         EXCEPTION
131           WHEN NO_DATA_FOUND THEN
132             NULL;
133         END;
134       END IF;
135       IF P_CUSTOMER_ID IS NOT NULL THEN
136         BEGIN
137           SELECT
138             SUBSTRB(PARTY.PARTY_NAME
139                    ,1
140                    ,50)
141           INTO RP_CUSTOMER
142           FROM
143             HZ_PARTIES PARTY,
144             HZ_CUST_ACCOUNTS CUST_ACCT
145           WHERE CUST_ACCT.PARTY_ID = PARTY.PARTY_ID
146             AND CUST_ACCT.CUST_ACCOUNT_ID = P_CUSTOMER_ID;
147         EXCEPTION
148           WHEN NO_DATA_FOUND THEN
149             NULL;
150         END;
151         LP_CUSTOMER := ' and wdd.customer_id = :p_customer_id';
152       ELSE
153         LP_CUSTOMER := ' ';
154       END IF;
155       IF P_CREATED_BY_ID IS NOT NULL THEN
156         BEGIN
157           SELECT
158             USER_NAME
159           INTO RP_USER
160           FROM
161             FND_USER
162           WHERE USER_ID = P_CREATED_BY_ID;
163           LP_CREATED_BY := ' and wdd.created_by = :p_created_by_id ';
164         EXCEPTION
165           WHEN NO_DATA_FOUND THEN
166             RP_USER := P_CREATED_BY_ID;
167         END;
168       ELSE
169 	  LP_CREATED_BY := ' ';
170       END IF;
171       IF P_SHIP_TO_COUNTRY_CODE IS NOT NULL THEN
172         BEGIN
173           SELECT
174             TERRITORY_SHORT_NAME
175           INTO RP_TERRITORY_CODE
176           FROM
177             FND_TERRITORIES_VL
178           WHERE TERRITORY_CODE = P_SHIP_TO_COUNTRY_CODE;
179           LP_COUNTRY_FROM := ' wsh_locations wl, ';
180           LP_COUNTRY_WHERE := ' and wdd.ship_to_location_id = wl.wsh_location_id
181                                 				and wl.country = :p_ship_to_country_code ';
182 
183         EXCEPTION
184           WHEN NO_DATA_FOUND THEN
185             RP_TERRITORY_CODE := P_SHIP_TO_COUNTRY_CODE;
186         END;
187       ELSE
188           LP_COUNTRY_FROM := ' ';
189           LP_COUNTRY_WHERE := ' ';
190       END IF;
191       IF P_ORGANIZATION_ID IS NOT NULL THEN
192         LP_WAREHOUSE := ' and wdd.organization_id = :p_organization_id';
193       ELSE
194         LP_WAREHOUSE := ' ';
195       END IF;
196     END;
197     RETURN (TRUE);
198   END AFTERPFORM;
199 
200   FUNCTION C_SET_LBLFORMULA RETURN VARCHAR2 IS
201     SCODE VARCHAR2(80);
202   BEGIN
203     IF P_SOURCE_SYSTEM = 'OE' THEN
204       RP_ORDER_NUM_LOW := P_ORDER_NUM_LOW;
205       RP_ORDER_NUM_HIGH := P_ORDER_NUM_HIGH;
206     END IF;
207     DECLARE
208       ITEM_DISPLAY_MEANING VARCHAR2(80);
209     BEGIN
210       SELECT
211         MEANING
212       INTO ITEM_DISPLAY_MEANING
213       FROM
214         WSH_LOOKUPS
215       WHERE LOOKUP_TYPE = 'ITEM_DISPLAY'
216         AND LOOKUP_CODE = P_ITEM_DISPLAY;
217       RP_FLEX_OR_DESC := ITEM_DISPLAY_MEANING;
218     EXCEPTION
219       WHEN NO_DATA_FOUND THEN
220         RP_FLEX_OR_DESC := NULL;
221     END;
222     IF P_ITEM_CATE_SET_ID IS NOT NULL THEN
223       DECLARE
224         CATEGORY_SET VARCHAR2(40);
225       BEGIN
226         SELECT
227           SUBSTR(DESCRIPTION
228                 ,1
229                 ,40)
230         INTO CATEGORY_SET
231         FROM
232           MTL_CATEGORY_SETS
233         WHERE CATEGORY_SET_ID = P_ITEM_CATE_SET_ID;
234         RP_CATEGORY_SET := CATEGORY_SET;
235       EXCEPTION
236         WHEN NO_DATA_FOUND THEN
237           RP_CATEGORY_SET := 'Not Set up';
238       END;
239     END IF;
240     IF P_ITEM_CATEGORY_ID IS NOT NULL THEN
241       DECLARE
242         CATEGORY VARCHAR2(40);
243       BEGIN
244         SELECT
245           SUBSTR(DESCRIPTION
246                 ,1
247                 ,40)
248         INTO CATEGORY
249         FROM
250           MTL_CATEGORIES
251         WHERE CATEGORY_ID = P_ITEM_CATEGORY_ID;
252         RP_CATEGORY := CATEGORY;
253       EXCEPTION
254         WHEN NO_DATA_FOUND THEN
255           RP_CATEGORY := 'Not Set up';
256       END;
257     END IF;
258     IF P_ORGANIZATION_ID IS NOT NULL THEN
259       DECLARE
260         WAREHOUSE_NAME HR_ORGANIZATION_UNITS.NAME%TYPE;
261       BEGIN
262         SELECT
263           NAME
264         INTO WAREHOUSE_NAME
265         FROM
266           HR_ORGANIZATION_UNITS
267         WHERE ORGANIZATION_ID = P_ORGANIZATION_ID;
268         RP_WAREHOUSE := WAREHOUSE_NAME;
269       EXCEPTION
270         WHEN NO_DATA_FOUND THEN
271           RP_WAREHOUSE := NULL;
272       END;
273     END IF;
274     IF P_ITEM_ID IS NOT NULL THEN
275       RP_ITEM := WSH_UTIL_CORE.GET_ITEM_NAME(P_ITEM_ID
276                                             ,P_ORGANIZATION_ID
277                                             ,P_ITEM_FLEX_CODE
278                                             ,LP_STRUCTURE_NUM);
279     END IF;
280     BEGIN
281       SELECT
282         MEANING
283       INTO SCODE
284       FROM
285         WSH_LOOKUPS
286       WHERE LOOKUP_CODE = P_SOURCE_SYSTEM
287         AND LOOKUP_TYPE = 'SOURCE_SYSTEM';
288     EXCEPTION
289       WHEN NO_DATA_FOUND THEN
290         NULL;
291     END;
292     RP_SOURCE_SYSTEM := SCODE;
293     RETURN (1);
294     RETURN NULL;
295   END C_SET_LBLFORMULA;
296 
297   FUNCTION CF_ITEM_DISPLAYFORMULA(INVENTORY_ITEM_ID IN NUMBER
298                                  ,ORGANIZATION_ID IN NUMBER
299                                  ,ITEM_DESCRIPTION IN VARCHAR2) RETURN VARCHAR2 IS
300   BEGIN
301     DECLARE
302       CURSOR INVENTORY_LABEL(ID IN NUMBER,ORG_ID IN NUMBER) IS
303         SELECT
304           DESCRIPTION
305         FROM
306           MTL_SYSTEM_ITEMS_VL
307         WHERE INVENTORY_ITEM_ID = ID
308           AND ORGANIZATION_ID = ORG_ID;
309       NAME VARCHAR2(800);
310     BEGIN
311       IF P_ITEM_DISPLAY = 'D' THEN
312         IF INVENTORY_ITEM_ID IS NOT NULL THEN
313           OPEN INVENTORY_LABEL(INVENTORY_ITEM_ID,ORGANIZATION_ID);
314           FETCH INVENTORY_LABEL
315            INTO NAME;
316           CLOSE INVENTORY_LABEL;
317         ELSE
318           NAME := ITEM_DESCRIPTION;
319         END IF;
320       ELSIF P_ITEM_DISPLAY = 'F' THEN
321         NAME := WSH_UTIL_CORE.GET_ITEM_NAME(INVENTORY_ITEM_ID
322                                            ,ORGANIZATION_ID
323                                            ,P_ITEM_FLEX_CODE
324                                            ,LP_STRUCTURE_NUM);
325       ELSE
326         IF INVENTORY_ITEM_ID IS NOT NULL THEN
327           OPEN INVENTORY_LABEL(INVENTORY_ITEM_ID,ORGANIZATION_ID);
328           FETCH INVENTORY_LABEL
329            INTO NAME;
330           CLOSE INVENTORY_LABEL;
331         ELSE
332           NAME := ITEM_DESCRIPTION;
333         END IF;
334         NAME := WSH_UTIL_CORE.GET_ITEM_NAME(INVENTORY_ITEM_ID
335                                            ,ORGANIZATION_ID
336                                            ,P_ITEM_FLEX_CODE
337                                            ,LP_STRUCTURE_NUM) || '     ' || NAME;
338       END IF;
339       RETURN NAME;
340     END;
341     RETURN NULL;
342   END CF_ITEM_DISPLAYFORMULA;
343 
344   FUNCTION CF_LINE_ITEM_DISPLAYFORMULA(LINE_ITEM IN NUMBER
345                                       ,ORGANIZATION_ID IN NUMBER
346                                       ,ITEM_DESCRIPTION IN VARCHAR2) RETURN VARCHAR2 IS
347   BEGIN
348     DECLARE
349       CURSOR INVENTORY_LABEL(ID IN NUMBER,ORG_ID IN NUMBER) IS
350         SELECT
351           DESCRIPTION
352         FROM
353           MTL_SYSTEM_ITEMS_VL
354         WHERE INVENTORY_ITEM_ID = ID
355           AND ORGANIZATION_ID = ORG_ID;
356       NAME VARCHAR2(800);
357     BEGIN
358       IF P_ITEM_DISPLAY = 'D' THEN
359         IF LINE_ITEM IS NOT NULL THEN
360           OPEN INVENTORY_LABEL(LINE_ITEM,ORGANIZATION_ID);
361           FETCH INVENTORY_LABEL
362            INTO NAME;
363           CLOSE INVENTORY_LABEL;
364         ELSE
365           NAME := ITEM_DESCRIPTION;
366         END IF;
367       ELSIF P_ITEM_DISPLAY = 'F' THEN
368         NAME := WSH_UTIL_CORE.GET_ITEM_NAME(LINE_ITEM
369                                            ,ORGANIZATION_ID
370                                            ,P_ITEM_FLEX_CODE
371                                            ,LP_STRUCTURE_NUM);
372       ELSE
373         IF LINE_ITEM IS NOT NULL THEN
374           OPEN INVENTORY_LABEL(LINE_ITEM,ORGANIZATION_ID);
375           FETCH INVENTORY_LABEL
376            INTO NAME;
377           CLOSE INVENTORY_LABEL;
378         ELSE
379           NAME := ITEM_DESCRIPTION;
380         END IF;
381         NAME := WSH_UTIL_CORE.GET_ITEM_NAME(LINE_ITEM
382                                            ,ORGANIZATION_ID
383                                            ,P_ITEM_FLEX_CODE
384                                            ,LP_STRUCTURE_NUM) || '     ' || NAME;
385       END IF;
386       RETURN NAME;
387     END;
388     RETURN NULL;
389   END CF_LINE_ITEM_DISPLAYFORMULA;
390 
391   FUNCTION CF_LINE_SHIPPED_QTYFORMULA(SOURCE_LINE_SET_ID IN NUMBER
392                                      ,SOURCE_HEADER_ID IN NUMBER
393                                      ,REQUESTED_QUANTITY_UOM IN VARCHAR2
394                                      ,ORDER_UOM IN VARCHAR2
395                                      ,LINE_ITEM IN NUMBER) RETURN NUMBER IS
396   BEGIN
397     DECLARE
398       L_SHIPPED_QTY NUMBER;
399       SHIPPED_QTY_ORD_UOM NUMBER;
400     BEGIN
401       IF SOURCE_LINE_SET_ID IS NOT NULL THEN
402         BEGIN
403           SELECT
404             SUM(NVL(SHIPPED_QUANTITY
405                    ,0))
406           INTO L_SHIPPED_QTY
407           FROM
408             WSH_DELIVERY_DETAILS
409           WHERE SOURCE_HEADER_ID = CF_LINE_SHIPPED_QTYFORMULA.SOURCE_HEADER_ID
410             AND SOURCE_LINE_SET_ID = CF_LINE_SHIPPED_QTYFORMULA.SOURCE_LINE_SET_ID
411             AND RELEASED_STATUS = 'C'
412             AND SOURCE_CODE = P_SOURCE_SYSTEM
413           GROUP BY
414             SOURCE_LINE_SET_ID;
415         EXCEPTION
416           WHEN NO_DATA_FOUND THEN
417             SELECT
418               SUM(NVL(SHIPPED_QUANTITY
419                      ,0))
420             INTO L_SHIPPED_QTY
421             FROM
422               WSH_DELIVERY_DETAILS WDD
423             WHERE SOURCE_LINE_ID = CF_LINE_SHIPPED_QTYFORMULA.SOURCE_LINE_SET_ID
424               AND RELEASED_STATUS = 'C'
425               AND SOURCE_CODE = P_SOURCE_SYSTEM
426             GROUP BY
427               SOURCE_LINE_ID;
428         END;
429       END IF;
430       SHIPPED_QTY_ORD_UOM := WSH_WV_UTILS.CONVERT_UOM(REQUESTED_QUANTITY_UOM
431                                                      ,ORDER_UOM
432                                                      ,L_SHIPPED_QTY
433                                                      ,LINE_ITEM);
434       RETURN (NVL(SHIPPED_QTY_ORD_UOM
435                 ,0));
436     EXCEPTION
437       WHEN NO_DATA_FOUND THEN
438         RETURN 0;
439     END;
440   END CF_LINE_SHIPPED_QTYFORMULA;
441 
442     FUNCTION CF_SELLING_PRICEFORMULA(SOURCE_LINE_ID IN NUMBER) RETURN NUMBER IS
443     SPRICE NUMBER;
444   BEGIN
445     IF P_SOURCE_SYSTEM = 'OE' THEN
446       SELECT
447         OL.UNIT_SELLING_PRICE
448       INTO SPRICE
449       FROM
450         OE_ORDER_LINES_ALL OL
451       WHERE OL.LINE_ID = CF_SELLING_PRICEFORMULA.SOURCE_LINE_ID;
452     END IF;
453     RETURN (SPRICE);
454   EXCEPTION
455     WHEN OTHERS THEN
456       RETURN (NULL);
457   END CF_SELLING_PRICEFORMULA;
458 
459   FUNCTION CF_LINE_BO_QTYFORMULA(SOURCE_LINE_SET_ID IN NUMBER
460                                 ,SOURCE_HEADER_ID IN NUMBER
461                                 ,REQUESTED_QUANTITY_UOM IN VARCHAR2
462                                 ,ORDER_UOM IN VARCHAR2
463                                 ,LINE_ITEM IN NUMBER) RETURN NUMBER IS
464   BEGIN
465     DECLARE
466       BO_QTY NUMBER;
467       BO_QTY_ORD_UOM NUMBER;
468     BEGIN
469       IF SOURCE_LINE_SET_ID IS NOT NULL THEN
470         BEGIN
471           SELECT
472             SUM(NVL(REQUESTED_QUANTITY
473                    ,0))
474           INTO BO_QTY
475           FROM
476             WSH_DELIVERY_DETAILS
477           WHERE SOURCE_HEADER_ID = CF_LINE_BO_QTYFORMULA.SOURCE_HEADER_ID
478             AND SOURCE_LINE_SET_ID = CF_LINE_BO_QTYFORMULA.SOURCE_LINE_SET_ID
479             AND RELEASED_STATUS = 'B'
480 	    AND   replenishment_status IS NULL -- bug#6689448 (replenishment project)
481             AND SOURCE_CODE = P_SOURCE_SYSTEM
482           GROUP BY
483             SOURCE_LINE_SET_ID;
484         EXCEPTION
485           WHEN NO_DATA_FOUND THEN
486             SELECT
487               SUM(NVL(REQUESTED_QUANTITY
488                      ,0))
489             INTO BO_QTY
490             FROM
491               WSH_DELIVERY_DETAILS
492             WHERE SOURCE_LINE_ID = CF_LINE_BO_QTYFORMULA.SOURCE_LINE_SET_ID
493               AND RELEASED_STATUS = 'B'
494               AND   replenishment_status IS NULL -- bug#6689448 (replenishment project)
495               AND SOURCE_CODE = P_SOURCE_SYSTEM;
496         END;
497       END IF;
498       BO_QTY_ORD_UOM := WSH_WV_UTILS.CONVERT_UOM(REQUESTED_QUANTITY_UOM
499                                                 ,ORDER_UOM
500                                                 ,BO_QTY
501                                                 ,LINE_ITEM);
502       RETURN (NVL(BO_QTY_ORD_UOM
503                 ,0));
504     EXCEPTION
505       WHEN NO_DATA_FOUND THEN
506         RETURN 0;
507     END;
508   END CF_LINE_BO_QTYFORMULA;
509 
510   FUNCTION CF_LINE_ORDERED_AMTFORMULA(CF_LINE_ORDERED_QTY IN NUMBER
511                                      ,CF_selling_price IN NUMBER) RETURN NUMBER IS
512   BEGIN
513     DECLARE
514       ORD_AMT NUMBER;
515     BEGIN
516       ORD_AMT := TRUNC((NVL(CF_LINE_ORDERED_QTY
517                           ,0) * NVL(CF_selling_price
518                           ,0))
519                       ,4);
520       RETURN (ORD_AMT);
521     END;
522   END CF_LINE_ORDERED_AMTFORMULA;
523 
524   FUNCTION CF_LINE_BO_AMTFORMULA(CF_LINE_BO_QTY IN NUMBER
525                                 ,CF_selling_price IN NUMBER) RETURN NUMBER IS
526   BEGIN
527     DECLARE
528       BO_AMT NUMBER;
529     BEGIN
530       BO_AMT := TRUNC((NVL(CF_LINE_BO_QTY
531                          ,0) * NVL(CF_selling_price
532                          ,0))
533                      ,4);
534       RETURN (BO_AMT);
535     END;
536   END CF_LINE_BO_AMTFORMULA;
537 
538   FUNCTION CF_LINE_ORDERED_QTYFORMULA(SOURCE_LINE_SET_ID IN NUMBER) RETURN NUMBER IS
539   BEGIN
540     DECLARE
541       LINE_SET_ORD_QTY NUMBER;
542     BEGIN
543       IF P_SOURCE_SYSTEM = 'OE' THEN
544         IF SOURCE_LINE_SET_ID IS NOT NULL THEN
545           BEGIN
546             SELECT
547               SUM(NVL(ORDERED_QUANTITY
548                      ,0))
549             INTO LINE_SET_ORD_QTY
550             FROM
551               OE_ORDER_LINES_ALL
552             WHERE LINE_SET_ID = SOURCE_LINE_SET_ID
553             GROUP BY
554               LINE_SET_ID;
555           EXCEPTION
556             WHEN NO_DATA_FOUND THEN
557               SELECT
558                 SUM(NVL(ORDERED_QUANTITY
559                        ,0))
560               INTO LINE_SET_ORD_QTY
561               FROM
562                 OE_ORDER_LINES_ALL
563               WHERE LINE_ID = SOURCE_LINE_SET_ID;
564           END;
565         END IF;
566         RETURN LINE_SET_ORD_QTY;
567       ELSE
568         RETURN NULL;
569       END IF;
570     EXCEPTION
571       WHEN NO_DATA_FOUND THEN
572         RETURN 0;
573     END;
574   END CF_LINE_ORDERED_QTYFORMULA;
575 
576   FUNCTION CF_PROMISE_DATEFORMULA(SOURCE_LINE_ID IN NUMBER) RETURN DATE IS
577     PDATE VARCHAR2(20);
578   BEGIN
579     IF P_SOURCE_SYSTEM = 'OE' THEN
580       SELECT
581         OL.PROMISE_DATE
582       INTO PDATE
583       FROM
584         OE_ORDER_LINES_ALL OL
585       WHERE OL.LINE_ID = SOURCE_LINE_ID;
586     END IF;
587     RETURN (PDATE);
588   EXCEPTION
589     WHEN OTHERS THEN
590       RETURN (NULL);
591   END CF_PROMISE_DATEFORMULA;
592 
593   FUNCTION CF_DAYS_LATEFORMULA(CF_PROMISE_DATE IN DATE) RETURN NUMBER IS
594  --   DLATE NUMBER;
595   BEGIN
596     DLATE := TRUNC(SYSDATE) - TRUNC(CF_PROMISE_DATE);
597     RETURN (DLATE);
598   END CF_DAYS_LATEFORMULA;
599 
600   FUNCTION CF_SOURCE_CODEFORMULA(SOURCE_CODE IN VARCHAR2) RETURN CHAR IS
601     SCODE VARCHAR2(80);
602   BEGIN
603     SELECT
604       MEANING
605     INTO SCODE
606     FROM
607       WSH_LOOKUPS
608     WHERE LOOKUP_CODE = CF_SOURCE_CODEFORMULA.SOURCE_CODE
609       AND LOOKUP_TYPE = 'SOURCE_SYSTEM';
610     RETURN (SCODE);
611   END CF_SOURCE_CODEFORMULA;
612 
613   FUNCTION CF_DISTINCT_UOMFORMULA(ORDER_NUMBER IN VARCHAR2) RETURN NUMBER IS
614     UOM_COUNT NUMBER;
615   BEGIN
616     SELECT
617       count(distinct( LINES.ORDER_QUANTITY_UOM ))
618     INTO UOM_COUNT
619     FROM
620       OE_ORDER_LINES_ALL LINES,
621       OE_ORDER_HEADERS_ALL HEAD
622     WHERE LINES.HEADER_ID = HEAD.HEADER_ID
623       AND HEAD.ORDER_NUMBER = CF_DISTINCT_UOMFORMULA.ORDER_NUMBER;
624     IF UOM_COUNT > 1 THEN
625       RETURN 0;
626     ELSE
627       RETURN 1;
628     END IF;
629   END CF_DISTINCT_UOMFORMULA;
630 
631   FUNCTION CF_SORT_ENABLEDFORMULA(CS_COUNT_DUOM IN NUMBER
632                                  ,CS_SUM_DUOM IN NUMBER) RETURN NUMBER IS
633   BEGIN
634     IF CS_COUNT_DUOM <> CS_SUM_DUOM THEN
635       RETURN 0;
636     ELSE
637       RETURN 1;
638     END IF;
639   END CF_SORT_ENABLEDFORMULA;
640 
641   FUNCTION CF_CURR_ENABLEDFORMULA(CS_COUNT_SORT_ENABLED IN NUMBER
642                                  ,CS_SUM_SORT_ENABLED IN NUMBER) RETURN NUMBER IS
643   BEGIN
644     IF CS_COUNT_SORT_ENABLED <> CS_SUM_SORT_ENABLED THEN
645       RETURN 0;
646     ELSE
647       RETURN 1;
648     END IF;
649   END CF_CURR_ENABLEDFORMULA;
650 
651   FUNCTION RP_REPORT_NAME_P RETURN VARCHAR2 IS
652   BEGIN
653     RETURN RP_REPORT_NAME;
654   END RP_REPORT_NAME_P;
655 
656   FUNCTION RP_SUB_TITLE_P RETURN VARCHAR2 IS
657   BEGIN
658     RETURN RP_SUB_TITLE;
659   END RP_SUB_TITLE_P;
660 
661   FUNCTION RP_DATA_FOUND_P RETURN VARCHAR2 IS
662   BEGIN
663     RETURN RP_DATA_FOUND;
664   END RP_DATA_FOUND_P;
665 
666   FUNCTION RP_ITEM_FLEX_ALL_SEG_P RETURN VARCHAR2 IS
667   BEGIN
668     RETURN RP_ITEM_FLEX_ALL_SEG;
669   END RP_ITEM_FLEX_ALL_SEG_P;
670 
671   FUNCTION RP_ITEM_FLEX_ALL_SEG_WHERE_P RETURN VARCHAR2 IS
672   BEGIN
673     RETURN RP_ITEM_FLEX_ALL_SEG_WHERE;
674   END RP_ITEM_FLEX_ALL_SEG_WHERE_P;
675 
676   FUNCTION RP_ORDER_BY_P RETURN VARCHAR2 IS
677   BEGIN
678     RETURN RP_ORDER_BY;
679   END RP_ORDER_BY_P;
680 
681   FUNCTION RP_FLEX_OR_DESC_P RETURN VARCHAR2 IS
682   BEGIN
683     RETURN RP_FLEX_OR_DESC;
684   END RP_FLEX_OR_DESC_P;
685 
686   FUNCTION RP_ORDER_RANGE_P RETURN VARCHAR2 IS
687   BEGIN
688     RETURN RP_ORDER_RANGE;
689   END RP_ORDER_RANGE_P;
690 
691   FUNCTION RP_CATEGORY_SET_P RETURN VARCHAR2 IS
692   BEGIN
693     RETURN RP_CATEGORY_SET;
694   END RP_CATEGORY_SET_P;
695 
696   FUNCTION RP_CATEGORY_P RETURN VARCHAR2 IS
697   BEGIN
698     RETURN RP_CATEGORY;
699   END RP_CATEGORY_P;
700 
701   FUNCTION RP_ORDER_NUM_HIGH_P RETURN NUMBER IS
702   BEGIN
703     RETURN RP_ORDER_NUM_HIGH;
704   END RP_ORDER_NUM_HIGH_P;
705 
706   FUNCTION RP_ORDER_NUM_LOW_P RETURN NUMBER IS
707   BEGIN
708     RETURN RP_ORDER_NUM_LOW;
709   END RP_ORDER_NUM_LOW_P;
710 
711   FUNCTION RP_WAREHOUSE_P RETURN VARCHAR2 IS
712   BEGIN
713     RETURN RP_WAREHOUSE;
714   END RP_WAREHOUSE_P;
715 
716   FUNCTION RP_ITEM_P RETURN VARCHAR2 IS
717   BEGIN
718     RETURN RP_ITEM;
719   END RP_ITEM_P;
720 
721   FUNCTION RP_SOURCE_SYSTEM_P RETURN VARCHAR2 IS
722   BEGIN
723     RETURN RP_SOURCE_SYSTEM;
724   END RP_SOURCE_SYSTEM_P;
725 
726   PROCEDURE SET_NAME(APPLICATION IN VARCHAR2
727                     ,NAME IN VARCHAR2) IS
728   BEGIN
729     /*STPROC.INIT('begin FND_MESSAGE.SET_NAME(:APPLICATION, :NAME); end;');
730     STPROC.BIND_I(APPLICATION);
731     STPROC.BIND_I(NAME);
732     STPROC.EXECUTE; */NULL;
733   END SET_NAME;
734 
735   PROCEDURE SET_TOKEN(TOKEN IN VARCHAR2
736                      ,VALUE IN VARCHAR2
737                      ,TRANSLATE IN BOOLEAN) IS
738   BEGIN
739     /*STPROC.INIT('declare TRANSLATE BOOLEAN; begin TRANSLATE := sys.diutil.int_to_bool(:TRANSLATE); FND_MESSAGE.SET_TOKEN(:TOKEN, :VALUE, TRANSLATE); end;');
740     STPROC.BIND_I(TRANSLATE);
741     STPROC.BIND_I(TOKEN);
742     STPROC.BIND_I(VALUE);
743     STPROC.EXECUTE;*/NULL;
744   END SET_TOKEN;
745 
746   PROCEDURE RETRIEVE(MSGOUT OUT NOCOPY VARCHAR2) IS
747   BEGIN
748     /*STPROC.INIT('begin FND_MESSAGE.RETRIEVE(:MSGOUT); end;');
749     STPROC.BIND_O(MSGOUT);
750     STPROC.EXECUTE;
751     STPROC.RETRIEVE(1
752                    ,MSGOUT);*/NULL;
753   END RETRIEVE;
754 
755   PROCEDURE CLEAR IS
756   BEGIN
757     /*STPROC.INIT('begin FND_MESSAGE.CLEAR; end;');
758     STPROC.EXECUTE;*/NULL;
759   END CLEAR;
760 
761   FUNCTION GET_STRING(APPIN IN VARCHAR2
762                      ,NAMEIN IN VARCHAR2) RETURN VARCHAR2 IS
763     X0 VARCHAR2(2000);
764   BEGIN
765     /*STPROC.INIT('begin :X0 := FND_MESSAGE.GET_STRING(:APPIN, :NAMEIN); end;');
766     STPROC.BIND_O(X0);
767     STPROC.BIND_I(APPIN);
768     STPROC.BIND_I(NAMEIN);
769     STPROC.EXECUTE;
770     STPROC.RETRIEVE(1
771                    ,X0);
772     RETURN X0;*/
773     RETURN(NULL);
774   END GET_STRING;
775 
776   FUNCTION GET_NUMBER(APPIN IN VARCHAR2
777                      ,NAMEIN IN VARCHAR2) RETURN NUMBER IS
778     X0 NUMBER;
779   BEGIN
780     /*STPROC.INIT('begin :X0 := FND_MESSAGE.GET_NUMBER(:APPIN, :NAMEIN); end;');
781     STPROC.BIND_O(X0);
782     STPROC.BIND_I(APPIN);
783     STPROC.BIND_I(NAMEIN);
784     STPROC.EXECUTE;
785     STPROC.RETRIEVE(1
786                    ,X0);
787     RETURN X0;*/
788     RETURN(NULL);
789   END GET_NUMBER;
790 
791   FUNCTION GET RETURN VARCHAR2 IS
792     X0 VARCHAR2(2000);
793   BEGIN
794     /*STPROC.INIT('begin :X0 := FND_MESSAGE.GET; end;');
795     STPROC.BIND_O(X0);
796     STPROC.EXECUTE;
797     STPROC.RETRIEVE(1
798                    ,X0);
799     RETURN X0;*/
800     RETURN(NULL);
801   END GET;
802 
803   FUNCTION GET_ENCODED RETURN VARCHAR2 IS
804     X0 VARCHAR2(2000);
805   BEGIN
806     /*STPROC.INIT('begin :X0 := FND_MESSAGE.GET_ENCODED; end;');
807     STPROC.BIND_O(X0);
808     STPROC.EXECUTE;
809     STPROC.RETRIEVE(1
810                    ,X0);
811     RETURN X0;*/
812     RETURN(NULL);
813   END GET_ENCODED;
814 
815   PROCEDURE PARSE_ENCODED(ENCODED_MESSAGE IN VARCHAR2
816                          ,APP_SHORT_NAME OUT NOCOPY VARCHAR2
817                          ,MESSAGE_NAME OUT NOCOPY VARCHAR2) IS
818   BEGIN
819     /*STPROC.INIT('begin FND_MESSAGE.PARSE_ENCODED(:ENCODED_MESSAGE, :APP_SHORT_NAME, :MESSAGE_NAME); end;');
820     STPROC.BIND_I(ENCODED_MESSAGE);
821     STPROC.BIND_O(APP_SHORT_NAME);
822     STPROC.BIND_O(MESSAGE_NAME);
823     STPROC.EXECUTE;
824     STPROC.RETRIEVE(2
825                    ,APP_SHORT_NAME);
826     STPROC.RETRIEVE(3
827                    ,MESSAGE_NAME);*/
828       NULL;
829   END PARSE_ENCODED;
830 
831   PROCEDURE SET_ENCODED(ENCODED_MESSAGE IN VARCHAR2) IS
832   BEGIN
833     /*STPROC.INIT('begin FND_MESSAGE.SET_ENCODED(:ENCODED_MESSAGE); end;');
834     STPROC.BIND_I(ENCODED_MESSAGE);
835     STPROC.EXECUTE;*/NULL;
836   END SET_ENCODED;
837 
838   PROCEDURE RAISE_ERROR IS
839   BEGIN
840 /*    STPROC.INIT('begin FND_MESSAGE.RAISE_ERROR; end;');
841     STPROC.EXECUTE;*/NULL;
842   END RAISE_ERROR;
843 
844 END WSH_WSHRDBDR_XMLP_PKG;
845 
846