DBA Data[Home] [Help]

PACKAGE BODY: APPS.CCT_ICJUMPSTART_PUB

Source


1 PACKAGE BODY CCT_ICJUMPSTART_PUB  as
2 /* $Header: cctjumpb.pls 120.2 2005/07/22 16:31:25 appldev noship $ */
3 
4 Procedure CreateICAgent(
5 	 p_LAST_NAME IN VARCHAR2
6 	,p_FIRST_NAME IN VARCHAR2 Default NULL
7 	,p_MIDDLE_NAME IN VARCHAR2 Default NULL
8 	,p_Agent_SEX IN VARCHAR2 Default 'M'
9 	,p_APP_USERNAME IN VARCHAR2
10 	,p_IC_ROLE IN VARCHAR2 Default 'CALL_CENTER_AGENT'
11 	,p_IC_SERVER_GROUP_ID IN NUMBER
12 	,p_middleware_config_id IN NUMBER Default NULL
13 	,p_ACD_AGENT_ID IN VARCHAR2 Default NULL
14 	,p_ACD_AGENT_PASSWORD IN VARCHAR2 Default Null
15 	,p_acd_queue IN VARCHAR2 Default NULL
16 	,p_Resource_ID	OUT nocopy  NUMBER
17 	,x_Return_Status OUT nocopy  VARCHAR2
18 	,p_commit	IN VARCHAR2 DEFAULT FND_API.G_FALSE
19 	,p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
20 	,x_msg_count 	OUT nocopy  NUMBER
21 	,x_message_data OUT  nocopy VARCHAR2
22 	,x_user_password OUT nocopy  VARCHAR2
23 ) IS
24 
25 	l_agent_title VARCHAR2(5):='MR.';
26 	p_sql_result Number;
27 	l_date DATE;
28 	l_sales_credit_type_id Number;
29 	l_user_password VARCHAR2(32):='WELCOME';
30 	l_role_resource_type VARCHAR2(32):='RS_INDIVIDUAL';
31 	l_role_type_code VARCHAR2(32):='CALLCENTER';
32 	l_role_name VARCHAR2(32):='Call Center Agent';
33 	l_role_id Number;
34 	l_middleware_type_id Number;
35 	l_agent_param_id Number;
36 	l_agent_param_name VARCHAR2(32);
37 	l_agent_param_value VARCHAR2(32);
38 	l_agent_param_value_id Number;
39 	l_role_relate_id Number;
40 	l_chgpwd_status Boolean;
41 Begin
42 
43     -- Init message list
44     IF FND_API.to_Boolean(p_init_msg_list) THEN
45     	FND_MSG_PUB.initialize;
46     END IF;
47 
48     -- Init Return status
49 	x_Return_Status:=FND_API.G_RET_STS_SUCCESS;
50 
51 
52 	-- Check if all the required parameters are not null
53 	If (p_last_name is null) then
54 		x_Return_Status:=FND_API.G_RET_STS_ERROR;
55 		FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_NO_LAST_NAME');
56 		FND_MSG_PUB.ADD;
57 		FND_MSG_PUB.Count_AND_GET(
58 			p_count => x_msg_count,
59 			p_data => x_message_data,
60 			p_encoded => FND_API.G_FALSE);
61 		raise FND_API.G_EXC_UNEXPECTED_ERROR;
62 	End IF;
63 
64 	-- Check if the Agent Sex is valid
65 	If ((p_Agent_Sex<>'M') AND (p_Agent_Sex <>'F')) Then
66 		x_Return_Status:=FND_API.G_RET_STS_ERROR;
67 		FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_INVALID_AGENT_SEX');
68 		FND_MSG_PUB.ADD;
69 		FND_MSG_PUB.Count_AND_GET(
70 			p_count=>x_msg_count,
71 			p_data =>x_message_data,
72 			p_encoded =>FND_API.G_FALSE);
73 		raise FND_API.G_EXC_UNEXPECTED_ERROR;
74 	ELSE
75 		if (p_agent_Sex='M') then
76 			l_agent_title:='MR.';
77 		else
78 			l_agent_title:='MS.';
79 		end if;
80 	End IF;
81 
82 
83 	-- Check if the username has not been taken already
84 	If (p_app_username is not null) then
85 		Begin
86 			Select 1
87 			into p_sql_Result
88 			from fnd_user
89 			where user_name=p_app_username;
90 			If (p_sql_result=1) then
91 				x_Return_Status:=FND_API.G_RET_STS_ERROR;
92 				FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_USERNAME_ALREADY_EXISTS');
93 				FND_MSG_PUB.ADD;
94 				FND_MSG_PUB.Count_AND_GET(
95 					p_count=>x_msg_count,
96 					p_data =>x_message_data,
97 					p_encoded =>FND_API.G_FALSE);
98 				raise FND_API.G_EXC_UNEXPECTED_ERROR;
99 			End IF;
100 		Exception
101 			When no_data_found then
102 				null;
103 			When others then
104 				x_Return_Status:=FND_API.G_RET_STS_ERROR;
105 				FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_INVALID_USERNAME');
106 				FND_MSG_PUB.ADD;
107 				FND_MSG_PUB.Count_AND_GET(
108 					p_count=>x_msg_count,
109 					p_data =>x_message_data,
110 					p_encoded =>FND_API.G_FALSE);
111 				raise FND_API.G_EXC_UNEXPECTED_ERROR;
112 		End;
113 	Else
114 		x_Return_Status:=FND_API.G_RET_STS_ERROR;
115 		FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_INVALID_USERNAME');
116 		FND_MSG_PUB.ADD;
117 		FND_MSG_PUB.Count_AND_GET(
118 			p_count=>x_msg_count,
119 			p_data =>x_message_data,
120 			p_encoded =>FND_API.G_FALSE);
121 		raise FND_API.G_EXC_UNEXPECTED_ERROR;
122 	End IF;
123 
124 
125 	-- Check if the Agent Role is valid
126 	If ((p_ic_role<>'CALL_CENTER_AGENT') AND (p_ic_role<>'CALL_CENTER_MANAGER') AND (p_ic_Role <>'CALL_CENTER_SUPERVISOR')) Then
127 		x_Return_Status:=FND_API.G_RET_STS_ERROR;
128 		FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_INVALID_AGENT_ROLE');
129 		FND_MSG_PUB.ADD;
130 		FND_MSG_PUB.Count_AND_GET(
131 			p_count=>x_msg_count,
132 			p_data =>x_message_data,
133 			p_encoded =>FND_API.G_FALSE);
134 		raise FND_API.G_EXC_UNEXPECTED_ERROR;
135 	End IF;
136 
137 	-- Check if the IC Server Group is valid
138 	Begin
139 		Select 1
140 		into p_sql_Result
141 		from IEO_SVR_GROUPS
142 		where Server_Group_ID=p_IC_SERVER_GROUP_ID;
143 	Exception
144 		When others then
145 			x_Return_Status:=FND_API.G_RET_STS_ERROR;
146 			FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_INVALID_SERVER_GROUP_ID');
147 			FND_MSG_PUB.ADD;
148 			FND_MSG_PUB.Count_AND_GET(
149 				p_count=>x_msg_count,
150 				p_data =>x_message_data,
151 				p_encoded =>FND_API.G_FALSE);
152 			raise FND_API.G_EXC_UNEXPECTED_ERROR;
153 	End;
154 
155 	-- Check if the Middleware_Config_ID is valid
156 	If (p_middleware_Config_id is not null) then
157 		Begin
158 		 	Select 1
159 		 	into p_sql_result
160 		 	from cct_middlewares
161 		 	where server_group_id=p_ic_server_Group_id
162 		 	and middleware_id=p_middleware_config_id
163 		 	and nvl(f_deletedflag,'N') <> 'D';
164 		Exception
165 			When others then
166 				x_Return_Status:=FND_API.G_RET_STS_ERROR;
167 				FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_INVALID_MIDDLEWARE_CONFIG_ID');
168 				FND_MSG_PUB.ADD;
169 				FND_MSG_PUB.Count_AND_GET(
170 					p_count=>x_msg_count,
171 					p_data =>x_message_data,
172 					p_encoded =>FND_API.G_FALSE);
173 				raise FND_API.G_EXC_UNEXPECTED_ERROR;
174 		End;
175 	End IF;
176 
177 	-- Get the current date
178 	Select trunc(sysdate)
179 	into l_date
180 	from dual;
181 
182 	-- Get a default Sales_credit_type
183 	Select sales_credit_Type_id
184 	into l_sales_credit_type_id
185 	from oe_sales_credit_types
186 	where rownum<2;
187 
188 	--  Now create the damn agent
189 --	rem dbms_output.put_line('Creating resource='||p_last_name||', '||p_first_name);
190 
191 	jtf_rs_res_sswa_pub.Create_Emp_Resource(
192 		 p_API_VERSION => 1
193 		,p_source_last_name =>p_last_name
194 		,p_source_first_name =>p_first_name
195 		,p_source_middle_name =>p_middle_name
196 		,p_source_sex =>p_agent_sex
197 		,p_source_title =>l_agent_title
198 	    ,p_source_start_date => l_date
199 	    ,p_user_name=>p_app_username
200 	    ,p_salesrep_number=>p_app_username /*pass the same value as user name , doesn't matter */
201 	    ,p_sales_credit_type_id=>l_sales_credit_type_id
202 	    ,x_resource_id => p_resource_id
203 	    ,x_return_status =>x_Return_Status
204 	    ,x_msg_count=>x_msg_count
205 	    ,x_msg_data=>x_message_data
206 	    ,p_user_password =>l_user_password
207 	);
208 --	rem dbms_output.put_line('Created resource='||p_last_name||', '||p_first_name);
209 	x_user_password:=l_user_password;
210 
211 	If (x_Return_Status=FND_API.G_RET_STS_ERROR) Then
212 --		rem dbms_output.put_line('Error in creating resource');
213 		x_Return_Status:=FND_API.G_RET_STS_ERROR;
214 		FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_FROM_RS_API');
215 		FND_MSG_PUB.ADD;
216 		FND_MSG_PUB.Count_AND_GET(
217 			p_count=>x_msg_count,
218 			p_data =>x_message_data,
219 			p_encoded =>FND_API.G_FALSE);
220 		raise FND_API.G_EXC_UNEXPECTED_ERROR;
221 	END IF;
222 
223     Begin
224         Update JTF_RS_RESOURCE_EXTNS
225         set server_group_id=p_ic_server_Group_id
226  		where resource_id=p_resource_id;
227  	Exception
228  		When others then
229 --			rem dbms_output.put_line('Error in updating resource');
230 			x_Return_Status:=FND_API.G_RET_STS_ERROR;
231 			FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_FROM_RS_SG');
232 			FND_MSG_PUB.ADD;
233 			FND_MSG_PUB.Count_AND_GET(
234 				p_count=>x_msg_count,
235 				p_data =>x_message_data,
236 				p_encoded =>FND_API.G_FALSE);
237 			raise FND_API.G_EXC_UNEXPECTED_ERROR;
238  	End;
239 
240     -- Add CCT Web Admin, Telesales Agent, Customer Care responsibilities to
241     -- agent
242     Begin
243 	    fnd_user_pkg.addresp(upper(p_app_username),'CCT','CCT_WEB_ADMIN'
244 	    					,'STANDARD'
245 	    					,'Call Center Admin'
246 	    					,sysdate
247 	    					,null);
248   	Exception
249   	  	when others then
250 			FND_MSG_PUB.Count_AND_GET(
251 				p_count=>x_msg_count,
252 				p_data =>x_message_data,
253 				p_encoded =>FND_API.G_FALSE);
254 			--raise FND_API.G_EXC_UNEXPECTED_ERROR;
255 --  	  		rem dbms_output.put_line('Error Creating Call Center Responsibility:'||x_message_data);
256   	end;
257     Begin
258 		fnd_user_pkg.addresp(upper(p_app_username),'AST','AST_TELEAGENT'
259 	    					,'STANDARD'
260 	    					,'Telesales Agent'
261 	    					,sysdate
262 	    					,null);
263   	Exception
264   	  	when others then
265 			FND_MSG_PUB.Count_AND_GET(
266 				p_count=>x_msg_count,
267 				p_data =>x_message_data,
268 				p_encoded =>FND_API.G_FALSE);
269 			--raise FND_API.G_EXC_UNEXPECTED_ERROR;
270 --  	  		rem dbms_output.put_line('Error Creating Telesales Responsibility:'||x_message_data);
271   	end;
272     Begin
273 	    fnd_user_pkg.addresp(upper(p_app_username),'CSS','ORACLE_SUPPORT'
274 	    					,'STANDARD'
275 	    					,'Customer Support Agent'
276 	    					,sysdate
277 	    					,null);
278   	Exception
279   	  	when others then
280 			FND_MSG_PUB.Count_AND_GET(
281 				p_count=>x_msg_count,
282 				p_data =>x_message_data,
283 				p_encoded =>FND_API.G_FALSE);
284 			--raise FND_API.G_EXC_UNEXPECTED_ERROR;
285 --  	  		rem dbms_output.put_line('Error Creating CCare Responsibility'||x_message_data);
286   	end;
287 --	rem dbms_output.put_line('Added responsibilities for '||p_last_name||', '||p_first_name);
288 
289 	-- Reset Password to 'WELCOME'
290 
291 	l_chgpwd_status:=fnd_user_pkg.changepassword(p_app_username,'WELCOME');
292 	x_user_password:='WELCOME';
293 
294 	-- Define Agent Role
295 
296 
297 
298 	if(p_ic_role='CALL_CENTER_MANAGER') then
299 		l_role_name:='Call Center Manager';
300 	elsif (p_ic_role='CALL_CENTER_SUPERVISOR') then
301 		l_role_name:='Call Center Supervisor';
302 	end if;
303 
304 	Select role_id
305 	into l_role_id
306 	from jtf_rs_roles_Vl
307 	where role_code=p_ic_role
308 	and role_type_code='CALLCENTER';
309 
310     jtf_rs_role_relate_pub.create_resource_role_relate(
311 		 p_api_version => 1
312 		,p_role_resource_Type => l_role_resource_type
313 		,p_role_resource_id => p_resource_id
314 		,p_role_code =>p_ic_role
315 		,p_role_id =>l_role_id
316 		,p_start_date_active =>l_date
317 	    ,x_return_status =>x_Return_Status
318 	    ,x_msg_count=>x_msg_count
319 	    ,x_msg_data=>x_message_data
320 	    ,x_role_relate_id =>l_role_relate_id
321 	);
322 
323 --	rem dbms_output.put_line('Added Call Center Resource Role for '||p_last_name||', '||p_first_name);
324 
325 	If (x_Return_Status=FND_API.G_RET_STS_ERROR) Then
326 		x_Return_Status:=FND_API.G_RET_STS_ERROR;
327 		FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_FROM_RS_ROLES_API');
328 		FND_MSG_PUB.ADD;
329 		FND_MSG_PUB.Count_AND_GET(
330 			p_count=>x_msg_count,
331 			p_data =>x_message_data,
332 			p_encoded =>FND_API.G_FALSE);
333 		raise FND_API.G_EXC_UNEXPECTED_ERROR;
334 	END IF;
335 
336 	If (p_middleware_config_id is not null) then
337 --		rem dbms_output.put_line('Adding Agent Parameter Values for '||p_last_name||', '||p_first_name);
338 		Select middleware_type_id
339 		into l_middleware_type_id
340 		from cct_middlewares
341 		where middlewaRE_id=p_middleware_config_id;
342 
343 		If (p_acd_queue is not null) then
344 			l_agent_param_name:='ACD_QUEUE';
345 			l_agent_param_value:=p_acd_queue;
346 
347 			Begin
348 				Select resource_param_id
349 				into l_agent_param_id
350 				from jtf_rs_resource_params
351 				where name =l_agent_param_name
352 				and param_type=l_middleware_type_id;
353 
354 				--Create the resource value now
355 
356 				jtf_rs_resource_values_pub.Create_rs_Resource_values(
357 					 p_api_version => 1
358 					,p_resource_id => p_resource_id
359 					,p_resource_param_id =>l_agent_param_id
360 					,p_value =>l_agent_param_value
361 					,p_value_type =>p_middleware_config_id
362 				    ,x_return_status =>x_Return_Status
363 				    ,x_msg_count=>x_msg_count
364 				    ,x_msg_data=>x_message_data
365 				    ,x_resource_param_value_id=>l_agent_param_value_id
366 				);
367 				If (x_Return_Status=FND_API.G_RET_STS_ERROR) Then
368 					x_Return_Status:=FND_API.G_RET_STS_ERROR;
369 					FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_FROM_RS_VALUES_API_'||l_agent_param_name);
370 					FND_MSG_PUB.ADD;
371 					FND_MSG_PUB.Count_AND_GET(
372 						p_count=>x_msg_count,
373 						p_data =>x_message_data,
374 						p_encoded =>FND_API.G_FALSE);
375 					raise FND_API.G_EXC_UNEXPECTED_ERROR;
376 				END IF;
377 
378 			Exception
379 				When others then
380 					x_Return_Status:=FND_API.G_RET_STS_ERROR;
381 					FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_FROM_RS_VALUES_'||l_agent_param_name);
382 					FND_MSG_PUB.ADD;
383 					FND_MSG_PUB.Count_AND_GET(
384 						p_count=>x_msg_count,
385 						p_data =>x_message_data,
386 						p_encoded =>FND_API.G_FALSE);
387 					raise FND_API.G_EXC_UNEXPECTED_ERROR;
388 			End;
389 		End If;
390 
391 		If (p_acd_agent_id is not null) then
392 			l_agent_param_name:='ACD_AGENT_ID';
393 			l_agent_param_value:=p_acd_Agent_id;
394 
395 			Begin
396 				Select resource_param_id
397 				into l_agent_param_id
398 				from jtf_rs_resource_params
399 				where name =l_agent_param_name
400 				and param_type=l_middleware_type_id;
401 
402 				--Create the resource value now
403 
404 				jtf_rs_resource_values_pub.Create_rs_Resource_values(
405 					 p_api_version => 1
406 					,p_resource_id => p_resource_id
407 					,p_resource_param_id =>l_agent_param_id
408 					,p_value =>l_agent_param_value
409 					,p_value_type =>p_middleware_config_id
410 				    ,x_return_status =>x_Return_Status
411 				    ,x_msg_count=>x_msg_count
412 				    ,x_msg_data=>x_message_data
413 				    ,x_resource_param_value_id=>l_agent_param_value_id
414 				);
415 				If (x_Return_Status=FND_API.G_RET_STS_ERROR) Then
416 					x_Return_Status:=FND_API.G_RET_STS_ERROR;
417 					FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_FROM_RS_VALUES_API_'||l_agent_param_name);
418 					FND_MSG_PUB.ADD;
419 					FND_MSG_PUB.Count_AND_GET(
420 						p_count=>x_msg_count,
421 						p_data =>x_message_data,
422 						p_encoded =>FND_API.G_FALSE);
423 					raise FND_API.G_EXC_UNEXPECTED_ERROR;
424 				END IF;
425 
426 			Exception
427 				When others then
428 					x_Return_Status:=FND_API.G_RET_STS_ERROR;
429 					FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_FROM_RS_VALUES_'||l_agent_param_name);
430 					FND_MSG_PUB.ADD;
431 					FND_MSG_PUB.Count_AND_GET(
432 						p_count=>x_msg_count,
433 						p_data =>x_message_data,
434 						p_encoded =>FND_API.G_FALSE);
435 					raise FND_API.G_EXC_UNEXPECTED_ERROR;
436 			End;
437 		End If;
438 
439 		If (p_acd_agent_password is not null) then
440 			l_agent_param_name:='ACD_AGENT_PASSWORD';
441 			l_agent_param_value:=p_acd_Agent_password;
442 
443 			Begin
444 				Select resource_param_id
445 				into l_agent_param_id
446 				from jtf_rs_resource_params
447 				where name =l_agent_param_name
448 				and param_type=l_middleware_type_id;
449 
450 				--Create the resource value now
451 
452 				jtf_rs_resource_values_pub.Create_rs_Resource_values(
453 					 p_api_version => 1
457 					,p_value_type =>p_middleware_config_id
454 					,p_resource_id => p_resource_id
455 					,p_resource_param_id =>l_agent_param_id
456 					,p_value =>l_agent_param_value
458 				    ,x_return_status =>x_Return_Status
459 				    ,x_msg_count=>x_msg_count
460 				    ,x_msg_data=>x_message_data
461 				    ,x_resource_param_value_id=>l_agent_param_value_id
462 				);
463 				If (x_Return_Status=FND_API.G_RET_STS_ERROR) Then
464 					x_Return_Status:=FND_API.G_RET_STS_ERROR;
465 					FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_FROM_RS_VALUES_API_'||l_agent_param_name);
466 					FND_MSG_PUB.ADD;
467 					FND_MSG_PUB.Count_AND_GET(
468 						p_count=>x_msg_count,
469 						p_data =>x_message_data,
470 						p_encoded =>FND_API.G_FALSE);
471 					raise FND_API.G_EXC_UNEXPECTED_ERROR;
472 				END IF;
473 
474 			Exception
475 				When others then
476 					x_Return_Status:=FND_API.G_RET_STS_ERROR;
477 					FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_FROM_RS_VALUES_'||l_agent_param_name);
478 					FND_MSG_PUB.ADD;
479 					FND_MSG_PUB.Count_AND_GET(
480 						p_count=>x_msg_count,
481 						p_data =>x_message_data,
482 						p_encoded =>FND_API.G_FALSE);
483 					raise FND_API.G_EXC_UNEXPECTED_ERROR;
484 			End;
485 		End If;
486 
487 	End If;
488 Exception
489     When others then
490 --        rem dbms_output.put_line('Error='||x_message_data||sqlerrm);
491         null;
492 
493 End;
494 
495 Procedure CreateServerGroup(
496 	 p_server_Group_Name In Varchar2
497 	,x_return_Status OUT nocopy  VARCHAR2
498 	,p_commit	IN VARCHAR2 DEFAULT FND_API.G_FALSE
499 	,p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
500 	,x_msg_count 	OUT  nocopy NUMBER
501 	,x_message_data OUT  nocopy VARCHAR2
502 	,x_Server_group_id Out  nocopy Number
503 ) IS
504 
505  	x_sql_Result Number;
506 	l_server_group_id Number;
507 Begin
508 
509     -- Init message list
510     IF FND_API.to_Boolean(p_init_msg_list) THEN
511     	FND_MSG_PUB.initialize;
512     END IF;
513 
514     -- Init Return status
515 	x_return_status:=FND_API.G_RET_STS_SUCCESS;
516 
517 	-- Check if the Server Group already exists
518 	Begin
519 		Select 1
520 		into x_sql_Result
521 		from ieo_svr_groups
522 		where group_name=p_server_Group_name;
523 		If (x_sql_result=1) then
524 			x_return_status:=FND_API.G_RET_STS_ERROR;
525 			FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_SERVER_GROUP_EXISTS');
526 			FND_MSG_PUB.ADD;
527 			FND_MSG_PUB.Count_AND_GET(
528 				p_count=>x_msg_count,
529 				p_data =>x_message_data,
530 				p_encoded =>FND_API.G_FALSE);
531 			raise FND_API.G_EXC_UNEXPECTED_ERROR;
532 		End if;
533 	Exception
534 		When No_data_found then
535 			Select IEO_SVR_GROUPS_S1.nextval
536 			into l_server_Group_id
537 			from dual;
538 			Insert into IEO_SVR_GROUPS
539 			(Server_group_id,Group_name,Location,Description
540 			 ,created_by,Creation_Date,last_updateD_by,last_update_date)
541 			values(l_server_Group_id,p_server_group_name,p_server_group_name,p_server_group_name
542 			 ,1,sysdate,1,sysdate);
543 			x_server_group_id:=l_server_group_id;
544 		When others then
545 			x_Return_Status:=FND_API.G_RET_STS_ERROR;
546 			FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_SERVER_GROUP_EXISTS');
547 			FND_MSG_PUB.ADD;
548 			FND_MSG_PUB.Count_AND_GET(
549 				p_count=>x_msg_count,
550 				p_data =>x_message_data,
551 				p_encoded =>FND_API.G_FALSE);
552 			raise FND_API.G_EXC_UNEXPECTED_ERROR;
553 	End;
554 Exception
555 	When others then
556 			x_Return_Status:=FND_API.G_RET_STS_ERROR;
557 			FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_SERVER_GROUP_EXISTS');
558 			FND_MSG_PUB.ADD;
559 			FND_MSG_PUB.Count_AND_GET(
560 				p_count=>x_msg_count,
561 				p_data =>x_message_data,
562 				p_encoded =>FND_API.G_FALSE);
563 			raise FND_API.G_EXC_UNEXPECTED_ERROR;
564 End;
565 
566 
567 Procedure CreateAllServers(
568      p_server_group_id In Number
569     ,p_call_center_type IN VARCHAR2 DEFAULT NULL
570 	,x_return_Status OUT  nocopy VARCHAR2
571 	,p_commit	IN VARCHAR2 DEFAULT FND_API.G_FALSE
572 	,p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
573 	,x_msg_count 	OUT  nocopy NUMBER
574 	,x_message_data OUT  nocopy VARCHAR2
575 	,x_SERVERTYPEID_SERVERID OUT  nocopy CCT_KEYVALUE_VARR
576 )
577 IS
578    l_server_group_name VARCHAR2(255);
579    l_SERVERTYPEID_SERVERID CCT_KEYVALUE_VARR:= CCT_KEYVALUE_VARR();
580    l_result VARCHAR2(255);
581    Cursor c_server_type
582    is
583    Select IEO_SVR_SERVERS_S1.nextval server_id,Type_id,decode(type_id,10000,'_UWQ'
584                                 ,10001,'_OTM'
585                                 ,10080,'_ORS'
586                                 ,10110,'_IQD'
587                                 ,10090,'_ITS'
588                                 ,10120,'_SS'
589                                 ,10160,'_OTAS') type_name,Type_Description
590    from ieo_svr_types_tl
591    where type_id in (10000,10001,10080,10110,10090,10120,10160);
592 Begin
593    Select Group_name
594    into l_server_group_name
595    from ieo_svr_groups
596    where server_group_id=p_server_Group_id;
597    For v_server in c_server_type Loop
598       Insert into ieo_svr_servers
599       (Server_id,type_id,server_name,member_Svr_group_id,description,
600        creation_date,created_By,last_update_date,last_updated_by)
601       Select v_server.server_id,v_server.type_id,l_server_group_name||v_server.type_name
602              ,p_server_group_id,v_server.type_description,
603              sysdate,1,sysdate,1 from dual
604       where not exists (Select 1 from ieo_Svr_servers where
608    END LOOP;
605                         member_svr_group_id=p_server_group_id
606                         and type_id=v_server.type_id);
607       l_result:=CCT_COLLECTION_UTIL_PUB.PUT(l_SERVERTYPEID_SERVERID,v_server.type_id,v_server.server_id);
609    x_servertypeid_serverid:=l_SERVERTYPEID_SERVERID;
610 Exception
611 	When others then
612 			x_Return_Status:=FND_API.G_RET_STS_ERROR;
613 			FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_CREATING_SERVERS');
614 			FND_MSG_PUB.ADD;
615 			FND_MSG_PUB.Count_AND_GET(
616 				p_count=>x_msg_count,
617 				p_data =>x_message_data,
618 				p_encoded =>FND_API.G_FALSE);
619 			raise FND_API.G_EXC_UNEXPECTED_ERROR;
620 END;
621 
622 Procedure CreateServerParam(
623     p_server_id In Number
624     ,p_param_value IN CCT_KEYVALUE_VARR
625 	,p_commit	IN VARCHAR2 DEFAULT FND_API.G_FALSE
626 	,p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
627 	,x_return_Status OUT nocopy  VARCHAR2
628 	,x_msg_count 	OUT nocopy  NUMBER
629 	,x_message_data OUT nocopy  VARCHAR2
630 )
631 IS
632 	l_type_id Number;
633 	l_param_id Number;
634 	l_param VARCHAR2(255);
635 	l_value VARCHAR2(255);
636 	l_value_id Number;
637 	l_keys CCT_KEY_VARR;
638 	l_counter Number;
639 	l_return_status VARCHAR2(32);
640 Begin
641 	Select type_id
642 	into l_type_id
643 	from ieo_svr_servers
644 	where server_id=p_server_id;
645 
646 	l_keys:=CCT_COLLECTION_UTIL_PUB.GETKEYS(p_param_value);
647 
648 	For l_counter in l_keys.FIRST..l_keys.LAST Loop
649 	   Begin
650 	       l_param:=l_keys(l_counter);
651 	       Select param_id
652 	       into l_param_id
653 	       from ieo_svr_params
654 	       where type_id=l_type_id
655 	       and param_name=l_param;
656 
657 	       l_value:=CCT_COLLECTION_UTIL_PUB.GET(p_param_value,l_param,l_return_status);
658 --	       rem dbms_output.put_line('Inserting Server Param='||l_param||' value='||l_value||' for server_id='||to_char(p_server_id));
659 
660 	       Select ieo_svr_values_s1.nextval
661 	       into l_value_id
662 	       from dual;
663 
664 	       Insert into ieo_svr_values(value_id,server_id,param_id,value,value_index
665 	                     ,creation_date,created_by,last_update_date,last_updated_by)
666 	       Select l_value_id,p_server_id,l_param_id,l_value,0
667 	                     ,sysdate,1,sysdate,1 from dual
668 	        where not exists (Select 1 from ieo_svr_values
669 	                      where server_id=p_server_id and param_id=l_param_id);
670 	  Exception
671 	      When others then
672 	          null;
673 	  end;
674 	End loop;
675 
676 Exception
680 			FND_MSG_PUB.ADD;
677 	When OTHERS then
678 			x_Return_Status:=FND_API.G_RET_STS_ERROR;
679 			FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_CREATING_MWARE_PARAMS');
681 			FND_MSG_PUB.Count_AND_GET(
682 				p_count=>x_msg_count,
683 				p_data =>x_message_data,
684 				p_encoded =>FND_API.G_FALSE);
685 			raise FND_API.G_EXC_UNEXPECTED_ERROR;
686 End;
687 
688 
689 
690 Procedure CreateMiddlewareConfig(
691  	p_server_group_id In Number
692  	,p_middleware_type IN Varchar2
693 	,p_commit	IN VARCHAR2 DEFAULT FND_API.G_FALSE
694 	,p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
695 	,x_return_Status OUT nocopy  VARCHAR2
696 	,x_msg_count 	OUT nocopy  NUMBER
697 	,x_message_data OUT nocopy  VARCHAR2
698  	,x_middleware_id OUT nocopy  Number
699 )IS
700 	l_middleware_type_id Number;
701 	l_config_name Varchar2(255);
702 Begin
703 	Select Middleware_type_id
704 	into l_middleware_type_id
705 	from cct_middleware_types
706 	where middleware_type=p_middleware_type;
707 
708 	Select Group_name||'_MW'
709 	into l_config_name
710 	from ieo_svr_Groups
711 	where server_group_id=p_server_Group_id;
712 
713 	Select CCT_MIDDLEWARES_S.nextval
714 	into x_middleware_id
715 	from dual;
716 
717 	Insert into CCT_Middlewares
718 	(Middleware_id,Config_Name,Server_Group_id,middleware_type_id
719 	 ,creation_Date,created_by,last_update_date,last_updated_by)
720 	Select x_middleware_id,l_config_name,p_server_group_id,l_middleware_type_id
721 	  ,sysdate,1,sysdate,1 from dual
722 	where not exists (Select 1 from cct_middlewares
723 	where server_group_id=p_server_Group_id and config_name=l_config_name);
724 Exception
725 	When No_Data_Found then
726 			x_Return_Status:=FND_API.G_RET_STS_ERROR;
727 			FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_CREATING_MWARE_CONFIG');
728 			FND_MSG_PUB.ADD;
729 			FND_MSG_PUB.Count_AND_GET(
730 				p_count=>x_msg_count,
731 				p_data =>x_message_data,
732 				p_encoded =>FND_API.G_FALSE);
733 			raise FND_API.G_EXC_UNEXPECTED_ERROR;
734 End;
735 
736 
737 Procedure GetMiddlewareConfigInfo(
738 	p_server_group_name In VARCHAR2 Default Null
739 	,p_server_group_id In Number Default Null
740 	,p_middleware_id In OUT nocopy  Number
741 	,x_return_status OUT nocopy  VARCHAR2
742 	,x_msg_count 	OUT nocopy  NUMBER
743 	,x_message_data OUT nocopy  VARCHAR2
744 	,x_config_name OUT nocopy  VARCHAR2
745 	,x_middleware_type OUT nocopy  VARCHAR2
746 	,x_param_value OUT nocopy CCT_KEYVALUE_VARR
747 )
748 IS
749  l_server_group_id Number;
750  l_mw VARCHAR2(255);
751  l_mw_id Number;
752  l_mw_type VARCHAR2(255);
753  l_param VARCHAR2(255);
754  l_value VARCHAR2(255);
755  l_paramValue CCT_KEYVALUE_VARR:= CCT_KEYVALUE_VARR();
756  l_result VARCHAR2(32);
757 
758  Cursor c_param_value(p_middleware_id Number)
759  is
760  	Select p.name,v.value
761  	from cct_middleware_params p,cct_middleware_values v
762  	where v.middleware_id=p_middleware_id
763  	and nvl(v.f_deletedflag,'N')<>'D'
764  	and v.middleware_param_id=p.middleware_param_id;
765 Begin
766    	x_return_status:=FND_API.G_RET_STS_SUCCESS;
767 	If p_server_group_name is not null THEN
768 		Begin
769 		 	Select server_group_id
770 		 	into l_server_group_id
771 		 	from ieo_Svr_groups
772 		 	where group_name =p_server_Group_name;
773 		Exception
774 			When No_Data_Found then
775 				x_Return_Status:=FND_API.G_RET_STS_ERROR;
776 				x_message_data:='SERVER_GROUP_NOT_FOUND';
777 --			    rem dbms_output.put_line(x_message_data);
778 				raise FND_API.G_EXC_UNEXPECTED_ERROR;
779 		End;
780 	End if;
781 
782 	If (p_server_group_id is not null) Then
783 		l_server_group_id:=p_server_group_id;
784 	End if;
785 
786 	If l_server_group_id is not null Then
787 		Begin
788 			Select m.middleware_id,m.config_name,t.middleware_type
789 			into l_mw_id,l_mw,l_mw_type
790 			from cct_middlewares m,ieo_svr_servers s,ieo_svr_params p,ieo_svr_values v,cct_middleware_types t
791 			where s.type_id=10160
792 			and s.member_svr_group_id=l_server_group_id
793 			and v.server_id=s.server_id
794 			and v.param_id=p.param_id
795 			and p.param_name='TELE_MIDDLEWARE_CONFIG'
796 			and v.value=m.config_name
797 			and m.server_Group_id=s.member_svr_group_id
798 			and m.middleware_type_id=t.middleware_type_id;
799 		Exception
800 			When no_data_found then
801 				x_Return_Status:=FND_API.G_RET_STS_ERROR;
805 			When others then
802 				x_message_data:='NO_MWARE_FOR_OTAS';
803 --			    rem dbms_output.put_line(x_message_data);
804 				raise FND_API.G_EXC_UNEXPECTED_ERROR;
806 				x_Return_Status:=FND_API.G_RET_STS_ERROR;
807 				x_message_data:='ERROR_IN_MWARE_FOR_OTAS';
808 --			    rem dbms_output.put_line(x_message_data);
809 				raise FND_API.G_EXC_UNEXPECTED_ERROR;
810 
811 		End;
812 	End if;
813 
814   	If(p_middleware_id is null) and (l_mw_id is not null) Then
815   		p_middleware_id:=l_mw_id;
816 		x_config_name:=l_mw;
817 		x_middleware_type:=l_mw_type;
818   	End if;
819 
820   	If p_middleware_id is not null Then
821   		if (x_config_name is null) then
822   			Select m.Config_name,t.middlewarE_type
823   			into l_mw,l_mw_type
824   			from cct_middlewares m,cct_middleware_types t
825   			where m.middleware_id=p_middleware_id
826   			and m.middleware_type_id=t.middleware_type_id;
827   			x_config_name:=l_mw;
828   			x_middleware_type:=l_mw_type;
829   		End If;
830 		Open c_param_value(p_middleware_id);
831 		LOOP
832 		  Fetch c_param_Value into l_param,l_value;
833 		  l_result:=CCT_COLLECTION_UTIL_PUB.PUT(l_paramValue,l_param,l_value);
834 		  Exit When c_param_value%NOTFOUND;
835 		End loop;
836 		x_param_value:=l_paramValue;
837 	Else
838 		x_Return_Status:=FND_API.G_RET_STS_ERROR;
839 		x_message_data:='ERROR:MIDDLEWARE_CONFIG_PARAM_NOT_DEFINED';
840 --		rem dbms_output.put_line(x_message_data);
841 		raise FND_API.G_EXC_UNEXPECTED_ERROR;
842 	End if;
843 Exception
844     When others then
845 		x_Return_Status:=FND_API.G_RET_STS_ERROR;
846 		x_message_data:='ERROR:INVALID_MWARE';
847 --	    rem dbms_output.put_line(x_message_data);
848 		raise FND_API.G_EXC_UNEXPECTED_ERROR;
849 End;
850 
851 Procedure CreateTelesets(
852 	p_middleware_id In Number
853 	,p_teleset_type In Varchar2
854 	,p_start_teleset_number In Number
855 	,p_skip_by In Number Default 1
856 	,p_number_of_Telesets In Number
857 	,p_line1 In Number Default Null
858 	,p_line2 In Number Default Null
859 	,p_line3 In Number Default 9999
860 	,p_commit	IN VARCHAR2 DEFAULT FND_API.G_FALSE
861 	,p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
862 	,x_return_Status OUT nocopy  VARCHAR2
863 	,x_msg_count 	OUT nocopy  NUMBER
864 	,x_message_data OUT nocopy  VARCHAR2
865 )
866 IS
867    l_num_of_lines Number;
868    l_teleset_type_id Number;
869    l_teleset_id Number;
870    l_counter Number;
871    l_server_Group_id Number;
872    l_teleset_hardware_number number;
873    l_line1 number;
874    l_line2 number;
875    l_line3 number:=9999;
876    l_line_id Number;
877 Begin
878 	Select teleset_type_id,number_of_line
879 	into l_teleset_type_id,l_num_of_lines
880 	from cct_teleset_Types
881 	where upper(teleset_type)=upper(p_teleset_type);
882 
883 	Select server_group_id
884 	into l_server_group_id
885 	from cct_middlewares
886 	where middleware_id=p_middleware_id;
887 
888 
889 	l_teleset_hardware_number:=p_start_teleset_number;
890 	if(p_line1 is not null) then
891 	  l_line1:=p_line1;
892      end if;
893 	if(p_line2 is not null) then
894 	  l_line2:=p_line2;
895      end if;
896 	if(p_line3 is not null) then
897 	  l_line3:=p_line3;
898      end if;
899 	For l_counter in 1..p_number_of_Telesets Loop
900 		Select CCT_Telesets_s.nextval
901 		into l_teleset_id
902 		from dual;
903 --        rem dbms_output.put_line('Creating Teleset='||to_char(l_teleset_hardware_number));
904 		Insert into CCT_TELESETS(TELESET_ID,Teleset_type_id,Teleset_Name,Teleset_hardwarE_number,Middleware_id,server_group_id
905 		                        ,creation_date,created_by,last_update_date,last_updated_by)
906 		Select l_teleset_id,l_teleset_type_id,l_teleset_hardware_number,l_teleset_hardware_number,p_middleware_id,l_server_group_id
907 		                        ,sysdate,1,sysdate,1
908 		from dual where not exists (Select 1 from cct_telesets where teleset_type_id=l_teleset_type_id
909 		                            and teleset_hardware_number=l_teleset_hardware_number and middlewarE_id=p_middleware_id);
910 
911 	    If (upper(p_teleset_type)='LUCENT') THEN
912 	       For l_counter in 1..l_num_of_lines Loop
913 	       	 Select cct_lines_s.nextval
914 	       	 into l_line_id
915 	       	 from dual;
916 	       	 Insert into CCT_LINES(Line_id,Line_index,extension,teleset_id,
917 	       	 					   creation_date,created_by,last_update_date,last_updated_by)
918 	     	 Select l_line_id,l_counter,l_teleset_hardware_number,l_teleset_id,
919 	     	        sysdate,1,sysdate,1 from dual
920 	     	   where not exists (Select 1 from cct_lines where teleset_id=l_teleset_id
921 	     	                     and line_index=l_counter);
922 	       End Loop;
923 
924 	    ELSIf (upper(p_teleset_type)='NORTEL') THEN
925 	       	 Insert into CCT_LINES(Line_id,Line_index,extension,teleset_id,
926 	       	 					   creation_date,created_by,last_update_date,last_updated_by)
927 	     	 Select CCT_LINES_S.nextval,1,l_line1,l_teleset_id,
928 	     	        sysdate,1,sysdate,1 from dual
929 	     	   where not exists (Select 1 from cct_lines where teleset_id=l_teleset_id
930 	     	                     and line_index=1);
931 	       	 Insert into CCT_LINES(Line_id,Line_index,extension,teleset_id,
932 	       	 					   creation_date,created_by,last_update_date,last_updated_by)
933 	     	 Select CCT_LINES_S.nextval,2,l_line2,l_teleset_id,
934 	     	        sysdate,1,sysdate,1 from dual
935 	     	   where not exists (Select 1 from cct_lines where teleset_id=l_teleset_id
936 	     	                     and line_index=2);
937 	       	 Insert into CCT_LINES(Line_id,Line_index,extension,teleset_id,
938 	       	 					   creation_date,created_by,last_update_date,last_updated_by)
942 	     	                     and line_index=3);
939 	     	 Select CCT_LINES_S.nextval,3,l_line3,l_teleset_id,
940 	     	        sysdate,1,sysdate,1 from dual
941 	     	   where not exists (Select 1 from cct_lines where teleset_id=l_teleset_id
943 	    	l_line1:=l_line1+p_skip_by;
944 	    	l_line2:=l_line2+p_skip_by;
945 	    End if;
946 	    l_teleset_hardware_number:=l_teleset_hardware_number+p_skip_by;
947     End loop;
948 
949 Exception
950 	When OTHERS then
951 			x_Return_Status:=FND_API.G_RET_STS_ERROR;
952 			FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_CREATING_TELESETS');
953 			FND_MSG_PUB.ADD;
954 			FND_MSG_PUB.Count_AND_GET(
955 				p_count=>x_msg_count,
956 				p_data =>x_message_data,
957 				p_encoded =>FND_API.G_FALSE);
958 			raise FND_API.G_EXC_UNEXPECTED_ERROR;
959 End;
960 
961 Procedure CreateMwareParam(
962 	p_middleware_id In Number
963     ,p_param_value IN CCT_KEYVALUE_VARR
964 	,p_commit	IN VARCHAR2 DEFAULT FND_API.G_FALSE
965 	,p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
966 	,x_return_Status OUT nocopy  VARCHAR2
967 	,x_msg_count 	OUT nocopy  NUMBER
968 	,x_message_data OUT nocopy  VARCHAR2
969 ) IS
970 
971 	l_middleware_type_id Number;
972 	l_middleware_param_id Number;
973 	l_param VARCHAR2(255);
974 	l_value VARCHAR2(255);
975 	l_value_id Number;
976 	l_keys CCT_KEY_VARR;
977 	l_counter Number;
978 	l_return_status VARCHAR2(32);
979 Begin
980 	Select middleware_type_id
981 	into l_middleware_Type_id
982 	from cct_middlewares
983 	where middlewarE_id=p_middleware_id;
984 --	rem dbms_output.put_line('Creating Middleware Params for Middleware_id='||to_char(p_middleware_id));
985 
986 	l_keys:=CCT_COLLECTION_UTIL_PUB.GETKEYS(p_param_value);
987 
988 	For l_counter in l_keys.FIRST..l_keys.LAST Loop
989 	   Begin
990 	       l_param:=l_keys(l_counter);
991 	       Select middleware_param_id
992 	       into l_middleware_param_id
993 	       from cct_middleware_params
994 	       where middleware_type_id=l_middleware_type_id
995 	       and name=l_param;
996 
997 	       l_value:=CCT_COLLECTION_UTIL_PUB.GET(p_param_value,l_param,l_return_status);
998 --	       rem dbms_output.put_line('Inserting Middleware Param='||l_param||' value='||l_value);
999 	       Select cct_middleware_values_s.nextval
1000 	       into l_value_id
1001 	       from dual;
1002 
1003 	       Insert into ccT_middleware_values(middleware_value_id,middleware_id,middleware_param_id,value
1004 	                     ,creation_date,created_by,last_update_date,last_updated_by)
1005 	       Select l_value_id,p_middleware_id,l_middleware_param_id,l_value
1006 	                     ,sysdate,1,sysdate,1 from dual
1007 	        where not exists (Select 1 from cct_middleware_values
1008 	                      where middleware_id=p_middleware_id and middleware_param_id=l_middleware_param_id
1009 	                      and nvl(f_deletedflag,'N')<>'D');
1010 	  Exception
1011 	      When others then
1012 	          null;
1013 	  end;
1014 	End loop;
1015 
1016 Exception
1017 	When OTHERS then
1018 			x_Return_Status:=FND_API.G_RET_STS_ERROR;
1019 			FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_CREATING_MWARE_PARAMS');
1020 			FND_MSG_PUB.ADD;
1021 			FND_MSG_PUB.Count_AND_GET(
1022 				p_count=>x_msg_count,
1023 				p_data =>x_message_data,
1024 				p_encoded =>FND_API.G_FALSE);
1025 			raise FND_API.G_EXC_UNEXPECTED_ERROR;
1026 End;
1027 
1028 Procedure CreateRoutePoint(
1029 	p_middleware_id In Number
1030     ,p_route_point_number IN VARCHAR2
1031 	,p_commit	IN VARCHAR2 DEFAULT FND_API.G_FALSE
1032 	,p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1033 	,x_return_Status OUT nocopy  VARCHAR2
1034 	,x_msg_count 	OUT nocopy  NUMBER
1035 	,x_message_data OUT nocopy  VARCHAR2
1036 	,x_route_point_id OUT nocopy  NUMBER
1037 )
1038 IS
1039   l_route_point_id Number;
1040 Begin
1041   Select CCT_MW_ROUTE_POINTS_S.nextval
1042   into l_route_point_id
1043   from dual;
1044 
1045   Insert into cct_mw_route_points(mw_route_point_id,middleware_id,route_point_number,description,
1046               object_version_number,creation_date,created_by,last_update_date,last_updated_By)
1047   Select l_route_point_id,p_middleware_id,p_route_point_number,p_route_point_number,
1048          1,sysdate,1,sysdate,1 from dual
1049          where not exists (Select 1 from cct_mw_route_points
1050                            where middleware_id=p_middleware_id and route_point_number=p_route_point_number
1051                            and nvl(f_deletedflag,'N')<>'D');
1052   x_route_point_id:=l_route_point_id;
1053 Exception
1054 	When OTHERS then
1055 			x_Return_Status:=FND_API.G_RET_STS_ERROR;
1056 			FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_CREATING_ROUTE_POINT');
1057 			FND_MSG_PUB.ADD;
1058 			FND_MSG_PUB.Count_AND_GET(
1059 				p_count=>x_msg_count,
1060 				p_data =>x_message_data,
1061 				p_encoded =>FND_API.G_FALSE);
1062 			raise FND_API.G_EXC_UNEXPECTED_ERROR;
1063 End;
1064 
1065 Procedure CreateRoutePointParams(
1066     p_route_point_id In Number
1067     ,p_param_value CCT_KEYVALUE_VARR
1068 	,p_commit	IN VARCHAR2 DEFAULT FND_API.G_FALSE
1069 	,p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1070 	,x_return_Status OUT nocopy VARCHAR2
1071 	,x_msg_count 	OUT nocopy NUMBER
1072 	,x_message_data OUT nocopy VARCHAR2
1073 )
1074 IS
1075 	l_param_id Number;
1076 	l_param VARCHAR2(255);
1077 	l_value VARCHAR2(255);
1078 	l_value_id Number;
1079 	l_keys CCT_KEY_VARR;
1080 	l_counter Number;
1081 	l_return_status VARCHAR2(32);
1082 Begin
1083 	l_keys:=CCT_COLLECTION_UTIL_PUB.GETKEYS(p_param_value);
1084 
1085 	For l_counter in l_keys.FIRST..l_keys.LAST Loop
1086 	   Begin
1087 	       l_param:=l_keys(l_counter);
1088 	       Select mw_route_point_param_id
1089 	       into l_param_id
1090 	       from cct_mw_route_point_params
1091 	       where name=l_param;
1092 
1093 	       l_value:=CCT_COLLECTION_UTIL_PUB.GET(p_param_value,l_param,l_return_status);
1094 
1095 --	       rem dbms_output.put_line('Inserting Route Point Param='||l_param||' value='||l_value);
1096 	       Select cct_mw_route_point_values_s.nextval
1097 	       into l_value_id
1098 	       from dual;
1099 
1100 	       Insert into ccT_mw_route_point_values(mw_route_point_value_id,mw_route_point_id,mw_route_point_param_id,value
1101 	                     ,object_version_number,creation_date,created_by,last_update_date,last_updated_by)
1102 	       Select l_value_id,p_route_point_id,l_param_id,l_value
1103 	                     ,1,sysdate,1,sysdate,1 from dual
1104 	        where not exists (Select 1 from cct_mw_route_point_values
1105 	                      where mw_route_point_id=p_route_point_id and mw_route_point_param_id=l_param_id
1106 	                      and nvl(f_deletedflag,'N')<>'D');
1107 	  Exception
1108 	      When others then
1109 	          null;
1110 	  end;
1111 	End loop;
1112 
1113 Exception
1114 	When OTHERS then
1115 			x_Return_Status:=FND_API.G_RET_STS_ERROR;
1116 			FND_MESSAGE.SET_NAME('CCT','CCT_JUMPSTART_ERROR_CREATING_ROUTE_POINT_PARAMS');
1117 			FND_MSG_PUB.ADD;
1118 			FND_MSG_PUB.Count_AND_GET(
1119 				p_count=>x_msg_count,
1120 				p_data =>x_message_data,
1121 				p_encoded =>FND_API.G_FALSE);
1122 			raise FND_API.G_EXC_UNEXPECTED_ERROR;
1123 End;
1124 
1125 END CCT_ICJUMPSTART_PUB;