[Home] [Help]
PACKAGE BODY: APPS.OZF_PROCESS_SETUP_PVT
Source
1 PACKAGE BODY OZF_PROCESS_SETUP_PVT as
2 /* $Header: ozfvpseb.pls 120.5 2008/07/04 04:23:27 kdass noship $ */
3 -- Start of Comments
4 -- Package name : ozf_process_setup_pvt
5 -- Purpose :
6 -- History : 10-NOV-2007 gdeepika Created
7 -- NOTE :
8 -- End of Comments
9
10 G_PKG_NAME CONSTANT VARCHAR2(30):= 'ozf_process_setup_pvt';
11 G_FILE_NAME CONSTANT VARCHAR2(12) := 'ozfvpseb.pls';
12 G_PARTY_ID NUMBER;
13 G_ACCOUNT_ID NUMBER;
14
15 PROCEDURE create_process_setup
16 (
17 p_api_version_number IN NUMBER,
18 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
19 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
20 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
21 x_return_status OUT NOCOPY VARCHAR2,
22 x_msg_count OUT NOCOPY NUMBER,
23 x_msg_data OUT NOCOPY VARCHAR2,
24 p_process_setup_tbl IN process_setup_tbl_type,
25 x_process_setup_id_tbl OUT NOCOPY JTF_NUMBER_TABLE
26 )
27 IS
28 l_api_name CONSTANT VARCHAR2(30) := 'create_process_setup';
29 l_api_version_number CONSTANT NUMBER := 1.0;
30 l_return_status_full VARCHAR2(1);
31 l_object_version_number NUMBER := 1;
32 l_org_id NUMBER;
33 l_process_setup_id NUMBER;
34 l_process_setup_rec process_setup_rec_type;
35 TYPE process_code_table_type IS TABLE OF VARCHAR2(30);
36 process_code_tbl process_code_table_type;
37 flag boolean :=false;
38
39
40 BEGIN
41 -- Standard Start of API savepoint
42 SAVEPOINT create_process_setup_pvt;
43
44 -- Standard call to check for call compatibility.
45 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
46 p_api_version_number,
47 l_api_name,
48 G_PKG_NAME)
49 THEN
50 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
51 END IF;
52
53 -- Initialize message list if p_init_msg_list is set to TRUE.
54 IF FND_API.to_Boolean( p_init_msg_list )
55 THEN
56 FND_MSG_PUB.initialize;
57 END IF;
58
59
60 -- ******************************************************************
61 -- Validate Environment
62 -- ******************************************************************
63 IF FND_GLOBAL.User_Id IS NULL
64 THEN
65 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
66 THEN
67 FND_MESSAGE.Set_Name('OZF', 'OZF_USER_PROFILE_MISSING');
68 FND_MSG_PUB.ADD;
69 END IF;
70 RAISE FND_API.G_EXC_ERROR;
71 END IF;
72
73 -- Debug Message
74 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
75 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
76 END IF;
77
78 -- Initialize API return status to SUCCESS
79 x_return_status := FND_API.G_RET_STS_SUCCESS;
80
81 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
82 OZF_UTILITY_PVT.debug_message( 'No of records to be created'||p_process_setup_tbl.count);
83 END IF;
84
85 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
86 -- Debug message
87 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name);
88 -- Invoke validation procedures
89 Validate_Process_Setup(
90 p_api_version_number => 1.0,
91 p_init_msg_list => FND_API.G_FALSE,
92 p_validation_level => p_validation_level,
93 p_validation_mode => JTF_PLSQL_API.G_CREATE,
94 p_process_setup_tbl => p_process_setup_tbl,
95 x_return_status => x_return_status,
96 x_msg_count => x_msg_count,
97 x_msg_data => x_msg_data);
98 END IF;
99
100 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
101 RAISE FND_API.G_EXC_ERROR;
102 END IF;
103
104 -- Debug Message
105 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
106 OZF_UTILITY_PVT.debug_message( 'Private API: Calling create table handler');
107 END IF;
108
109 l_process_setup_id := NULL;
110 l_object_version_number := 1;
111
112 x_process_setup_id_tbl := JTF_NUMBER_TABLE();
113
114 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
115 OZF_UTILITY_PVT.debug_message( 'No of rows to be created '|| p_process_setup_tbl.count);
116 END IF;
117
118
119
120
121 FOR i IN 1 .. p_process_setup_tbl.count
122 LOOP
123
124 l_process_setup_rec := p_process_setup_tbl(i);
125
126 IF (l_process_setup_rec.org_id IS NULL) THEN
127 l_org_id := MO_GLOBAL.GET_CURRENT_ORG_ID(); -- R12 Enhancements
128 ELSE
129 l_org_id := l_process_setup_rec.org_id;
130 END IF;
131 SELECT ozf_process_setup_all_s.nextval INTO l_process_setup_id FROM DUAL;
132
133 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
134 OZF_UTILITY_PVT.debug_message( 'l_org_id ' || l_org_id);
135 OZF_UTILITY_PVT.debug_message( 'Process Setup ID '|| l_process_setup_id);
136 END IF;
137
138 BEGIN
139
140
141 OZF_PROCESS_SETUP_PKG.Insert_Row(
142 px_process_setup_id => l_process_setup_id,
143 px_object_version_number => l_object_version_number,
144 p_last_update_date => SYSDATE,
145 p_last_updated_by => FND_GLOBAL.USER_ID,
146 p_creation_date => SYSDATE,
147 p_created_by => FND_GLOBAL.USER_ID,
148 p_last_update_login => FND_GLOBAL.CONC_LOGIN_ID,
149 px_org_id => l_org_id,
150 p_supp_trade_profile_id => l_process_setup_rec.supp_trade_profile_id,
151 p_process_code => l_process_setup_rec.process_code,
152 p_enabled_flag => l_process_setup_rec.enabled_flag,
153 p_automatic_flag => l_process_setup_rec.automatic_flag,
154 p_attribute_category => l_process_setup_rec.attribute_category,
155 p_attribute1 => l_process_setup_rec.attribute1,
156 p_attribute2 => l_process_setup_rec.attribute2,
157 p_attribute3 => l_process_setup_rec.attribute3,
158 p_attribute4 => l_process_setup_rec.attribute4,
159 p_attribute5 => l_process_setup_rec.attribute5,
160 p_attribute6 => l_process_setup_rec.attribute6,
161 p_attribute7 => l_process_setup_rec.attribute7,
162 p_attribute8 => l_process_setup_rec.attribute8,
163 p_attribute9 => l_process_setup_rec.attribute9,
164 p_attribute10 => l_process_setup_rec.attribute10,
165 p_attribute11 => l_process_setup_rec.attribute11,
166 p_attribute12 => l_process_setup_rec.attribute12,
167 p_attribute13 => l_process_setup_rec.attribute13,
168 p_attribute14 => l_process_setup_rec.attribute14,
169 p_attribute15 => l_process_setup_rec.attribute15);
170
171 EXCEPTION
172 WHEN OTHERS THEN
173 OZF_UTILITY_PVT.debug_message (SQLERRM ||' Error in creating process setup');
174 RAISE FND_API.G_EXC_ERROR;
175 END;
176 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
177 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || ' after insert call - code conversion id' || l_process_setup_id);
178 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || ' after insert call - obj version no ' || l_process_setup_rec.Object_Version_Number);
179 END IF;
180
181 x_process_setup_id_tbl.extend;
182 x_process_setup_id_tbl(x_process_setup_id_tbl.count) := l_process_setup_id;
183
184 END LOOP;
185
186
187
188 -- new code for inserting the remaining process code records during creation.
189
190 --CURSOR csr_process_setup(pc_table process_code_table_type)
191 -- IS
192 SELECT lookup_code
193 BULK COLLECT INTO process_code_tbl
194 FROM dpp_lookups fl
195 WHERE fl.lookup_type='DPP_EXECUTION_PROCESSES'
196 AND nvl(fl.start_date_active,sysdate) <= sysdate
197 AND nvl(fl.end_date_active,sysdate) >= sysdate
198 AND fl.enabled_flag= 'Y'
199 AND fl.tag IS NOT NULL;
200
201 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
202 OZF_UTILITY_PVT.debug_message('code table count'||process_code_tbl.count);
203 end if;
204 l_process_setup_rec := p_process_setup_tbl(1);
205 IF (l_process_setup_rec.org_id IS NULL) THEN
206 l_org_id := MO_GLOBAL.GET_CURRENT_ORG_ID(); -- R12 Enhancements
207 ELSE
208 l_org_id := l_process_setup_rec.org_id;
209 END IF;
210
211 FOR i IN process_code_tbl.first..process_code_tbl.last
212 LOOP
213 flag := true;
214 FOR j IN p_process_setup_tbl.first..p_process_setup_tbl.last
215 LOOP
216 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
217 OZF_UTILITY_PVT.debug_message('i is '||i);
218 OZF_UTILITY_PVT.debug_message('J'||j);
219 OZF_UTILITY_PVT.debug_message(' for p_process_setup_tbl(j).process_code'||p_process_setup_tbl(j).process_code||'--process_code_tbl(i)'||process_code_tbl(i));
220 end if;
221 if (p_process_setup_tbl(j).process_code = process_code_tbl(i))
222 then
223 flag := false;
224 exit;
225 end if;
226 if(flag = false) then
227 exit;
228 end if;
229 END LOOP;
230
231 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
232 OZF_UTILITY_PVT.debug_message('for p_process_setup_tbl(j).process_code'||'--'||process_code_tbl(i));
233 end if;
234 IF (flag = true) THEN
235
236 SELECT ozf_process_setup_all_s.nextval INTO l_process_setup_id FROM DUAL;
237
238 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
239 OZF_UTILITY_PVT.debug_message('l_process_setup_id and i '||i||l_process_setup_id);
240 OZF_UTILITY_PVT.debug_message('org_id and i '||i||l_org_id);
241 OZF_UTILITY_PVT.debug_message('l_object_version_number and i '||i||l_object_version_number);
242 OZF_UTILITY_PVT.debug_message('l_process_setup_rec.supp_trade_profile_id and i '||i||l_process_setup_rec.supp_trade_profile_id);
243 OZF_UTILITY_PVT.debug_message('process_code_tbl(i) and i '||i||process_code_tbl(i));
244
245 OZF_UTILITY_PVT.debug_message( 'l_org_id ' || l_org_id);
246 OZF_UTILITY_PVT.debug_message( 'Process Setup ID '|| l_process_setup_id);
247
248 END IF;
249
250 BEGIN
251 OZF_PROCESS_SETUP_PKG.Insert_Row(
252 px_process_setup_id => l_process_setup_id,
253 px_object_version_number => l_object_version_number,
254 p_last_update_date => SYSDATE,
255 p_last_updated_by => FND_GLOBAL.USER_ID,
256 p_creation_date => SYSDATE,
257 p_created_by => FND_GLOBAL.USER_ID,
258 p_last_update_login => FND_GLOBAL.CONC_LOGIN_ID,
259 px_org_id => l_org_id,
260 p_supp_trade_profile_id => l_process_setup_rec.supp_trade_profile_id,
261 p_process_code => process_code_tbl(i),
262 p_enabled_flag => 'N',
263 p_automatic_flag => 'N',
264 p_attribute_category => NULL,
265 p_attribute1 => NULL,
266 p_attribute2 => NULL,
267 p_attribute3 => NULL,
268 p_attribute4 => NULL,
269 p_attribute5 => NULL,
270 p_attribute6 => NULL,
271 p_attribute7 => NULL,
272 p_attribute8 => NULL,
273 p_attribute9 => NULL,
274 p_attribute10 => NULL,
275 p_attribute11 => NULL,
276 p_attribute12 => NULL,
277 p_attribute13 => NULL,
278 p_attribute14 => NULL,
279 p_attribute15 => NULL);
280
281 EXCEPTION
282 WHEN OTHERS THEN
283 OZF_UTILITY_PVT.debug_message (SQLERRM ||' Error in creating process setup');
284 RAISE FND_API.G_EXC_ERROR;
285 END;
286 else
287 OZF_UTILITY_PVT.debug_message('flag was false');
288 end if ;
289 END LOOP;
290 -- RAISE FND_API.G_EXC_ERROR;
291 -- Standard check for p_commit
292 IF FND_API.to_Boolean( p_commit )
293 THEN
294 COMMIT WORK;
295 END IF;
296
297 -- Debug Message
298 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
299 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
300 END IF;
301
302 -- Standard call to get message count and if count is 1, get message info.
303 FND_MSG_PUB.Count_And_Get
304 (p_count => x_msg_count,
305 p_data => x_msg_data
306 );
307
308
309
310 EXCEPTION
311 WHEN OZF_UTILITY_PVT.resource_locked THEN
312 x_return_status := FND_API.g_ret_sts_error;
313 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
314 FND_MESSAGE.set_name('OZF', 'OZF_API_RESOURCES_LOCKED');
315 FND_MSG_PUB.add;
316 END IF;
317 WHEN FND_API.G_EXC_ERROR THEN
318 ROLLBACK TO create_process_setup_pvt;
319 x_return_status := FND_API.G_RET_STS_ERROR;
320 -- Standard call to get message count and if count=1, get the message
321 FND_MSG_PUB.Count_And_Get (
322 p_encoded => FND_API.G_FALSE,
323 p_count => x_msg_count,
324 p_data => x_msg_data
325 );
329 -- Standard call to get message count and if count=1, get the message
326 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
327 ROLLBACK TO create_process_setup_pvt;
328 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
330 FND_MSG_PUB.Count_And_Get (
331 p_encoded => FND_API.G_FALSE,
332 p_count => x_msg_count,
333 p_data => x_msg_data
334 );
335 WHEN OTHERS THEN
336 ROLLBACK TO create_process_setup_pvt;
337 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
338 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
339 THEN
340 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
341 END IF;
342 -- Standard call to get message count and if count=1, get the message
343 FND_MSG_PUB.Count_And_Get (
344 p_encoded => FND_API.G_FALSE,
345 p_count => x_msg_count,
346 p_data => x_msg_data
347 );
348
349 END create_process_setup ;
350
351
352 PROCEDURE Update_process_setup
353 (
354 p_api_version_number IN NUMBER,
355 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
356 p_commit IN VARCHAR2 := FND_API.G_FALSE,
357 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
358 x_return_status OUT NOCOPY VARCHAR2,
359 x_msg_count OUT NOCOPY NUMBER,
360 x_msg_data OUT NOCOPY VARCHAR2,
361 p_process_setup_tbl IN process_setup_tbl_type ,
362 x_object_version_number OUT NOCOPY JTF_NUMBER_TABLE
363 )
364 IS
365 l_api_name CONSTANT VARCHAR2(30) := 'Update_process_setup';
366 l_api_version_number CONSTANT NUMBER := 1.0;
367 l_object_version_number NUMBER;
368
369 l_process_setup_id NUMBER;
370
371 CURSOR csr_process_setup(cv_process_setup_id NUMBER)
372 IS
373 SELECT process_setup_id,
374 object_version_number,
375 last_update_date,
376 last_updated_by,
377 creation_date,
378 created_by,
379 last_update_login,
380 org_id,
381 supp_trade_profile_id,
382 process_code,
383 enabled_flag,
384 automatic_flag,
385 attribute_category,
386 attribute1,
387 attribute2,
388 attribute3,
389 attribute4,
390 attribute5,
391 attribute6,
392 attribute7,
393 attribute8,
394 attribute9,
395 attribute10,
396 attribute11,
397 attribute12,
398 attribute13,
399 attribute14,
400 attribute15,
401 security_group_id
402 FROM ozf_process_setup_all
403 WHERE process_setup_id = cv_process_setup_id;
404
405 CURSOR get_org
406 IS
407 SELECT org_id FROM ozf_sys_parameters;
408
409 l_process_setup_rec process_setup_rec_type;
410 l_process_setup_tbl process_setup_tbl_type;
411 l_org_id NUMBER;
412 p_process_setup_rec process_setup_rec_type;
413
414
415 BEGIN
416 -- Standard Start of API savepoint
417 SAVEPOINT update_process_setup_pvt;
418
419 -- Standard call to check for call compatibility.
420 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
421 p_api_version_number,
422 l_api_name,
423 G_PKG_NAME)
424 THEN
425 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
426 END IF;
427
428 -- Initialize message list if p_init_msg_list is set to TRUE.
429 IF FND_API.to_Boolean( p_init_msg_list )
430 THEN
431 FND_MSG_PUB.initialize;
432 END IF;
433
434 -- ******************************************************************
435 -- Validate Environment
436 -- ******************************************************************
437 IF FND_GLOBAL.User_Id IS NULL
438 THEN
439 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
440 THEN
441 FND_MESSAGE.Set_Name('OZF', 'OZF_USER_PROFILE_MISSING');
442 FND_MSG_PUB.ADD;
443 END IF;
444 RAISE FND_API.G_EXC_ERROR;
445 END IF;
446
447 -- Debug Message
448 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
449 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
450 END IF;
451
452 -- Initialize API return status to SUCCESS
453 x_return_status := FND_API.G_RET_STS_SUCCESS;
454 x_object_version_number := JTF_NUMBER_TABLE();
455
456
457 FOR i in 1 .. p_process_setup_tbl.count
458 LOOP
459 p_process_setup_rec := p_process_setup_tbl(i);
460 l_process_setup_id := p_process_setup_rec.process_setup_id;
461
462 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
463 OZF_UTILITY_PVT.debug_message( 'In Update :Process Setup ID' || l_process_setup_id);
464 END IF;
465
469 INTO l_process_setup_rec.process_setup_id
466 -- Check for the existance of the record
467 OPEN csr_process_setup(l_process_setup_id);
468 FETCH csr_process_setup
470 ,l_process_setup_rec.object_version_number
471 ,l_process_setup_rec.last_update_date
472 ,l_process_setup_rec.last_updated_by
473 ,l_process_setup_rec.creation_date
474 ,l_process_setup_rec.created_by
475 ,l_process_setup_rec.last_update_login
476 ,l_process_setup_rec.org_id
477 ,l_process_setup_rec.supp_trade_profile_id
478 ,l_process_setup_rec.process_code
479 ,l_process_setup_rec.enabled_flag
480 ,l_process_setup_rec.automatic_flag
481 ,l_process_setup_rec.attribute_category
482 ,l_process_setup_rec.attribute1
483 ,l_process_setup_rec.attribute2
484 ,l_process_setup_rec.attribute3
485 ,l_process_setup_rec.attribute4
486 ,l_process_setup_rec.attribute5
487 ,l_process_setup_rec.attribute6
488 ,l_process_setup_rec.attribute7
489 ,l_process_setup_rec.attribute8
490 ,l_process_setup_rec.attribute9
491 ,l_process_setup_rec.attribute10
492 ,l_process_setup_rec.attribute11
493 ,l_process_setup_rec.attribute12
494 ,l_process_setup_rec.attribute13
495 ,l_process_setup_rec.attribute14
496 ,l_process_setup_rec.attribute15
497 ,l_process_setup_rec.security_group_id;
498
499
500 IF ( csr_process_setup%NOTFOUND) THEN
501 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
502 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'nodata for upd');
503 END IF;
504
505 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
506 FND_MESSAGE.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
507 FND_MSG_PUB.add;
508 END IF;
509 RAISE FND_API.G_EXC_ERROR;
510 END IF;
511 CLOSE csr_process_setup;
512
513
514 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
515 OZF_UTILITY_PVT.debug_message( 'Pre Object Version Number ' || l_process_setup_rec.object_version_number);
516 OZF_UTILITY_PVT.debug_message( 'Post Object Version Number' || P_process_setup_rec.object_version_number);
517 END IF;
518
519 --- Check the Version Number for Locking
520 IF l_process_setup_rec.object_version_number <> P_process_setup_rec.Object_Version_number
521 THEN
522 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
523 OZF_UTILITY_PVT.debug_message( 'dbver' || l_process_setup_rec.object_version_number);
524 OZF_UTILITY_PVT.debug_message( 'reqver' || P_process_setup_rec.object_version_number);
525 END IF;
526
527 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
528 THEN
529 FND_MESSAGE.Set_Name('OZF', 'OZF_API_RESOURCE_LOCKED');
530 FND_MSG_PUB.ADD;
531 END IF;
532 RAISE FND_API.G_EXC_ERROR;
533 END IF;
534
535
536 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
537 -- Debug message
538 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
539 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name);
540 END IF;
541 -- Invoke validation procedures
542 Validate_process_setup(
543 p_api_version_number => 1.0,
544 p_init_msg_list => FND_API.G_FALSE,
545 p_validation_level => p_validation_level,
546 p_validation_mode => JTF_PLSQL_API.G_UPDATE,
547 p_process_setup_tbl => p_process_setup_tbl,
548 x_return_status => x_return_status,
549 x_msg_count => x_msg_count,
550 x_msg_data => x_msg_data);
551 END IF;
552
553 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
554 RAISE FND_API.G_EXC_ERROR;
555 END IF;
556
557 IF (l_process_setup_rec.org_id IS NULL) THEN
558 l_org_id := MO_GLOBAL.GET_CURRENT_ORG_ID(); -- R12 Enhancements
559 ELSE
560 l_org_id := l_process_setup_rec.org_id;
561 END IF;
562
563
564 -- Call Update Table Handler
565 -- Debug Message
566 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
567 OZF_UTILITY_PVT.debug_message( 'Private API: Calling Update table handler');
568 END IF;
569 BEGIN
570 OZF_PROCESS_SETUP_PKG.Update_Row(
571 p_process_setup_id => l_process_setup_id,
572 p_object_version_number => p_process_setup_rec.object_version_number,
573 p_last_update_date => SYSDATE,
574 p_last_updated_by => FND_GLOBAL.USER_ID,
575 p_last_update_login => FND_GLOBAL.CONC_LOGIN_ID,
576 p_org_id => l_org_id,
577 p_supp_trade_profile_id => p_process_setup_rec.supp_trade_profile_id,
578 p_process_code => p_process_setup_rec.process_code,
582 p_attribute1 => p_process_setup_rec.attribute1,
579 p_enabled_flag => p_process_setup_rec.enabled_flag,
580 p_automatic_flag => p_process_setup_rec.automatic_flag,
581 p_attribute_category => p_process_setup_rec.attribute_category,
583 p_attribute2 => p_process_setup_rec.attribute2,
584 p_attribute3 => p_process_setup_rec.attribute3,
585 p_attribute4 => p_process_setup_rec.attribute4,
586 p_attribute5 => p_process_setup_rec.attribute5,
587 p_attribute6 => p_process_setup_rec.attribute6,
588 p_attribute7 => p_process_setup_rec.attribute7,
589 p_attribute8 => p_process_setup_rec.attribute8,
590 p_attribute9 => p_process_setup_rec.attribute9,
591 p_attribute10 => p_process_setup_rec.attribute10,
592 p_attribute11 => p_process_setup_rec.attribute11,
593 p_attribute12 => p_process_setup_rec.attribute12,
594 p_attribute13 => p_process_setup_rec.attribute13,
595 p_attribute14 => p_process_setup_rec.attribute14,
596 p_attribute15 => p_process_setup_rec.attribute15);
597
598
599
600 EXCEPTION
601 WHEN OTHERS THEN
602 OZF_UTILITY_PVT.debug_message (SQLERRM ||' Error in updating OZF_PROCESS_SETUP table');
603 RAISE FND_API.G_EXC_ERROR;
604 END;
605 x_object_version_number.EXTEND;
606 x_object_Version_number(x_object_version_number.count) := p_process_setup_rec.Object_Version_Number;
607
608 END LOOP;
609 --END IF;
610
611 -- Standard check for p_commit
612 IF FND_API.to_Boolean( p_commit )
613 THEN
614 COMMIT WORK;
615 END IF;
616
617
618 -- Debug Message
619 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
620 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
621 END IF;
622 -- Standard call to get message count and if count is 1, get message info.
623 FND_MSG_PUB.Count_And_Get
624 (p_count => x_msg_count,
625 p_data => x_msg_data
626 );
627 EXCEPTION
628 WHEN FND_API.G_EXC_ERROR THEN
629 ROLLBACK TO update_process_setup_pvt;
630 x_return_status := FND_API.G_RET_STS_ERROR;
631 -- Standard call to get message count and if count=1, get the message
632 FND_MSG_PUB.Count_And_Get (
633 p_encoded => FND_API.G_FALSE,
634 p_count => x_msg_count,
635 p_data => x_msg_data
636 );
637 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
638 ROLLBACK TO update_process_setup_pvt;
639 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
640 -- Standard call to get message count and if count=1, get the message
641 FND_MSG_PUB.Count_And_Get (
642 p_encoded => FND_API.G_FALSE,
643 p_count => x_msg_count,
644 p_data => x_msg_data
645 );
646 WHEN OTHERS THEN
647 ROLLBACK TO update_process_setup_pvt;
648 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
649 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
650 THEN
651 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
652 END IF;
653 -- Standard call to get message count and if count=1, get the message
654 FND_MSG_PUB.Count_And_Get (
655 p_encoded => FND_API.G_FALSE,
656 p_count => x_msg_count,
657 p_data => x_msg_data
658 );
659
660 END Update_process_Setup;
661
662
663
664 PROCEDURE Update_Process_Setup_Tbl(
665 P_Api_Version_Number IN NUMBER,
666 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
667 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
668 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
669 X_Return_Status OUT NOCOPY VARCHAR2,
670 X_Msg_Count OUT NOCOPY NUMBER,
671 X_Msg_Data OUT NOCOPY VARCHAR2,
672 P_process_setup_Tbl IN process_setup_tbl_type
673 )
674 IS
675 l_api_name CONSTANT VARCHAR2(30) := 'update_process_setup_tbl';
676 l_api_version_number CONSTANT NUMBER := 1.0;
677
678 p_process_setup_rec process_setup_rec_type;
679
680 l_process_setup_id NUMBER;
681 v_process_setup_id JTF_NUMBER_TABLE;
682 v_object_version_number JTF_NUMBER_TABLE;
683
684 l_create_flag VARCHAR2(10);
685
686 l_create_pro_setup_tbl process_setup_tbl_type := process_setup_tbl_type();
687 l_update_pro_setup_tbl process_setup_tbl_type := process_setup_tbl_type();
688
689 l_cc_cnt NUMBER := 0;
690 l_up_cnt NUMBER := 0;
691
692 BEGIN
693 -- Standard Start of API savepoint
694 SAVEPOINT update_process_setup_tbl_pvt;
695
696 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
697 OZF_UTILITY_PVT.debug_message('Entered the proc tbl');
698 END IF;
702 p_api_version_number,
699
700 -- Standard call to check for call compatibility.
701 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
703 l_api_name,
704 G_PKG_NAME)
705 THEN
706 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
707 END IF;
708
709 -- Initialize message list if p_init_msg_list is set to TRUE.
710 IF FND_API.to_Boolean( p_init_msg_list )
711 THEN
712 FND_MSG_PUB.initialize;
713 END IF;
714
715 -- ******************************************************************
716 -- Validate Environment
717 -- ******************************************************************
718 IF FND_GLOBAL.User_Id IS NULL
719 THEN
720 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
721 THEN
722 FND_MESSAGE.Set_Name('OZF', 'OZF_USER_PROFILE_MISSING');
723 FND_MSG_PUB.ADD;
724 END IF;
725 RAISE FND_API.G_EXC_ERROR;
726 END IF;
727
728 -- Debug Message
729 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
730 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
731 OZF_UTILITY_PVT.debug_message('Total Number of records '||P_process_setup_Tbl.count);
732 END IF;
733 -- Initialize API return status to SUCCESS
734 x_return_status := FND_API.G_RET_STS_SUCCESS;
735
736 v_process_setup_id := JTF_NUMBER_TABLE();
737 v_object_version_number := JTF_NUMBER_TABLE();
738
739 FOR i IN P_process_setup_Tbl.first .. P_process_setup_Tbl.last
740 LOOP
741 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
742 OZF_UTILITY_PVT.debug_message('i' ||i);
743 OZF_UTILITY_PVT.debug_message('P_process_setup_Tbl(i).process_setup_id'||P_process_setup_Tbl(i).process_setup_id);
744 OZF_UTILITY_PVT.debug_message('P_process_setup_Tbl(i).org_id'||P_process_setup_Tbl(i).org_id);
745 OZF_UTILITY_PVT.debug_message('P_process_setup_Tbl(i).enabled_flag'||P_process_setup_Tbl(i).enabled_flag);
746 OZF_UTILITY_PVT.debug_message('P_process_setup_Tbl(i).automatic_flag'||P_process_setup_Tbl(i).automatic_flag);
747 OZF_UTILITY_PVT.debug_message('P_process_setup_Tbl(i).supp_trade_profile_id'||P_process_setup_Tbl(i).supp_trade_profile_id);
748 OZF_UTILITY_PVT.debug_message('P_process_setup_Tbl(i).process_code'||P_process_setup_Tbl(i).process_code);
749 end if;
750 -- OZF_UTILITY_PVT.debug_message('P_process_setup_Tbl(i).process_setup_id'||P_process_setup_Tbl(i).process_setup_id);
751 l_process_setup_id := P_process_setup_Tbl(i).process_setup_id;
752 P_process_setup_Rec := P_process_setup_Tbl(i);
753
754
755
756
757 IF l_process_setup_id IS NULL OR l_process_setup_id = -1 then
758 l_cc_cnt := l_cc_cnt + 1;
759
760 l_create_pro_setup_tbl.extend;
761 l_create_pro_setup_tbl(l_cc_cnt) := P_process_setup_Rec;
762
763 ELSE
764 l_up_cnt := l_up_cnt + 1;
765
766 l_update_pro_setup_tbl.extend;
767 l_update_pro_setup_tbl(l_up_cnt) := P_process_setup_Rec;
768 END IF;
769
770
771
772 END LOOP;
773 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
774 OZF_UTILITY_PVT.debug_message('No of rows to be created: ' || l_cc_cnt);
775 OZF_UTILITY_PVT.debug_message('No of rows to be updated: ' || l_up_cnt);
776 END IF;
777
778 IF l_cc_cnt > 0 THEN
779 --- Call to Create Procedure
780 Create_process_setup
781 (
782 p_api_version_number => p_api_version_number,
783 p_init_msg_list => p_init_msg_list,
784 p_commit => p_commit,
785 p_validation_level => p_validation_level,
786 x_return_status => x_return_Status,
787 x_msg_count => x_msg_Count,
788 x_msg_data => x_msg_Data,
789 p_process_setup_tbl => l_create_pro_setup_tbl,
790 x_process_setup_id_tbl => v_process_setup_id
791 );
792
793 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
794 RAISE FND_API.G_EXC_ERROR;
795 END IF;
796 END IF;
797
798 IF l_up_cnt > 0 THEN
799 -- Call to Update Procedure
800 Update_process_setup (
801 p_api_version_number => p_api_version_number ,
802 p_init_msg_list => p_init_msg_list,
803 p_commit => p_commit,
804 p_validation_level => p_validation_level,
805 x_return_status => x_return_Status,
806 x_msg_count => x_msg_Count,
807 x_msg_data => x_msg_Data,
808 p_process_setup_tbl => l_update_pro_setup_tbl,
809 x_object_version_number => v_object_version_number
810 );
811
812 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
816
813 RAISE FND_API.G_EXC_ERROR;
814 END IF;
815 END IF;
817 -- Standard check for p_commit
818 IF FND_API.to_Boolean( p_commit )
819 THEN
820 COMMIT WORK;
821 END IF;
822
823 -- Debug Message
824 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
825 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
826 END IF;
827 -- Standard call to get message count and if count is 1, get message info.
828 FND_MSG_PUB.Count_And_Get
829 (p_count => x_msg_count,
830 p_data => x_msg_data
831 );
832 EXCEPTION
833 WHEN FND_API.G_EXC_ERROR THEN
834 ROLLBACK TO update_process_setup_tbl_pvt;
835 x_return_status := FND_API.G_RET_STS_ERROR;
836 -- Standard call to get message count and if count=1, get the message
837 FND_MSG_PUB.Count_And_Get (
838 p_encoded => FND_API.G_FALSE,
839 p_count => x_msg_count,
840 p_data => x_msg_data
841 );
842 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
843 ROLLBACK TO update_process_setup_tbl_pvt;
844 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
845 -- Standard call to get message count and if count=1, get the message
846 FND_MSG_PUB.Count_And_Get (
847 p_encoded => FND_API.G_FALSE,
848 p_count => x_msg_count,
849 p_data => x_msg_data
850 );
851 WHEN OTHERS THEN
852 ROLLBACK TO update_process_setup_tbl_pvt;
853 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
854 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
855 THEN
856 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
857 END IF;
858 -- Standard call to get message count and if count=1, get the message
859 FND_MSG_PUB.Count_And_Get (
860 p_encoded => FND_API.G_FALSE,
861 p_count => x_msg_count,
862 p_data => x_msg_data
863 );
864
865
866 END Update_Process_Setup_Tbl;
867
868
869
870 PROCEDURE Check_uniq_process_setup(
871 p_process_setup_rec IN process_setup_rec_type,
872 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
873 x_return_status OUT NOCOPY VARCHAR2
874 )
875 IS
876 l_api_name CONSTANT VARCHAR2(30) := 'Check_uniq_process_setup';
877 l_api_version_number CONSTANT NUMBER := 1.0;
878
879
880 CURSOR csr_pro_setup_4stp(cv_supp_trade_profile_id NUMBER
881 ,cv_process_code VARCHAR2)
882 IS
883 SELECT COUNT(process_setup_id)
884 FROM ozf_process_setup_all
885 WHERE process_code = cv_process_code
886 AND supp_trade_profile_id = cv_supp_trade_profile_id ;
887
888 CURSOR csr_pro_setup_4org(cv_process_code VARCHAR2,
889 cv_org_id NUMBER
890 )
891 IS
892 SELECT COUNT(process_setup_id)
893 FROM ozf_process_setup_all
894 WHERE supp_trade_profile_id IS NULL
895 AND org_id = cv_org_id
896 AND process_code = cv_process_code ;
897
898
899 l_valid_flag VARCHAR2(30);
900 l_psi_dummy NUMBER := 0;
901
902
903
904 BEGIN
905
906 x_return_status := FND_API.g_ret_sts_success;
907 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
908 OZF_UTILITY_PVT.debug_message('in '||l_api_name);
909
910 END IF;
911 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
912 IF p_process_setup_rec.supp_trade_profile_id = FND_API.g_miss_num OR
913 p_process_setup_rec.supp_trade_profile_id IS NULL
914 THEN
915 l_psi_dummy := 0;
916
917 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
918 OZF_UTILITY_PVT.debug_message('Enabled flag ' ||p_process_setup_rec.enabled_flag );
919 OZF_UTILITY_PVT.debug_message('Org ID ' || p_process_setup_rec.org_id );
920 END IF;
921
922 OPEN csr_pro_setup_4org(p_process_setup_rec.process_code,p_process_setup_rec.org_id);
923 FETCH csr_pro_setup_4org
924 INTO l_psi_dummy;
925 CLOSE csr_pro_setup_4org;
926
927
928 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
929 OZF_UTILITY_PVT.debug_message('Duplicate Process setup id' || p_process_setup_rec.process_setup_id );
930 END IF;
931 IF l_psi_dummy > 0 THEN
932 l_valid_flag := FND_API.g_false;
933 END IF;
934 ELSE
935 l_psi_dummy := NULL;
936 OPEN csr_pro_setup_4stp( p_process_setup_rec.supp_trade_profile_id,
937 p_process_setup_rec.process_code);
938 FETCH csr_pro_setup_4stp
939 INTO l_psi_dummy;
940 CLOSE csr_pro_setup_4stp;
941
942
943
944
945 IF l_psi_dummy > 0 THEN
946 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
947 FND_MESSAGE.set_name('OZF', 'OZF_DUPLICATE_PROCESS_SETUP');
948 FND_MSG_PUB.add;
949 END IF;
953
950 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
951 l_valid_flag := FND_API.g_false;
952 END IF;
954 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
955 OZF_UTILITY_PVT.debug_message('Count of code map for psi ' || l_psi_dummy);
956 END IF;
957 END IF;
958 ELSE -- for update mode
959 l_valid_flag := FND_API.g_true;
960 END IF;
961
962 IF l_valid_flag = FND_API.g_false THEN
963 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
964 FND_MESSAGE.set_name('OZF', 'OZF_DUPLICATE_PROCESS_SETUP');
965 FND_MSG_PUB.add;
966 END IF;
967 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
968 x_return_status := FND_API.G_RET_STS_ERROR;
969 END IF;
970
971 END Check_Uniq_Process_Setup;
972
973
974 -- Start of Comments
975 --
976 -- Required Items Check procedure
977 --
978 -- p_validation_mode is a constant defined in OZF_UTILITY_PVT package
979 -- For create: G_CREATE, for update: G_UPDATE
980 -- End of Comments
981
982
983 PROCEDURE check_process_setup_items
984 (
985 p_process_setup_rec IN process_setup_rec_type,
986 p_validation_mode IN VARCHAR2,
987 x_return_status OUT NOCOPY VARCHAR2
988 )
989
990 IS
991 l_api_name CONSTANT VARCHAR2(30) := 'check_process_setup_items';
992 l_api_version_number CONSTANT NUMBER := 1.0;
993
994 BEGIN
995
996 x_return_status := FND_API.g_ret_sts_success;
997
998 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
999 OZF_UTILITY_PVT.debug_message('in '||l_api_name);
1000 END IF;
1001
1002 IF p_process_setup_rec.org_id = FND_API.g_miss_num OR
1003 p_process_setup_rec.org_id IS NULL
1004 THEN
1005 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1006 FND_MESSAGE.set_name('OZF', 'OZF_ORG_ID_MISSING');
1007 FND_MSG_PUB.add;
1008 END IF;
1009 x_return_status := FND_API.G_RET_STS_ERROR;
1010 END IF;
1011 IF x_return_status <> FND_API.g_ret_sts_success THEN
1012 RETURN;
1013 END IF;
1014
1015 check_uniq_process_setup( p_process_setup_rec,
1016 p_validation_mode,
1017 x_return_status
1018 );
1019 IF x_return_status <> FND_API.g_ret_sts_success THEN
1020 RETURN;
1021 END IF;
1022
1023 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
1024 OZF_UTILITY_PVT.debug_message('after check_uniq_process_setup ' );
1025 END IF;
1026
1027
1028 END check_process_setup_items;
1029 -- Start of Comments
1030 --
1031 -- validation procedures
1032 --
1033 -- p_validation_mode is a constant defined in OZF_UTILITY_PVT package
1034 -- For create: G_CREATE, for update: G_UPDATE
1035 -- End of Comments
1036
1037 PROCEDURE Validate_Process_Setup(
1038 p_api_version_number IN NUMBER,
1039 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1040 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1041 p_validation_mode IN VARCHAR2,
1042 p_process_setup_tbl IN process_setup_tbl_type,
1043 x_return_status OUT NOCOPY VARCHAR2,
1044 x_msg_count OUT NOCOPY NUMBER,
1045 x_msg_data OUT NOCOPY VARCHAR2
1046 )
1047
1048 IS
1049 l_api_name CONSTANT VARCHAR2(30) := 'Validate_process_setup';
1050 l_api_version_number CONSTANT NUMBER := 1.0;
1051 l_object_version_number NUMBER;
1052
1053 l_process_setup_rec process_setup_rec_type ;
1054
1055
1056 BEGIN
1057 -- Standard Start of API savepoint
1058 SAVEPOINT validate_process_setup_pvt;
1059
1060 -- Standard call to check for call compatibility.
1061 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1062 p_api_version_number,
1063 l_api_name,
1064 G_PKG_NAME)
1065 THEN
1066 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1067 END IF;
1068
1069 -- Initialize message list if p_init_msg_list is set to TRUE.
1070 IF FND_API.to_Boolean( p_init_msg_list )
1071 THEN
1072 FND_MSG_PUB.initialize;
1073 END IF;
1074 -- Call the Validate Item procedure for the item(field level validations )
1075 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
1076 OZF_UTILITY_PVT.debug_message('in '||l_api_name );
1077 END IF;
1078 x_return_status := FND_API.g_ret_sts_success;
1079
1080 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1081
1082 FOR i in 1 .. p_process_setup_tbl.count
1083 LOOP
1084 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
1085 OZF_UTILITY_PVT.debug_message('inside the loop p_process_setup_tbl ' );
1086 END IF;
1087 l_process_setup_rec := p_process_setup_tbl(i);
1088
1089 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low) THEN
1090 OZF_UTILITY_PVT.debug_message('Enabled flag ' || l_process_setup_rec.enabled_flag );
1091 OZF_UTILITY_PVT.debug_message('automatic flag '|| l_process_setup_rec.automatic_flag );
1092 OZF_UTILITY_PVT.debug_message('Process code' || l_process_setup_rec.process_code );
1093 END IF;
1094
1095 check_process_setup_items(
1096 p_process_setup_rec => l_process_setup_rec,
1097 p_validation_mode => p_validation_mode,
1098 x_return_status => x_return_status);
1099
1100
1101 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1102 RAISE FND_API.G_EXC_ERROR;
1103 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1104 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1105 END IF;
1106 END LOOP;
1107
1108 END IF;
1109 -- Initialize API return status to SUCCESS
1110 x_return_status := FND_API.G_RET_STS_SUCCESS;
1111 -- Standard call to get message count and if count is 1, get message info.
1112 FND_MSG_PUB.Count_And_Get
1113 (p_count => x_msg_count,
1114 p_data => x_msg_data
1115 );
1116 EXCEPTION
1117 WHEN OZF_Utility_PVT.resource_locked THEN
1118 x_return_status := FND_API.g_ret_sts_error;
1119 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1120 FND_MESSAGE.set_name('OZF', 'OZF_API_RESOURCE_LOCKED ');
1121 FND_MSG_PUB.add;
1122 END IF;
1123 WHEN FND_API.G_EXC_ERROR THEN
1124 ROLLBACK TO validate_process_setup_pvt;
1125 x_return_status := FND_API.G_RET_STS_ERROR;
1126 -- Standard call to get message count and if count=1, get the message
1127 FND_MSG_PUB.Count_And_Get (
1128 p_encoded => FND_API.G_FALSE,
1129 p_count => x_msg_count,
1130 p_data => x_msg_data
1131 );
1132 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1133 ROLLBACK TO validate_process_setup_pvt;
1134 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1135 -- Standard call to get message count and if count=1, get the message
1136 FND_MSG_PUB.Count_And_Get (
1137 p_encoded => FND_API.G_FALSE,
1138 p_count => x_msg_count,
1139 p_data => x_msg_data
1140 );
1141 WHEN OTHERS THEN
1142 ROLLBACK TO validate_process_setup_pvt;
1143 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1144 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1145 THEN
1146 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1147 END IF;
1148 -- Standard call to get message count and if count=1, get the message
1149 FND_MSG_PUB.Count_And_Get (
1150 p_encoded => FND_API.G_FALSE,
1151 p_count => x_msg_count,
1152 p_data => x_msg_data
1153 );
1154
1155 END Validate_process_setup;
1156 END Ozf_Process_Setup_Pvt;
1157
1158
1159
1160