[Home] [Help]
PACKAGE BODY: APPS.CSF_ACCESS_HOURS_PVT
Source
1 PACKAGE BODY CSF_ACCESS_HOURS_PVT as
2 /* $Header: CSFVACHB.pls 120.3 2011/04/26 11:00:15 vakulkar ship $ */
3 -- Start of Comments
4 --
5 -- Package name : CSF_ACCESS_HOURS_PVT
6 -- Purpose :
7 -- History :
8 -- 17-AUG-2004 : Changed the package name from CSF_ACCESS_HOURS_PKG to CSF_ACCESS_HOURS_PVT
9 -- :
10 -- NOTE :
11 -- End of Comments
12 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSF_ACCESS_HOUR_PVT';
13 G_FILE_NAME CONSTANT VARCHAR2(12) := 'CSFVACHB.pls';
14 -- ---------------------------------
15 -- private global package variables
16 -- ---------------------------------
17 g_user_id number;
18 g_login_id number;
19 -----------------------------------
20 --public api's
21 -----------------------------------
22
23
24 PROCEDURE CREATE_ACCESS_HOURS(
25 p_API_VERSION IN NUMBER,
26 p_INIT_MSG_LIST IN VARCHAR2 ,
27 x_ACCESS_HOUR_ID OUT NOCOPY NUMBER,
28 p_TASK_ID NUMBER,
29 p_ACCESS_HOUR_REQD VARCHAR2 ,
30 p_AFTER_HOURS_FLAG VARCHAR2 ,
31 p_MONDAY_FIRST_START DATE ,
32 p_MONDAY_FIRST_END DATE ,
33 p_TUESDAY_FIRST_START DATE ,
34 p_TUESDAY_FIRST_END DATE ,
35 p_WEDNESDAY_FIRST_START DATE ,
36 p_WEDNESDAY_FIRST_END DATE ,
37 p_THURSDAY_FIRST_START DATE ,
38 p_THURSDAY_FIRST_END DATE ,
39 p_FRIDAY_FIRST_START DATE ,
40 p_FRIDAY_FIRST_END DATE ,
41 p_SATURDAY_FIRST_START DATE ,
42 p_SATURDAY_FIRST_END DATE ,
43 p_SUNDAY_FIRST_START DATE ,
44 p_SUNDAY_FIRST_END DATE ,
45 p_MONDAY_SECOND_START DATE ,
46 p_MONDAY_SECOND_END DATE ,
47 p_TUESDAY_SECOND_START DATE ,
48 p_TUESDAY_SECOND_END DATE ,
49 p_WEDNESDAY_SECOND_START DATE ,
50 p_WEDNESDAY_SECOND_END DATE ,
51 p_THURSDAY_SECOND_START DATE ,
52 p_THURSDAY_SECOND_END DATE ,
53 p_FRIDAY_SECOND_START DATE ,
54 p_FRIDAY_SECOND_END DATE ,
55 p_SATURDAY_SECOND_START DATE ,
56 p_SATURDAY_SECOND_END DATE ,
57 p_SUNDAY_SECOND_START DATE ,
58 p_SUNDAY_SECOND_END DATE ,
59 p_DESCRIPTION VARCHAR2 ,
60 px_object_version_number in out nocopy number,
61 p_CREATED_BY NUMBER ,
62 p_CREATION_DATE DATE ,
63 p_LAST_UPDATED_BY NUMBER,
64 p_LAST_UPDATE_DATE DATE ,
65 p_LAST_UPDATE_LOGIN NUMBER ,
66 p_commit in varchar2 ,
67 x_return_status OUT NOCOPY VARCHAR2,
68 x_msg_data OUT NOCOPY VARCHAR2,
69 x_msg_count OUT NOCOPY NUMBER,
70 p_data_chg_frm_ui VARCHAR2
71 )
72
73 IS
74 CURSOR c_next_seq IS SELECT CSF_ACCESS_HOURS_B_S1.nextval FROM sys.dual;
75
76 l_api_name_full constant varchar2(50) := 'CSF_ACCESS_HOURS_PVT.CREATE_ACCESS_HOURS';
77 -- l_access_hour_rec Access_Hours_Rec_Type;
78 l_return_status varchar2(100);
79 l_msg_count NUMBER;
80 l_msg_data varchar2(1000);
81 l_temp_b rowid;
82 l_temp_tl rowid;
83
84 Cursor c_check_b is select ROWID from csf_access_hours_b where access_hour_id=x_access_hour_id;
85 Cursor c_check_tl is select ROWID from csf_access_hours_tl where access_hour_id=x_access_hour_id;
86
87
88 BEGIN
89 SAVEPOINT create_access_hours_pvt;
90 x_return_status := fnd_api.g_ret_sts_success;
91
92 /* If (px_ACCESS_HOUR_ID IS NULL) OR (px_ACCESS_HOUR_ID = FND_API.G_MISS_NUM) then*/
93 OPEN c_next_seq;
94 FETCH c_next_seq INTO x_ACCESS_HOUR_ID;
95 CLOSE c_next_seq;
96 /* End If;*/
97
98
99 if px_object_version_number is null
100 then
101 px_object_version_number := 1;
102 end if;
103
104 INSERT INTO CSF_ACCESS_HOURS_B(
105 ACCESS_HOUR_ID,
106 TASK_ID ,
107 CREATED_BY ,
108 CREATION_DATE,
109 LAST_UPDATED_BY,
110 LAST_UPDATE_DATE,
111 LAST_UPDATE_LOGIN,
112 ACCESSHOUR_REQUIRED,
113 AFTER_HOURS_FLAG,
114 MONDAY_FIRST_START,
115 MONDAY_FIRST_END,
116 TUESDAY_FIRST_START,
117 TUESDAY_FIRST_END ,
118 WEDNESDAY_FIRST_START,
119 WEDNESDAY_FIRST_END,
120 THURSDAY_FIRST_START ,
121 THURSDAY_FIRST_END ,
122 FRIDAY_FIRST_START ,
123 FRIDAY_FIRST_END ,
124 SATURDAY_FIRST_START,
125 SATURDAY_FIRST_END ,
126 SUNDAY_FIRST_START ,
127 SUNDAY_FIRST_END,
128 MONDAY_SECOND_START,
129 MONDAY_SECOND_END,
130 TUESDAY_SECOND_START,
131 TUESDAY_SECOND_END ,
132 WEDNESDAY_SECOND_START,
133 WEDNESDAY_SECOND_END,
134 THURSDAY_SECOND_START ,
135 THURSDAY_SECOND_END ,
136 FRIDAY_SECOND_START ,
137 FRIDAY_SECOND_END ,
138 SATURDAY_SECOND_START,
139 SATURDAY_SECOND_END ,
140 SUNDAY_SECOND_START ,
141 SUNDAY_SECOND_END,
142 OBJECT_VERSION_NUMBER,
143 DATA_CHANGED_FRM_UI
144
145 ) VALUES (
146 x_ACCESS_HOUR_ID,
147 p_TASK_ID,
148 fnd_global.user_id,
149 sysdate,
150 g_user_id,
151 sysdate,
152 g_login_id,
153 p_ACCESS_HOUR_REQD,
154 p_AFTER_HOURS_FLAG,
155 decode( p_MONDAY_FIRST_START,TO_DATE(NULL), TO_DATE(NULL), TO_DATE('5-01-1970 '||TO_CHAR(p_MONDAY_FIRST_START,'hh24:mi'),'DD-MM-RRRR HH24:MI:SS')),
156 decode( p_MONDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('5-01-1970 '||to_char(p_MONDAY_FIRST_END,'hh24:mi'),'DD-MM-RRRR HH24:MI:SS')),
157 decode( p_TUESDAY_FIRST_START, TO_DATE(NULL),TO_DATE(NULL), TO_DATE('6-01-1970'||to_char(p_TUESDAY_FIRST_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
158 decode( p_TUESDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('6-01-1970'||to_char(p_TUESDAY_FIRST_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
159 decode( p_WEDNESDAY_FIRST_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('7-01-1970'||to_char(p_WEDNESDAY_FIRST_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
160 decode( p_WEDNESDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('7-01-1970'||to_char(p_WEDNESDAY_FIRST_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
161 decode( p_THURSDAY_FIRST_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('1-01-1970'||to_char(p_THURSDAY_FIRST_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
162 decode( p_THURSDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('1-01-1970'||to_char(p_THURSDAY_FIRST_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
163 decode( p_FRIDAY_FIRST_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('2-01-1970'||to_char(p_FRIDAY_FIRST_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
164 decode( p_FRIDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('2-01-1970'||to_char(p_FRIDAY_FIRST_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
165 decode( p_SATURDAY_FIRST_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('3-01-1970'||to_char(p_SATURDAY_FIRST_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
166 decode( p_SATURDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('3-01-1970'||to_char(p_SATURDAY_FIRST_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
167 decode( p_SUNDAY_FIRST_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('4-01-1970'||to_char(p_SUNDAY_FIRST_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
168 decode( p_SUNDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('4-01-1970'||to_char(p_SUNDAY_FIRST_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
169 decode( p_MONDAY_SECOND_START,TO_DATE(NULL), TO_DATE(NULL), TO_DATE('5-01-1970 '||TO_CHAR(p_MONDAY_SECOND_START,'hh24:mi'),'DD-MM-RRRR HH24:MI:SS')),
170 decode( p_MONDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('5-01-1970 '||to_char(p_MONDAY_SECOND_END,'hh24:mi'),'DD-MM-RRRR HH24:MI:SS')),
171 decode( p_TUESDAY_SECOND_START, TO_DATE(NULL),TO_DATE(NULL), TO_DATE('6-01-1970'||to_char(p_TUESDAY_SECOND_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
172 decode( p_TUESDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('6-01-1970'||to_char(p_TUESDAY_SECOND_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
173 decode( p_WEDNESDAY_SECOND_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('7-01-1970'||to_char(p_WEDNESDAY_SECOND_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
174 decode( p_WEDNESDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('7-01-1970'||to_char(p_WEDNESDAY_SECOND_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
175 decode( p_THURSDAY_SECOND_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('1-01-1970'||to_char(p_THURSDAY_SECOND_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
176 decode( p_THURSDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('1-01-1970'||to_char(p_THURSDAY_SECOND_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
177 decode( p_FRIDAY_SECOND_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('2-01-1970'||to_char(p_FRIDAY_SECOND_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
178 decode( p_FRIDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('2-01-1970'||to_char(p_FRIDAY_SECOND_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
179 decode( p_SATURDAY_SECOND_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('3-01-1970'||to_char(p_SATURDAY_SECOND_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
180 decode( p_SATURDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('3-01-1970'||to_char(p_SATURDAY_SECOND_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
181 decode( p_SUNDAY_SECOND_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('4-01-1970'||to_char(p_SUNDAY_SECOND_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
182 decode( p_SUNDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('4-01-1970'||to_char(p_SUNDAY_SECOND_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
183 decode (px_OBJECT_VERSION_NUMBER,NULL,1,px_OBJECT_VERSION_NUMBER),
184 nvl(p_data_chg_frm_ui,'N')
185
186 );
187
188 open c_check_b ;
189 fetch c_check_b into l_temp_b ;
190 If c_check_b%notfound then
191 close c_check_b;
192 raise no_data_found;
193 end if;
194 close c_check_b;
195
196
197 insert into CSF_ACCESS_HOURS_TL(
198 ACCESS_HOUR_ID,
199 DESCRIPTION,
200 CREATED_BY,
201 CREATION_DATE,
202 LAST_UPDATED_BY,
203 LAST_UPDATE_DATE,
204 LAST_UPDATE_LOGIN,
205 LANGUAGE,
206 SOURCE_LANG
207 ) select
208 x_ACCESS_HOUR_ID,
209 p_DESCRIPTION,
210 fnd_global.user_id,
211 sysdate,
212 g_user_id,
213 sysdate,
214 g_login_id,
215 L.LANGUAGE_CODE,
216 userenv('LANG')
217 from FND_LANGUAGES L
218 where l.installed_flag in ('I','B')
219 and not exists
220 (select NULL
221 from CSF_ACCESS_HOURS_TL T
222 where T.ACCESS_HOUR_ID= x_ACCESS_HOUR_ID
223 and T.LANGUAGE = L.LANGUAGE_CODE);
224
225
226 open c_check_tl ;
227 fetch c_check_tl into l_temp_tl ;
228 If c_check_tl%notfound then
229 close c_check_tl;
230 raise no_data_found;
231 end if;
232 close c_check_tl;
233
234
235
236 -- Standard check of p_commit
237 IF fnd_api.to_boolean(p_commit) THEN
238 commit work;
239 END IF;
240
241 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
242 EXCEPTION
243
244 WHEN fnd_api.g_exc_error then
245 ROLLBACK TO create_access_hours_pub;
246 x_return_status :=fnd_api.g_ret_sts_error;
247 /*x_msg_count := l_msg_count;
248 x_msg_data := l_msg_data;*/
249 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
250
251 When fnd_api.g_exc_unexpected_error then
252 Rollback TO create_access_hours_pvt;
253 x_return_status:= fnd_api.g_ret_sts_unexp_error;
254 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
255
256 When others then
257 Rollback TO create_access_hours_pvt;
258 x_return_status:= fnd_api.g_ret_sts_unexp_error;
259 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
260
261 End CREATE_ACCESS_HOURS;
262
263 PROCEDURE Update_Access_Hours(
264 p_API_VERSION IN NUMBER,
265 p_INIT_MSG_LIST IN VARCHAR2 ,
266 p_ACCESS_HOUR_ID IN NUMBER,
267 p_TASK_ID NUMBER,
268 p_ACCESS_HOUR_REQD VARCHAR2,
269 p_AFTER_HOURS_FLAG VARCHAR2 ,
270 p_MONDAY_FIRST_START DATE ,
271 p_MONDAY_FIRST_END DATE ,
272 p_TUESDAY_FIRST_START DATE ,
273 p_TUESDAY_FIRST_END DATE ,
274 p_WEDNESDAY_FIRST_START DATE ,
275 p_WEDNESDAY_FIRST_END DATE ,
276 p_THURSDAY_FIRST_START DATE,
277 p_THURSDAY_FIRST_END DATE ,
278 p_FRIDAY_FIRST_START DATE ,
279 p_FRIDAY_FIRST_END DATE,
280 p_SATURDAY_FIRST_START DATE ,
281 p_SATURDAY_FIRST_END DATE ,
282 p_SUNDAY_FIRST_START DATE ,
283 p_SUNDAY_FIRST_END DATE ,
284 p_MONDAY_SECOND_START DATE,
285 p_MONDAY_SECOND_END DATE ,
286 p_TUESDAY_SECOND_START DATE ,
287 p_TUESDAY_SECOND_END DATE ,
288 p_WEDNESDAY_SECOND_START DATE ,
289 p_WEDNESDAY_SECOND_END DATE,
290 p_THURSDAY_SECOND_START DATE,
291 p_THURSDAY_SECOND_END DATE ,
292 p_FRIDAY_SECOND_START DATE ,
293 p_FRIDAY_SECOND_END DATE ,
294 p_SATURDAY_SECOND_START DATE ,
295 p_SATURDAY_SECOND_END DATE ,
296 p_SUNDAY_SECOND_START DATE ,
297 p_SUNDAY_SECOND_END DATE,
298 p_DESCRIPTION VARCHAR2,
299 px_object_version_number in out nocopy number,
300 p_CREATED_BY NUMBER,
301 p_CREATION_DATE DATE ,
302 p_LAST_UPDATED_BY NUMBER ,
303 p_LAST_UPDATE_DATE DATE ,
304 p_LAST_UPDATE_LOGIN NUMBER ,
305 p_commit in varchar2,
306 x_return_status OUT NOCOPY VARCHAR2,
307 x_msg_data OUT NOCOPY VARCHAR2,
308 x_msg_count OUT NOCOPY NUMBER,
309 p_data_chg_frm_ui VARCHAR2
310 )
311
312 IS
313 l_api_name_full constant varchar2(50) := 'CSF_ACCESS_HOURS_PVT.UPDATE_ACCESS_HOURS';
314 -- l_access_hour_rec Access_Hours_Rec_Type;
315 l_return_status varchar2(100);
316 l_msg_count NUMBER;
317 l_msg_data varchar2(1000);
318 BEGIN
319
320 x_return_status := fnd_api.g_ret_sts_success;
321 px_object_version_number:=px_object_version_number+1;
322 Update CSF_ACCESS_HOURS_B
323 SET
324
325 LAST_UPDATE_DATE = sysdate,
326 LAST_UPDATED_BY = g_user_id,
327 LAST_UPDATE_LOGIN = g_login_id,
328 ACCESSHOUR_REQUIRED = p_ACCESS_HOUR_REQD,
329 AFTER_HOURS_FLAG = p_AFTER_HOURS_FLAG,
333 TUESDAY_FIRST_END = decode( p_TUESDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('6-01-1970'||to_char(p_TUESDAY_FIRST_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
330 MONDAY_FIRST_START = decode( p_MONDAY_FIRST_START,TO_DATE(NULL), TO_DATE(NULL), TO_DATE('5-01-1970 '||TO_CHAR(p_MONDAY_FIRST_START,'hh24:mi'),'DD-MM-RRRR HH24:MI:SS')),
331 MONDAY_FIRST_END = decode( p_MONDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('5-01-1970 '||to_char(p_MONDAY_FIRST_END,'hh24:mi'),'DD-MM-RRRR HH24:MI:SS')),
332 TUESDAY_FIRST_START = decode( p_TUESDAY_FIRST_START, TO_DATE(NULL),TO_DATE(NULL), TO_DATE('6-01-1970'||to_char(p_TUESDAY_FIRST_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
334 WEDNESDAY_FIRST_START = decode( p_WEDNESDAY_FIRST_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('7-01-1970'||to_char(p_WEDNESDAY_FIRST_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
335 WEDNESDAY_FIRST_END = decode( p_WEDNESDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('7-01-1970'||to_char(p_WEDNESDAY_FIRST_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
336 THURSDAY_FIRST_START = decode( p_THURSDAY_FIRST_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('1-01-1970'||to_char(p_THURSDAY_FIRST_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
337 THURSDAY_FIRST_END = decode( p_THURSDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('1-01-1970'||to_char(p_THURSDAY_FIRST_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
338 FRIDAY_FIRST_START = decode( p_FRIDAY_FIRST_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('2-01-1970'||to_char(p_FRIDAY_FIRST_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
339 FRIDAY_FIRST_END = decode( p_FRIDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('2-01-1970'||to_char(p_FRIDAY_FIRST_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
340 SATURDAY_FIRST_START = decode( p_SATURDAY_FIRST_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('3-01-1970'||to_char(p_SATURDAY_FIRST_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
341 SATURDAY_FIRST_END = decode( p_SATURDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('3-01-1970'||to_char(p_SATURDAY_FIRST_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
342 SUNDAY_FIRST_START = decode( p_SUNDAY_FIRST_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('4-01-1970'||to_char(p_SUNDAY_FIRST_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
343 SUNDAY_FIRST_END = decode( p_SUNDAY_FIRST_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('4-01-1970'||to_char(p_SUNDAY_FIRST_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
344 MONDAY_SECOND_START = decode( p_MONDAY_SECOND_START,TO_DATE(NULL), TO_DATE(NULL), TO_DATE('5-01-1970 '||TO_CHAR(p_MONDAY_SECOND_START,'hh24:mi'),'DD-MM-RRRR HH24:MI:SS')),
345 MONDAY_SECOND_END = decode( p_MONDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('5-01-1970 '||to_char(p_MONDAY_SECOND_END,'hh24:mi'),'DD-MM-RRRR HH24:MI:SS')),
346 TUESDAY_SECOND_START = decode( p_TUESDAY_SECOND_START, TO_DATE(NULL),TO_DATE(NULL), TO_DATE('6-01-1970'||to_char(p_TUESDAY_SECOND_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
347 TUESDAY_SECOND_END = decode( p_TUESDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('6-01-1970'||to_char(p_TUESDAY_SECOND_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
348 WEDNESDAY_SECOND_START = decode( p_WEDNESDAY_SECOND_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('7-01-1970'||to_char(p_WEDNESDAY_SECOND_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
349 WEDNESDAY_SECOND_END = decode( p_WEDNESDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('7-01-1970'||to_char(p_WEDNESDAY_SECOND_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
350 THURSDAY_SECOND_START = decode( p_THURSDAY_SECOND_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('1-01-1970'||to_char(p_THURSDAY_SECOND_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
351 THURSDAY_SECOND_END = decode( p_THURSDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('1-01-1970'||to_char(p_THURSDAY_SECOND_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
352 FRIDAY_SECOND_START = decode( p_FRIDAY_SECOND_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('2-01-1970'||to_char(p_FRIDAY_SECOND_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
353 FRIDAY_SECOND_END = decode( p_FRIDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('2-01-1970'||to_char(p_FRIDAY_SECOND_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
354 SATURDAY_SECOND_START = decode( p_SATURDAY_SECOND_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('3-01-1970'||to_char(p_SATURDAY_SECOND_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
355 SATURDAY_SECOND_END = decode( p_SATURDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('3-01-1970'||to_char(p_SATURDAY_SECOND_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
356 SUNDAY_SECOND_START = decode( p_SUNDAY_SECOND_START, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('4-01-1970'||to_char(p_SUNDAY_SECOND_START,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
357 SUNDAY_SECOND_END = decode( p_SUNDAY_SECOND_END, TO_DATE(NULL), TO_DATE(NULL), TO_DATE('4-01-1970'||to_char(p_SUNDAY_SECOND_END,'hh24:mi:ss'),'DD-MM-RRRR HH24:MI:SS')),
358 OBJECT_VERSION_NUMBER = px_object_version_number,
359 DATA_CHANGED_FRM_UI = nvl(p_data_chg_frm_ui,'N')
360 where ACCESS_HOUR_ID = p_ACCESS_HOUR_ID
361 and TASK_ID=p_TASK_ID;
362
363 If (SQL%NOTFOUND) then
364 -- RAISE NO_DATA_FOUND;
365 Raise fnd_api.g_exc_unexpected_error;
366 end if;
367
368
369 update CSF_ACCESS_HOURS_TL set
370 DESCRIPTION = p_DESCRIPTION,
371 LAST_UPDATE_DATE = sysdate,
372 LAST_UPDATED_BY = g_user_id,
373 LAST_UPDATE_LOGIN = g_login_id,
374 SOURCE_LANG = userenv('LANG')
375 where ACCESS_HOUR_ID = p_ACCESS_HOUR_ID
376 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
377
378 If (SQL%NOTFOUND) then
379 -- RAISE NO_DATA_FOUND;
380 Raise fnd_api.g_exc_unexpected_error;
381 end if;
382
383
384 -- Standard check of p_commit
385 IF fnd_api.to_boolean(p_commit) THEN
386 commit work;
387 END IF;
388 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
389
390 EXCEPTION
391
392 WHEN fnd_api.g_exc_error then
396 x_msg_data := l_msg_data;*/
393 --ROLLBACK TO delete_access_hours_pub;
394 x_return_status :=fnd_api.g_ret_sts_error;
395 /*x_msg_count := l_msg_count;
397 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
398
399 WHEN fnd_api.g_exc_unexpected_error then
400 --ROLLBACK TO delete_access_hours_pub;
401 x_return_status :=fnd_api.g_ret_sts_unexp_error;
402 /*x_msg_count := l_msg_count;
403 x_msg_data := l_msg_data;*/
404 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
405
406 WHEN OTHERS then
407 --ROLLBACK TO delete_access_hours_pub;
408 x_return_status := fnd_api.g_ret_sts_unexp_error;
409 /*x_msg_count := l_msg_count;
410 x_msg_data := l_msg_data;*/
411 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
412
413 END Update_Access_Hours;
414
415 PROCEDURE Delete_Access_Hours(
416 p_API_VERSION IN NUMBER,
417 p_INIT_MSG_LIST IN VARCHAR2 ,
418 p_ACCESS_HOUR_ID NUMBER,
419 p_commit in varchar2 ,
420 x_return_status OUT NOCOPY VARCHAR2,
421 x_msg_data OUT NOCOPY VARCHAR2,
422 x_msg_count OUT NOCOPY NUMBER
423 )
424 IS
425 l_return_status varchar2(100);
426 l_msg_count NUMBER;
427 l_msg_data varchar2(1000);
428 l_api_name_full constant varchar2(50) := 'CSF_ACCESS_HOURS_PVT.DELETE_ACCESS_HOURS';
429 BEGIN
430 x_return_status := fnd_api.g_ret_sts_success;
431 DELETE FROM CSF_ACCESS_HOURS_TL
432 WHERE ACCESS_HOUR_ID=p_ACCESS_HOUR_ID;
433 If (SQL%NOTFOUND) then
434 -- RAISE NO_DATA_FOUND;
435 Raise fnd_api.g_exc_unexpected_error;
436 end if;
437
438 DELETE FROM CSF_ACCESS_HOURS_B
439 WHERE ACCESS_HOUR_ID=p_ACCESS_HOUR_ID;
440 If (SQL%NOTFOUND) then
441 -- RAISE NO_DATA_FOUND;
442 Raise fnd_api.g_exc_unexpected_error;
443 end if;
444
445 -- Standard check of p_commit
446 IF fnd_api.to_boolean(p_commit) THEN
447 commit work;
448 END IF;
449
450 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
451
452 EXCEPTION
453
454 WHEN fnd_api.g_exc_error then
455 --ROLLBACK TO delete_access_hours_pub;
456 x_return_status := fnd_api.g_ret_sts_error;
457 /*x_msg_count := l_msg_count;
458 x_msg_data := l_msg_data;*/
459 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
460
461 WHEN fnd_api.g_exc_unexpected_error then
462 --ROLLBACK TO delete_access_hours_pub;
463 x_return_status :=fnd_api.g_ret_sts_unexp_error;
464 /*x_msg_count := l_msg_count;
465 x_msg_data := l_msg_data;*/
466 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
467
468 WHEN OTHERS then
469 --ROLLBACK TO delete_access_hours_pub;
470 x_return_status := fnd_api.g_ret_sts_unexp_error;
471 /*x_msg_count := l_msg_count;
472 x_msg_data := l_msg_data;*/
473 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
474
475 END Delete_Access_Hours;
476
477
478 PROCEDURE lock_Access_hours
479 (
480 p_API_VERSION IN NUMBER,
481 p_INIT_MSG_LIST IN VARCHAR2 default NULL,
482 p_access_hour_id in number
483 , p_object_version_number in number,
484 x_return_status OUT NOCOPY VARCHAR2,
485 x_msg_data OUT NOCOPY VARCHAR2,
486 x_msg_count OUT NOCOPY NUMBER
487 )
488
489
490
491 IS
492 cursor c_ovn
493 is
494 select object_version_number
495 from csf_access_hours_b
496 where access_hour_id = p_access_hour_id
497 for update of access_hour_id nowait;
498
499 l_rec c_ovn%rowtype;
500
501
502
503 BEGIN
504
505 x_return_status := fnd_api.g_ret_sts_success;
506 open c_ovn;
507 fetch c_ovn into l_rec;
508 if c_ovn%notfound
509 then
510 close c_ovn;
511 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
512 app_exception.raise_exception;
513 end if;
514 close c_ovn;
515
516 if l_rec.object_version_number = p_object_version_number
517 then
518 null;
519 else
520 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
521 app_exception.raise_exception;
522 end if;
523
524 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
525
526 EXCEPTION
527
528 WHEN fnd_api.g_exc_error then
529 --ROLLBACK TO delete_access_hours_pub;
530 x_return_status :=fnd_api.g_ret_sts_error;
531 /*x_msg_count := l_msg_count;
532 x_msg_data := l_msg_data;*/
533 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
534
535 WHEN fnd_api.g_exc_unexpected_error then
536 --ROLLBACK TO delete_access_hours_pub;
537 x_return_status :=fnd_api.g_ret_sts_unexp_error;
538 /*x_msg_count := l_msg_count;
539 x_msg_data := l_msg_data;*/
540 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
541
542 WHEN OTHERS then
543 --ROLLBACK TO delete_access_hours_pub;
544 x_return_status := fnd_api.g_ret_sts_unexp_error;
545 /*x_msg_count := l_msg_count;
546 x_msg_data := l_msg_data;*/
547 fnd_msg_pub.count_and_get(p_count => x_msg_count,p_data => x_msg_data);
548 END lock_Access_Hours;
549
550
551 BEGIN
552 -- ADD SESSION INFO
553 g_user_id := fnd_global.user_id;
556 END CSF_ACCESS_HOURS_PVT;
554 g_login_id := fnd_global.login_id;
555