1 PACKAGE BODY WIP_WIPREDAT_XMLP_PKG AS
2 /* $Header: WIPREDATB.pls 120.1 2008/01/31 12:33:15 npannamp noship $ */
3 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4 BEGIN
5 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
6 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
7 /*SRW.USER_EXIT('FND FLEXSQL CODE="MTLL" APPL_SHORT_NAME="INV"
8 OUTPUT=":P_CMPL_LOCATOR" MODE="SELECT" DISPLAY="ALL"
9 TABLEALIAS="MLOC"')*/NULL;
10 RETURN (TRUE);
11 END BEFOREREPORT;
12
13 FUNCTION AFTERREPORT RETURN BOOLEAN IS
14 BEGIN
15 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
16 RETURN (TRUE);
17 END AFTERREPORT;
18
19 FUNCTION LINE_LIMITER RETURN CHARACTER IS
20 LIMIT_LINES VARCHAR2(200);
21 BEGIN
22 IF (P_FROM_LINE IS NOT NULL) THEN
23 IF (P_TO_LINE IS NOT NULL) THEN
24 LIMIT_LINES := ' AND WL.LINE_CODE BETWEEN ''' || P_FROM_LINE || ''' AND ''' || P_TO_LINE || '''';
25 ELSE
26 LIMIT_LINES := ' AND WL.LINE_CODE >= ''' || P_FROM_LINE || '''';
27 END IF;
28 ELSE
29 IF (P_TO_LINE IS NOT NULL) THEN
30 LIMIT_LINES := ' AND WL.LINE_CODE <= ''' || P_TO_LINE || '''';
31 ELSE
32 LIMIT_LINES := ' ';
33 END IF;
34 END IF;
35 RETURN (LIMIT_LINES);
36 END LINE_LIMITER;
37
38 FUNCTION ASSEMBLY_LIMITER RETURN CHARACTER IS
39 LIMIT_ASSLY VARCHAR2(80);
40 BEGIN
41 IF (P_FROM_ASSEMBLY IS NOT NULL) THEN
42 IF (P_TO_ASSEMBLY IS NOT NULL) THEN
43 LIMIT_ASSLY := ' AND WE.WIP_ENTITY_NAME BETWEEN ''' || P_FROM_ASSEMBLY || ''' AND ''' || P_TO_ASSEMBLY || '''';
44 ELSE
45 LIMIT_ASSLY := ' AND WE.WIP_ENTITY_NAME >= ''' || P_FROM_ASSEMBLY || '''';
46 END IF;
47 ELSE
48 IF (P_TO_ASSEMBLY IS NOT NULL) THEN
49 LIMIT_ASSLY := ' AND WE.WIP_ENTITY_NAME <= ''' || P_TO_ASSEMBLY || '''';
50 ELSE
51 LIMIT_ASSLY := ' ';
52 END IF;
53 END IF;
54 RETURN (LIMIT_ASSLY);
55 END ASSEMBLY_LIMITER;
56
57 FUNCTION FUS_DATE_LIMITER RETURN CHARACTER IS
58 LIMIT_DATES VARCHAR2(150);
59 BEGIN
60 IF (P_FROM_START_DATE IS NOT NULL) THEN
61 IF (P_TO_START_DATE IS NOT NULL) THEN
62 LIMIT_DATES := ' AND TRUNC(WRS.FIRST_UNIT_START_DATE) BETWEEN TO_DATE(''' || TO_CHAR(P_FROM_START_DATE
63 ,'YYYYMMDD') || ''',''YYYYMMDD'') AND TO_DATE(''' || TO_CHAR(P_TO_START_DATE
64 ,'YYYYMMDD') || ''',''YYYYMMDD'')';
65 ELSE
66 LIMIT_DATES := ' AND TRUNC(WRS.FIRST_UNIT_START_DATE) >= TO_DATE(''' || TO_CHAR(P_FROM_START_DATE
67 ,'YYYYMMDD') || ''',''YYYYMMDD'')';
68 END IF;
69 ELSE
70 IF (P_TO_START_DATE IS NOT NULL) THEN
71 LIMIT_DATES := ' AND TRUNC(WRS.FIRST_UNIT_START_DATE) <= TO_DATE(''' || TO_CHAR(P_TO_START_DATE
72 ,'YYYYMMDD') || ''',''YYYYMMDD'')';
73 ELSE
74 LIMIT_DATES := ' ';
75 END IF;
76 END IF;
77 RETURN (LIMIT_DATES);
78 END FUS_DATE_LIMITER;
79
80 FUNCTION C_STATUS_LIMITERFORMULA RETURN VARCHAR2 IS
81 BEGIN
82 IF (P_STATUS_LIMITER = 1) THEN
83 RETURN ('AND WRS.STATUS_TYPE IN (1,3,4,6,13)');
84 ELSE
85 RETURN (' ');
86 END IF;
87 RETURN NULL;
88 END C_STATUS_LIMITERFORMULA;
89
90 FUNCTION AFTERPFORM RETURN BOOLEAN IS
91 BEGIN
92 RETURN (TRUE);
93 END AFTERPFORM;
94
95 function get_precision(qty_precision in number) return VARCHAR2 is
96 begin
97
98 if qty_precision = 0 then return('999G999G999G990');
99
100 elsif qty_precision = 1 then return('999G999G999G990D0');
101
102 elsif qty_precision = 3 then return('999G999G999G990D000');
103
104 elsif qty_precision = 4 then return('999G999G999G990D0000');
105
106 elsif qty_precision = 5 then return('999G999G999G990D00000');
107
108 elsif qty_precision = 6 then return('999G999G999G990D000000');
109
110 else return('999G999G999G990D00');
111
112 end if;
113
114 end;
115
116 END WIP_WIPREDAT_XMLP_PKG;
117