DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMS_OVERRIDE_SCHEDULES_PKG

Source


1 PACKAGE BODY GMS_OVERRIDE_SCHEDULES_PKG  as
2 /* $Header: gmsicovb.pls 115.8 2002/11/25 23:41:38 jmuthuku ship $ */
3 
4 PROCEDURE Insert_Row(p_rowid          		IN OUT NOCOPY 		VARCHAR2,
5 		     p_award_id       		IN		NUMBER,
6 		     p_project_id 		IN		NUMBER,
7                      p_task_id    		IN		NUMBER,
8                      p_idc_schedule_id  	IN		NUMBER,
9                      p_cost_ind_sch_fixed_date 	IN  		DATE,
10  		     p_mode 			IN		VARCHAR2 default 'R') IS
11   CURSOR 	get_rowid IS
12   SELECT 	rowid
13   FROM 		GMS_OVERRIDE_SCHEDULES
14   WHERE 	award_id = p_award_id
15   AND		project_id = p_project_id
16   AND 		(task_id = p_task_id
17   OR 		(task_id is NULL AND p_task_id is NULL));
18 
19   l_last_update_date	DATE;
20   l_last_updated_by	NUMBER;
21   l_last_update_login	NUMBER;
22 Begin
23   l_last_update_date := SYSDATE;
24   IF (p_mode = 'I') THEN
25   	l_last_updated_by := 1;
26 	l_last_update_login := 0;
27   ELSIF (p_mode = 'R') THEN
28 	l_last_updated_by := FND_GLOBAL.USER_ID;
29 	IF (l_last_updated_by is NULL) THEN
30       		l_last_updated_by := -1;
31 	END IF;
32 	l_last_update_login :=FND_GLOBAL.LOGIN_ID;
33 	IF (l_last_update_login is NULL) THEN
34       		l_last_update_login := -1;
35 	END IF;
36   ELSE
37 	FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
38 	app_exception.raise_exception;
39   END IF;
40 
41   INSERT into GMS_OVERRIDE_SCHEDULES
42 	(award_id,
43  	 project_id,
44 	 task_id,
45 	 idc_schedule_id,
46 	 cost_ind_sch_fixed_date,
47  	 creation_date,
48 	 created_by,
49 	 last_update_date,
50 	 last_updated_by,
51 	 last_update_login
52 	)
53   VALUES
54 	(p_award_id,
55 	 p_project_id,
56 	 p_task_id,
57 	 p_idc_schedule_id,
58 	 p_cost_ind_sch_fixed_date,
59 	 l_last_update_date,
60 	 l_last_updated_by,
61 	 l_last_update_date,
62 	 l_last_updated_by,
63 	 l_last_update_login
64 	);
65 
66   OPEN  get_rowid;
67   FETCH get_rowid INTO p_rowid;
68   IF (get_rowid%NOTFOUND) THEN
69         CLOSE get_rowid;
70         raise no_data_found;
71   END IF;
72   CLOSE get_rowid;
73 
74 End insert_row;
75 
76 
77 PROCEDURE Update_Row(p_rowid          		IN 		VARCHAR2,
78 		     p_project_id 		IN		NUMBER,
79 		     p_task_id    		IN		NUMBER,
80 		     p_idc_schedule_id   	IN		NUMBER,
81 	  	     p_cost_ind_sch_fixed_date 	IN  		DATE,
82 		     p_mode			IN 		VARCHAR2 default 'R') IS
83   l_last_update_date	DATE;
84   l_last_updated_by	NUMBER;
85   l_last_update_login	NUMBER;
86 Begin
87   l_last_update_date := SYSDATE;
88   IF (p_mode = 'I') THEN
89 	l_last_updated_by := 1;
90 	l_last_update_login := 0;
91   ELSIF (p_mode = 'R') THEN
92 	l_last_updated_by := FND_GLOBAL.USER_ID;
93 	IF (l_last_updated_by is NULL) THEN
94       		l_last_updated_by := -1;
95 	END IF;
96  	l_last_update_login :=FND_GLOBAL.LOGIN_ID;
97 	IF (l_last_update_login is NULL) THEN
98 		l_last_update_login := -1;
99 	END IF;
100   ELSE
101 	FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
102     	app_exception.raise_exception;
103   END IF;
104 
105   UPDATE GMS_OVERRIDE_SCHEDULES
106   SET	 project_id = p_project_id,
107 	 task_id =  p_task_id,
108 	 idc_schedule_id = p_idc_schedule_id,
109 	 cost_ind_sch_fixed_date =  p_cost_ind_sch_fixed_date,
110 	 last_update_date =  l_last_update_date,
111 	 last_updated_by = l_last_updated_by,
112 	 last_update_login = l_last_update_login
113   WHERE rowid = p_rowid;
114 
115   IF (sql%NOTFOUND) THEN
116          raise no_data_found;
117   END IF;
118 
119 End update_row;
120 
121 
122 PROCEDURE Delete_Row(p_rowid             	IN 		VARCHAR2) IS
123 Begin
124   DELETE	gms_override_schedules
125   WHERE		rowid = p_rowid;
126 
127   IF (sql%NOTFOUND) THEN
128   	raise no_data_found;
129   END IF;
130 
131 End delete_row;
132 
133 PROCEDURE Lock_Row(p_rowid          		IN 		VARCHAR2,
134 		   p_award_id       		IN		NUMBER,
135 		   p_project_id 		IN		NUMBER,
136 		   p_task_id    		IN		NUMBER,
137 		   p_idc_schedule_id   		IN		NUMBER,
138 		   p_cost_ind_sch_fixed_date   	IN  		DATE) IS
139   CURSOR ovr_sch IS
140   SELECT award_id, project_id, task_id, idc_schedule_id, cost_ind_sch_fixed_date
141   FROM 	 GMS_OVERRIDE_SCHEDULES
142   WHERE  rowid = p_rowid
143   for update of idc_schedule_id, cost_ind_sch_fixed_date nowait;
144 
145   recinfo ovr_sch%rowtype;
146 
147 BEGIN
148   OPEN 	ovr_sch;
149   FETCH ovr_sch INTO Recinfo;
150   IF (ovr_sch %NOTFOUND)  THEN
151       	CLOSE ovr_sch;
152 	FND_MESSAGE.Set_Name('FND','FORM_RECORD_DELETED');
153 	APP_EXCEPTION.Raise_Exception;
154   END IF;
155   CLOSE ovr_sch;
156   IF  (recinfo.award_id = p_award_id
157   AND recinfo.project_id = p_project_id
158   AND (recinfo.task_id = p_task_id OR (recinfo.task_id is null AND p_task_id is null))
159   AND recinfo.idc_schedule_id = p_idc_schedule_id
160   AND (recinfo.cost_ind_sch_fixed_date = p_cost_ind_sch_fixed_date OR (recinfo.cost_ind_sch_fixed_date is
161       null AND p_cost_ind_sch_fixed_date is null)))  THEN
162 	return;
163   ELSE
164 	FND_MESSAGE.set_name('FND','FORM_RECORD_CHANGED');
165 	APP_EXCEPTION.Raise_Exception;
166   END IF;
167 
168 End lock_row;
169 
170 END GMS_OVERRIDE_SCHEDULES_PKG;