1 PACKAGE BODY WIP_WIPREPCK_XMLP_PKG AS
2 /* $Header: WIPREPCKB.pls 120.1 2008/01/31 12:38:50 npannamp noship $ */
3 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4 BEGIN
5 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
6 QTY:= get_precision(P_QTY_PRECISION);
7 P_START_DATE1:=to_char(P_START_DATE,'DD-MON-YY');
8 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
9 /*SRW.USER_EXIT('FND FLEXSQL CODE="MSTK"
10 APPL_SHORT_NAME="INV" OUTPUT=":P_COMP"
11 TABLEALIAS="MSI2"
12 MODE="SELECT" DISPLAY="ALL"')*/NULL;
13 RETURN (TRUE);
14 RETURN (TRUE);
15 END BEFOREREPORT;
16
17 FUNCTION AFTERREPORT RETURN BOOLEAN IS
18 BEGIN
19 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
20 RETURN (TRUE);
21 END AFTERREPORT;
22
23 FUNCTION C_LIMIT_SUPPLY_TYPEFORMULA RETURN VARCHAR2 IS
24 BEGIN
25 IF (P_SUPPLY_TYPE IS NOT NULL) THEN
26 RETURN ('AND DECODE(WRO.WIP_SUPPLY_TYPE,3,2,WRO.WIP_SUPPLY_TYPE) = ' || TO_CHAR(P_SUPPLY_TYPE));
27 ELSE
28 RETURN (' ');
29 END IF;
30 RETURN NULL;
31 END C_LIMIT_SUPPLY_TYPEFORMULA;
32
33 FUNCTION C_LIMIT_SUBINVFORMULA RETURN VARCHAR2 IS
34 BEGIN
35 IF (P_SUPPLY_SUBINV IS NOT NULL) THEN
36 RETURN ('AND WRO.SUPPLY_SUBINVENTORY = ''' || P_SUPPLY_SUBINV || '''');
37 ELSE
38 RETURN (' ');
39 END IF;
40 RETURN NULL;
41 END C_LIMIT_SUBINVFORMULA;
42
43 FUNCTION C_P_SUPPLY_TYPEFORMULA RETURN NUMBER IS
44 BEGIN
45 IF (P_SUPPLY_TYPE IS NOT NULL) THEN
46 RETURN (P_SUPPLY_TYPE);
47 ELSE
48 RETURN (0);
49 END IF;
50 RETURN NULL;
51 END C_P_SUPPLY_TYPEFORMULA;
52
53 FUNCTION LIMIT_LINES RETURN CHARACTER IS
54 LIMIT_LINES VARCHAR2(80);
55 BEGIN
56 IF (P_FROM_LINE IS NOT NULL) THEN
57 IF (P_TO_LINE IS NOT NULL) THEN
58 LIMIT_LINES := ' AND WL.LINE_CODE BETWEEN ''' || P_FROM_LINE || ''' AND ''' || P_TO_LINE || ''' ';
59 ELSE
60 LIMIT_LINES := ' AND WL.LINE_CODE >= ''' || P_FROM_LINE || ''' ';
61 END IF;
62 ELSE
63 IF (P_TO_LINE IS NOT NULL) THEN
64 LIMIT_LINES := ' AND WL.LINE_CODE <= ''' || P_TO_LINE || ''' ';
65 ELSE
66 LIMIT_LINES := ' ';
67 END IF;
68 END IF;
69 RETURN (LIMIT_LINES);
70 END LIMIT_LINES;
71
72 FUNCTION LIMIT_JOBS RETURN CHARACTER IS
73 LIMIT_JOBS VARCHAR2(500);
74 BEGIN
75 IF (P_FROM_JOB IS NOT NULL) THEN
76 IF (P_TO_JOB IS NOT NULL) THEN
77 LIMIT_JOBS := ' AND WE.WIP_ENTITY_NAME BETWEEN ''' || P_FROM_JOB || ''' AND ''' || P_TO_JOB || '''';
78 ELSE
79 LIMIT_JOBS := ' AND WE.WIP_ENTITY_NAME >= ''' || P_FROM_JOB || '''';
80 END IF;
81 ELSE
82 IF (P_TO_JOB IS NOT NULL) THEN
83 LIMIT_JOBS := ' AND WE.WIP_ENTITY_NAME <= ''' || P_TO_JOB || '''';
84 ELSE
85 LIMIT_JOBS := ' ';
86 END IF;
87 END IF;
88 RETURN (LIMIT_JOBS);
89 END LIMIT_JOBS;
90
91 FUNCTION ORDER_FUNC(OP_SEQ IN NUMBER
92 ,SUPPLY_SUBINV IN VARCHAR2
93 ,C_COMPONENT_DISP IN VARCHAR2
94 ,DEPARTMENT IN VARCHAR2
95 ,C_LOCATOR_DISP IN VARCHAR2
96 ,C_COMP_SORT IN VARCHAR2
97 ,C_LOC_SORT IN VARCHAR2) RETURN CHARACTER IS
98 TEMP VARCHAR2(2000);
99 BEGIN
100 /*SRW.REFERENCE(OP_SEQ)*/NULL;
101 /*SRW.REFERENCE(SUPPLY_SUBINV)*/NULL;
102 /*SRW.REFERENCE(C_COMPONENT_DISP)*/NULL;
103 /*SRW.REFERENCE(DEPARTMENT)*/NULL;
104 /*SRW.REFERENCE(C_LOCATOR_DISP)*/NULL;
105 /*SRW.REFERENCE(C_COMP_SORT)*/NULL;
106 /*SRW.REFERENCE(C_LOC_SORT)*/NULL;
107 IF (P_SORT_BY = 4) THEN
108 TEMP := RPAD(SUPPLY_SUBINV
109 ,10) || C_LOC_SORT || C_COMP_SORT || RPAD(DEPARTMENT
110 ,10);
111 ELSE
112 IF (P_SORT_BY = 6) THEN
113 TEMP := C_COMP_SORT || LPAD(TO_CHAR(OP_SEQ)
114 ,4
115 ,TO_CHAR(0)) || RPAD(DEPARTMENT
116 ,10) || RPAD(SUPPLY_SUBINV
117 ,10) || C_LOC_SORT;
118 ELSE
119 TEMP := C_COMP_SORT || RPAD(DEPARTMENT
120 ,10) || RPAD(SUPPLY_SUBINV
121 ,10) || C_LOC_SORT;
122 END IF;
123 END IF;
124 RETURN (TEMP);
125 END ORDER_FUNC;
126
127 FUNCTION C_LIMIT_STATUSFORMULA RETURN VARCHAR2 IS
128 BEGIN
129 IF (P_TXN_ONLY = 2) THEN
130 RETURN ('(1,3,4,6)');
131 ELSE
132 RETURN ('(3,4)');
133 END IF;
134 RETURN NULL;
135 END C_LIMIT_STATUSFORMULA;
136
137 FUNCTION ZEROFORMULA RETURN NUMBER IS
138 BEGIN
139 RETURN (0);
140 END ZEROFORMULA;
141
142 FUNCTION C_COMP_SORTFORMULA(C_COMP_SORT IN VARCHAR2) RETURN VARCHAR2 IS
143 BEGIN
144 RETURN (C_COMP_SORT);
145 END C_COMP_SORTFORMULA;
146
147 FUNCTION C_LOC_SORTFORMULA(LOCATOR_ID IN NUMBER
148 ,C_LOC_SORT IN VARCHAR2) RETURN VARCHAR2 IS
149 BEGIN
150 IF (LOCATOR_ID > -1) THEN
151 RETURN (C_LOC_SORT);
152 ELSE
153 RETURN (' ');
154 END IF;
155 RETURN NULL;
156 END C_LOC_SORTFORMULA;
157
158 FUNCTION AFTERPFORM RETURN BOOLEAN IS
159 BEGIN
160 RETURN (TRUE);
161 END AFTERPFORM;
162 function get_precision(qty_precision in number) return VARCHAR2 is
163 begin
164
165 if qty_precision = 0 then return('999G999G999G990');
166
167 elsif qty_precision = 1 then return('999G999G999G990D0');
168
169 elsif qty_precision = 3 then return('999G999G999G990D000');
170
171 elsif qty_precision = 4 then return('999G999G999G990D0000');
172
173 elsif qty_precision = 5 then return('999G999G999G990D00000');
174
175 elsif qty_precision = 6 then return('999G999G999G990D000000');
176
177 else return('999G999G999G990D00');
178
179 end if;
180
181 end;
182
183 END WIP_WIPREPCK_XMLP_PKG;
184