DBA Data[Home] [Help]

PACKAGE BODY: APPS.WIP_WIPREPCK_XMLP_PKG

Source


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