DBA Data[Home] [Help]

PACKAGE BODY: APPS.WIP_WIPDJPCK_XMLP_PKG

Source


1 PACKAGE BODY WIP_WIPDJPCK_XMLP_PKG AS
2 /* $Header: WIPDJPCKB.pls 120.3 2008/01/31 12:21:29 npannamp noship $ */
3   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4   BEGIN
5 
6   select id_flex_num_cl
7 
8 into item_id_flex_num
9 
10 from(
11 
12 SELECT fifst.id_flex_num id_flex_num_cl
13 
14 FROM fnd_id_flex_structures fifst
15 
16 WHERE fifst.application_id = 401
17 
18 AND fifst.id_flex_code = 'MSTK'
19 
20 AND fifst.enabled_flag = 'Y'
21 
22 AND fifst.freeze_flex_definition_flag = 'Y'
23 
24 ORDER BY fifst.id_flex_num )
25 
26 where rownum<2 ;
27 
28 
29     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
30     /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
31     DECLARE
32       P_ORG_ID_CHAR VARCHAR2(100) := (P_ORGANIZATION_ID);
33     BEGIN
34       P_QTY_PRECISION := nvl(P_QTY_PRECISION,2);
35       QTY_PRECISION :=wip_common_xmlp_pkg.get_precision(P_QTY_PRECISION);
36       FND_PROFILE.PUT('MFG_ORGANIZATION_ID'
37                      ,P_ORG_ID_CHAR);
38       /*SRW.USER_EXIT('FND PUTPROFILE NAME="' || 'MFG_ORGANIZATION_ID' || '" FIELD="' || P_ORG_ID_CHAR || '"')*/NULL;
39     EXCEPTION
40       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
41         /*SRW.MESSAGE(020
42                    ,'Failed in before report trigger, setting org profile ')*/NULL;
43         RAISE;
44     END;
45     RETURN (TRUE);
46     RETURN (TRUE);
47   END BEFOREREPORT;
48 
49   FUNCTION AFTERREPORT RETURN BOOLEAN IS
50   BEGIN
51     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
52     RETURN (TRUE);
53   END AFTERREPORT;
54 
55   FUNCTION C_LIMIT_SUPPLY_TYPEFORMULA RETURN VARCHAR2 IS
56   BEGIN
57     IF (P_SUPPLY_TYPE IS NOT NULL) THEN
58       RETURN ('AND DECODE(WRO.WIP_SUPPLY_TYPE,3,2,WRO.WIP_SUPPLY_TYPE) = ' || TO_CHAR(P_SUPPLY_TYPE));
59     ELSE
60       RETURN (' ');
61     END IF;
62     RETURN NULL;
63   END C_LIMIT_SUPPLY_TYPEFORMULA;
64 
65   FUNCTION LIMIT_JOBS RETURN CHARACTER IS
66     LIMIT_JOBS VARCHAR2(768);
67   BEGIN
68     IF (P_FROM_JOB IS NOT NULL) THEN
69       IF (P_TO_JOB IS NOT NULL) THEN
70         LIMIT_JOBS := ' AND WE.WIP_ENTITY_NAME BETWEEN ''' || REPLACE(P_FROM_JOB
71                              ,''''
72                              ,'''''') || ''' AND ''' || REPLACE(P_TO_JOB
73                              ,''''
74                              ,'''''') || '''';
75       ELSE
76         LIMIT_JOBS := ' AND WE.WIP_ENTITY_NAME  >= ''' || REPLACE(P_FROM_JOB
77                              ,''''
78                              ,'''''') || '''';
79       END IF;
80     ELSE
81       IF (P_TO_JOB IS NOT NULL) THEN
82         LIMIT_JOBS := ' AND WE.WIP_ENTITY_NAME <= ''' || REPLACE(P_TO_JOB
83                              ,''''
84                              ,'''''') || '''';
85       ELSE
86         LIMIT_JOBS := ' ';
87       END IF;
88     END IF;
89     RETURN (LIMIT_JOBS);
90   END LIMIT_JOBS;
91 
92   FUNCTION DATE_LIMITER RETURN CHARACTER IS
93     LIMIT_DATES VARCHAR2(120);
94   BEGIN
95     IF (P_FROM_DATE IS NOT NULL) THEN
96       IF (P_TO_DATE IS NOT NULL) THEN
97         LIMIT_DATES := ' AND TRUNC(WDJ.SCHEDULED_START_DATE) BETWEEN TO_DATE(''' || TO_CHAR(P_FROM_DATE
98                               ,'YYYYMMDD') || ''',''YYYYMMDD'') AND TO_DATE(''' || TO_CHAR(P_TO_DATE
99                               ,'YYYYMMDD') || ''',''YYYYMMDD'')';
100       ELSE
101         LIMIT_DATES := ' AND TRUNC(WDJ.SCHEDULED_START_DATE) >= TO_DATE(''' || TO_CHAR(P_FROM_DATE
102                               ,'YYYYMMDD') || ''',''YYYYMMDD'')';
103       END IF;
104     ELSE
105       IF (P_TO_DATE IS NOT NULL) THEN
106         LIMIT_DATES := ' AND TRUNC(WDJ.SCHEDULED_START_DATE) <= TO_DATE(''' || TO_CHAR(P_TO_DATE
107                               ,'YYYYMMDD') || ''',''YYYYMMDD'')';
108       ELSE
109         LIMIT_DATES := ' ';
110       END IF;
111     END IF;
112     RETURN (LIMIT_DATES);
113   END DATE_LIMITER;
114 
115   FUNCTION C_LIMIT_SUBINVFORMULA RETURN VARCHAR2 IS
116   BEGIN
117     IF (P_SUPPLY_SUBINV IS NOT NULL) THEN
118       RETURN ('AND WRO.SUPPLY_SUBINVENTORY = ''' || P_SUPPLY_SUBINV || '''');
119     ELSE
120       RETURN (' ');
121     END IF;
122     RETURN NULL;
123   END C_LIMIT_SUBINVFORMULA;
124 
125   FUNCTION C_P_SUPPLY_TYPEFORMULA RETURN NUMBER IS
126   BEGIN
127     IF (P_SUPPLY_TYPE IS NOT NULL) THEN
128       RETURN (P_SUPPLY_TYPE);
129     ELSE
130       RETURN (0);
131     END IF;
132     RETURN NULL;
133   END C_P_SUPPLY_TYPEFORMULA;
134 
135   FUNCTION ORDER_FUNC(COMPONENT IN VARCHAR2
136                      ,SUPPLY_LOCATOR IN VARCHAR2
137                      ,C_COMPONENT_DISP IN VARCHAR2
138                      ,C_LOCATOR_DISP IN VARCHAR2
139                      ,C_COMP_SORT IN VARCHAR2
140                      ,C_LOC_SORT IN VARCHAR2
141                      ,SUPPLY_SUBINV IN VARCHAR2
142                      ,OP_SEQ IN NUMBER
143                      ,DATE_REQUIRED IN DATE
144                      ,ITEM_SEQ IN NUMBER) RETURN CHARACTER IS
145     TEMP VARCHAR2(2000);
146   BEGIN
147     /*SRW.REFERENCE(COMPONENT)*/NULL;
148     /*SRW.REFERENCE(SUPPLY_LOCATOR)*/NULL;
149     /*SRW.REFERENCE(C_COMPONENT_DISP)*/NULL;
150     /*SRW.REFERENCE(C_LOCATOR_DISP)*/NULL;
151     /*SRW.REFERENCE(C_COMP_SORT)*/NULL;
152     /*SRW.REFERENCE(C_LOC_SORT)*/NULL;
153     /*SRW.REFERENCE(SUPPLY_SUBINV)*/NULL;
154     /*SRW.REFERENCE(OP_SEQ)*/NULL;
155     /*SRW.REFERENCE(DATE_REQUIRED)*/NULL;
156     /*SRW.REFERENCE(ITEM_SEQ)*/NULL;
157     IF (P_SORT_BY = 4) THEN
158       TEMP := RPAD(SUPPLY_SUBINV
159                   ,10) || C_LOC_SORT || C_COMP_SORT || LPAD(TO_CHAR(OP_SEQ)
160                   ,4
161                   ,TO_CHAR(0)) || LPAD(TO_CHAR(DATE_REQUIRED
162                           ,'J')
163                   ,10);
164     ELSIF (P_SORT_BY = 5) THEN
165       TEMP := LPAD(TO_CHAR(DATE_REQUIRED
166                           ,'J')
167                   ,10) || C_COMP_SORT || LPAD(TO_CHAR(OP_SEQ)
168                   ,4
169                   ,TO_CHAR(0)) || RPAD(SUPPLY_SUBINV
170                   ,10) || C_LOC_SORT;
171     ELSIF (P_SORT_BY = 9) THEN
172       TEMP := C_COMP_SORT || RPAD(SUPPLY_SUBINV
173                   ,10) || C_LOC_SORT;
174     ELSIF (P_SORT_BY = 15) THEN
175       TEMP := LPAD(TO_CHAR(ITEM_SEQ)
176                   ,4
177                   ,TO_CHAR(0)) || LPAD(TO_CHAR(OP_SEQ)
178                   ,4
179                   ,TO_CHAR(0)) || C_COMP_SORT;
180     ELSE
181       TEMP := C_COMP_SORT || LPAD(TO_CHAR(OP_SEQ)
182                   ,4
183                   ,TO_CHAR(0)) || LPAD(TO_CHAR(DATE_REQUIRED
184                           ,'J')
185                   ,10
186                   ,TO_CHAR(0)) || RPAD(SUPPLY_SUBINV
187                   ,10) || C_LOC_SORT;
188     END IF;
189     RETURN (TEMP);
190   END ORDER_FUNC;
191 
192   FUNCTION C_LIMIT_STATUSFORMULA RETURN VARCHAR2 IS
193   BEGIN
194     IF (P_TXN_ONLY = 2) THEN
195       RETURN ('(1,3,4,6)');
196     ELSE
197       RETURN ('(3,4)');
198     END IF;
199     RETURN NULL;
200   END C_LIMIT_STATUSFORMULA;
201 
202   FUNCTION ZEROFORMULA RETURN NUMBER IS
203   BEGIN
204     RETURN (0);
205   END ZEROFORMULA;
206 
207   FUNCTION C_COMP_SORTFORMULA(C_COMPONENT_DISP IN VARCHAR2
208                              ,C_COMP_SORT IN VARCHAR2) RETURN VARCHAR2 IS
209   BEGIN
210     /*SRW.REFERENCE(C_COMPONENT_DISP)*/NULL;
211     RETURN (C_COMP_SORT);
212   END C_COMP_SORTFORMULA;
213 
214   FUNCTION C_LOC_SORTFORMULA(C_LOCATOR_DISP IN VARCHAR2
215                             ,LOCATOR_ID IN NUMBER
216                             ,C_LOC_SORT IN VARCHAR2) RETURN VARCHAR2 IS
217   BEGIN
218     /*SRW.REFERENCE(C_LOCATOR_DISP)*/NULL;
219     IF (LOCATOR_ID > -1) THEN
220       RETURN (C_LOC_SORT);
221     ELSE
222       RETURN ('          ');
223     END IF;
224     RETURN NULL;
225   END C_LOC_SORTFORMULA;
226 
227   FUNCTION AFTERPFORM RETURN BOOLEAN IS
228   BEGIN
229     IF P_SCHEDULE_GROUP_FROM IS NOT NULL OR P_SCHEDULE_GROUP_TO IS NOT NULL THEN
230       P_SG_OUTER := ' ';
231     END IF;
232     RETURN (TRUE);
233   END AFTERPFORM;
234 
235   FUNCTION C_LIMITER RETURN VARCHAR2 IS
236     C_OUT VARCHAR2(200);
237   BEGIN
238     IF P_SCHEDULE_GROUP_FROM IS NOT NULL THEN
239       IF P_SCHEDULE_GROUP_TO IS NOT NULL THEN
240         C_OUT := ' AND SG.SCHEDULE_GROUP_NAME BETWEEN ''' || P_SCHEDULE_GROUP_FROM || ''' AND ''' || P_SCHEDULE_GROUP_TO || '''';
241       ELSE
242         C_OUT := ' AND SG.SCHEDULE_GROUP_NAME >= ''' || P_SCHEDULE_GROUP_FROM || '''';
243       END IF;
244     ELSE
245       IF P_SCHEDULE_GROUP_TO IS NOT NULL THEN
246         C_OUT := ' AND SG.SCHEDULE_GROUP_NAME <= ''' || P_SCHEDULE_GROUP_TO || '''';
247       ELSE
248         C_OUT := ' ';
249       END IF;
250     END IF;
251     RETURN (C_OUT);
252   END C_LIMITER;
253 
254 END WIP_WIPDJPCK_XMLP_PKG;
255