[Home] [Help]
PACKAGE BODY: APPS.ARH_CROL_PKG
Source
1 PACKAGE BODY arh_crol_pkg as
2 /* $Header: ARHCROLB.pls 120.2 2005/06/16 21:10:07 jhuang ship $*/
3
4 FUNCTION INIT_SWITCH
5 ( p_date IN DATE,
6 p_switch IN VARCHAR2 DEFAULT 'NULL_GMISS')
7 RETURN DATE
8 IS
9 res_date date;
10 BEGIN
11 IF p_switch = 'NULL_GMISS' THEN
12 IF p_date IS NULL THEN
13 res_date := FND_API.G_MISS_DATE;
14 ELSE
15 res_date := p_date;
16 END IF;
17 ELSIF p_switch = 'GMISS_NULL' THEN
18 IF p_date = FND_API.G_MISS_DATE THEN
19 res_date := NULL;
20 ELSE
21 res_date := p_date;
22 END IF;
23 ELSE
24 res_date := TO_DATE('31/12/1800','DD/MM/RRRR');
25 END IF;
26 RETURN res_date;
27 END;
28
29 FUNCTION INIT_SWITCH
30 ( p_char IN VARCHAR2,
31 p_switch IN VARCHAR2 DEFAULT 'NULL_GMISS')
32 RETURN VARCHAR2
33 IS
34 res_char varchar2(2000);
35 BEGIN
36 IF p_switch = 'NULL_GMISS' THEN
37 IF p_char IS NULL THEN
38 return FND_API.G_MISS_CHAR;
39 ELSE
40 return p_char;
41 END IF;
42 ELSIF p_switch = 'GMISS_NULL' THEN
43 IF p_char = FND_API.G_MISS_CHAR THEN
44 return NULL;
45 ELSE
46 return p_char;
47 END IF;
48 ELSE
49 return ('INCORRECT_P_SWITCH');
50 END IF;
51 END;
52
53 FUNCTION INIT_SWITCH
54 ( p_num IN NUMBER,
55 p_switch IN VARCHAR2 DEFAULT 'NULL_GMISS')
56 RETURN NUMBER
57 IS
58 BEGIN
59 IF p_switch = 'NULL_GMISS' THEN
60 IF p_num IS NULL THEN
61 return FND_API.G_MISS_NUM;
62 ELSE
63 return p_num;
64 END IF;
65 ELSIF p_switch = 'GMISS_NULL' THEN
66 IF p_num = FND_API.G_MISS_NUM THEN
67 return NULL;
68 ELSE
69 return p_num;
70 END IF;
71 ELSE
72 return ('9999999999');
73 END IF;
74 END;
75
76 PROCEDURE object_version_select
77 (p_table_name IN VARCHAR2,
78 p_col_id IN VARCHAR2,
79 x_rowid IN OUT NOCOPY ROWID,
80 x_object_version_number IN OUT NOCOPY NUMBER,
81 x_last_update_date IN OUT NOCOPY DATE,
82 x_id_value IN OUT NOCOPY NUMBER,
83 x_return_status IN OUT NOCOPY VARCHAR2,
84 x_msg_count IN OUT NOCOPY NUMBER,
85 x_msg_data IN OUT NOCOPY VARCHAR2 )
86 IS
87 CURSOR cu_role_resp_version IS
88 SELECT ROWID,
89 OBJECT_VERSION_NUMBER,
90 LAST_UPDATE_DATE,
91 NULL
92 FROM HZ_ROLE_RESPONSIBILITY
93 WHERE RESPONSIBILITY_ID = p_col_id;
94
95 l_last_update_date DATE;
96
97 BEGIN
98 IF p_table_name = 'HZ_ROLE_RESPONSIBILITY' THEN
99 OPEN cu_role_resp_version;
100 FETCH cu_role_resp_version INTO
101 x_rowid ,
102 x_object_version_number,
103 l_last_update_date ,
104 x_id_value;
105 CLOSE cu_role_resp_version;
106 END IF;
107
108 IF x_rowid IS NULL THEN
109 FND_MESSAGE.SET_NAME('AR','HZ_API_NO_RECORD');
110 FND_MESSAGE.SET_TOKEN('RECORD',p_table_name);
111 FND_MESSAGE.SET_TOKEN('ID',p_col_id);
112 FND_MSG_PUB.ADD;
113 x_return_status := FND_API.G_RET_STS_ERROR;
114 ELSE
115 IF TO_CHAR(x_last_update_date,'DD-MON-YYYY HH:MI:SS') <>
116 TO_CHAR(l_last_update_date,'DD-MON-YYYY HH:MI:SS')
117 THEN
118 FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
119 FND_MESSAGE.SET_TOKEN('TABLE', p_table_name);
120 FND_MSG_PUB.ADD;
121 x_return_status := FND_API.G_RET_STS_ERROR;
122 END IF;
123 END IF;
124
125 END;
126
127
128 --
129 --
130 --
131 -- PROCEDURE
132 -- check_unique
133 --
134 -- DESCRIPTION
135 -- Generates error if contact role is not unique
136 -- SCOPE -
137 --
138 -- EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
139 --
140 -- ARGUMENTS : IN:
141 -- - p_contact_role_id
142 -- - p_contact_id
143 -- - p_usage_code
144 -- OUT:
145 -- None
146 --
147 -- RETURNS : NONE
148 --
149 -- NOTES
150 --
151 -- MODIFICATION HISTORY - Created by Kevin Hudson
152 --
153 --
154 PROCEDURE check_unique( p_contact_role_id in number,
155 p_contact_id in number,
156 p_usage_code in varchar2) is
157 --
158 unique_count number;
159 --
160 begin
161 select count(1)
162 into unique_count
163 from hz_role_responsibility cr
164 where cr.cust_account_role_id = p_contact_id
165 and cr.responsibility_type = p_usage_code
166 and (( p_contact_role_id is null) or
167 (cr.responsibility_id <> p_contact_role_id));
168 --
169 if ( unique_count >= 1 ) then
170 fnd_message.set_name('AR','AR_CUST_DUP_ROLE_USAGE');
171 app_exception.raise_exception;
172 end if;
173 --
174 end check_unique;
175 --
176 --
177 --
178 -- FUNCTION
179 --
180 --
181 -- DESCRIPTION
182 -- Checks to see if a contact role exists
183 -- SCOPE -
184 --
185 -- EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
186 --
187 -- ARGUMENTS : IN: p_contact_id
188 -- p_usage_code
189 --
190 -- OUT:
191 --
192 --
193 -- RETURNS : Boolean - TRUE if contact role exists
194 -- FALSE if contact role does not exists
195 --
196 -- NOTES
197 --
198 -- MODIFICATION HISTORY - Created by Kevin Hudson
199 --
200 --
201 FUNCTION contact_role_exists(p_contact_id in number ,p_usage_code in varchar2 ) return Boolean is
202 --
203 dummy number;
204 begin
205 --
206 select 1
207 into dummy
208 from hz_role_responsibility
209 where cust_account_role_id = p_contact_id
210 and responsibility_type = p_usage_code;
211 --
212 return TRUE;
213 exception
214 when NO_DATA_FOUND then
215 return FALSE;
216 --
217 --
218 end contact_role_exists;
219 --
220 -- PROCEDURE
221 -- check_primary
222 --
223 -- DESCRIPTION
224 -- A contact may only have one primary role
225 -- SCOPE -
226 --
227 -- EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
228 --
229 -- ARGUMENTS : IN:
230 -- p_contact_role_id
231 -- p_contact_id
232 -- OUT:
233 -- None
234 --
235 -- RETURNS : NONE
236 --
237 -- NOTES
238 --
239 -- MODIFICATION HISTORY - Created by Kevin Hudson
240 --
241 --
242 PROCEDURE check_primary (p_contact_role_id in number,
243 p_contact_id in number ) is
244 --
245 primary_count number;
246 --
247 begin
248 select count(1)
249 into primary_count
250 from hz_role_responsibility cr
251 where cr.cust_account_role_id = p_contact_id
252 and cr.primary_flag = 'Y'
253 and (( p_contact_role_id is null)
254 or (cr.responsibility_id <> p_contact_role_id));
255 --
256 if ( primary_count >= 1 ) then
257 fnd_message.set_name('AR','AR_CUST_ROLE_PRIMARY');
258 app_exception.raise_exception;
259 end if;
260 --
261 end check_primary;
262 --
263 PROCEDURE Insert_Row(
264 X_Contact_Role_Id IN OUT NOCOPY NUMBER,
265 X_Last_Update_Date DATE,
266 X_Last_Updated_By NUMBER,
267 X_Creation_Date DATE,
268 X_Created_By NUMBER,
269 X_Usage_Code VARCHAR2,
270 X_Contact_Id NUMBER,
271 X_Last_Update_Login NUMBER,
272 X_Primary_Flag VARCHAR2,
273 X_Attribute_Category VARCHAR2,
274 X_Attribute1 VARCHAR2,
275 X_Attribute2 VARCHAR2,
276 X_Attribute3 VARCHAR2,
277 X_Attribute4 VARCHAR2,
278 X_Attribute5 VARCHAR2,
279 X_Attribute6 VARCHAR2,
280 X_Attribute7 VARCHAR2,
281 X_Attribute8 VARCHAR2,
282 X_Attribute9 VARCHAR2,
283 X_Attribute10 VARCHAR2,
284 X_Attribute11 VARCHAR2,
285 X_Attribute12 VARCHAR2,
286 X_Attribute13 VARCHAR2,
287 X_Attribute14 VARCHAR2,
288 X_Attribute15 VARCHAR2,
289 x_org_contact_id NUMBER,
290 x_return_status out NOCOPY varchar2,
291 x_msg_count out NOCOPY number,
292 x_msg_data out NOCOPY varchar2
293
294 ) IS
295
296 --role_rec hz_party_pub.org_contact_role_rec_type;
297 --role_resp_rec hz_customer_accounts_pub.role_resp_rec_type;
298
299 role_rec hz_party_contact_v2pub.org_contact_role_rec_type;
300 role_resp_rec hz_cust_account_role_v2pub.role_responsibility_rec_type;
301 tmp_var VARCHAR2(2000);
302 i NUMBER;
303 tmp_var1 VARCHAR2(2000);
304 l_count NUMBER;
305
306 BEGIN
307 --
308 check_unique(
309 p_contact_role_id => x_contact_role_id,
310 p_contact_id => x_contact_id,
311 p_usage_code => x_usage_code
312 );
313 --
314 if (x_primary_flag = 'Y') then
315 check_primary(
316 p_contact_role_id => x_contact_role_id,
317 p_contact_id => x_contact_id
318 );
319 end if;
320 --
321 l_count := 1;
322 while l_count > 0 loop
323 select hz_org_contact_roles_s.nextval into x_contact_role_id from dual;
324
325 select count(*) into l_count from hz_org_contact_roles
326 where org_contact_role_id = x_contact_role_id ;
327
328 END LOOP;
329 --
330
331 role_rec.org_contact_role_id := X_Contact_Role_Id;
332 role_rec.role_type := X_Usage_Code;
333 -- primary flag is ignored (always set to 'N') for org_contact_roles as it is
334 -- not possible to maintain all such info from role_responsibility.
335 -- role_responsibility can have multiple combination of primary and usage.
336 -- this relates to bug - 1348220
337 role_rec.primary_flag := 'N';
338 role_rec.org_contact_id := x_org_contact_id;
339 role_rec.orig_system_reference := X_Contact_Role_Id;
340 role_rec.created_by_module := 'TCA_FORM_WRAPPER';
341
342 -- role_rec.attribute_category := x_Attribute_Category;
343 -- role_rec.attribute1 := x_Attribute1;
344 -- role_rec.attribute2 := x_Attribute2;
345 -- role_rec.attribute3 := x_Attribute3;
346 -- role_rec.attribute4 := x_Attribute4;
347 -- role_rec.attribute5 := x_Attribute5;
348 -- role_rec.attribute6 := x_Attribute6;
349 -- role_rec.attribute7 := x_Attribute7;
350 -- role_rec.attribute8 := x_attribute8;
351 -- role_rec.attribute9 := x_Attribute9;
352 -- role_rec.attribute10 := x_Attribute10;
353 -- role_rec.attribute11 := x_Attribute11;
354 -- role_rec.attribute12 := x_Attribute12;
355 -- role_rec.attribute13 := x_Attribute13;
356 -- role_rec.attribute14 := x_Attribute14;
357 -- role_rec.attribute15 := x_Attribute15;
358 l_count := 1;
359
360 while l_count > 0 loop
361 select hz_role_responsibility_s.nextval into x_contact_role_id from dual;
362
363 select count(*) into l_count from hz_role_responsibility
364 where responsibility_id = x_contact_role_id;
365
366 END LOOP;
367
368 role_resp_rec.responsibility_id := X_Contact_Role_Id;
369 role_resp_rec.cust_account_role_id := X_Contact_Id;
370 role_resp_rec.responsibility_type := X_Usage_Code;
371 role_resp_rec.primary_flag := X_Primary_Flag;
372 role_resp_rec.orig_system_reference := X_Contact_Role_Id;
373 role_resp_rec.attribute_category := x_Attribute_Category;
374 role_resp_rec.attribute1 := x_Attribute1;
375 role_resp_rec.attribute2 := x_Attribute2;
376 role_resp_rec.attribute3 := x_Attribute3;
377 role_resp_rec.attribute4 := x_Attribute4;
378 role_resp_rec.attribute5 := x_Attribute5;
379 role_resp_rec.attribute6 := x_Attribute6;
380 role_resp_rec.attribute7 := x_Attribute7;
381 role_resp_rec.attribute8 := x_attribute8;
382 role_resp_rec.attribute9 := x_Attribute9;
383 role_resp_rec.attribute10 := x_Attribute10;
384 role_resp_rec.attribute11 := x_Attribute11;
385 role_resp_rec.attribute12 := x_Attribute12;
386 role_resp_rec.attribute13 := x_Attribute13;
387 role_resp_rec.attribute14 := x_Attribute14;
388 role_resp_rec.attribute15 := x_Attribute15;
389 role_resp_rec.created_by_module := 'TCA_FORM_WRAPPER';
390
391 -- call V2 API.
392 HZ_CUST_ACCOUNT_ROLE_V2PUB.create_role_responsibility (
393 p_role_responsibility_rec => role_resp_rec,
394 x_responsibility_id => X_Contact_Role_Id,
395 x_return_status => x_return_status,
396 x_msg_count => x_msg_count,
397 x_msg_data => x_msg_data
398 );
399
400 /*
401 hz_customer_accounts_pub.create_role_resp(
402 1,
403 null,
404 null,
405 role_resp_rec,
406 x_return_status,
407 x_msg_count,
408 x_msg_data,
409 X_Contact_Role_Id);
410 */
411
412 IF x_msg_count > 1 THEN
413 FOR i IN 1..x_msg_count LOOP
414 tmp_var := fnd_msg_pub.get(p_encoded => fnd_api.g_false);
418 END IF;
415 tmp_var1 := tmp_var1 || ' '|| tmp_var;
416 END LOOP;
417 x_msg_data := tmp_var1;
419
420 END Insert_Row;
421 --
422 --
423
424 PROCEDURE Update_Row(
425 X_Contact_Role_Id NUMBER,
426 X_Last_Update_Date in out NOCOPY DATE,
427 X_Last_Updated_By NUMBER,
428 X_Usage_Code VARCHAR2,
429 X_Contact_Id NUMBER,
430 X_Last_Update_Login NUMBER,
431 X_Primary_Flag VARCHAR2,
432 X_Attribute_Category VARCHAR2,
433 X_Attribute1 VARCHAR2,
434 X_Attribute2 VARCHAR2,
435 X_Attribute3 VARCHAR2,
436 X_Attribute4 VARCHAR2,
437 X_Attribute5 VARCHAR2,
438 X_Attribute6 VARCHAR2,
439 X_Attribute7 VARCHAR2,
440 X_Attribute8 VARCHAR2,
441 X_Attribute9 VARCHAR2,
442 X_Attribute10 VARCHAR2,
443 X_Attribute11 VARCHAR2,
444 X_Attribute12 VARCHAR2,
445 X_Attribute13 VARCHAR2,
446 X_Attribute14 VARCHAR2,
447 X_Attribute15 VARCHAR2,
448 x_org_contact_id NUMBER,
449 x_return_status out NOCOPY varchar2,
450 x_msg_count out NOCOPY number,
451 x_msg_data out NOCOPY varchar2,
452 x_object_version IN OUT NOCOPY NUMBER
453 )
454 IS
455 -- role_rec hz_party_pub.org_contact_role_rec_type;
456 -- role_resp_rec hz_customer_accounts_pub.role_resp_rec_type;
457 role_rec hz_party_contact_v2pub.org_contact_role_rec_type;
458 role_resp_rec hz_cust_account_role_v2pub.role_responsibility_rec_type;
459 tmp_var VARCHAR2(2000);
460 i NUMBER;
461 tmp_var1 VARCHAR2(2000);
462 l_rol_res_rowid ROWID;
463 l_rol_res_obj_version NUMBER;
464 l_rol_res_last_upd_date DATE;
465 l_dummy NUMBER;
466
467 BEGIN
468 --
469 check_unique( p_contact_role_id => x_contact_role_id,
470 p_contact_id => x_contact_id,
471 p_usage_code => x_usage_code);
472 --
473 if (x_primary_flag = 'Y') then
474 check_primary( p_contact_role_id => x_contact_role_id,
475 p_contact_id => x_contact_id);
476 end if;
477 --
478 role_rec.org_contact_role_id := X_Contact_Role_Id;
479 role_rec.role_type := INIT_SWITCH(X_Usage_Code);
480 role_rec.primary_flag := INIT_SWITCH(X_Primary_Flag);
481 role_rec.org_contact_id := INIT_SWITCH(x_org_contact_id);
482
483 -- role_rec.attribute_category := x_Attribute_Category;
484 -- role_rec.attribute1 := x_Attribute1;
485 -- role_rec.attribute2 := x_Attribute2;
486 -- role_rec.attribute3 := x_Attribute3;
487 -- role_rec.attribute4 := x_Attribute4;
488 -- role_rec.attribute5 := x_Attribute5;
489 -- role_rec.attribute6 := x_Attribute6;
490 -- role_rec.attribute7 := x_Attribute7;
491 -- role_rec.attribute8 := x_attribute8;
492 -- role_rec.attribute9 := x_Attribute9;
493 -- role_rec.attribute10 := x_Attribute10;
494 -- role_rec.attribute11 := x_Attribute11;
495 -- role_rec.attribute12 := x_Attribute12;
496 -- role_rec.attribute13 := x_Attribute13;
497 -- role_rec.attribute14 := x_Attribute14;
498 -- role_rec.attribute15 := x_Attribute15;
499
500
501 role_resp_rec.responsibility_id := X_Contact_Role_Id;
502 role_resp_rec.cust_account_role_id := X_Contact_Id;
503 role_resp_rec.responsibility_type := INIT_SWITCH(X_Usage_Code);
504 role_resp_rec.primary_flag := INIT_SWITCH(X_Primary_Flag);
505 role_resp_rec.attribute_category := INIT_SWITCH(x_Attribute_Category);
506 role_resp_rec.attribute1 := INIT_SWITCH(x_Attribute1);
507 role_resp_rec.attribute2 := INIT_SWITCH(x_Attribute2);
508 role_resp_rec.attribute3 := INIT_SWITCH(x_Attribute3);
509 role_resp_rec.attribute4 := INIT_SWITCH(x_Attribute4);
510 role_resp_rec.attribute5 := INIT_SWITCH(x_Attribute5);
511 role_resp_rec.attribute6 := INIT_SWITCH(x_Attribute6);
512 role_resp_rec.attribute7 := INIT_SWITCH(x_Attribute7);
513 role_resp_rec.attribute8 := INIT_SWITCH(x_attribute8);
514 role_resp_rec.attribute9 := INIT_SWITCH(x_Attribute9);
515 role_resp_rec.attribute10 := INIT_SWITCH(x_Attribute10);
516 role_resp_rec.attribute11 := INIT_SWITCH(x_Attribute11);
517 role_resp_rec.attribute12 := INIT_SWITCH(x_Attribute12);
518 role_resp_rec.attribute13 := INIT_SWITCH(x_Attribute13);
519 role_resp_rec.attribute14 := INIT_SWITCH(x_Attribute14);
520 role_resp_rec.attribute15 := INIT_SWITCH(x_Attribute15);
521
522 l_rol_res_obj_version := x_object_version;
523 IF l_rol_res_obj_version = -1 THEN
527 x_rowid => l_rol_res_rowid,
524 object_version_select
525 (p_table_name => 'HZ_ROLE_RESPONSIBILITY',
526 p_col_id => X_Contact_Role_Id,
528 x_object_version_number => l_rol_res_obj_version,
529 x_last_update_date => l_rol_res_last_upd_date,
530 x_id_value => l_dummy,
531 x_return_status => x_return_status,
532 x_msg_count => x_msg_count,
533 x_msg_data => x_msg_data );
534
535 IF x_msg_count > 1 THEN
536 FOR i IN 1..x_msg_count LOOP
537 tmp_var := fnd_msg_pub.get(p_encoded => fnd_api.g_false);
538 tmp_var1 := tmp_var1 || ' '|| tmp_var;
539 END LOOP;
540 x_msg_data := tmp_var1;
541 END IF;
542
543 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
544 return;
545 END IF;
546
547 END IF;
548
549 -- call V2 API.
550 HZ_CUST_ACCOUNT_ROLE_V2PUB.update_role_responsibility (
551 p_role_responsibility_rec => role_resp_rec,
552 p_object_version_number => l_rol_res_obj_version,
553 x_return_status => x_return_status,
554 x_msg_count => x_msg_count,
555 x_msg_data => x_msg_data
556 );
557
558 IF x_msg_count > 1 THEN
559 FOR i IN 1..x_msg_count LOOP
560 tmp_var := fnd_msg_pub.get(p_encoded => fnd_api.g_false);
561 tmp_var1 := tmp_var1 || ' '|| tmp_var;
562 END LOOP;
563 x_msg_data := tmp_var1;
564 END IF;
565
566 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
567 return;
568 END IF;
569
570
571 /*
572 hz_customer_accounts_pub.update_role_resp(
573 1,
574 null,
575 null,
576 role_resp_rec,
577 X_Last_Update_Date,
578 x_return_status,
579 x_msg_count,
580 x_msg_data);
581 */
582
583
584 select last_update_date,
585 object_version_number
586 into X_Last_Update_Date,
587 x_object_version
588 from hz_role_responsibility
589 where responsibility_id = X_Contact_Role_Id;
590
591 END Update_Row;
592
593 --
594 --Overload method for V2API uptake
595 --
596 PROCEDURE Update_Row(
597 X_Contact_Role_Id NUMBER,
598 X_Last_Update_Date in out NOCOPY DATE,
599 X_Last_Updated_By NUMBER,
600 X_Usage_Code VARCHAR2,
601 X_Contact_Id NUMBER,
602 X_Last_Update_Login NUMBER,
603 X_Primary_Flag VARCHAR2,
604 X_Attribute_Category VARCHAR2,
605 X_Attribute1 VARCHAR2,
606 X_Attribute2 VARCHAR2,
607 X_Attribute3 VARCHAR2,
608 X_Attribute4 VARCHAR2,
609 X_Attribute5 VARCHAR2,
610 X_Attribute6 VARCHAR2,
611 X_Attribute7 VARCHAR2,
612 X_Attribute8 VARCHAR2,
613 X_Attribute9 VARCHAR2,
614 X_Attribute10 VARCHAR2,
615 X_Attribute11 VARCHAR2,
616 X_Attribute12 VARCHAR2,
617 X_Attribute13 VARCHAR2,
618 X_Attribute14 VARCHAR2,
619 X_Attribute15 VARCHAR2,
620 x_org_contact_id NUMBER,
621 x_return_status out NOCOPY varchar2,
622 x_msg_count out NOCOPY number,
623 x_msg_data out NOCOPY varchar2
624 )
625 IS
626 l_object_version NUMBER := -1;
627 BEGIN
628 Update_Row(
629 X_Contact_Role_Id,
630 X_Last_Update_Date,
631 X_Last_Updated_By,
632 X_Usage_Code ,
633 X_Contact_Id ,
634 X_Last_Update_Login,
635 X_Primary_Flag ,
636 X_Attribute_Category,
637 X_Attribute1 ,
638 X_Attribute2 ,
639 X_Attribute3 ,
640 X_Attribute4 ,
641 X_Attribute5 ,
642 X_Attribute6 ,
643 X_Attribute7 ,
644 X_Attribute8 ,
645 X_Attribute9 ,
646 X_Attribute10 ,
647 X_Attribute11 ,
648 X_Attribute12 ,
649 X_Attribute13 ,
650 X_Attribute14 ,
651 X_Attribute15 ,
652 x_org_contact_id,
653 x_return_status ,
654 x_msg_count ,
655 x_msg_data ,
656 l_object_version );
657 END;
658
662
659
660
661
663 --
664 --
665 PROCEDURE delete_row(x_contact_id in number ,x_usage_code in varchar2) is
666 BEGIN
667 delete from hz_role_responsibility
668 where cust_account_role_id = x_contact_id
669 and responsibility_type = x_usage_code;
670
671 -- The exception NO_DATE_FOUND is intentionally not raised
672 -- This procedure is called from the arp_contacts_pkg.update_row
673 -- the row for deletion may not exist. Not raising the exception
674 -- means we do not have to check for existence before delete.
675 -- Do NOT call this procedure form a forms on-delete trigger.
676 --
677 -- if (SQL%NOTFOUND) then
678 -- raise NO_DATA_FOUND;
679 --
680 --end if;
681 END delete_row;
682 --
683 --
684 --
685 PROCEDURE Delete_Row(X_contact_role_id number) IS
686 BEGIN
687 DELETE FROM hz_role_responsibility
688 WHERE responsibility_id = X_contact_role_id;
689
690 if (SQL%NOTFOUND) then
691 Raise NO_DATA_FOUND;
692 end if;
693 END Delete_Row;
694
695
696 END arh_crol_pkg;