DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_INVDRRSV_XMLP_PKG

Source


1 PACKAGE BODY INV_INVDRRSV_XMLP_PKG AS
2 /* $Header: INVDRRSVB.pls 120.1 2008/01/08 06:44:37 dwkrishn noship $ */
3   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4   BEGIN
5     DECLARE
6       DATE_LO DATE;
7       DATE_HI DATE;
8     BEGIN
9       DATE_LO := TO_DATE(P_DATE_LO
10                         ,'YYYY/MM/DD HH24:MI:SS');
11       DATE_HI := TO_DATE(P_DATE_HI
12                         ,'YYYY/MM/DD HH24:MI:SS');
13       /*P_DATE_LO := TO_CHAR(DATE_LO
14                           ,'DD-MON-RR');
15       P_DATE_HI := TO_CHAR(DATE_HI
16                           ,'DD-MON-RR');
17       P_DATE_HI := P_DATE_HI || ' 23:59:59';*/
18       --added as fix
19       P_DATE_LO_V := TO_CHAR(DATE_LO
20                                 ,'DD-MON-RR');
21             P_DATE_HI_V := TO_CHAR(DATE_HI
22                                 ,'DD-MON-RR');
23       P_DATE_HI_V := P_DATE_HI_V || ' 23:59:59';
24     END;
25     BEGIN
26       P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
27       qty_precision:=inv_common_xmlp_pkg.get_precision(P_qty_precision);
28       /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
29     EXCEPTION
30       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
31         /*SRW.MESSAGE(1
32                    ,'Failed in before report trigger:SRWINIT')*/NULL;
33     END;
34     DECLARE
35       P_ORG_ID_CHAR VARCHAR2(100) := TO_CHAR(P_ORG_ID);
36     BEGIN
37       /*SRW.USER_EXIT('FND PUTPROFILE NAME="' || 'MFG_ORGANIZATION_ID' || '" FIELD="' || P_ORG_ID_CHAR || '"')*/NULL;
38     EXCEPTION
39       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
40         /*SRW.MESSAGE(020
41                    ,'Failed in before report trigger, setting org profile ')*/NULL;
42         RAISE;
43     END;
44     BEGIN
45       NULL;
46     EXCEPTION
47       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
48         /*SRW.MESSAGE(1
49                    ,'Failed in before report trigger:MSTK')*/NULL;
50     END;
51     BEGIN
52       IF P_SORT_ID = 3 THEN
53         BEGIN
54           NULL;
55         EXCEPTION
56           WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
57             /*SRW.MESSAGE(1
58                        ,'Failed in before report trigger:MSTK:ORDERBY')*/NULL;
59         END;
60         BEGIN
61           IF P_SOURCE_TYPE_ID in (2,8) THEN
62             NULL;
63           ELSE
64             IF P_SOURCE_TYPE_ID = 3 THEN
65               NULL;
66             ELSE
67               IF P_SOURCE_TYPE_ID = 6 THEN
68                 NULL;
69               ELSE
70                 IF P_SOURCE_TYPE_ID = 5 THEN
71                   P_ORDER_SOURCE := 'wip_entity_name';
72                 ELSE
73                   IF P_SOURCE_TYPE_ID >= 13 THEN
74                     P_ORDER_SOURCE := 'md.demand_source_name';
75                   ELSE
76                     P_ORDER_SOURCE := '12';
77                   END IF;
78                 END IF;
79               END IF;
80             END IF;
81           END IF;
82         EXCEPTION
83           WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
84             /*SRW.MESSAGE(1
85                        ,'Failed in before report trigger:SOURCE:ORDERBY')*/NULL;
86         END;
87       ELSE
88         NULL;
89       END IF;
90     END;
91     BEGIN
92       IF P_ITEM_LO IS NOT NULL OR P_ITEM_HI IS NOT NULL THEN
93         NULL;
94       ELSE
95         NULL;
96       END IF;
97     EXCEPTION
98       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
99         /*SRW.MESSAGE(1
100                    ,'Failed in before report trigger:MSTK:WHERE')*/NULL;
101     END;
102     BEGIN
103       IF P_BREAK_ID = 1 THEN
104         NULL;
105       ELSE
106         P_CAT_FLEX := '''MC''';
107       END IF;
108     EXCEPTION
109       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
110         /*SRW.MESSAGE(1
111                    ,'Failed in before report trigger:MCAT/sel')*/NULL;
112     END;
113     BEGIN
114       IF P_CAT_LO IS NOT NULL OR P_CAT_HI IS NOT NULL THEN
115         NULL;
116       ELSE
117         NULL;
118       END IF;
119     EXCEPTION
120       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
121         /*SRW.MESSAGE(1
122                    ,'Failed in before report trigger:MCAT/WHERE')*/NULL;
123     END;
124     BEGIN
125       NULL;
126     EXCEPTION
127       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
128         /*SRW.MESSAGE(1
129                    ,'Failed in before report trigger:MTLL')*/NULL;
130     END;
131     BEGIN
132       IF NVL(P_SOURCE_TYPE_ID
133          ,2) = 2 THEN
134         NULL;
135       ELSE
136         NULL;
137       END IF;
138     EXCEPTION
139       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
140         /*SRW.MESSAGE(9
141                    ,'Failed in MKTS/Sel')*/NULL;
142     END;
143     BEGIN
144       IF NVL(P_SOURCE_TYPE_ID
145          ,6) = 6 THEN
146         NULL;
147       ELSE
148         NULL;
149       END IF;
150     EXCEPTION
151       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
152         /*SRW.MESSAGE(10
153                    ,'Failed in MDSP/Sel')*/NULL;
154     END;
155     BEGIN
156       IF NVL(P_SOURCE_TYPE_ID
157          ,8) = 8 THEN
158         NULL;
159       ELSE
160         NULL;
161       END IF;
162     EXCEPTION
163       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
164         /*SRW.MESSAGE(9
165                    ,'Failed in MKTS/Sel')*/NULL;
166     END;
167     BEGIN
168       IF NVL(P_SOURCE_TYPE_ID
169          ,3) = 3 THEN
170         NULL;
171       ELSE
172         NULL;
173       END IF;
174     EXCEPTION
175       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
176         /*SRW.MESSAGE(11
177                    ,'Failed in GL#/Sel')*/NULL;
178     END;
179     IF P_SOURCE_TYPE_ID = 2 THEN
180       BEGIN
181         IF P_SOURCE_HI IS NOT NULL OR P_SOURCE_LO IS NOT NULL THEN
182           NULL;
183         ELSE
184           NULL;
185         END IF;
186       EXCEPTION
187         WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
188           /*SRW.MESSAGE(1
189                      ,'Failed in before report trigger:MKTS/where')*/NULL;
190       END;
191     ELSE
192       IF P_SOURCE_TYPE_ID = 8 THEN
193         BEGIN
194           IF P_SOURCE_HI IS NOT NULL OR P_SOURCE_LO IS NOT NULL THEN
195             NULL;
196           ELSE
197             NULL;
198           END IF;
199         EXCEPTION
200           WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
201             /*SRW.MESSAGE(1
202                        ,'Failed in before report trigger:MKTS/where')*/NULL;
203         END;
204       ELSE
205         IF P_SOURCE_TYPE_ID = 6 THEN
206           BEGIN
207             IF P_SOURCE_HI IS NOT NULL OR P_SOURCE_LO IS NOT NULL THEN
208               NULL;
209             ELSE
210               NULL;
211             END IF;
212           EXCEPTION
213             WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
214               /*SRW.MESSAGE(1
215                          ,'Failed in before report trigger:MDSP/where')*/NULL;
216           END;
217         ELSE
218           IF P_SOURCE_TYPE_ID = 3 THEN
219             BEGIN
220               IF P_SOURCE_HI IS NOT NULL OR P_SOURCE_LO IS NOT NULL THEN
221                 NULL;
222               ELSE
223                 NULL;
224               END IF;
225             EXCEPTION
226               WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
227                 /*SRW.MESSAGE(1
228                            ,'Failed in before report trigger:GL/where')*/NULL;
229             END;
230           ELSE
231             NULL;
232           END IF;
233         END IF;
234       END IF;
235     END IF;
236     RETURN (TRUE);
237   END BEFOREREPORT;
238 
239   FUNCTION AFTERREPORT RETURN BOOLEAN IS
240   BEGIN
241     BEGIN
242       /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
243     EXCEPTION
244       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
245         /*SRW.MESSAGE(1
246                    ,'SRWEXIT failed')*/NULL;
247     END;
248     RETURN (TRUE);
249   END AFTERREPORT;
250 
251   FUNCTION C_CURRENCY_CODEFORMULA(R_CURRENCY_CODE IN VARCHAR2) RETURN VARCHAR2 IS
252   BEGIN
253     RETURN ('(' || R_CURRENCY_CODE || ')');
254   END C_CURRENCY_CODEFORMULA;
255 
256   FUNCTION C_FROM_CATFORMULA RETURN VARCHAR2 IS
257   BEGIN
258     IF P_BREAK_ID = 1 OR P_CAT_LO IS NOT NULL OR P_CAT_HI IS NOT NULL THEN
259       RETURN (',mtl_item_categories mic, mtl_categories mc');
260     ELSE
261       RETURN ('/* Do not select from category tables.*/');
262     END IF;
263     RETURN NULL;
264   END C_FROM_CATFORMULA;
265 
266   FUNCTION C_CAT_WHEREFORMULA RETURN VARCHAR2 IS
267   BEGIN
268     IF P_BREAK_ID = 1 OR P_CAT_LO IS NOT NULL OR P_CAT_HI IS NOT NULL THEN
269       RETURN ('and msi.inventory_item_id = mic.inventory_item_id
270                      and mic.organization_id = msi.organization_id
271                     and mic.category_set_id = ' || TO_CHAR(P_CAT_SET_ID) || '
272                      and mic.category_id = mc.category_id
273                      and mic.organization_id = ' || TO_CHAR(P_ORG_ID));
274     ELSE
275       RETURN (' ');
276     END IF;
277     RETURN NULL;
278   END C_CAT_WHEREFORMULA;
279 
280   FUNCTION BEFOREPFORM RETURN BOOLEAN IS
281   BEGIN
282     RETURN (TRUE);
283   END BEFOREPFORM;
284 
285   FUNCTION C_ORDER_BYFORMULA RETURN VARCHAR2 IS
286   BEGIN
287     IF P_SORT_ID in (1,2) THEN
288       RETURN ('order by revision, lot_number, subinventory');
289     ELSE
290       IF P_SORT_ID = 3 THEN
291         RETURN ('order by ' || P_ORDER_SOURCE || ', ' || P_ORDER_ITEM || ', revision');
292       ELSE
293         RETURN ('order by 1,2,3,4,5,6');
294       END IF;
295     END IF;
296     RETURN NULL;
297   END C_ORDER_BYFORMULA;
298 
299   FUNCTION C_CAT_PADFORMULA(C_CAT_PAD IN VARCHAR2) RETURN VARCHAR2 IS
300   BEGIN
301     RETURN (C_CAT_PAD);
302   END C_CAT_PADFORMULA;
303 
304   FUNCTION C_SORT_PADFORMULA(C_SORT_PAD IN VARCHAR2) RETURN VARCHAR2 IS
305   BEGIN
306     RETURN (C_SORT_PAD);
307   END C_SORT_PADFORMULA;
308 
309   FUNCTION C_ITEM_PADFORMULA(C_ITEM_PAD IN VARCHAR2) RETURN VARCHAR2 IS
310   BEGIN
311     RETURN (C_ITEM_PAD);
312   END C_ITEM_PADFORMULA;
313 
314   FUNCTION C_SOURCE_WHEREFORMULA RETURN VARCHAR2 IS
315   BEGIN
316     IF P_SOURCE_TYPE_ID = 2 THEN
317       RETURN ('and md.demand_source_header_id = mkts.sales_order_id
318                      and ' || P_SOURCE_WHERE);
319     ELSE
320       IF P_SOURCE_TYPE_ID = 3 THEN
321         RETURN ('and md.demand_source_header_id = gl1.code_combination_id
322                        and ' || P_SOURCE_WHERE);
323       ELSE
324         IF P_SOURCE_TYPE_ID = 6 THEN
325           RETURN ('and md.demand_source_header_id = mdsp.disposition_id
326                          and ' || P_SOURCE_WHERE);
327         ELSE
328           IF P_SOURCE_TYPE_ID = 8 THEN
329             RETURN ('and md.demand_source_header_id = mkts.sales_order_id
330                            and ' || P_SOURCE_WHERE);
331           ELSE
332             IF P_SOURCE_TYPE_ID = 5 AND P_SOURCE_HI IS NOT NULL AND P_SOURCE_LO IS NOT NULL THEN
333               RETURN ('and md.demand_source_header_id = wip1.wip_entity_id
334                      	and wip1.wip_entity_name between ''' || P_SOURCE_LO || ''' and ''' || P_SOURCE_HI || ''' ');
335             ELSE
336               IF P_SOURCE_TYPE_ID = 5 AND P_SOURCE_HI IS NULL AND P_SOURCE_LO IS NOT NULL THEN
337                 RETURN ('and md.demand_source_header_id = wip1.wip_entity_id
338                                and wip1.wip_entity_name >= ''' || P_SOURCE_LO || ''' ');
339               ELSE
340                 IF P_SOURCE_TYPE_ID = 5 AND P_SOURCE_HI IS NOT NULL AND P_SOURCE_LO IS NULL THEN
341                   RETURN ('and md.demand_source_header_id = wip1.wip_entity_id
342                                  and wip1.wip_entity_name <= ''' || P_SOURCE_HI || ''' ');
343                 ELSE
344                   IF P_SOURCE_TYPE_ID >= 13 AND P_SOURCE_HI IS NOT NULL AND P_SOURCE_LO IS NOT NULL THEN
345                     RETURN ('and md.demand_source_name between ''' || P_SOURCE_LO || ''' and ''' || P_SOURCE_HI || ''' ');
346                   ELSE
347                     IF P_SOURCE_TYPE_ID >= 13 AND P_SOURCE_HI IS NULL AND P_SOURCE_LO IS NOT NULL THEN
348                       RETURN ('and md.demand_source_name >= ''' || P_SOURCE_LO || ''' ');
349                     ELSE
350                       IF P_SOURCE_TYPE_ID >= 13 AND P_SOURCE_HI IS NOT NULL AND P_SOURCE_LO IS NULL THEN
351                         RETURN ('and md.demand_source_name <= ''' || P_SOURCE_HI || ''' ');
352                       ELSE
353                         IF P_SOURCE_TYPE_ID IS NULL THEN
354                           RETURN ('and md.demand_source_header_id = mkts.sales_order_id(+)
355                                       and md.demand_source_header_id = gl1.code_combination_id(+)
356                                          and md.demand_source_header_id = mdsp.disposition_id(+)
357                                  ');
358                         ELSE
362                     END IF;
359                           NULL;
360                         END IF;
361                       END IF;
363                   END IF;
364                 END IF;
365               END IF;
366             END IF;
367           END IF;
368         END IF;
369       END IF;
370     END IF;
371     RETURN NULL;
372   END C_SOURCE_WHEREFORMULA;
373 
374   FUNCTION C_SOURCE_FROMFORMULA(C_SOURCE_WHERE IN VARCHAR2) RETURN VARCHAR2 IS
375   BEGIN
376     IF P_SOURCE_TYPE_ID = 2 THEN
377       RETURN (',MTL_SALES_ORDERS mkts');
378     ELSE
379       IF P_SOURCE_TYPE_ID = 3 THEN
380         RETURN (',GL_CODE_COMBINATIONS gl1');
381       ELSE
382         IF P_SOURCE_TYPE_ID = 6 THEN
383           RETURN (',MTL_GENERIC_DISPOSITIONS mdsp');
384         ELSE
385           IF P_SOURCE_TYPE_ID = 5 THEN
386             IF C_SOURCE_WHERE IS NULL THEN
387               RETURN NULL;
388             ELSE
389               RETURN (',WIP_ENTITIES wip1');
390             END IF;
391           ELSE
392             IF P_SOURCE_TYPE_ID = 8 THEN
393               RETURN (',MTL_SALES_ORDERS mkts');
394             ELSE
395               IF P_SOURCE_TYPE_ID IS NULL THEN
396                 RETURN (',MTL_SALES_ORDERS            	mkts,
397                                 MTL_GENERIC_DISPOSITIONS    mdsp,
398                                 GL_CODE_COMBINATIONS       gl1 ');
399               ELSE
400                 NULL;
401               END IF;
402             END IF;
403           END IF;
404         END IF;
405       END IF;
406     END IF;
407     RETURN NULL;
408   END C_SOURCE_FROMFORMULA;
409 
410   FUNCTION C_SOURCE_TYPE_NAMEFORMULA RETURN VARCHAR2 IS
411   BEGIN
412     DECLARE
413       SOURCE_TYPE_ID NUMBER;
414       NAME VARCHAR2(40);
415     BEGIN
416       IF P_SOURCE_TYPE_ID IS NOT NULL THEN
417         SOURCE_TYPE_ID := P_SOURCE_TYPE_ID;
418         SELECT
419           MAX(TRANSACTION_SOURCE_TYPE_NAME)
420         INTO NAME
421         FROM
422           MTL_TXN_SOURCE_TYPES
423         WHERE TRANSACTION_SOURCE_TYPE_ID = SOURCE_TYPE_ID;
424         RETURN (NAME);
425       ELSE
426         NULL;
427       END IF;
428     EXCEPTION
429       WHEN NO_DATA_FOUND THEN
430         RETURN ('No Data');
431       WHEN OTHERS THEN
432         RETURN ('Error');
433     END;
434     RETURN NULL;
435   END C_SOURCE_TYPE_NAMEFORMULA;
436 
437   FUNCTION C_CAT_SET_NAMEFORMULA RETURN VARCHAR2 IS
438   BEGIN
439     DECLARE
440       NAME VARCHAR2(30);
441       SET_ID NUMBER;
442     BEGIN
443       IF P_CAT_SET_ID IS NULL THEN
444         RETURN ('');
445       ELSE
446         SET_ID := P_CAT_SET_ID;
447         SELECT
448           CATEGORY_SET_NAME
449         INTO NAME
450         FROM
451           MTL_CATEGORY_SETS
452         WHERE CATEGORY_SET_ID = SET_ID;
453         RETURN (NAME);
454       END IF;
455     EXCEPTION
456       WHEN NO_DATA_FOUND THEN
457         RETURN ('No Data');
458       WHEN OTHERS THEN
459         RETURN ('Error');
460     END;
461     RETURN NULL;
462   END C_CAT_SET_NAMEFORMULA;
463 
464   FUNCTION C_DATE_WHEREFORMULA RETURN VARCHAR2 IS
465   BEGIN
466     IF P_DATE_LO_V IS NOT NULL AND P_DATE_HI_V IS NOT NULL THEN
467       RETURN ('and md.requirement_date between ' || 'to_date(''' || P_DATE_LO_V || ''',' || '''DD-MON-RRRR HH24:MI:SS''' || ')' || ' and ' || 'to_date(''' || P_DATE_HI_V || ''',' || '''DD-MON-RRRR HH24:MI:SS''' || ')');
468     ELSE
469       IF P_DATE_LO_V IS NULL AND P_DATE_HI_V IS NOT NULL THEN
470         RETURN ('and md.requirement_date <= ' || 'to_date(''' || P_DATE_HI_V || ''',' || '''DD-MON-RRRR HH24:MI:SS''' || ')');
471       ELSE
472         IF P_DATE_HI_V IS NULL AND P_DATE_LO_V IS NOT NULL THEN
473           RETURN ('and md.requirement_date >= ' || 'to_date(''' || P_DATE_LO_V || ''',' || '''DD-MON-RRRR HH24:MI:SS''' || ')');
474         ELSE
475           NULL;
476         END IF;
477       END IF;
478     END IF;
479     RETURN NULL;
480   END C_DATE_WHEREFORMULA;
481 
482   FUNCTION AFTERPFORM RETURN BOOLEAN IS
483   BEGIN
484     RETURN (TRUE);
485   END AFTERPFORM;
486 
487   FUNCTION C_SRC_WHEREFORMULA RETURN VARCHAR2 IS
488   BEGIN
489     RETURN ('and md.demand_source_name between ''' || P_SOURCE_LO || ''' and ''' || P_SOURCE_HI || ''' ');
490   END C_SRC_WHEREFORMULA;
491 
492   FUNCTION C_SORT_DATE_FIELDFORMULA(C_SORT_FLEX IN VARCHAR2) RETURN DATE IS
493   BEGIN
494     IF P_SORT_ID = 1 THEN
495       RETURN TO_DATE(C_SORT_FLEX
496                     ,'J');
497     ELSE
498       NULL;
499     END IF;
500     RETURN NULL;
501   END C_SORT_DATE_FIELDFORMULA;
502 
503 END INV_INVDRRSV_XMLP_PKG;
504