DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_UPDATE_WARRANTY_DATES

Source


1 PACKAGE BODY CS_UPDATE_WARRANTY_DATES as
2 /* $Header: csxsvuwb.pls 115.0 99/07/16 09:09:24 porting ship $ */
3   Procedure Update_Warranty_Dates (
4 			X_Customer_Product_ID		NUMBER,
5 			X_Start_Date			DATE,
6 			X_Day_UOM			VARCHAR2
7 			) IS
8 
9   CURSOR CP_Service_Cursor IS
10     SELECT srv.service_inventory_item_id         item_id,
11            srv_item.service_duration             duration_quantity,
12 	   srv_item.service_duration_period_code duration_uom
13     FROM CS_CP_SERVICES srv, MTL_SYSTEM_ITEMS srv_item
14     WHERE srv.customer_product_id = X_Customer_Product_ID
15       AND srv.warranty_flag = 'Y'
16       AND srv.service_inventory_item_id = srv_item.inventory_item_id (+)
17     FOR UPDATE OF srv.start_date_active,
18 		  srv.end_date_active;
19 
20   service_duration_days NUMBER;
21 
22   BEGIN
23     FOR CP_Service_Rec IN CP_Service_Cursor LOOP
24       IF (CP_Service_Rec.duration_quantity IS NOT NULL) AND
25          (CP_Service_Rec.duration_uom IS NOT NULL)      THEN
26         service_duration_days := inv_convert.inv_um_convert(
27 	  				CP_Service_Rec.item_id,
28 					NULL,
29 					CP_Service_Rec.duration_quantity,
30 					CP_Service_Rec.duration_uom,
31 					X_Day_UOM,
32 					NULL,
33 					NULL);
34 
35         UPDATE CS_CP_SERVICES
36           SET Start_Date_Active = X_Start_Date,
37               End_Date_Active   = Round(X_Start_Date + service_duration_days)
38           WHERE CURRENT OF CP_Service_Cursor;
39       END IF;
40     END LOOP;
41   END Update_Warranty_Dates;
42 
43 END CS_UPDATE_WARRANTY_DATES;