DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_INVTRLNT_XMLP_PKG

Source


1 PACKAGE BODY INV_INVTRLNT_XMLP_PKG AS
2 /* $Header: INVTRLNTB.pls 120.0 2007/12/28 11:16:50 dwkrishn noship $ */
3   FUNCTION P_STRUCT_NUMVALIDTRIGGER RETURN BOOLEAN IS
4   BEGIN
5     RETURN (TRUE);
6   END P_STRUCT_NUMVALIDTRIGGER;
7 
8   FUNCTION WHERE_LOT RETURN VARCHAR2 IS
9   BEGIN
10     DECLARE
11       LO VARCHAR2(80);
12       HI VARCHAR2(80);
13     BEGIN
14       LO := P_LOT_LO;
15       HI := P_LOT_HI;
16       IF P_LOT_LO IS NULL AND P_LOT_HI IS NULL THEN
17         RETURN ('  ');
18       ELSE
19         IF P_LOT_LO IS NOT NULL AND P_LOT_HI IS NULL THEN
20           RETURN (' and mtln.lot_number >= ''' || LO || ''' ');
21         ELSE
22           IF P_LOT_LO IS NULL AND P_LOT_HI IS NOT NULL THEN
23             RETURN (' and mtln.lot_number <= ''' || HI || ''' ');
24           ELSE
25             RETURN (' and mtln.lot_number between ''' || LO || '''  and  ''' || HI || ''' ');
26           END IF;
27         END IF;
28       END IF;
29     END;
30     RETURN NULL;
31   END WHERE_LOT;
32 
33   FUNCTION WHERE_REASON RETURN VARCHAR2 IS
34   BEGIN
35     DECLARE
36       LO VARCHAR2(50);
37       HI VARCHAR2(50);
38     BEGIN
39       LO := P_REASON_LO;
40       HI := P_REASON_HI;
41       IF P_REASON_LO IS NULL AND P_REASON_HI IS NULL THEN
42         RETURN ('  ');
43       ELSE
44         IF P_REASON_LO IS NOT NULL AND P_REASON_HI IS NULL THEN
45           RETURN ('  AND  mtr.reason_name >=  ''' || LO || ''' ');
46         ELSE
47           IF P_REASON_LO IS NULL AND P_REASON_HI IS NOT NULL THEN
48             RETURN ('  AND mtr.reason_name <= ''' || HI || ''' ');
49           ELSE
50             RETURN (' AND mtr.reason_name between  ''' || LO || '''  and  ''' || HI || ''' ');
51           END IF;
52         END IF;
53       END IF;
54     END;
55     RETURN NULL;
56   END WHERE_REASON;
57 
58   FUNCTION WHERE_SUBINV RETURN VARCHAR2 IS
59   BEGIN
60     DECLARE
61       LO VARCHAR2(10);
62       HI VARCHAR2(10);
63     BEGIN
64       LO := P_SUBINV_LO;
65       HI := P_SUBINV_HI;
66       IF P_SUBINV_LO IS NULL AND P_SUBINV_HI IS NULL THEN
67         RETURN ('  ');
68       ELSE
69         IF P_SUBINV_LO IS NOT NULL AND P_SUBINV_HI IS NULL THEN
70           RETURN ('  AND mmt.subinventory_code >= ''' || LO || ''' ');
71         ELSE
72           IF P_SUBINV_LO IS NULL AND P_SUBINV_HI IS NOT NULL THEN
73             RETURN ('  AND mmt.subinventory_code <=  ''' || HI || ''' ');
74           ELSE
75             RETURN ('  AND mmt.subinventory_code between  ''' || LO || '''  and ''' || HI || ''' ');
76           END IF;
77         END IF;
78       END IF;
79     END;
80     RETURN NULL;
81   END WHERE_SUBINV;
82 
83   FUNCTION WHERE_TXN_TYPE RETURN VARCHAR2 IS
84   BEGIN
85     DECLARE
86       LO VARCHAR2(80);
87       HI VARCHAR2(80);
88     BEGIN
89       LO := P_TXN_TYPE_LO;
90       HI := P_TXN_TYPE_HI;
91       IF P_TXN_TYPE_LO IS NULL AND P_TXN_TYPE_HI IS NULL THEN
92         RETURN ('  ');
93       ELSE
94         IF P_TXN_TYPE_LO IS NOT NULL AND P_TXN_TYPE_HI IS NULL THEN
95           RETURN ('  AND  mtxt.transaction_type_name >= ''' || LO || ''' ');
96         ELSE
97           IF P_TXN_TYPE_LO IS NULL AND P_TXN_TYPE_HI IS NOT NULL THEN
98             RETURN ('  AND mtxt.transaction_type_name <= ''' || HI || ''' ');
99           ELSE
100             RETURN (' AND  mtxt.transaction_type_name between ''' || LO || '''  and  ''' || HI || ''' ');
101           END IF;
102         END IF;
103       END IF;
104     END;
105     RETURN NULL;
106   END WHERE_TXN_TYPE;
107 
108   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
109   BEGIN
110     BEGIN
111       P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
112       /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
113     EXCEPTION
114       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
115         /*SRW.MESSAGE(010
116                    ,'Failed in before report trigger, srwinit. ')*/NULL;
117         RAISE;
118     END;
119     DECLARE
120       P_ORG_ID_CHAR VARCHAR2(100) := TO_CHAR(P_ORG);
121     BEGIN
122       /*SRW.USER_EXIT('FND PUTPROFILE NAME="' || 'MFG_ORGANIZATION_ID' || '" FIELD="' || P_ORG_ID_CHAR || '"')*/NULL;
123     EXCEPTION
124       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
125         /*SRW.MESSAGE(020
126                    ,'Failed in before report trigger, setting org profile ')*/NULL;
127         RAISE;
128     END;
129     BEGIN
130       NULL;
131     EXCEPTION
132       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
133         /*SRW.MESSAGE(020
134                    ,'Failed in before report trigger, item select. ')*/NULL;
135         RAISE;
136     END;
137     BEGIN
138       NULL;
139     EXCEPTION
140       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
141         /*SRW.MESSAGE(030
142                    ,'Failed in before report trigger, locator select. ')*/NULL;
143         RAISE;
144     END;
145     BEGIN
146       NULL;
147     EXCEPTION
148       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
149         /*SRW.MESSAGE(040
150                    ,'Failed in before report trigger, mkts select. ')*/NULL;
151         RAISE;
152     END;
153     BEGIN
154       NULL;
155     EXCEPTION
156       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
157         /*SRW.MESSAGE(045
158                    ,'Failed in before report trigger, mkts order by.')*/NULL;
159         RAISE;
160     END;
161     BEGIN
162       NULL;
163     EXCEPTION
164       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
165         /*SRW.MESSAGE(050
166                    ,'Failed in before report trigger, mdsp select. ')*/NULL;
167         RAISE;
168     END;
169     BEGIN
170       NULL;
171     EXCEPTION
172       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
173         /*SRW.MESSAGE(055
174                    ,'Failed in before report trigger, mdsp order by. ')*/NULL;
175         RAISE;
176     END;
177     BEGIN
178       NULL;
179     EXCEPTION
180       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
181         /*SRW.MESSAGE(060
182                    ,'Failed in before report triger, glcc select. ')*/NULL;
183         RAISE;
184     END;
185     BEGIN
186       NULL;
187     EXCEPTION
188       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
189         /*SRW.MESSAGE(065
190                    ,'Failed in before report trigger, glcc order by. ')*/NULL;
191         RAISE;
192     END;
193     BEGIN
194       NULL;
195     EXCEPTION
196       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
197         /*SRW.MESSAGE(070
198                    ,'Failed in before report trigger, catg select. ')*/NULL;
199         RAISE;
200     END;
201     BEGIN
202       NULL;
203     EXCEPTION
204       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
205         /*SRW.MESSAGE(080
206                    ,'Failed in before report trigger, item order by. ')*/NULL;
207         RAISE;
208     END;
209     BEGIN
210       NULL;
211     EXCEPTION
212       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
213         /*SRW.MESSAGE(100
214                    ,'Failed in before report trigger, catg order by. ')*/NULL;
215         RAISE;
216     END;
217     BEGIN
218       NULL;
219     EXCEPTION
220       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
221         /*SRW.MESSAGE(110
222                    ,'Failed in before report trigger, item where. ')*/NULL;
223         RAISE;
224     END;
225     BEGIN
226       NULL;
227     EXCEPTION
228       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
229         /*SRW.MESSAGE(120
230                    ,'Failed in before report trigger, catg where. ')*/NULL;
231         RAISE;
232     END;
233     IF P_TXN_SOURCE_TYPE_ID in (2,8,12) THEN
234       BEGIN
235         IF P_TXN_SOURCE_HI IS NOT NULL OR P_TXN_SOURCE_LO IS NOT NULL THEN
236           NULL;
237         ELSE
238           NULL;
239         END IF;
240       EXCEPTION
241         WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
242           /*SRW.MESSAGE(1
243                      ,'Failed in before report trigger:MKTS/where')*/NULL;
244           RAISE;
245       END;
246     ELSE
247       IF P_TXN_SOURCE_TYPE_ID = 6 THEN
248         BEGIN
249           IF P_TXN_SOURCE_HI IS NOT NULL OR P_TXN_SOURCE_LO IS NOT NULL THEN
250             NULL;
251           ELSE
252             NULL;
253           END IF;
254         EXCEPTION
255           WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
256             /*SRW.MESSAGE(1
257                        ,'Failed in before report trigger:MDSP/where')*/NULL;
258             RAISE;
259         END;
260       ELSE
261         IF P_TXN_SOURCE_TYPE_ID = 3 THEN
262           BEGIN
263             IF P_TXN_SOURCE_HI IS NOT NULL OR P_TXN_SOURCE_LO IS NOT NULL THEN
264               NULL;
265             ELSE
266               NULL;
267             END IF;
268           EXCEPTION
269             WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
270               /*SRW.MESSAGE(1
271                          ,'Failed in before report trigger:GL/where')*/NULL;
272               RAISE;
273           END;
274         ELSE
275           NULL;
276         END IF;
277       END IF;
278     END IF;
279     RETURN (TRUE);
280     RETURN (TRUE);
281   END BEFOREREPORT;
282 
283   FUNCTION C_SOURCE_WHEREFORMULA RETURN VARCHAR2 IS
284   BEGIN
285     BEGIN
286       IF P_TXN_SOURCE_TYPE_ID in (2,8,12) AND (P_TXN_SOURCE_LO IS NOT NULL OR P_TXN_SOURCE_HI IS NOT NULL) THEN
287         RETURN ('and mtln.transaction_source_id = mkts.sales_order_id
291           RETURN ('and mtln.transaction_source_id = glcc.code_combination_id
288                        and ' || P_SOURCE_WHERE);
289       ELSE
290         IF P_TXN_SOURCE_TYPE_ID = 3 AND (P_TXN_SOURCE_LO IS NOT NULL OR P_TXN_SOURCE_HI IS NOT NULL) THEN
292                          and ' || P_SOURCE_WHERE);
293         ELSE
294           IF P_TXN_SOURCE_TYPE_ID = 6 AND (P_TXN_SOURCE_LO IS NOT NULL OR P_TXN_SOURCE_HI IS NOT NULL) THEN
295             RETURN ('and mtln.transaction_source_id = mdsp.disposition_id
296                            and ' || P_SOURCE_WHERE);
297           END IF;
298         END IF;
299       END IF;
300     END;
301     BEGIN
302       IF P_TXN_SOURCE_TYPE_ID = 1 THEN
303         IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
304           RETURN ('and mtln.transaction_source_id = poh.po_header_id
305                  	and poh.segment1 between ''' || P_TXN_SOURCE_LO || ''' and ''' || P_TXN_SOURCE_HI || ''' ');
306         ELSE
307           IF P_TXN_SOURCE_HI IS NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
308             RETURN ('and mtln.transaction_source_id = poh.po_header_id
309                    	and poh.segment1 >= ''' || P_TXN_SOURCE_LO || ''' ');
310           ELSE
311             IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NULL THEN
312               RETURN ('and mtln.transaction_source_id = poh.po_header_id
313                      	and poh.segment1 <= ''' || P_TXN_SOURCE_HI || ''' ');
314             END IF;
315           END IF;
316         END IF;
317       END IF;
318     END;
319     BEGIN
320       IF P_TXN_SOURCE_TYPE_ID = 5 THEN
321         IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
322           RETURN ('and mtln.transaction_source_id = wipe.wip_entity_id
323                  	and wipe.wip_entity_name between ''' || P_TXN_SOURCE_LO || ''' and ''' || P_TXN_SOURCE_HI || ''' ');
324         ELSE
325           IF P_TXN_SOURCE_HI IS NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
326             RETURN ('and mtln.transaction_source_id = wipe.wip_entity_id
327                            and wipe.wip_entity_name >= ''' || P_TXN_SOURCE_LO || ''' ');
328           ELSE
329             IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NULL THEN
330               RETURN ('and mtln.transaction_source_id = wipe.wip_entity_id
331                              and wipe.wip_entity_name <= ''' || P_TXN_SOURCE_HI || ''' ');
332             END IF;
333           END IF;
334         END IF;
335       END IF;
336     END;
337     BEGIN
338       IF P_TXN_SOURCE_TYPE_ID = 7 THEN
339         IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
340           RETURN ('and mtln.transaction_source_id = porh.requisition_header_id
341                  	and porh.segment1 between ''' || P_TXN_SOURCE_LO || ''' and ''' || P_TXN_SOURCE_HI || ''' ');
342         ELSE
343           IF P_TXN_SOURCE_HI IS NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
344             RETURN ('and mtln.transaction_source_id = porh.requisition_header_id
345                    	and porh.segment1 >= ''' || P_TXN_SOURCE_LO || ''' ');
346           ELSE
347             IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NULL THEN
348               RETURN ('and mtln.transaction_source_id = porh.requisition_header_id
349                      	and porh.segment1 <= ''' || P_TXN_SOURCE_HI || ''' ');
350             END IF;
351           END IF;
352         END IF;
353       END IF;
354     END;
355     BEGIN
356       IF P_TXN_SOURCE_TYPE_ID = 9 THEN
357         IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
358           RETURN ('and mtln.transaction_source_id = CCH.cycle_count_header_id
359                  	and CCH.cycle_count_header_name between ''' || P_TXN_SOURCE_LO || ''' and ''' || P_TXN_SOURCE_HI || ''' ');
360         ELSE
361           IF P_TXN_SOURCE_HI IS NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
362             RETURN ('and mtln.transaction_source_id = CCH.cycle_count_header_id
363                    	and CCH.cycle_count_header_name >= ''' || P_TXN_SOURCE_LO || ''' ');
364           ELSE
365             IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NULL THEN
366               RETURN ('and mtln.transaction_source_id = CCH.cycle_count_header_id
367                      	and CCH.cycle_count_header_name <= ''' || P_TXN_SOURCE_HI || ''' ');
368             END IF;
369           END IF;
370         END IF;
371       END IF;
372     END;
373     BEGIN
374       IF P_TXN_SOURCE_TYPE_ID = 10 THEN
375         IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
376           RETURN ('and mtln.transaction_source_id = mpi.physical_inventory_id
377                  	and mpi.physical_inventory_name between ''' || P_TXN_SOURCE_LO || ''' and ''' || P_TXN_SOURCE_HI || ''' ');
378         ELSE
379           IF P_TXN_SOURCE_HI IS NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
380             RETURN ('and mtln.transaction_source_id = mpi.physical_inventory_id
381                    	and mpi.physical_inventory_name >= ''' || P_TXN_SOURCE_LO || ''' ');
382           ELSE
383             IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NULL THEN
384               RETURN ('and mtln.transaction_source_id = mpi.physical_inventory_id
385                      	and mpi.physical_inventory_name <= ''' || P_TXN_SOURCE_HI || ''' ');
386             END IF;
387           END IF;
388         END IF;
389       END IF;
390     END;
391     BEGIN
392       IF P_TXN_SOURCE_TYPE_ID = 11 THEN
393         IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
394           RETURN ('and mtln.transaction_source_id = cupd.cost_update_id
395                  	and cupd.description between ''' || P_TXN_SOURCE_LO || ''' and ''' || P_TXN_SOURCE_HI || ''' ');
396         ELSE
397           IF P_TXN_SOURCE_HI IS NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
398             RETURN ('and mtln.transaction_source_id = cupd.cost_update_id
399                    	and cupd.description between >= ''' || P_TXN_SOURCE_LO || ''' ');
400           ELSE
401             IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NULL THEN
402               RETURN ('and mtln.transaction_source_id = cupd.cost_update_id
403                      	and cupd.description <= ''' || P_TXN_SOURCE_HI || ''' ');
404             END IF;
405           END IF;
406         END IF;
407       END IF;
408     END;
409     BEGIN
410       IF P_TXN_SOURCE_TYPE_ID >= 13 THEN
411         IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
412           RETURN ('and mtln.transaction_source_name between ''' || P_TXN_SOURCE_LO || ''' and ''' || P_TXN_SOURCE_HI || ''' ');
413         ELSE
414           IF P_TXN_SOURCE_HI IS NULL AND P_TXN_SOURCE_LO IS NOT NULL THEN
415             RETURN ('and mtln.transaction_source_name >= ''' || P_TXN_SOURCE_LO || ''' ');
416           ELSE
417             IF P_TXN_SOURCE_HI IS NOT NULL AND P_TXN_SOURCE_LO IS NULL THEN
418               RETURN ('and mtln.transaction_source_name <= ''' || P_TXN_SOURCE_HI || ''' ');
419             END IF;
420           END IF;
421         END IF;
422       END IF;
423     END;
424     RETURN '  ';
425   END C_SOURCE_WHEREFORMULA;
426 
427   FUNCTION C_REPORT_DATE_CURRENCY_TITFORM(C_CURRENCY_CODE IN VARCHAR2) RETURN VARCHAR2 IS
428   BEGIN
429     RETURN (' From ' || TO_CHAR(P_TXN_DATE_LO
430                   ,'DD-MON-RRRR') || ' to ' || TO_CHAR(P_TXN_DATE_HI
431                   ,'DD-MON-RRRR') || ' (' || C_CURRENCY_CODE || ')');
432   END C_REPORT_DATE_CURRENCY_TITFORM;
433 
434   FUNCTION P_MDSP_ORDER_BYVALIDTRIGGER RETURN BOOLEAN IS
435   BEGIN
436     RETURN (TRUE);
437   END P_MDSP_ORDER_BYVALIDTRIGGER;
438 
439   FUNCTION AFTERREPORT RETURN BOOLEAN IS
440   BEGIN
441     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
442     RETURN (TRUE);
443   END AFTERREPORT;
444 
445   FUNCTION CALC_UNIT_COST(RPT_QTY IN NUMBER
446                          ,EXTD_COST IN NUMBER
447                          ,C_EXT_PRECISION IN VARCHAR2) RETURN NUMBER IS
448   BEGIN
449     DECLARE
450       IN_QTY NUMBER;
451       IN_EXTD_COST NUMBER;
452       IN_ROUND_AT NUMBER;
453       OUT_COST NUMBER;
454     BEGIN
455       IN_QTY := RPT_QTY;
456       IN_EXTD_COST := EXTD_COST;
457       IN_ROUND_AT := C_EXT_PRECISION;
458       IF IN_QTY = 0 THEN
459         OUT_COST := ROUND(0
460                          ,IN_ROUND_AT);
461       ELSE
462         OUT_COST := ROUND((IN_EXTD_COST / IN_QTY)
463                          ,IN_ROUND_AT);
464       END IF;
465       RETURN (OUT_COST);
466     END;
467     RETURN NULL;
468   END CALC_UNIT_COST;
469 
470   FUNCTION C_SERIAL_WHEREFORMULA RETURN VARCHAR2 IS
471   BEGIN
472     IF P_SERIAL_DETAIL = 1 THEN
473       RETURN (' and  mtln.serial_transaction_id  = mut.transaction_id(+) ');
474     ELSE
475       RETURN ('  ');
476     END IF;
477     RETURN NULL;
478   END C_SERIAL_WHEREFORMULA;
479 
480   FUNCTION C_SERIAL_FROMFORMULA RETURN VARCHAR2 IS
481   BEGIN
482     IF P_SERIAL_DETAIL = 1 THEN
483       RETURN (' ,  mtl_unit_transactions mut ');
484     ELSE
485       RETURN (' ');
486     END IF;
487     RETURN NULL;
488   END C_SERIAL_FROMFORMULA;
489 
490   FUNCTION C_SERIAL_COLUMNFORMULA RETURN VARCHAR2 IS
491   BEGIN
492     IF P_SERIAL_DETAIL = 1 THEN
493       RETURN (' mut.serial_number ');
494     ELSE
495       RETURN ('''X''');
496     END IF;
497     RETURN NULL;
498   END C_SERIAL_COLUMNFORMULA;
499 
500   FUNCTION AFTERPFORM RETURN BOOLEAN IS
501   BEGIN
502     RETURN (TRUE);
503   END AFTERPFORM;
504 
505   FUNCTION C_TXN_SOURCE_TYPE_WHEREFORMULA RETURN VARCHAR2 IS
506   BEGIN
507     BEGIN
508       IF P_TXN_SOURCE_TYPE_ID IS NOT NULL THEN
509         RETURN (' and  mtln.transaction_source_type_id  = ' || TO_CHAR(P_TXN_SOURCE_TYPE_ID));
510       END IF;
511     END;
512     RETURN '  ';
513   END C_TXN_SOURCE_TYPE_WHEREFORMULA;
514 
515   FUNCTION C_SECONDARY_UOMFORMULA(BREAK_ITEM_ID IN NUMBER
516                                  ,SEC_QTY IN NUMBER
517                                  ,SECONDARY_UOM_CODE IN VARCHAR2) RETURN CHAR IS
518     CURSOR GET_ITEM_TRACK IS
519       SELECT
520         TRACKING_QUANTITY_IND
521       FROM
522         MTL_SYSTEM_ITEMS
523       WHERE INVENTORY_ITEM_ID = BREAK_ITEM_ID
524         AND ORGANIZATION_ID = P_ORG;
525     L_TRACKING_QUANTITY_IND VARCHAR2(30);
526     L_UOM_CODE VARCHAR2(10);
527   BEGIN
528     OPEN GET_ITEM_TRACK;
529     FETCH GET_ITEM_TRACK
530      INTO L_TRACKING_QUANTITY_IND;
531     CLOSE GET_ITEM_TRACK;
532     IF L_TRACKING_QUANTITY_IND = 'PS' THEN
533       CP_SEC_QTY := SEC_QTY;
534       L_UOM_CODE := SECONDARY_UOM_CODE;
535     ELSE
536       CP_SEC_QTY := NULL;
537       L_UOM_CODE := NULL;
538     END IF;
539     RETURN L_UOM_CODE;
540   END C_SECONDARY_UOMFORMULA;
541 
542   FUNCTION CP_SEC_QTY_P RETURN NUMBER IS
543   BEGIN
544     RETURN CP_SEC_QTY;
545   END CP_SEC_QTY_P;
546 
547 END INV_INVTRLNT_XMLP_PKG;
548 
549