DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_VIEW_MTL_TXN

Source


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;