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