[Home] [Help]
PACKAGE BODY: APPS.CS_INTERACTION_PVT
Source
1 PACKAGE BODY CS_Interaction_PVT AS
2 /* $Header: csvcib.pls 115.0 99/07/16 09:05:08 porting s $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'CS_Interaction_PVT';
5
6 ------------------------------------------------------------------------------
7 -- Procedure : Create_Interaction
8 -- Type : Private API
9 -- Usage : Creates a customer interaction record in the table
10 -- CS_INTERACTIONS
11 -- Pre-reqs : None
12 ------------------------------------------------------------------------------
13
14 PROCEDURE Create_Interaction
15 ( p_api_version IN NUMBER,
16 p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
17 p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
18 p_validation_level IN NUMBER DEFAULT fnd_api.g_valid_level_full,
19 x_return_status OUT VARCHAR2,
20 x_msg_count OUT NUMBER,
21 x_msg_data OUT VARCHAR2,
22 p_resp_appl_id IN NUMBER DEFAULT NULL,
23 p_resp_id IN NUMBER DEFAULT NULL,
24 p_user_id IN NUMBER,
25 p_login_id IN NUMBER DEFAULT NULL,
26 p_org_id IN NUMBER DEFAULT NULL,
27 p_customer_id IN NUMBER,
28 p_contact_id IN NUMBER DEFAULT NULL,
29 p_contact_lastname IN VARCHAR2 DEFAULT NULL,
30 p_contact_firstname IN VARCHAR2 DEFAULT NULL,
31 p_phone_area_code IN VARCHAR2 DEFAULT NULL,
32 p_phone_number IN VARCHAR2 DEFAULT NULL,
33 p_phone_extension IN VARCHAR2 DEFAULT NULL,
34 p_fax_area_code IN VARCHAR2 DEFAULT NULL,
35 p_fax_number IN VARCHAR2 DEFAULT NULL,
36 p_email_address IN VARCHAR2 DEFAULT NULL,
37 p_interaction_type_code IN VARCHAR2,
38 p_interaction_category_code IN VARCHAR2,
39 p_interaction_method_code IN VARCHAR2,
40 p_interaction_date IN DATE,
41 p_interaction_document_code IN VARCHAR2 DEFAULT NULL,
42 p_source_document_id IN NUMBER DEFAULT NULL,
43 p_source_document_name IN VARCHAR2 DEFAULT NULL,
44 p_reference_form IN VARCHAR2 DEFAULT NULL,
45 p_source_document_status IN VARCHAR2 DEFAULT NULL,
46 p_employee_id IN NUMBER DEFAULT NULL,
47 p_public_flag IN VARCHAR2 DEFAULT NULL,
48 p_follow_up_action IN VARCHAR2 DEFAULT NULL,
49 p_notes IN VARCHAR2 DEFAULT NULL,
50 p_parent_interaction_id IN NUMBER DEFAULT NULL,
51 p_attribute1 IN VARCHAR2 DEFAULT NULL,
52 p_attribute2 IN VARCHAR2 DEFAULT NULL,
53 p_attribute3 IN VARCHAR2 DEFAULT NULL,
54 p_attribute4 IN VARCHAR2 DEFAULT NULL,
55 p_attribute5 IN VARCHAR2 DEFAULT NULL,
56 p_attribute6 IN VARCHAR2 DEFAULT NULL,
57 p_attribute7 IN VARCHAR2 DEFAULT NULL,
58 p_attribute8 IN VARCHAR2 DEFAULT NULL,
59 p_attribute9 IN VARCHAR2 DEFAULT NULL,
60 p_attribute10 IN VARCHAR2 DEFAULT NULL,
61 p_attribute11 IN VARCHAR2 DEFAULT NULL,
62 p_attribute12 IN VARCHAR2 DEFAULT NULL,
63 p_attribute13 IN VARCHAR2 DEFAULT NULL,
64 p_attribute14 IN VARCHAR2 DEFAULT NULL,
65 p_attribute15 IN VARCHAR2 DEFAULT NULL,
66 p_attribute_category IN VARCHAR2 DEFAULT NULL,
67 x_interaction_id OUT NUMBER )
68 IS
69 l_api_name CONSTANT VARCHAR2(30) := 'Create_Interaction';
70 l_api_version CONSTANT NUMBER := 1.0;
71 l_api_name_full CONSTANT VARCHAR2(61) := g_pkg_name||'.'||l_api_name;
72 l_return_status VARCHAR2(1);
73
74 l_org_id NUMBER := p_org_id;
75 l_phone_area_code VARCHAR2(10);
76 l_phone_number VARCHAR2(25);
77 l_phone_extension VARCHAR2(20);
78 l_fax_area_code VARCHAR2(10);
79 l_fax_number VARCHAR2(25);
80 l_email_address VARCHAR2(240);
81 l_source_document_id NUMBER := p_source_document_id;
82 l_source_document_name VARCHAR2(80);
83 l_reference_form VARCHAR2(2000);
84 l_source_document_status VARCHAR2(80);
85 l_follow_up_action VARCHAR2(80);
86 l_notes VARCHAR2(2000);
87 l_interaction_id NUMBER;
88 l_parent_id NUMBER := p_parent_interaction_id;
89 BEGIN
90 -- Standard start of API savepoint
91 SAVEPOINT create_interaction_pvt;
92
93 -- Standard call to check for call compatibility
94 IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version,
95 l_api_name, g_pkg_name) THEN
96 RAISE fnd_api.g_exc_unexpected_error;
97 END IF;
98
99 -- Initialize message list if p_init_msg_list is set to TRUE
100 IF fnd_api.to_boolean(p_init_msg_list) THEN
101 fnd_msg_pub.initialize;
102 END IF;
103
104 -- Initialize API return status to success
105 x_return_status := fnd_api.g_ret_sts_success;
106
107 -------------------------------------------------------------------------
108 -- Apply business-rule validation to all required and passed parameters
109 -- if validation level is set to FULL. Skip business-rule validation to
110 -- all non-Service parameters if validation level is set to INT.
111 -------------------------------------------------------------------------
112 IF (p_validation_level > fnd_api.g_valid_level_none) THEN
113
114 IF (p_validation_level > g_valid_level_int) THEN
115
116 -- Validate user and login session IDs
117 --------------------------------------
118 IF (p_user_id IS NULL) THEN
119 cs_core_util.add_null_parameter_msg(l_api_name_full, 'p_user_id');
120 RAISE fnd_api.g_exc_error;
121 ELSE
122 cs_core_util.validate_who_info
123 ( p_api_name => l_api_name_full,
124 p_parameter_name_usr => 'p_user_id',
125 p_parameter_name_log => 'p_login_id',
126 p_user_id => p_user_id,
127 p_login_id => p_login_id,
128 x_return_status => l_return_status );
129 IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
130 RAISE fnd_api.g_exc_error;
131 END IF;
132 END IF;
133
134 -- Validate operating unit ID
135 -----------------------------
136 IF cs_core_util.is_multiorg_enabled THEN
137 IF (p_org_id IS NULL) THEN
138 cs_core_util.add_null_parameter_msg(l_api_name_full,
139 'p_org_id');
140 RAISE fnd_api.g_exc_error;
141 ELSE
142 cs_core_util.validate_operating_unit
143 ( p_api_name => l_api_name_full,
144 p_parameter_name => 'p_org_id',
145 p_org_id => p_org_id,
146 x_return_status => l_return_status );
147 IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
148 RAISE fnd_api.g_exc_error;
149 END IF;
150 END IF;
151 ELSE
152 IF (p_org_id IS NOT NULL) THEN
153 cs_core_util.add_param_ignored_msg(l_api_name_full, 'p_org_id');
154 l_org_id := NULL;
155 END IF;
156 END IF;
157
158 -- Validate customer ID
159 -----------------------
160 IF (p_customer_id IS NULL) THEN
161 cs_core_util.add_null_parameter_msg(l_api_name_full,
162 'p_customer_id');
163 RAISE fnd_api.g_exc_error;
164 ELSE
165 cs_core_util.validate_customer
166 ( p_api_name => l_api_name_full,
167 p_parameter_name => 'p_customer_id',
168 p_customer_id => p_customer_id,
169 x_return_status => l_return_status );
170 IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
171 RAISE fnd_api.g_exc_error;
172 END IF;
173 END IF;
174
175 -- Validate contact ID
176 ----------------------
177 IF (p_contact_id IS NOT NULL) THEN
178 cs_core_util.validate_customer_contact
179 ( p_api_name => l_api_name_full,
180 p_parameter_name => 'p_contact_id',
181 p_customer_contact_id => p_contact_id,
182 p_customer_id => p_customer_id,
183 p_org_id => l_org_id,
184 x_return_status => l_return_status );
185 IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
186 RAISE fnd_api.g_exc_error;
187 END IF;
188 END IF;
189
190 -- Validate employee ID
191 -----------------------
192 IF (p_employee_id IS NOT NULL) THEN
193 cs_core_util.validate_person
194 ( p_api_name => l_api_name_full,
195 p_parameter_name => 'p_employee_id',
196 p_person_id => p_employee_id,
197 x_return_status => l_return_status );
198 IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
199 RAISE fnd_api.g_exc_error;
200 END IF;
201 END IF;
202
203 END IF; /* p_validation_level > g_valid_level_int */
204
205 -- Validate interaction type code
206 ---------------------------------
207 IF (p_interaction_type_code IS NULL) THEN
208 cs_core_util.add_null_parameter_msg(l_api_name_full,
209 'p_interaction_type_code');
210 RAISE fnd_api.g_exc_error;
211 ELSE
212 cs_core_util.validate_lookup_code
213 ( p_api_name => l_api_name_full,
214 p_parameter_name => 'p_interaction_type_code',
215 p_lookup_code => p_interaction_type_code,
216 p_lookup_type => 'INTERACTION_TYPE',
217 x_return_status => l_return_status );
218 IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
219 RAISE fnd_api.g_exc_error;
220 END IF;
221 END IF;
222
223 -- Validate interaction category code
224 -------------------------------------
225 IF (p_interaction_category_code IS NULL) THEN
226 cs_core_util.add_null_parameter_msg(l_api_name_full,
227 'p_interaction_category_code');
228 RAISE fnd_api.g_exc_error;
229 ELSE
230 cs_core_util.validate_lookup_code
231 ( p_api_name => l_api_name_full,
232 p_parameter_name => 'p_interaction_category_code',
233 p_lookup_code => p_interaction_category_code,
234 p_lookup_type => 'INTERACTION_CATEGORY',
235 x_return_status => l_return_status );
236 IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
237 RAISE fnd_api.g_exc_error;
238 END IF;
239 END IF;
240
241 -- Validate interaction method code
242 -----------------------------------
243 IF (p_interaction_method_code IS NULL) THEN
244 cs_core_util.add_null_parameter_msg(l_api_name_full,
245 'p_interaction_method_code');
246 RAISE fnd_api.g_exc_error;
247 ELSE
248 cs_core_util.validate_lookup_code
249 ( p_api_name => l_api_name_full,
250 p_parameter_name => 'p_interaction_method_code',
251 p_lookup_code => p_interaction_method_code,
252 p_lookup_type => 'INTERACTION_METHOD',
253 x_return_status => l_return_status );
254 IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
255 RAISE fnd_api.g_exc_error;
256 END IF;
257 END IF;
258
259 -- Validate interaction date
260 ----------------------------
261 IF (p_interaction_date IS NULL) THEN
262 cs_core_util.add_null_parameter_msg(l_api_name_full,
263 'p_interaction_date');
264 RAISE fnd_api.g_exc_error;
265 END IF;
266
267 -- Validate interaction document code
268 -------------------------------------
269 IF (p_interaction_document_code IS NOT NULL) THEN
270 cs_core_util.validate_lookup_code
271 ( p_api_name => l_api_name_full,
272 p_parameter_name => 'p_interaction_document_code',
273 p_lookup_code => p_interaction_document_code,
274 p_lookup_type => 'INTERACTION_DOCUMENT',
275 x_return_status => l_return_status );
276 IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
277 RAISE fnd_api.g_exc_error;
278 END IF;
279 --
280 -- Validate document number when document type is not null
281 --
282 IF (p_source_document_name IS NOT NULL) then
283 cs_core_util.trunc_string_length(l_api_name_full, 'p_source_document_name',
284 p_source_document_name, 80,
285 l_source_document_name);
286 --
287 -- Validate document form and status when document number is not
288 -- null
289 --
290 IF (p_reference_form IS NOT NULL) then
291 cs_core_util.trunc_string_length(l_api_name_full, 'p_reference_form',
292 p_reference_form, 2000, l_reference_form);
293 END IF;
294 IF (p_source_document_status IS NOT NULL) then
295 cs_core_util.trunc_string_length(l_api_name_full, 'p_source_document_status',
296 p_source_document_status, 80,
297 l_source_document_status);
298 END IF;
299 ELSE
300 --
301 -- Ignore document form and status when document number is null
302 --
303 IF (p_reference_form IS NOT NULL) then
304 cs_core_util.add_param_ignored_msg(l_api_name_full,
305 'p_reference_form');
306 END IF;
307 IF (p_source_document_status IS NOT NULL) then
308 cs_core_util.add_param_ignored_msg(l_api_name_full,
309 'p_source_document_status');
310 END IF;
311 END IF;
312 ELSE
313 --
314 -- Ignore document ID, number, form and status when document type is
315 -- null
316 --
317 IF (p_source_document_id IS NOT NULL) THEN
318 cs_core_util.add_param_ignored_msg(l_api_name_full,
319 'p_source_document_id');
320 l_source_document_id := NULL;
321 END IF;
322 IF (p_source_document_name IS NOT NULL) THEN
323 cs_core_util.add_param_ignored_msg(l_api_name_full,
324 'p_source_document_name');
325 END IF;
326 IF (p_reference_form IS NOT NULL) then
327 cs_core_util.add_param_ignored_msg(l_api_name_full,
328 'p_reference_form');
329 END IF;
330 IF (p_source_document_status IS NOT NULL) then
331 cs_core_util.add_param_ignored_msg(l_api_name_full,
332 'p_source_document_status');
333 END IF;
334 END IF; /* p_interaction_document_code IS NOT NULL */
335
336 -- Validate public flag
337 -----------------------
338 IF (p_public_flag <> 'Y') AND (p_public_flag <> 'N') THEN
339 cs_core_util.add_invalid_argument_msg(l_api_name_full, p_public_flag,
340 'p_public_flag');
341 RAISE fnd_api.g_exc_error;
342 END IF;
343
344 -- Validate parent interaction ID
345 ---------------------------------
346 IF (p_parent_interaction_id IS NOT NULL) THEN
347 cs_interaction_utl.validate_parent_interaction
348 ( p_api_name => l_api_name_full,
349 p_parameter_name => 'p_parent_interaction_id',
350 p_parent_interaction_id => p_parent_interaction_id,
351 p_org_id => l_org_id,
352 x_return_status => l_return_status );
353 IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
354 RAISE fnd_api.g_exc_error;
355 END IF;
356 END IF;
357
358 -- Validate descriptive flexfield values
359 ----------------------------------------
360 IF ((p_attribute1 || p_attribute2 || p_attribute3 || p_attribute4 ||
361 p_attribute5 || p_attribute6 || p_attribute7 || p_attribute8 ||
362 p_attribute9 || p_attribute10 || p_attribute11 || p_attribute12 ||
363 p_attribute13 || p_attribute14 || p_attribute15 ||
364 p_attribute_category) IS NOT NULL) THEN
365 cs_core_util.validate_desc_flex
366 ( p_api_name => l_api_name_full,
367 p_desc_flex_name => 'CS_INTERACTIONS',
368 p_column_name1 => 'ATTRIBUTE1',
369 p_column_name2 => 'ATTRIBUTE2',
370 p_column_name3 => 'ATTRIBUTE3',
371 p_column_name4 => 'ATTRIBUTE4',
372 p_column_name5 => 'ATTRIBUTE5',
373 p_column_name6 => 'ATTRIBUTE6',
374 p_column_name7 => 'ATTRIBUTE7',
375 p_column_name8 => 'ATTRIBUTE8',
376 p_column_name9 => 'ATTRIBUTE9',
377 p_column_name10 => 'ATTRIBUTE10',
378 p_column_name11 => 'ATTRIBUTE11',
379 p_column_name12 => 'ATTRIBUTE12',
380 p_column_name13 => 'ATTRIBUTE13',
381 p_column_name14 => 'ATTRIBUTE14',
382 p_column_name15 => 'ATTRIBUTE15',
383 p_column_value1 => p_attribute1,
384 p_column_value2 => p_attribute2,
385 p_column_value3 => p_attribute3,
386 p_column_value4 => p_attribute4,
387 p_column_value5 => p_attribute5,
388 p_column_value6 => p_attribute6,
389 p_column_value7 => p_attribute7,
390 p_column_value8 => p_attribute8,
391 p_column_value9 => p_attribute9,
392 p_column_value10 => p_attribute10,
393 p_column_value11 => p_attribute11,
394 p_column_value12 => p_attribute12,
395 p_column_value13 => p_attribute13,
396 p_column_value14 => p_attribute14,
397 p_column_value15 => p_attribute15,
398 p_context_value => p_attribute_category,
399 p_resp_appl_id => p_resp_appl_id,
400 p_resp_id => p_resp_id,
401 x_return_status => l_return_status);
402 IF (l_return_status <> fnd_api.g_ret_sts_success) THEN
403 RAISE fnd_api.g_exc_error;
404 END IF;
405 END IF;
406
407 -- Validate string lengths
408 --------------------------
409 IF (p_phone_area_code IS NOT NULL) then
410 cs_core_util.trunc_string_length(l_api_name_full, 'p_phone_area_code',
411 p_phone_area_code, 10,
412 l_phone_area_code);
413 END IF;
414 IF (p_phone_number IS NOT NULL) then
415 cs_core_util.trunc_string_length(l_api_name_full, 'p_phone_number',
416 p_phone_number, 25, l_phone_number);
417 END IF;
418 IF (p_phone_extension IS NOT NULL) then
419 cs_core_util.trunc_string_length(l_api_name_full, 'p_phone_extension',
420 p_phone_extension, 20,
421 l_phone_extension);
422 END IF;
423 IF (p_fax_area_code IS NOT NULL) then
424 cs_core_util.trunc_string_length(l_api_name_full, 'p_fax_area_code',
425 p_fax_area_code, 10,
426 l_fax_area_code);
427 END IF;
428 IF (p_fax_number IS NOT NULL) then
429 cs_core_util.trunc_string_length(l_api_name_full, 'p_fax_number',
430 p_fax_number, 25, l_fax_number);
431 END IF;
432 IF (p_email_address IS NOT NULL) then
433 cs_core_util.trunc_string_length(l_api_name_full, 'p_email_address',
434 p_email_address, 240,
435 l_email_address);
436 END IF;
437 IF (p_follow_up_action IS NOT NULL) then
438 cs_core_util.trunc_string_length(l_api_name_full,
439 'p_follow_up_action',
440 p_follow_up_action, 80,
441 l_follow_up_action);
442 END IF;
443 IF (p_notes IS NOT NULL) then
444 cs_core_util.trunc_string_length(l_api_name_full, 'p_notes', p_notes,
445 2000, l_notes);
446 END IF;
447
448 ELSE
449
450 l_phone_area_code := p_phone_area_code;
451 l_phone_number := p_phone_number;
452 l_phone_extension := p_phone_extension;
453 l_fax_area_code := p_fax_area_code;
454 l_fax_number := p_fax_number;
455 l_email_address := p_email_address;
456 l_source_document_name := p_source_document_name;
457 l_reference_form := p_reference_form;
458 l_source_document_status := p_source_document_status;
459 l_follow_up_action := p_follow_up_action;
460 l_notes := p_notes;
461
462 END IF; /* p_validation_level > fnd_api.g_valid_level_none */
463
464 -------------------------------------------------------------------------
465 -- Perform the database operation. Generate the interaction ID from the
466 -- sequence, then insert the sequence number and passed in attributes
467 -- into the CS_INTERACTIONS table.
468 -------------------------------------------------------------------------
469 SELECT cs_interactions_s.NEXTVAL INTO l_interaction_id FROM dual;
470
471 --
472 -- Default parent interaction ID if missing
473 --
474 IF (p_parent_interaction_id IS NULL) THEN
475 l_parent_id := l_interaction_id;
476 END IF;
477
478 INSERT INTO cs_interactions
479 ( interaction_id,
480 created_by,
481 creation_date,
482 last_updated_by,
483 last_update_date,
484 last_update_login,
485 org_id,
486 customer_id,
487 contact_id,
488 contact_lastname,
489 contact_firstname,
490 phone_area_code,
491 phone_number,
492 phone_extension,
493 fax_area_code,
494 fax_number,
495 email_address,
496 interaction_type_code,
497 interaction_category_code,
498 interaction_method_code,
499 interaction_date,
500 interaction_document_code,
501 source_document_id,
502 source_document_name,
503 reference_form,
504 source_document_status,
505 employee_id,
506 public_flag,
507 follow_up_action,
508 notes,
509 parent_interaction_id,
510 attribute1,
511 attribute2,
512 attribute3,
513 attribute4,
514 attribute5,
515 attribute6,
516 attribute7,
517 attribute8,
518 attribute9,
519 attribute10,
520 attribute11,
521 attribute12,
522 attribute13,
523 attribute14,
524 attribute15,
525 attribute_category )
526 VALUES
527 ( l_interaction_id,
528 p_user_id,
529 Sysdate,
530 p_user_id,
531 Sysdate,
532 p_login_id,
533 l_org_id,
534 p_customer_id,
535 p_contact_id,
536 p_contact_lastname,
537 p_contact_firstname,
538 l_phone_area_code,
539 l_phone_number,
540 l_phone_extension,
541 l_fax_area_code,
542 l_fax_number,
543 l_email_address,
544 p_interaction_type_code,
545 p_interaction_category_code,
546 p_interaction_method_code,
547 p_interaction_date,
548 p_interaction_document_code,
549 l_source_document_id,
550 l_source_document_name,
551 l_reference_form,
552 l_source_document_status,
553 p_employee_id,
554 p_public_flag,
555 l_follow_up_action,
556 l_notes,
557 l_parent_id,
558 p_attribute1,
559 p_attribute2,
560 p_attribute3,
561 p_attribute4,
562 p_attribute5,
563 p_attribute6,
564 p_attribute7,
565 p_attribute8,
566 p_attribute9,
567 p_attribute10,
568 p_attribute11,
569 p_attribute12,
570 p_attribute13,
571 p_attribute14,
572 p_attribute15,
573 p_attribute_category );
574
575 --
576 -- Set OUT value
577 --
578 x_interaction_id := l_interaction_id;
579
580 -- Standard check of p_commit
581 IF fnd_api.to_boolean(p_commit) THEN
582 COMMIT WORK;
583 END IF;
584
585 -- Standard call to get message count and if count is 1, get message info
586 fnd_msg_pub.count_and_get
587 ( p_count => x_msg_count,
588 p_data => x_msg_data );
589 EXCEPTION
590 WHEN fnd_api.g_exc_error THEN
591 ROLLBACK TO create_interaction_pvt;
592 x_return_status := fnd_api.g_ret_sts_error ;
593 fnd_msg_pub.count_and_get
594 ( p_count => x_msg_count,
595 p_data => x_msg_data );
596 WHEN fnd_api.g_exc_unexpected_error THEN
597 ROLLBACK TO create_interaction_pvt;
598 x_return_status := fnd_api.g_ret_sts_unexp_error ;
599 fnd_msg_pub.count_and_get
600 ( p_count => x_msg_count,
601 p_data => x_msg_data );
602 WHEN OTHERS THEN
603 ROLLBACK TO create_interaction_pvt;
604 x_return_status := fnd_api.g_ret_sts_unexp_error ;
605 IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
606 fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name);
607 END IF;
608 fnd_msg_pub.count_and_get
609 ( p_count => x_msg_count,
610 p_data => x_msg_data );
611 END Create_Interaction;
612
613 END CS_Interaction_PVT;