1 PACKAGE BODY INV_VIEW_MTL_TXN AS
2 /*$Header: INVVTXNB.pls 120.6 2010/09/28 11:55:38 skommine ship $*/
3
4 /*
5 ** --------------------------------------------------------------------------
6 ** Procedure :Get_Decription
7 ** Decription: This procedure accepts thedentofiers and returns the
8 ** description for the identifiers. The following columns
9 ** from mtl_material_transactions are passed as input for
10 ** this procedure
11 **
12 ** TRANSACTION_TYPE_ID
13 ** TRANSACTION_ACTION_ID
14 ** COSTED_FLAG
15 ** PM_COST_COLLECTED
16 ** PM_COST_COLLECTOR_GROUP_ID
17 ** TRANSACTION_SOURCE_TYPE_ID
18 ** REASON_ID
19 ** DEPARTMENT_ID
20 ** TRANSFER_ORGANIZATION_ID
21 ** LPN_ID
22 ** CONTENT_LPN_ID
23 ** TRANSFER_LPN_ID
24 ** COST_GROUP_ID
25 ** TRANSFER_COST_GROUP_ID
26 ** INV_ADV_INSTALLED
27 ** PUT_AWAY_STRATEGY_ID
28 ** PUT_AWAY_RULE_ID
29 ** PICK_STRATEGY_ID
30 ** PICK_RULE_ID
31 ** ORGANIZATION_ID
32 ** TRANSFER_OWNING_TP_TYPE
33 ** XFR_OWNING_ORGANIZATION_ID
34 **
35 ** The following are the output columns for the procedure:
36 ** X_RETURN_STATUS :Return Status indicating success,
37 ** error, unexpected error for the procedure
38 ** X_MSG_DATA :if the number of messages in message list
39 ** is 1, contains message text
40 ** X_MSG_COUNT :number of messages in message list
41 ** X_TRANSACTION_TYPE_NAME : Description for TRANSACTION_TYPE_ID
42 ** X_TRANSACTION_ACTION : Description for TRANSACTION_ACTION_ID
43 ** X_COSTED_FLAG_1 : Description for COSTED_FLAG
44 ** X_COSTED_LOOKUP_CODE : Description for COSTED_LOOKUP_CODE
45 ** X_PM_COST_COLLECTED_1 : Description for PM_COST_COLLECTED
46 ** X_PM_COST_COLLECTED_LK_CODE : Description for COSTED_LOOKUP_CODE
47 ** X_TRANSACTION_SOURCE_TYPE_NAME: Description for TRANSACTION_SOURCE_TYPE_ID
48 ** X_TRANSACTION_SOURCE_NAME_DB : Description for TRANSACTION_SOURCE_TYPE_ID
49 ** X_REASON_NAME : Description for REASON_ID
50 ** X_DEPARTMENT_CODE : Description for DEPARTMENT_ID
51 ** X_TRANSFER_ORGANIZATION_NAME : Description for TRANSFER_ORGANIZATION_ID
52 ** X_TRANSFER_LPN : Description for TRANSFER_LPN_ID
53 ** X_CONTENT_LPN : Description for CONTENT_LPN_ID
54 ** X_LPN : Description for LPN_ID
55 ** X_COST_GROUP_NAME : Description for COST_GROUP_ID
56 ** X_TRANSFER_COST_GROUP_NAME : Description for TRANSFER_COST_GROUP_ID
57 ** X_PUT_AWAY_STRATEGY_NAME : Description for PUT_AWAY_STRATEGY_ID
58 ** X_PUT_AWAY_RULE_NAME : Description for PUT_AWAY_RULE_ID
59 ** X_PICK_STRATEGY_NAME : Description for PICK_STRATEGY_ID
60 ** X_PICK_RULE_NAME : Description for PICK_RULE_ID
61 ** X_ORGANIZATION_CODE : Description for ORGANIZATION_ID
62 ** X_OPERATIN_UNIT : Operating Unit for the ORGANIZATION_ID
63 ** X_XFR_OWNING_ORGANIZATION_NAME: Description for XFR_OWNING_ORGANIZATION_ID
64 */
65 PROCEDURE GET_DESCRIPTION(
66 X_RETURN_STATUS OUT NOCOPY VARCHAR2
67 ,X_MSG_DATA OUT NOCOPY VARCHAR2
68 ,X_MSG_COUNT OUT NOCOPY NUMBER
69 ,X_TRANSACTION_TYPE_NAME OUT NOCOPY VARCHAR2
70 ,X_TRANSACTION_ACTION OUT NOCOPY VARCHAR2
71 ,X_COSTED_FLAG_1 OUT NOCOPY VARCHAR2
72 ,X_COSTED_LOOKUP_CODE OUT NOCOPY VARCHAR2
73 ,X_PM_COST_COLLECTED_1 OUT NOCOPY VARCHAR2
74 ,X_PM_COST_COLLECTED_LK_CODE OUT NOCOPY VARCHAR2
75 ,X_TRANSACTION_SOURCE_TYPE_NAME OUT NOCOPY VARCHAR2
76 ,X_TRANSACTION_SOURCE_NAME_DB OUT NOCOPY VARCHAR2
77 ,X_REASON_NAME OUT NOCOPY VARCHAR2
78 ,X_DEPARTMENT_CODE OUT NOCOPY VARCHAR2
79 ,X_TRANSFER_ORGANIZATION_NAME OUT NOCOPY VARCHAR2
80 ,X_TRANSFER_LPN OUT NOCOPY VARCHAR2
81 ,X_CONTENT_LPN OUT NOCOPY VARCHAR2
82 ,X_LPN OUT NOCOPY VARCHAR2
83 ,X_COST_GROUP_NAME OUT NOCOPY VARCHAR2
84 ,X_TRANSFER_COST_GROUP_NAME OUT NOCOPY VARCHAR2
85 ,X_put_away_strategy_name OUT NOCOPY VARCHAR2
86 ,X_put_away_rule_name OUT NOCOPY VARCHAR2
87 ,X_PICK_STRATEGY_NAME OUT NOCOPY VARCHAR2
88 ,X_PICK_RULE_NAME OUT NOCOPY VARCHAR2
89 ,x_owning_organization_name OUT NOCOPY VARCHAR2
90 ,x_supplier OUT NOCOPY VARCHAR2
91 ,x_supplier_site_name OUT NOCOPY varchar2
92 ,X_ORGANIZATION_CODE OUT NOCOPY VARCHAR2
93 ,X_OPERATING_UNIT OUT NOCOPY VARCHAR2
94 ,X_XFR_OWNING_ORGANIZATION_NAME OUT NOCOPY VARCHAR2
95 ,p_TRANSACTION_TYPE_ID IN NUMBER
96 ,p_TRANSACTION_ACTION_ID IN NUMBER
97 ,p_COSTED_FLAG IN VARCHAR2
98 ,p_PM_COST_COLLECTED IN VARCHAR2
99 ,P_PM_COST_COLLECTOR_GROUP_ID IN VARCHAR2
100 ,p_TRANSACTION_SOURCE_TYPE_ID IN NUMBER
101 ,P_REASON_ID IN NUMBER
102 ,p_DEPARTMENT_ID IN NUMBER
103 ,p_TRANSFER_ORGANIZATION_ID IN NUMBER
104 ,p_LPN_ID IN NUMBER
105 ,p_content_lpn_id IN NUMBER
106 ,p_transfer_lpn_id IN NUMBER
107 ,p_COST_GROUP_ID IN NUMBER
108 ,p_TRANSFER_COST_GROUP_ID IN NUMBER
109 ,p_INV_ADV_INSTALLED IN VARCHAR2
110 ,p_put_away_strategy_id IN NUMBER
111 ,p_put_away_rule_id IN NUMBER
112 ,p_pick_strategy_id IN NUMBER
113 ,p_pick_rule_id IN NUMBER
114 ,p_owning_organization_id IN NUMBER
115 ,p_planning_tp_type IN NUMBER
116 ,p_owning_tp_type IN NUMBER
117 ,p_planning_organization_id IN number
118 ,p_organization_id IN NUMBER DEFAULT NULL
119 ,p_transfer_owning_tp_type IN NUMBER
120 ,p_xfr_owning_organization_id IN NUMBER
121 ) IS
122 BEGIN
123
124 SAVEPOINT get_desc;
125
126 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
127
128 IF (p_owning_tp_type IS NULL OR p_owning_tp_type=2) THEN
129 BEGIN
130 SELECT (MP.organization_code||'-'||HAOU.name)
131 INTO x_owning_organization_name
132 FROM HR_ALL_ORGANIZATION_UNITS HAOU
133 , MTL_PARAMETERS MP
134 WHERE HAOU.ORGANIZATION_ID = MP.ORGANIZATION_ID
135 AND HAOU.ORGANIZATION_ID = p_owning_organization_id;
136 EXCEPTION
137 WHEN OTHERS THEN
138 NULL;
139 END;
140 END IF;
141
142 IF (p_owning_tp_type=1) THEN
143 BEGIN
144 SELECT (pov.vendor_name||'-'||povs.vendor_site_code)
145 INTO x_owning_organization_name
146 FROM po_vendor_sites_all povs, po_vendors POV
147 WHERE povs.vendor_site_id = p_owning_organization_id
148 AND povs.vendor_id = pov.vendor_id;
149 EXCEPTION
150 WHEN OTHERS THEN
151 NULL;
152 END;
153 END IF;
154
155 -- no need to get transfer owning org when tp type is NULL
156 -- only get transfer owning org for transfer to regular
157 -- transaction type
158 IF NOT (p_transfer_owning_tp_type=2 AND
159 p_transaction_source_type_id = 1 AND
160 p_transaction_action_id = 6) THEN
161 BEGIN
162 SELECT (MP.organization_code||'-'||HAOU.name)
163 INTO x_xfr_owning_organization_name
164 FROM HR_ALL_ORGANIZATION_UNITS HAOU
165 , MTL_PARAMETERS MP
166 WHERE HAOU.ORGANIZATION_ID = MP.ORGANIZATION_ID
167 AND HAOU.ORGANIZATION_ID = p_xfr_owning_organization_id;
168 EXCEPTION
169 WHEN OTHERS THEN
170 NULL;
171 END;
172 END IF;
173
174 IF (p_transfer_owning_tp_type=1) THEN
175 BEGIN
176 SELECT (pov.vendor_name||'-'||povs.vendor_site_code)
177 INTO x_xfr_owning_organization_name
178 FROM po_vendor_sites_all povs, po_vendors POV
179 WHERE povs.vendor_site_id = p_xfr_owning_organization_id
180 AND povs.vendor_id = pov.vendor_id;
181 EXCEPTION
182 WHEN OTHERS THEN
183 NULL;
184 END;
185 END IF;
186
187 IF (p_PLANNING_TP_TYPE IS NULL OR p_planning_tp_type=2) THEN
188 BEGIN
189 SELECT (MP.organization_code||'-'||HAOU.name), NULL
190 INTO x_supplier_site_name, x_supplier
191 FROM HR_ALL_ORGANIZATION_UNITS HAOU
192 , MTL_PARAMETERS MP
193 WHERE HAOU.ORGANIZATION_ID = MP.ORGANIZATION_ID
194 AND HAOU.ORGANIZATION_ID = p_planning_organization_id;
195 EXCEPTION
196 WHEN OTHERS THEN
197 NULL;
198
199 END;
200 END IF;
201
202 IF (p_planning_tp_type=1) THEN
203 BEGIN
204 SELECT (pov.vendor_name||'-'||povs.vendor_site_code),pov.vendor_name
205 INTO x_supplier_site_name, x_supplier
206 FROM po_vendor_sites_all povs, po_vendors POV
207 WHERE povs.vendor_site_id = p_planning_organization_id
208 AND povs.vendor_id = pov.vendor_id;
209
210 EXCEPTION
211 WHEN OTHERS THEN
212 NULL;
213 END;
214 END IF;
215
216 IF p_TRANSACTION_TYPE_ID IS NOT NULL THEN
217 BEGIN
218 SELECT TRANSACTION_TYPE_NAME
219 INTO x_TRANSACTION_TYPE_NAME
220 FROM MTL_TRANSACTION_TYPES
221 WHERE TRANSACTION_TYPE_ID = p_TRANSACTION_TYPE_ID;
222 EXCEPTION
223 WHEN OTHERS THEN
224 NULL;
225 END;
226 END IF;
227
228 IF p_TRANSACTION_ACTION_ID IS NOT NULL THEN
229 BEGIN
230 SELECT MEANING
231 INTO x_TRANSACTION_ACTION
232 FROM MFG_LOOKUPS
233 WHERE LOOKUP_TYPE ='MTL_TRANSACTION_ACTION'
234 AND LOOKUP_CODE =p_TRANSACTION_ACTION_ID;
235 EXCEPTION
236 WHEN OTHERS THEN
237 NULL;
238 END;
239 END IF;
240
241 BEGIN
242 SELECT MEANING,LOOKUP_CODE
243 INTO x_COSTED_FLAG_1,
244 x_COSTED_LOOKUP_CODE
245 FROM MFG_LOOKUPS
246 WHERE LOOKUP_TYPE ='INV_YES_NO_ERROR'
247 AND LOOKUP_CODE =DECODE(p_COSTED_FLAG,NULL,1,'Y',1,'N',2,'E',3);
248 EXCEPTION
249 WHEN OTHERS THEN
250 null;
251 END;
252 BEGIN
253 SELECT MEANING,LOOKUP_CODE
254 INTO x_PM_COST_COLLECTED_1,
255 x_PM_COST_COLLECTED_LK_CODE
256 FROM MFG_LOOKUPS
257 WHERE LOOKUP_TYPE ='INV_YES_NO_ERROR_NA'
258 AND LOOKUP_CODE =DECODE (p_PM_COST_COLLECTED, NULL,
259 DECODE(p_PM_COST_COLLECTOR_GROUP_ID,
260 NULL,4,1),
261 'Y', 1,
262 'N', 2,
263 'E', 3
264 );
265 EXCEPTION
266 WHEN OTHERS THEN
267 null;
268 END;
269
270 IF p_TRANSACTION_SOURCE_TYPE_ID IS NOT NULL THEN
271 BEGIN
272 SELECT TRANSACTION_SOURCE_TYPE_NAME,
273 TRANSACTION_SOURCE_TYPE_NAME
274 INTO x_TRANSACTION_SOURCE_TYPE_NAME,
275 x_TRANSACTION_SOURCE_NAME_DB
276 FROM mtl_txn_source_types
277 WHERE TRANSACTION_SOURCE_TYPE_ID =p_TRANSACTION_SOURCE_TYPE_ID ;
278 EXCEPTION
279 WHEN NO_DATA_FOUND THEN
280 NULL;
281 END;
282 END IF;
283
284 IF p_REASON_ID IS NOT NULL THEN
285 BEGIN
286 SELECT REASON_NAME
287 INTO x_REASON_NAME
288 FROM MTL_TRANSACTION_REASONS
289 WHERE REASON_ID =p_REASON_ID;
290 EXCEPTION
291 WHEN OTHERS THEN
292 NULL;
293 END;
294 END IF;
295
296 IF p_DEPARTMENT_ID IS NOT NULL THEN
297 BEGIN
298 SELECT DEPARTMENT_CODE
299 INTO x_DEPARTMENT_CODE
300 FROM BOM_DEPARTMENTS
301 WHERE DEPARTMENT_ID =p_DEPARTMENT_ID;
302 EXCEPTION
303 WHEN OTHERS THEN
304 NULL;
305 END;
306 END IF;
307
308
309 IF p_TRANSFER_ORGANIZATION_ID IS NOT NULL THEN
310 BEGIN
311 SELECT DISTINCT ORGANIZATION_CODE
312 INTO x_TRANSFER_ORGANIZATION_NAME
313 FROM MTL_PARAMETERS
314 WHERE ORGANIZATION_ID = p_TRANSFER_ORGANIZATION_ID;
315 EXCEPTION
316 WHEN OTHERS THEN
317 NULL;
318 END;
319 END IF;
320
321
322 IF inv_control.get_current_release_level >= inv_release.GET_J_RELEASE_LEVEL then
323 If P_ORGANIZATION_ID IS NOT NULL THEN
324 BEGIN
325
326 SELECT OOD. ORGANIZATION_NAME, HOU.NAME
327 INTO X_ORGANIZATION_CODE , X_OPERATING_UNIT
328 FROM ORG_ORGANIZATION_DEFINITIONS OOD, HR_OPERATING_UNITS HOU
329 WHERE OOD.ORGANIZATION_ID = P_ORGANIZATION_ID AND
330 OOD.OPERATING_UNIT = HOU.ORGANIZATION_ID;
331
332 EXCEPTION
333 WHEN OTHERS THEN
334 NULL;
335 END;
336 END IF;
337 ELSE
338 NULL;
339 END IF;
340
341
342 IF p_LPN_ID IS NOT NULL THEN
343 BEGIN
344 SELECT LICENSE_PLATE_NUMBER
345 INTO x_LPN
346 FROM WMS_LICENSE_PLATE_NUMBERS
347 WHERE LPN_ID = p_LPN_ID ;
348 EXCEPTION
349 WHEN OTHERS THEN
350 NULL;
351 END;
352 END IF;
353
354 IF p_TRANSFER_LPN_ID IS NOT NULL THEN
355 BEGIN
356 SELECT LICENSE_PLATE_NUMBER
357 INTO x_TRANSFER_LPN
358 FROM WMS_LICENSE_PLATE_NUMBERS
359 WHERE LPN_ID = p_TRANSFER_LPN_ID ;
360 EXCEPTION
361 WHEN OTHERS THEN
362 NULL;
363 END;
364 END IF;
365 IF p_CONTENT_LPN_ID IS NOT NULL THEN
366 BEGIN
367 SELECT LICENSE_PLATE_NUMBER
368 INTO x_CONTENT_LPN
369 FROM WMS_LICENSE_PLATE_NUMBERS
370 WHERE LPN_ID = p_CONTENT_LPN_ID ;
371 EXCEPTION
372 WHEN OTHERS THEN
373 NULL;
374 END;
375 END IF;
376 IF p_COST_GROUP_ID IS NOT NULL THEN
377 BEGIN
378 SELECT COST_GROUP
379 INTO x_COST_GROUP_NAME
380 FROM CST_COST_GROUPS
381 WHERE COST_GROUP_ID = p_COST_GROUP_ID;
382 EXCEPTION
383 WHEN OTHERS THEN
384 NULL;
385 END;
386 END IF;
387 IF p_TRANSFER_COST_GROUP_ID IS NOT NULL THEN
388 BEGIN
389 SELECT COST_GROUP
390 INTO x_TRANSFER_COST_GROUP_NAME
391 FROM CST_COST_GROUPS
392 WHERE COST_GROUP_ID = p_TRANSFER_COST_GROUP_ID;
393 EXCEPTION
394 WHEN OTHERS THEN
395 NULL;
396 END;
397 END IF;
398 IF p_INV_ADV_INSTALLED = 'TRUE' THEN
399 BEGIN
400 if (p_put_away_strategy_id is not null) then
401 select name
402 into x_put_away_strategy_name
403 from wms_strategies
404 where strategy_id = p_put_away_strategy_id;
405
406 end if;
407
408 if (p_put_away_rule_id is not null) then
409
410 select name
411 into x_put_away_rule_name
412 from wms_rules
413 where rule_id = p_put_away_rule_id;
414 end if;
415
416 if (p_pick_strategy_id is not null) then
417 select name
418 into x_pick_strategy_name
419 from wms_strategies
420 where strategy_id = p_pick_strategy_id;
421
422 end if;
423
424 if (p_pick_rule_id is not null) then
425 select name
426 into x_pick_rule_name
427 from wms_rules
428 where rule_id = p_pick_rule_id;
429
430 end if;
431 EXCEPTION
432 when no_data_found then
433 null;
434 END;
435 END IF;
436
437
438
439
440 EXCEPTION
441 WHEN FND_API.G_EXC_ERROR THEN
442
443 ROLLBACK TO get_desc ;
444 X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
445 FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
446
447 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
448
449 ROLLBACK TO get_desc;
450 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
451 FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
452
453 WHEN OTHERS THEN
454
455 ROLLBACK TO get_desc;
456 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
457 IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
458 FND_MSG_PUB.ADD_EXC_MSG( 'INV_VIEW_MTL_TXN', 'GET_DESCRIPTION');
459 END IF;
460 FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT, P_DATA => X_MSG_DATA );
461
462 END GET_DESCRIPTION;
463 /*
464 ** --------------------------------------------------------------------------
465 ** Procedure :update_mmt_process_cost
466 ** Decription: This procedure updates the mtl_material_transactions table
467 ** with the cost fetched from the GMF api for the items
468 ** in process enabled organizations. It updates for the all items
469 ** having transactions in the given organization between the
470 ** transaction dates used in the reports, Transaction Register
471 ** report and Lot Transaction register report.The following
472 ** columns are passed as input parameters from the reports.
473 **
474 ** p_organization_id This is the context organization selected while running
475 ** the reports.
476 ** p_trans_date_from This is the report parameter "From Transaction date"
477 ** p_trans_date_to This is the report parameter "To Transaction date"
478 ** p_report This value would be T from Transaction register report
479 ** And L from Lot Transaction register report.
480 ** --------------------------------------------------------------------------
481 */
482 PROCEDURE update_mmt_process_cost
483 (
484 p_organization_id number
485 ,p_trans_date_from DATE
486 ,p_trans_date_to DATE
487 ,p_report VARCHAR2 DEFAULT 'T')
488 IS
489 --Bug#10080406 changing the varchar2(4) to varchar2(10)
490 v_gl_cost_mthd VARCHAR2(10) ;
491 v_cost NUMBER;
492 v_ret_val NUMBER ;
493 V_cost_mthd VARCHAR2(1) DEFAULT NULL ;
494 V_cmpntcls_id NUMBER DEFAULT NULL;
495 --Bug#10080406 changing the varchar2(1) to varchar2(4)
496 V_analysis_code VARCHAR2(4) DEFAULT NULL;
497 V_retreive_ind NUMBER DEFAULT NULL;
498 V_cost_cmpntcls_id NUMBER ;
499 V_cost_analysis_code VARCHAR2(1) DEFAULT NULL;
500 V_acctg_cost NUMBER ;
501 l_return_status VARCHAR2(4);
502 l_msg_count NUMBER;
503 l_msg_data VARCHAR2(2000);
504 l_process_org NUMBER;
505 X_num_rows NUMBER;
506 sqlstmt VARCHAR2(1000);
507 TYPE trans_type IS REF CURSOR;
508 trans_cur trans_type;
509 l_organization_id NUMBER;
510 l_inventory_item_id NUMBER;
511 l_transaction_date DATE;
512
513 cursor c_process_org IS
514 select 1
515 from mtl_parameters
516 where organization_id = p_organization_id
517 and process_enabled_flag = 'Y';
518
519 BEGIN
520 OPEN c_process_org;
521 FETCH c_process_org INTO l_process_org;
522 CLOSE c_process_org;
523
524 IF l_process_org = 1 THEN
525 IF p_report = 'T' THEN
526 sqlstmt := 'select distinct i.organization_id ,i.inventory_item_id,
527 i.transaction_date '
528 ||' from mtl_material_Transactions i '
529 ||' where i.organization_id = :org_id '
530 ||' and i.transaction_date between :from_date '
531 ||' and :to_date ';
532 ELSIF p_report = 'L' THEN
533 sqlstmt := 'select distinct i.organization_id ,
534 i.inventory_item_id, i.transaction_date '
535 ||' from mtl_material_Transactions i, mtl_transaction_lot_numbers
536 l '
537 ||' where i.transaction_id = l.transaction_id '
538 ||' and l.organization_id = :org_id '
539 ||' and l.transaction_date between :from_date '
540 ||' and :to_date ';
541 END IF;
542 OPEN trans_cur for sqlstmt
543 USING p_organization_id,p_trans_date_from,p_trans_date_to;
544 loop
545 fetch trans_cur into l_organization_id,l_inventory_item_id,
546 l_transaction_date;
547 exit when trans_cur%NOTFOUND;
548
549 v_ret_val := GMF_CMCOMMON.get_process_item_cost(
550 p_api_version => 1.0,
551 p_init_msg_list => 'T',
552 p_organization_id => l_organization_id,
553 p_inventory_item_id => l_inventory_item_id,
554 p_transaction_date => l_transaction_date,
555 p_detail_flag => 1,
556 p_cost_method => V_gl_cost_mthd,
557 p_cost_component_class_id => V_cmpntcls_id,
558 p_cost_analysis_code => V_analysis_code,
559 x_total_cost => V_acctg_cost,
560 x_no_of_rows => X_num_rows,
561 x_return_status => l_return_status,
562 x_msg_count => l_msg_count,
563 x_msg_data => l_msg_data);
564
565 if V_ret_val = 1 then
566 v_cost := V_acctg_cost ;
567 else
568 v_cost := 0;
569 end if;
570
571 update mtl_material_transactions
572 set actual_cost = v_cost
573 where organization_id = l_organization_id
574 and inventory_item_id = l_inventory_item_id
575 and transaction_date = l_transaction_date;
576 end loop;
577 END IF;
578 END update_mmt_process_cost;
579 END INV_VIEW_MTL_TXN;