[Home] [Help]
PACKAGE BODY: APPS.HZ_CUST_ACCOUNT_ROLE_V2PUB
Source
1 PACKAGE BODY HZ_CUST_ACCOUNT_ROLE_V2PUB AS
2 /*$Header: ARH2CRSB.pls 120.13 2005/12/07 19:30:14 acng ship $ */
3
4 --------------------------------------
5 -- declaration of private global varibles
6 --------------------------------------
7
8 G_DEBUG_COUNT NUMBER := 0;
9 --G_DEBUG BOOLEAN := FALSE;
10
11 --------------------------------------
12 -- declaration of private procedures and functions
13 --------------------------------------
14
15 /*PROCEDURE enable_debug;
16
17 PROCEDURE disable_debug;
18 */
19
20
21 PROCEDURE do_create_cust_account_role (
22 p_cust_account_role_rec IN OUT NOCOPY CUST_ACCOUNT_ROLE_REC_TYPE,
23 x_cust_account_role_id OUT NOCOPY NUMBER,
24 x_return_status IN OUT NOCOPY VARCHAR2
25 );
26
27 PROCEDURE do_update_cust_account_role (
28 p_cust_account_role_rec IN OUT NOCOPY CUST_ACCOUNT_ROLE_REC_TYPE,
29 p_object_version_number IN OUT NOCOPY NUMBER,
30 x_return_status IN OUT NOCOPY VARCHAR2
31 );
32
33 PROCEDURE do_create_role_responsibility (
34 p_role_responsibility_rec IN OUT NOCOPY ROLE_RESPONSIBILITY_REC_TYPE,
35 x_responsibility_id OUT NOCOPY NUMBER,
36 x_return_status IN OUT NOCOPY VARCHAR2
37 );
38
39 PROCEDURE do_update_role_responsibility (
40 p_role_responsibility_rec IN OUT NOCOPY ROLE_RESPONSIBILITY_REC_TYPE,
41 p_object_version_number IN OUT NOCOPY NUMBER,
42 x_return_status IN OUT NOCOPY VARCHAR2
43 );
44
45 --------------------------------------
46 -- private procedures and functions
47 --------------------------------------
48
49 /**
50 * PRIVATE PROCEDURE enable_debug
51 *
52 * DESCRIPTION
53 * Turn on debug mode.
54 *
55 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
56 * HZ_UTILITY_V2PUB.enable_debug
57 *
58 * MODIFICATION HISTORY
59 *
60 * 07-23-2001 Jianying Huang o Created.
61 *
62 */
63
64 /*PROCEDURE enable_debug IS
65
66 BEGIN
67
68 G_DEBUG_COUNT := G_DEBUG_COUNT + 1;
69
70 IF G_DEBUG_COUNT = 1 THEN
71 IF FND_PROFILE.value( 'HZ_API_FILE_DEBUG_ON' ) = 'Y' OR
72 FND_PROFILE.value( 'HZ_API_DBMS_DEBUG_ON' ) = 'Y'
73 THEN
74 HZ_UTILITY_V2PUB.enable_debug;
75 G_DEBUG := TRUE;
76 END IF;
77 END IF;
78
79 END enable_debug;
80 */
81
82
83 /**
84 * PRIVATE PROCEDURE disable_debug
85 *
86 * DESCRIPTION
87 * Turn off debug mode.
88 *
89 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
90 * HZ_UTILITY_V2PUB.disable_debug
91 *
92 * MODIFICATION HISTORY
93 *
94 * 07-23-2001 Jianying Huang o Created.
95 *
96 */
97
98 /*PROCEDURE disable_debug IS
99
100 BEGIN
101
102 IF G_DEBUG THEN
103 G_DEBUG_COUNT := G_DEBUG_COUNT - 1;
104
105 IF G_DEBUG_COUNT = 0 THEN
106 HZ_UTILITY_V2PUB.disable_debug;
107 G_DEBUG := FALSE;
108 END IF;
109 END IF;
110
111 END disable_debug;
112 */
113
114 /**
115 * PRIVATE PROCEDURE do_create_cust_account_role
116 *
117 * DESCRIPTION
118 * Private procedure to create customer account role.
119 *
120 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
121 * HZ_ACCOUNT_VALIDATE_V2PUB.validate_cust_account_role
122 * HZ_CUST_ACCOUNT_ROLES_PKG.Insert_Row
123 * HZ_PARTY_SITE_V2PUB.create_party_site
124 *
125 * ARGUMENTS
126 * IN/OUT:
127 * p_cust_account_role_rec Customer account role record.
128 * x_return_status Return status after the call. The status can
129 * be FND_API.G_RET_STS_SUCCESS (success),
130 * FND_API.G_RET_STS_ERROR (error),
131 * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
132 * OUT:
133 * x_cust_account_role_id Customer account role ID.
134 *
135 * NOTES
136 *
137 * MODIFICATION HISTORY
138 *
139 * 07-23-2001 Jianying Huang o Created.
140 * 06-28-2002 P.Suresh o Bug No : 2263151. Commented the logic of
141 * creating a party site while creating an account
142 * role .
143 *
144 */
145
146 PROCEDURE do_create_cust_account_role (
147 p_cust_account_role_rec IN OUT NOCOPY CUST_ACCOUNT_ROLE_REC_TYPE,
148 x_cust_account_role_id OUT NOCOPY NUMBER,
149 x_return_status IN OUT NOCOPY VARCHAR2
150 ) IS
151
152 l_debug_prefix VARCHAR2(30) := ''; --'do_create_cust_account_role'
153
154 l_dummy VARCHAR2(1);
155 l_msg_count NUMBER;
156 l_msg_data VARCHAR2(2000);
157 l_profile VARCHAR2(1) := 'Y';
158
159 l_party_site_rec HZ_PARTY_SITE_V2PUB.PARTY_SITE_REC_TYPE;
160 l_location_id NUMBER;
161 l_party_site_id NUMBER;
162 l_party_site_number HZ_PARTY_SITES.party_site_number%TYPE;
163 l_orig_sys_reference_rec HZ_ORIG_SYSTEM_REF_PUB.ORIG_SYS_REFERENCE_REC_TYPE;
164
165 BEGIN
166
167 -- Debug info.
168 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
169 hz_utility_v2pub.debug(p_message=>'do_create_cust_account_role (+)',
170 p_prefix=>l_debug_prefix,
171 p_msg_level=>fnd_log.level_procedure);
172 END IF;
173
174 -- Validate cust account role record
175 HZ_ACCOUNT_VALIDATE_V2PUB.validate_cust_account_role (
176 p_create_update_flag => 'C',
177 p_cust_account_role_rec => p_cust_account_role_rec,
178 p_rowid => NULL,
179 x_return_status => x_return_status );
180
181 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
182 RAISE FND_API.G_EXC_ERROR;
183 END IF;
184 /* Bug No : 2263151.
185 -- Removed the logic to create a party site while creating the
186 -- account role.
187
188 -- Create new party site for parties in account roles when
189 -- create account role in site level.
190
191 IF p_cust_account_role_rec.cust_acct_site_id IS NOT NULL AND
192 p_cust_account_role_rec.cust_acct_site_id <> FND_API.G_MISS_NUM
193 THEN
194 -- select location id
195 SELECT LOCATION_ID INTO l_location_id
196 FROM HZ_PARTY_SITES
197 WHERE PARTY_SITE_ID = (
198 SELECT PARTY_SITE_ID
199 FROM HZ_CUST_ACCT_SITES
200 WHERE CUST_ACCT_SITE_ID = p_cust_account_role_rec.cust_acct_site_id );
201
202 -- check if the address has been used by the party
203 BEGIN
204 SELECT 'Y' INTO l_dummy
205 FROM HZ_PARTY_SITES
206 WHERE PARTY_ID = p_cust_account_role_rec.party_id
207 AND LOCATION_ID = l_location_id;
208 EXCEPTION
209 WHEN NO_DATA_FOUND THEN
210 -- create new party site for the contact if no
211 -- party site has been created in the same address
212 -- as customer account address.
213
214 -- Debug info.
215 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
216 hz_utility_v2pub.debug(p_message=>'Need to create party site for account role party id ',
217 p_prefix =>l_debug_prefix,
218 p_msg_level=>fnd_log.level_statement);
219 END IF;
220
221 l_party_site_rec.party_id := p_cust_account_role_rec.party_id;
222 l_party_site_rec.location_id := l_location_id;
223 l_party_site_rec.created_by_module := p_cust_account_role_rec.created_by_module;
224 l_party_site_rec.application_id := p_cust_account_role_rec.application_id;
225
226 --force profile option to 'Y' to generate party site number
227 --through table sequence.
228
229 IF FND_PROFILE.VALUE( 'HZ_GENERATE_PARTY_SITE_NUMBER' ) = 'N' THEN
230 l_profile := 'N';
231 FND_PROFILE.PUT( 'HZ_GENERATE_PARTY_SITE_NUMBER', 'Y' );
232 END IF;
233
234 HZ_PARTY_SITE_V2PUB.create_party_site (
235 p_party_site_rec => l_party_site_rec,
236 x_party_site_id => l_party_site_id,
237 x_party_site_number => l_party_site_number,
238 x_return_status => x_return_status,
239 x_msg_count => l_msg_count,
240 x_msg_data => l_msg_data );
241
242 -- change back the profile option.
243 IF l_profile = 'N' THEN
244 FND_PROFILE.PUT( 'HZ_GENERATE_PARTY_SITE_NUMBER', 'N' );
245 END IF;
246
247 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
248 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
249 RAISE FND_API.G_EXC_ERROR;
250 ELSE
251 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
252 END IF;
253 END IF;
254 END;
255 END IF;
256 */
257 -- Debug info.
258 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
259 hz_utility_v2pub.debug(p_message=>'HZ_CUST_ACCOUNT_ROLES_PKG.Insert_Row (+)',
260 p_prefix=>l_debug_prefix,
261 p_msg_level=>fnd_log.level_procedure);
262 END IF;
263
264 -- Call table-handler.
265 HZ_CUST_ACCOUNT_ROLES_PKG.Insert_Row (
266 X_CUST_ACCOUNT_ROLE_ID => p_cust_account_role_rec.cust_account_role_id,
267 X_PARTY_ID => p_cust_account_role_rec.party_id,
268 X_CUST_ACCOUNT_ID => p_cust_account_role_rec.cust_account_id,
269 X_CUST_ACCT_SITE_ID => p_cust_account_role_rec.cust_acct_site_id,
270 X_PRIMARY_FLAG => p_cust_account_role_rec.primary_flag,
271 X_ROLE_TYPE => p_cust_account_role_rec.role_type,
272 X_SOURCE_CODE => p_cust_account_role_rec.source_code,
273 X_ATTRIBUTE_CATEGORY => p_cust_account_role_rec.attribute_category,
274 X_ATTRIBUTE1 => p_cust_account_role_rec.attribute1,
275 X_ATTRIBUTE2 => p_cust_account_role_rec.attribute2,
276 X_ATTRIBUTE3 => p_cust_account_role_rec.attribute3,
277 X_ATTRIBUTE4 => p_cust_account_role_rec.attribute4,
278 X_ATTRIBUTE5 => p_cust_account_role_rec.attribute5,
279 X_ATTRIBUTE6 => p_cust_account_role_rec.attribute6,
280 X_ATTRIBUTE7 => p_cust_account_role_rec.attribute7,
281 X_ATTRIBUTE8 => p_cust_account_role_rec.attribute8,
282 X_ATTRIBUTE9 => p_cust_account_role_rec.attribute9,
283 X_ATTRIBUTE10 => p_cust_account_role_rec.attribute10,
284 X_ATTRIBUTE11 => p_cust_account_role_rec.attribute11,
285 X_ATTRIBUTE12 => p_cust_account_role_rec.attribute12,
286 X_ATTRIBUTE13 => p_cust_account_role_rec.attribute13,
287 X_ATTRIBUTE14 => p_cust_account_role_rec.attribute14,
288 X_ATTRIBUTE15 => p_cust_account_role_rec.attribute15,
289 X_ATTRIBUTE16 => p_cust_account_role_rec.attribute16,
290 X_ATTRIBUTE17 => p_cust_account_role_rec.attribute17,
291 X_ATTRIBUTE18 => p_cust_account_role_rec.attribute18,
292 X_ATTRIBUTE19 => p_cust_account_role_rec.attribute19,
293 X_ATTRIBUTE20 => p_cust_account_role_rec.attribute20,
294 X_ATTRIBUTE21 => p_cust_account_role_rec.attribute21,
295 X_ATTRIBUTE22 => p_cust_account_role_rec.attribute22,
296 X_ATTRIBUTE23 => p_cust_account_role_rec.attribute23,
297 X_ATTRIBUTE24 => p_cust_account_role_rec.attribute24,
298 X_ORIG_SYSTEM_REFERENCE => p_cust_account_role_rec.orig_system_reference,
299 X_ATTRIBUTE25 => p_cust_account_role_rec.attribute25,
300 X_STATUS => p_cust_account_role_rec.status,
301 X_OBJECT_VERSION_NUMBER => 1,
302 X_CREATED_BY_MODULE => p_cust_account_role_rec.created_by_module,
303 X_APPLICATION_ID => p_cust_account_role_rec.application_id
304 );
305
306
307 -- Debug info.
308 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
309 hz_utility_v2pub.debug(p_message=>'HZ_CUST_ACCOUNT_ROLES_PKG.Insert_Row (-) ' ||
310 'x_cust_account_role_id = ' || p_cust_account_role_rec.cust_account_role_id,
311 p_prefix=>l_debug_prefix,
312 p_msg_level=>fnd_log.level_procedure);
313 END IF;
314
315 if (p_cust_account_role_rec.orig_system_reference is not null and p_cust_account_role_rec.orig_system_reference<>fnd_api.g_miss_char ) then
316 if (p_cust_account_role_rec.orig_system is null OR p_cust_account_role_rec.orig_system = fnd_api.g_miss_char) then
317 p_cust_account_role_rec.orig_system := 'UNKNOWN';
318 end if;
319 end if;
320
321
322 if (p_cust_account_role_rec.orig_system is not null and p_cust_account_role_rec.orig_system<>fnd_api.g_miss_char ) then
323 l_orig_sys_reference_rec.orig_system := p_cust_account_role_rec.orig_system;
324 l_orig_sys_reference_rec.orig_system_reference := p_cust_account_role_rec.orig_system_reference;
325 l_orig_sys_reference_rec.owner_table_name := 'HZ_CUST_ACCOUNT_ROLES';
326 l_orig_sys_reference_rec.owner_table_id := p_cust_account_role_rec.cust_account_role_id;
327 l_orig_sys_reference_rec.created_by_module := p_cust_account_role_rec.created_by_module;
328
329 hz_orig_system_ref_pub.create_orig_system_reference(
330 FND_API.G_FALSE,
331 l_orig_sys_reference_rec,
332 x_return_status,
333 l_msg_count,
334 l_msg_data);
335 IF x_return_status <> fnd_api.g_ret_sts_success THEN
336 RAISE FND_API.G_EXC_ERROR;
337 END IF;
338 end if;
339 x_cust_account_role_id := p_cust_account_role_rec.cust_account_role_id;
340 -- Debug info.
341
342 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
343 hz_utility_v2pub.debug(p_message=>'do_create_cust_account_role (-)',
344 p_prefix=>l_debug_prefix,
345 p_msg_level=>fnd_log.level_procedure);
346 END IF;
347
348 END do_create_cust_account_role;
349
350 /**
351 * PRIVATE PROCEDURE do_update_cust_account_role
352 *
353 * DESCRIPTION
354 * Private procedure to update customer account role.
355 *
356 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
357 * HZ_ACCOUNT_VALIDATE_V2PUB.validate_cust_account_role
358 * HZ_CUST_ACCOUNT_ROLES_PKG.Update_Row
359 *
360 * ARGUMENTS
361 * IN/OUT:
362 * p_cust_account_role_rec Customer account role record.
363 * p_object_version_number Used for locking the being updated record.
364 * x_return_status Return status after the call. The status can
365 * be FND_API.G_RET_STS_SUCCESS (success),
366 * FND_API.G_RET_STS_ERROR (error),
367 * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
368 *
369 * NOTES
370 *
371 * MODIFICATION HISTORY
372 *
373 * 07-23-2001 Jianying Huang o Created.
374 *
375 */
376
377 PROCEDURE do_update_cust_account_role (
378 p_cust_account_role_rec IN OUT NOCOPY CUST_ACCOUNT_ROLE_REC_TYPE,
379 p_object_version_number IN OUT NOCOPY NUMBER,
380 x_return_status IN OUT NOCOPY VARCHAR2
381 ) IS
382
383 l_debug_prefix VARCHAR2(30) := ''; --'do_update_cust_account_role'
384
385 l_rowid ROWID := NULL;
386 l_object_version_number NUMBER;
387 l_orig_sys_reference_rec HZ_ORIG_SYSTEM_REF_PUB.ORIG_SYS_REFERENCE_REC_TYPE;
388
389
390 BEGIN
391
392 -- Debug info.
393 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
394 hz_utility_v2pub.debug(p_message=>'do_update_cust_account_role (+)',
395 p_prefix=>l_debug_prefix,
396 p_msg_level=>fnd_log.level_procedure);
397 END IF;
398
399 -- Lock record.
400 BEGIN
401 SELECT ROWID, OBJECT_VERSION_NUMBER
402 INTO l_rowid, l_object_version_number
403 FROM HZ_CUST_ACCOUNT_ROLES
404 WHERE CUST_ACCOUNT_ROLE_ID = p_cust_account_role_rec.cust_account_role_id
405 FOR UPDATE NOWAIT;
406
407 IF NOT (
408 ( p_object_version_number IS NULL AND l_object_version_number IS NULL ) OR
409 ( p_object_version_number IS NOT NULL AND
410 l_object_version_number IS NOT NULL AND
411 p_object_version_number = l_object_version_number ) )
412 THEN
413 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_RECORD_CHANGED' );
414 FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_cust_account_roles' );
415 FND_MSG_PUB.ADD;
416 RAISE FND_API.G_EXC_ERROR;
417 END IF;
418
419 p_object_version_number := NVL( l_object_version_number, 1 ) + 1;
420
421 EXCEPTION
422 WHEN NO_DATA_FOUND THEN
423 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NO_RECORD' );
424 FND_MESSAGE.SET_TOKEN( 'RECORD', 'customer account role' );
425 FND_MESSAGE.SET_TOKEN( 'VALUE',
426 NVL( TO_CHAR( p_cust_account_role_rec.cust_account_role_id ), 'null' ) );
427 FND_MSG_PUB.ADD;
428 RAISE FND_API.G_EXC_ERROR;
429 END;
430
431 -- Validate cust account role record
432 HZ_ACCOUNT_VALIDATE_V2PUB.validate_cust_account_role (
433 p_create_update_flag => 'U',
434 p_cust_account_role_rec => p_cust_account_role_rec,
435 p_rowid => l_rowid,
436 x_return_status => x_return_status );
437
438 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
439 RAISE FND_API.G_EXC_ERROR;
440 END IF;
441
442 if (p_cust_account_role_rec.orig_system is not null
443 and p_cust_account_role_rec.orig_system <>fnd_api.g_miss_char)
444 and (p_cust_account_role_rec.orig_system_reference is not null
445 and p_cust_account_role_rec.orig_system_reference <>fnd_api.g_miss_char)
446 then
447 p_cust_account_role_rec.orig_system_reference := null;
448 -- In mosr, we have bypassed osr nonupdateable validation
449 -- but we should not update existing osr, set it to null
450 end if;
451
452 -- Debug info.
453 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
454 hz_utility_v2pub.debug(p_message=>'HZ_CUST_ACCOUNT_ROLES_PKG.Update_Row (+)',
455 p_prefix=>l_debug_prefix,
456 p_msg_level=>fnd_log.level_procedure);
457 END IF;
458
459 -- Call table-handler.
460 HZ_CUST_ACCOUNT_ROLES_PKG.Update_Row (
461 X_Rowid => l_rowid,
462 X_CUST_ACCOUNT_ROLE_ID => p_cust_account_role_rec.cust_account_role_id,
463 X_PARTY_ID => p_cust_account_role_rec.party_id,
464 X_CUST_ACCOUNT_ID => p_cust_account_role_rec.cust_account_id,
465 X_CUST_ACCT_SITE_ID => p_cust_account_role_rec.cust_acct_site_id,
466 X_PRIMARY_FLAG => p_cust_account_role_rec.primary_flag,
467 X_ROLE_TYPE => p_cust_account_role_rec.role_type,
468 X_SOURCE_CODE => p_cust_account_role_rec.source_code,
469 X_ATTRIBUTE_CATEGORY => p_cust_account_role_rec.attribute_category,
470 X_ATTRIBUTE1 => p_cust_account_role_rec.attribute1,
471 X_ATTRIBUTE2 => p_cust_account_role_rec.attribute2,
472 X_ATTRIBUTE3 => p_cust_account_role_rec.attribute3,
473 X_ATTRIBUTE4 => p_cust_account_role_rec.attribute4,
474 X_ATTRIBUTE5 => p_cust_account_role_rec.attribute5,
475 X_ATTRIBUTE6 => p_cust_account_role_rec.attribute6,
476 X_ATTRIBUTE7 => p_cust_account_role_rec.attribute7,
477 X_ATTRIBUTE8 => p_cust_account_role_rec.attribute8,
478 X_ATTRIBUTE9 => p_cust_account_role_rec.attribute9,
479 X_ATTRIBUTE10 => p_cust_account_role_rec.attribute10,
480 X_ATTRIBUTE11 => p_cust_account_role_rec.attribute11,
481 X_ATTRIBUTE12 => p_cust_account_role_rec.attribute12,
482 X_ATTRIBUTE13 => p_cust_account_role_rec.attribute13,
483 X_ATTRIBUTE14 => p_cust_account_role_rec.attribute14,
484 X_ATTRIBUTE15 => p_cust_account_role_rec.attribute15,
485 X_ATTRIBUTE16 => p_cust_account_role_rec.attribute16,
486 X_ATTRIBUTE17 => p_cust_account_role_rec.attribute17,
487 X_ATTRIBUTE18 => p_cust_account_role_rec.attribute18,
488 X_ATTRIBUTE19 => p_cust_account_role_rec.attribute19,
489 X_ATTRIBUTE20 => p_cust_account_role_rec.attribute20,
490 X_ATTRIBUTE21 => p_cust_account_role_rec.attribute21,
491 X_ATTRIBUTE22 => p_cust_account_role_rec.attribute22,
492 X_ATTRIBUTE23 => p_cust_account_role_rec.attribute23,
493 X_ATTRIBUTE24 => p_cust_account_role_rec.attribute24,
494 X_ORIG_SYSTEM_REFERENCE => p_cust_account_role_rec.orig_system_reference,
495 X_ATTRIBUTE25 => p_cust_account_role_rec.attribute25,
496 X_STATUS => p_cust_account_role_rec.status,
497 X_OBJECT_VERSION_NUMBER => p_object_version_number,
498 X_CREATED_BY_MODULE => p_cust_account_role_rec.created_by_module,
499 X_APPLICATION_ID => p_cust_account_role_rec.application_id
500 );
501
502 -- Debug info.
503 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
504 hz_utility_v2pub.debug(p_message=>'HZ_CUST_ACCOUNT_ROLES_PKG.Update_Row (-)',
505 p_prefix=>l_debug_prefix,
506 p_msg_level=>fnd_log.level_procedure);
507 END IF;
508
509 END do_update_cust_account_role;
510
511 /**
512 * PRIVATE PROCEDURE do_create_role_responsibility
513 *
514 * DESCRIPTION
515 * Private procedure to create customer account role responsibility.
516 *
517 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
518 * HZ_ACCOUNT_VALIDATE_V2PUB.validate_role_responsibility
519 * HZ_ROLE_RESPONSIBILITY_PKG.Insert_Row
520 *
521 * ARGUMENTS
522 * IN/OUT:
523 * p_role_responsibility_rec Customer account role responsibility record.
524 * x_return_status Return status after the call. The status can
525 * be FND_API.G_RET_STS_SUCCESS (success),
526 * FND_API.G_RET_STS_ERROR (error),
527 * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
528 * OUT:
529 * x_responsibility_id Role responsibility ID.
530 *
531 * NOTES
532 *
533 * MODIFICATION HISTORY
534 *
535 * 07-23-2001 Jianying Huang o Created.
536 *
537 */
538
539 PROCEDURE do_create_role_responsibility (
540 p_role_responsibility_rec IN OUT NOCOPY ROLE_RESPONSIBILITY_REC_TYPE,
541 x_responsibility_id OUT NOCOPY NUMBER,
542 x_return_status IN OUT NOCOPY VARCHAR2
543 ) IS
544
545 l_debug_prefix VARCHAR2(30) := ''; --'do_create_role_responsibility'
546
547 BEGIN
548
549 -- Debug info.
550 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
551 hz_utility_v2pub.debug(p_message=>'do_create_role_responsibility (+)',
552 p_prefix=>l_debug_prefix,
553 p_msg_level=>fnd_log.level_procedure);
554 END IF;
555
556 -- Validate role responsibility record
557 HZ_ACCOUNT_VALIDATE_V2PUB.validate_role_responsibility (
558 p_create_update_flag => 'C',
559 p_role_responsibility_rec => p_role_responsibility_rec,
560 p_rowid => NULL,
561 x_return_status => x_return_status );
562
563 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
564 RAISE FND_API.G_EXC_ERROR;
565 END IF;
566
567 -- Debug info.
568 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
569 hz_utility_v2pub.debug(p_message=>'HZ_ROLE_RESPONSIBILITY_PKG.Insert_Row (+)',
570 p_prefix=>l_debug_prefix,
571 p_msg_level=>fnd_log.level_procedure);
572 END IF;
573
574 -- Call table-handler.
575 HZ_ROLE_RESPONSIBILITY_PKG.Insert_Row (
576 X_RESPONSIBILITY_ID => p_role_responsibility_rec.responsibility_id,
577 X_CUST_ACCOUNT_ROLE_ID => p_role_responsibility_rec.cust_account_role_id,
578 X_RESPONSIBILITY_TYPE => p_role_responsibility_rec.responsibility_type,
579 X_PRIMARY_FLAG => p_role_responsibility_rec.primary_flag,
580 X_ATTRIBUTE_CATEGORY => p_role_responsibility_rec.attribute_category,
581 X_ATTRIBUTE1 => p_role_responsibility_rec.attribute1,
582 X_ATTRIBUTE2 => p_role_responsibility_rec.attribute2,
583 X_ATTRIBUTE3 => p_role_responsibility_rec.attribute3,
584 X_ATTRIBUTE4 => p_role_responsibility_rec.attribute4,
585 X_ATTRIBUTE5 => p_role_responsibility_rec.attribute5,
586 X_ATTRIBUTE6 => p_role_responsibility_rec.attribute6,
587 X_ATTRIBUTE7 => p_role_responsibility_rec.attribute7,
588 X_ATTRIBUTE8 => p_role_responsibility_rec.attribute8,
589 X_ATTRIBUTE9 => p_role_responsibility_rec.attribute9,
590 X_ATTRIBUTE10 => p_role_responsibility_rec.attribute10,
591 X_ATTRIBUTE11 => p_role_responsibility_rec.attribute11,
592 X_ATTRIBUTE12 => p_role_responsibility_rec.attribute12,
593 X_ATTRIBUTE13 => p_role_responsibility_rec.attribute13,
594 X_ATTRIBUTE14 => p_role_responsibility_rec.attribute14,
595 X_ATTRIBUTE15 => p_role_responsibility_rec.attribute15,
596 X_ORIG_SYSTEM_REFERENCE => p_role_responsibility_rec.orig_system_reference,
597 X_OBJECT_VERSION_NUMBER => 1,
598 X_CREATED_BY_MODULE => p_role_responsibility_rec.created_by_module,
599 X_APPLICATION_ID => p_role_responsibility_rec.application_id
600 );
601
602 x_responsibility_id := p_role_responsibility_rec.responsibility_id;
603
604 -- Debug info.
605 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
606 hz_utility_v2pub.debug(p_message=>'HZ_ROLE_RESPONSIBILITY_PKG.Insert_Row (-) ' ||
607 'x_responsibility_id = ' || x_responsibility_id,
608 p_prefix=>l_debug_prefix,
609 p_msg_level=>fnd_log.level_procedure);
610 END IF;
611
612 -- Debug info.
613 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
614 hz_utility_v2pub.debug(p_message=>'do_create_role_responsibility (-)',
615 p_prefix=>l_debug_prefix,
616 p_msg_level=>fnd_log.level_procedure);
617 END IF;
618
619 END do_create_role_responsibility;
620
621 /**
622 * PRIVATE PROCEDURE do_update_role_responsibility
623 *
624 * DESCRIPTION
625 * Private procedure to update customer account role responsibility.
626 *
627 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
628 * HZ_ACCOUNT_VALIDATE_V2PUB.validate_role_responsibility
629 * HZ_ROLE_RESPONSIBILITY_PKG.Update_Row
630 *
631 * ARGUMENTS
632 * IN/OUT:
633 * p_role_responsibility_rec Customer account role responsibility record.
634 * p_object_version_number Used for locking the being updated record.
635 * x_return_status Return status after the call. The status can
636 * be FND_API.G_RET_STS_SUCCESS (success),
637 * FND_API.G_RET_STS_ERROR (error),
638 * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
639 *
640 * NOTES
641 *
642 * MODIFICATION HISTORY
643 *
644 * 07-23-2001 Jianying Huang o Created.
645 *
646 */
647
648 PROCEDURE do_update_role_responsibility (
649 p_role_responsibility_rec IN OUT NOCOPY ROLE_RESPONSIBILITY_REC_TYPE,
650 p_object_version_number IN OUT NOCOPY NUMBER,
651 x_return_status IN OUT NOCOPY VARCHAR2
652 ) IS
653
654 l_debug_prefix VARCHAR2(30) := ''; --'do_update_role_responsibility'
655
656 l_rowid ROWID := NULL;
657 l_object_version_number NUMBER;
658
659 BEGIN
660
661 -- Debug info.
662 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
663 hz_utility_v2pub.debug(p_message=>'do_update_role_responsibility (+)',
664 p_prefix=>l_debug_prefix,
665 p_msg_level=>fnd_log.level_procedure);
666 END IF;
667
668 -- Lock record.
669 BEGIN
670 SELECT ROWID, OBJECT_VERSION_NUMBER
671 INTO l_rowid, l_object_version_number
672 FROM HZ_ROLE_RESPONSIBILITY
673 WHERE RESPONSIBILITY_ID = p_role_responsibility_rec.responsibility_id
674 FOR UPDATE NOWAIT;
675
676 IF NOT (
677 ( p_object_version_number IS NULL AND l_object_version_number IS NULL ) OR
678 ( p_object_version_number IS NOT NULL AND
679 l_object_version_number IS NOT NULL AND
680 p_object_version_number = l_object_version_number ) )
681 THEN
682 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_RECORD_CHANGED' );
683 FND_MESSAGE.SET_TOKEN( 'TABLE', 'hz_role_responsibility' );
684 FND_MSG_PUB.ADD;
685 RAISE FND_API.G_EXC_ERROR;
686 END IF;
687
688 p_object_version_number := NVL( l_object_version_number, 1 ) + 1;
689
690 EXCEPTION
691 WHEN NO_DATA_FOUND THEN
692 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_NO_RECORD' );
693 FND_MESSAGE.SET_TOKEN( 'RECORD', 'customer account role responsibility' );
694 FND_MESSAGE.SET_TOKEN( 'VALUE',
695 NVL( TO_CHAR( p_role_responsibility_rec.responsibility_id ), 'null' ) );
696 FND_MSG_PUB.ADD;
697 RAISE FND_API.G_EXC_ERROR;
698 END;
699
700 -- Validate role responsibility record
701 HZ_ACCOUNT_VALIDATE_V2PUB.validate_role_responsibility (
702 p_create_update_flag => 'U',
703 p_role_responsibility_rec => p_role_responsibility_rec,
704 p_rowid => l_rowid,
705 x_return_status => x_return_status );
706
707 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
708 RAISE FND_API.G_EXC_ERROR;
709 END IF;
710
711 -- Debug info.
712 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
713 hz_utility_v2pub.debug(p_message=>'HZ_ROLE_RESPONSIBILITY_PKG.Update_Row (+)',
714 p_prefix=>l_debug_prefix,
715 p_msg_level=>fnd_log.level_procedure);
716 END IF;
717
718 -- Call table-handler.
719 HZ_ROLE_RESPONSIBILITY_PKG.Update_Row (
720 X_Rowid => l_rowid,
721 X_RESPONSIBILITY_ID => p_role_responsibility_rec.responsibility_id,
722 X_CUST_ACCOUNT_ROLE_ID => p_role_responsibility_rec.cust_account_role_id,
723 X_RESPONSIBILITY_TYPE => p_role_responsibility_rec.responsibility_type,
724 X_PRIMARY_FLAG => p_role_responsibility_rec.primary_flag,
725 X_ATTRIBUTE_CATEGORY => p_role_responsibility_rec.attribute_category,
726 X_ATTRIBUTE1 => p_role_responsibility_rec.attribute1,
727 X_ATTRIBUTE2 => p_role_responsibility_rec.attribute2,
728 X_ATTRIBUTE3 => p_role_responsibility_rec.attribute3,
729 X_ATTRIBUTE4 => p_role_responsibility_rec.attribute4,
730 X_ATTRIBUTE5 => p_role_responsibility_rec.attribute5,
731 X_ATTRIBUTE6 => p_role_responsibility_rec.attribute6,
732 X_ATTRIBUTE7 => p_role_responsibility_rec.attribute7,
733 X_ATTRIBUTE8 => p_role_responsibility_rec.attribute8,
734 X_ATTRIBUTE9 => p_role_responsibility_rec.attribute9,
735 X_ATTRIBUTE10 => p_role_responsibility_rec.attribute10,
736 X_ATTRIBUTE11 => p_role_responsibility_rec.attribute11,
737 X_ATTRIBUTE12 => p_role_responsibility_rec.attribute12,
738 X_ATTRIBUTE13 => p_role_responsibility_rec.attribute13,
739 X_ATTRIBUTE14 => p_role_responsibility_rec.attribute14,
740 X_ATTRIBUTE15 => p_role_responsibility_rec.attribute15,
741 X_ORIG_SYSTEM_REFERENCE => p_role_responsibility_rec.orig_system_reference,
742 X_OBJECT_VERSION_NUMBER => p_object_version_number,
743 X_CREATED_BY_MODULE => p_role_responsibility_rec.created_by_module,
744 X_APPLICATION_ID => p_role_responsibility_rec.application_id
745 );
746
747 -- Debug info.
748 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
749 hz_utility_v2pub.debug(p_message=>'HZ_ROLE_RESPONSIBILITY_PKG.Update_Row (-)',
750 p_prefix=>l_debug_prefix,
751 p_msg_level=>fnd_log.level_procedure);
752 END IF;
753
754 -- Debug info.
755 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
756 hz_utility_v2pub.debug(p_message=>'do_update_role_responsibility (-)',
757 p_prefix=>l_debug_prefix,
758 p_msg_level=>fnd_log.level_procedure);
759 END IF;
760
761 END do_update_role_responsibility;
762
763 --------------------------------------
764 -- public procedures and functions
765 --------------------------------------
766
767 /**
768 * PROCEDURE create_cust_account_role
769 *
770 * DESCRIPTION
771 * Creates customer account role.
772 *
773 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
774 * HZ_BUSINESS_EVENT_V2PVT.create_cust_account_role_event
775 *
776 * ARGUMENTS
777 * IN:
778 * p_init_msg_list Initialize message stack if it is set to
779 * FND_API.G_TRUE. Default is FND_API.G_FALSE.
780 * p_cust_account_role_rec Customer account role record.
781 * IN/OUT:
782 * OUT:
783 * x_cust_account_role_id Customer account role ID.
784 * x_return_status Return status after the call. The status can
785 * be FND_API.G_RET_STS_SUCCESS (success),
786 * FND_API.G_RET_STS_ERROR (error),
787 * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
788 * x_msg_count Number of messages in message stack.
789 * x_msg_data Message text if x_msg_count is 1.
790 *
791 * NOTES
792 *
793 * MODIFICATION HISTORY
794 *
795 * 07-23-2001 Jianying Huang o Created.
796 *
797 */
798
799 PROCEDURE create_cust_account_role (
800 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
801 p_cust_account_role_rec IN CUST_ACCOUNT_ROLE_REC_TYPE,
802 x_cust_account_role_id OUT NOCOPY NUMBER,
803 x_return_status OUT NOCOPY VARCHAR2,
804 x_msg_count OUT NOCOPY NUMBER,
805 x_msg_data OUT NOCOPY VARCHAR2
806 ) IS
807
808 l_cust_account_role_rec CUST_ACCOUNT_ROLE_REC_TYPE := p_cust_account_role_rec;
809 l_debug_prefix VARCHAR2(30) := '';
810
811
812 BEGIN
813
814 -- Standard start of API savepoint
815 SAVEPOINT create_cust_account_role;
816
817 -- Check if API is called in debug mode. If yes, enable debug.
818 --enable_debug;
819
820 -- Debug info.
821 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
822 hz_utility_v2pub.debug(p_message=>'create_cust_account_role (+)',
823 p_prefix=>l_debug_prefix,
824 p_msg_level=>fnd_log.level_procedure);
825 END IF;
826
827 -- Initialize message list if p_init_msg_list is set to TRUE.
828 IF FND_API.to_Boolean(p_init_msg_list) THEN
829 FND_MSG_PUB.initialize;
830 END IF;
831
832 -- Initialize API return status to success.
833 x_return_status := FND_API.G_RET_STS_SUCCESS;
834
835 -- Call to business logic.
836 do_create_cust_account_role (
837 l_cust_account_role_rec,
838 x_cust_account_role_id,
839 x_return_status );
840
841
842 IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
843 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
844 -- Invoke business event system.
845 HZ_BUSINESS_EVENT_V2PVT.create_cust_account_role_event (
846 l_cust_account_role_rec );
847 END IF;
848
849 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('EVENTS_ENABLED', 'BO_EVENTS_ENABLED')) THEN
850 HZ_POPULATE_BOT_PKG.pop_hz_cust_account_roles(
851 p_operation => 'I',
852 p_cust_account_role_id => x_cust_account_role_id);
853 END IF;
854 END IF;
855
856 -- Standard call to get message count and if count is 1, get message info.
857 FND_MSG_PUB.Count_And_Get(
858 p_encoded => FND_API.G_FALSE,
859 p_count => x_msg_count,
860 p_data => x_msg_data );
861
862 -- Debug info.
863 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
864 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
865 p_msg_data=>x_msg_data,
866 p_msg_type=>'WARNING',
867 p_msg_level=>fnd_log.level_exception);
868 END IF;
869 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
870 hz_utility_v2pub.debug(p_message=>'create_cust_account_role (-)',
871 p_prefix=>l_debug_prefix,
872 p_msg_level=>fnd_log.level_procedure);
873 END IF;
874
875 -- Check if API is called in debug mode. If yes, disable debug.
876 --disable_debug;
877
878 EXCEPTION
879 WHEN FND_API.G_EXC_ERROR THEN
880 ROLLBACK TO create_cust_account_role;
881 x_return_status := FND_API.G_RET_STS_ERROR;
882
883 FND_MSG_PUB.Count_And_Get(
884 p_encoded => FND_API.G_FALSE,
885 p_count => x_msg_count,
886 p_data => x_msg_data );
887 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
888 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
889 p_msg_data=>x_msg_data,
890 p_msg_type=>'ERROR',
891 p_msg_level=>fnd_log.level_error);
892 END IF;
893 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
894 hz_utility_v2pub.debug(p_message=>'create_cust_account_role (-)',
895 p_prefix=>l_debug_prefix,
896 p_msg_level=>fnd_log.level_procedure);
897 END IF;
898
899 -- Check if API is called in debug mode. If yes, disable debug.
900 --disable_debug;
901
902 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
903 ROLLBACK TO create_cust_account_role;
904 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
905
906 FND_MSG_PUB.Count_And_Get(
907 p_encoded => FND_API.G_FALSE,
908 p_count => x_msg_count,
909 p_data => x_msg_data );
910
911 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
912 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
913 p_msg_data=>x_msg_data,
914 p_msg_type=>'UNEXPECTED ERROR',
915 p_msg_level=>fnd_log.level_error);
916 END IF;
917 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
918 hz_utility_v2pub.debug(p_message=>'create_cust_account_role (-)',
919 p_prefix=>l_debug_prefix,
920 p_msg_level=>fnd_log.level_procedure);
921 END IF;
922
923
924 -- Check if API is called in debug mode. If yes, disable debug.
925 --disable_debug;
926
927 WHEN OTHERS THEN
928 ROLLBACK TO create_cust_account_role;
929 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
930
931 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
932 FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
933 FND_MSG_PUB.ADD;
934
935 FND_MSG_PUB.Count_And_Get(
936 p_encoded => FND_API.G_FALSE,
937 p_count => x_msg_count,
938 p_data => x_msg_data );
939 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
940 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
941 p_msg_data=>x_msg_data,
942 p_msg_type=>'SQL ERROR',
943 p_msg_level=>fnd_log.level_error);
944 END IF;
945 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
946 hz_utility_v2pub.debug(p_message=>'create_cust_account_role (-)',
947 p_prefix=>l_debug_prefix,
948 p_msg_level=>fnd_log.level_procedure);
949 END IF;
950
951 -- Check if API is called in debug mode. If yes, disable debug.
952 --disable_debug;
953
954 END create_cust_account_role;
955
956 /**
957 * PROCEDURE update_cust_account_role
958 *
959 * DESCRIPTION
960 * Updates customer account role.
961 *
962 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
963 * HZ_BUSINESS_EVENT_V2PVT.update_cust_account_role_event
964 *
965 * ARGUMENTS
966 * IN:
967 * p_init_msg_list Initialize message stack if it is set to
968 * FND_API.G_TRUE. Default is FND_API.G_FALSE.
969 * p_cust_account_role_rec Customer account role record.
970 * IN/OUT:
971 * p_object_version_number Used for locking the being updated record.
972 * OUT:
973 * x_return_status Return status after the call. The status can
974 * be FND_API.G_RET_STS_SUCCESS (success),
975 * FND_API.G_RET_STS_ERROR (error),
976 * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
977 * x_msg_count Number of messages in message stack.
978 * x_msg_data Message text if x_msg_count is 1.
979 *
980 * NOTES
981 *
982 * MODIFICATION HISTORY
983 *
984 * 07-23-2001 Jianying Huang o Created.
985 *
986 */
987
988 PROCEDURE update_cust_account_role (
989 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
990 p_cust_account_role_rec IN CUST_ACCOUNT_ROLE_REC_TYPE,
991 p_object_version_number IN OUT NOCOPY NUMBER,
992 x_return_status OUT NOCOPY VARCHAR2,
993 x_msg_count OUT NOCOPY NUMBER,
994 x_msg_data OUT NOCOPY VARCHAR2
995 ) IS
996
997 l_cust_account_role_rec CUST_ACCOUNT_ROLE_REC_TYPE := p_cust_account_role_rec;
998 l_old_cust_account_role_rec CUST_ACCOUNT_ROLE_REC_TYPE;
999 l_debug_prefix VARCHAR2(30) := '';
1000
1001 BEGIN
1002
1003 -- Standard start of API savepoint
1004 SAVEPOINT update_cust_account_role;
1005
1006 -- Check if API is called in debug mode. If yes, enable debug.
1007 --enable_debug;
1008
1009 -- Debug info.
1010 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1011 hz_utility_v2pub.debug(p_message=>'update_cust_account_role (+)',
1012 p_prefix=>l_debug_prefix,
1013 p_msg_level=>fnd_log.level_procedure);
1014 END IF;
1015
1016 -- Initialize message list if p_init_msg_list is set to TRUE.
1017 IF FND_API.to_Boolean(p_init_msg_list) THEN
1018 FND_MSG_PUB.initialize;
1019 END IF;
1020
1021 -- Initialize API return status to success.
1022 x_return_status := FND_API.G_RET_STS_SUCCESS;
1023
1024 IF (p_cust_account_role_rec.orig_system is not null and p_cust_account_role_rec.orig_system <>fnd_api.g_miss_char)
1025 and (p_cust_account_role_rec.orig_system_reference is not null and p_cust_account_role_rec.orig_system_reference <>fnd_api.g_miss_char)
1026 and (p_cust_account_role_rec.cust_account_role_id = FND_API.G_MISS_NUM or p_cust_account_role_rec.cust_account_role_id is null) THEN
1027
1028 hz_orig_system_ref_pub.get_owner_table_id
1029 (p_orig_system => p_cust_account_role_rec.orig_system,
1030 p_orig_system_reference => p_cust_account_role_rec.orig_system_reference,
1031 p_owner_table_name => 'HZ_CUST_ACCOUNT_ROLES',
1032 x_owner_table_id => l_cust_account_role_rec.cust_account_role_id,
1033 x_return_status => x_return_status);
1034 IF x_return_status <> fnd_api.g_ret_sts_success THEN
1035 RAISE FND_API.G_EXC_ERROR;
1036 END IF;
1037
1038 END IF;
1039
1040 get_cust_account_role_rec (
1041 p_cust_account_role_id => l_cust_account_role_rec.cust_account_role_id,
1042 x_cust_account_role_rec => l_old_cust_account_role_rec,
1043 x_return_status => x_return_status,
1044 x_msg_count => x_msg_count,
1045 x_msg_data => x_msg_data);
1046
1047 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1048 RAISE FND_API.G_EXC_ERROR;
1049 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1050 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1051 END IF;
1052
1053 -- Call to business logic.
1054 do_update_cust_account_role (
1055 l_cust_account_role_rec,
1056 p_object_version_number,
1057 x_return_status );
1058
1059 IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
1060 -- Invoke business event system.
1061 l_old_cust_account_role_rec.orig_system := l_cust_account_role_rec.orig_system;
1062 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
1063 HZ_BUSINESS_EVENT_V2PVT.update_cust_account_role_event (
1064 l_cust_account_role_rec , l_old_cust_account_role_rec );
1065 END IF;
1066
1067 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('EVENTS_ENABLED', 'BO_EVENTS_ENABLED')) THEN
1068 HZ_POPULATE_BOT_PKG.pop_hz_cust_account_roles(
1069 p_operation => 'U',
1070 p_cust_account_role_id => l_cust_account_role_rec.cust_account_role_id);
1071 END IF;
1072 END IF;
1073
1074 -- Standard call to get message count and if count is 1, get message info.
1075 FND_MSG_PUB.Count_And_Get(
1076 p_encoded => FND_API.G_FALSE,
1077 p_count => x_msg_count,
1078 p_data => x_msg_data );
1079 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1080 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1081 p_msg_data=>x_msg_data,
1082 p_msg_type=>'WARNING',
1083 p_msg_level=>fnd_log.level_exception);
1084 END IF;
1085 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1086 hz_utility_v2pub.debug(p_message=>'update_cust_account_role (-)',
1087 p_prefix=>l_debug_prefix,
1088 p_msg_level=>fnd_log.level_procedure);
1089 END IF;
1090
1091 -- Check if API is called in debug mode. If yes, disable debug.
1092 --disable_debug;
1093
1094 EXCEPTION
1095 WHEN FND_API.G_EXC_ERROR THEN
1096 ROLLBACK TO update_cust_account_role;
1097 x_return_status := FND_API.G_RET_STS_ERROR;
1098
1099 FND_MSG_PUB.Count_And_Get(
1100 p_encoded => FND_API.G_FALSE,
1101 p_count => x_msg_count,
1102 p_data => x_msg_data );
1103
1104 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1105 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1106 p_msg_data=>x_msg_data,
1107 p_msg_type=>'ERROR',
1108 p_msg_level=>fnd_log.level_error);
1109 END IF;
1110 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1111 hz_utility_v2pub.debug(p_message=>'update_cust_account_role (-)',
1112 p_prefix=>l_debug_prefix,
1113 p_msg_level=>fnd_log.level_procedure);
1114 END IF;
1115
1116 -- Check if API is called in debug mode. If yes, disable debug.
1117 --disable_debug;
1118
1119 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1120 ROLLBACK TO update_cust_account_role;
1121 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1122
1123 FND_MSG_PUB.Count_And_Get(
1124 p_encoded => FND_API.G_FALSE,
1125 p_count => x_msg_count,
1126 p_data => x_msg_data );
1127 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1128 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1129 p_msg_data=>x_msg_data,
1130 p_msg_type=>'UNEXPECTED ERROR',
1131 p_msg_level=>fnd_log.level_error);
1132 END IF;
1133 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1134 hz_utility_v2pub.debug(p_message=>'update_cust_account_role (-)',
1135 p_prefix=>l_debug_prefix,
1136 p_msg_level=>fnd_log.level_procedure);
1137 END IF;
1138
1139 -- Check if API is called in debug mode. If yes, disable debug.
1140 --disable_debug;
1141
1142 WHEN OTHERS THEN
1143 ROLLBACK TO update_cust_account_role;
1144 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1145
1146 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
1147 FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
1148 FND_MSG_PUB.ADD;
1149
1150 FND_MSG_PUB.Count_And_Get(
1151 p_encoded => FND_API.G_FALSE,
1152 p_count => x_msg_count,
1153 p_data => x_msg_data );
1154
1155 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1156 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1157 p_msg_data=>x_msg_data,
1158 p_msg_type=>'SQL ERROR',
1159 p_msg_level=>fnd_log.level_error);
1160 END IF;
1161 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1162 hz_utility_v2pub.debug(p_message=>'update_cust_account_role (-)',
1163 p_prefix=>l_debug_prefix,
1164 p_msg_level=>fnd_log.level_procedure);
1165 END IF;
1166
1167 -- Check if API is called in debug mode. If yes, disable debug.
1168 --disable_debug;
1169
1170 END update_cust_account_role;
1171
1172 /**
1173 * PROCEDURE get_cust_account_role_rec
1174 *
1175 * DESCRIPTION
1176 * Gets customer account role record
1177 *
1178 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
1179 * HZ_CUST_ACCOUNT_ROLES_PKG.Select_Row
1180 *
1181 * ARGUMENTS
1182 * IN:
1183 * p_init_msg_list Initialize message stack if it is set to
1184 * FND_API.G_TRUE. Default is FND_API.G_FALSE.
1185 * p_cust_account_role_id Customer account role id.
1186 * IN/OUT:
1187 * OUT:
1188 * x_cust_account_role_rec Returned customer account role record.
1189 * x_return_status Return status after the call. The status can
1190 * be FND_API.G_RET_STS_SUCCESS (success),
1191 * FND_API.G_RET_STS_ERROR (error),
1192 * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1193 * x_msg_count Number of messages in message stack.
1194 * x_msg_data Message text if x_msg_count is 1.
1195 *
1196 * NOTES
1197 *
1198 * MODIFICATION HISTORY
1199 *
1200 * 07-23-2001 Jianying Huang o Created.
1201 *
1202 */
1203
1204 PROCEDURE get_cust_account_role_rec (
1205 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1206 p_cust_account_role_id IN NUMBER,
1207 x_cust_account_role_rec OUT NOCOPY CUST_ACCOUNT_ROLE_REC_TYPE,
1208 x_return_status OUT NOCOPY VARCHAR2,
1209 x_msg_count OUT NOCOPY NUMBER,
1210 x_msg_data OUT NOCOPY VARCHAR2
1211 ) IS
1212 l_debug_prefix VARCHAR2(30) := '';
1213 BEGIN
1214
1215 -- Check if API is called in debug mode. If yes, enable debug.
1216 --enable_debug;
1217
1218 -- Debug info.
1219 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1220 hz_utility_v2pub.debug(p_message=>'get_cust_account_role_rec (+)',
1221 p_prefix=>l_debug_prefix,
1222 p_msg_level=>fnd_log.level_procedure);
1223 END IF;
1224
1225
1226 -- Initialize message list if p_init_msg_list is set to TRUE.
1227 IF FND_API.to_Boolean(p_init_msg_list) THEN
1228 FND_MSG_PUB.initialize;
1229 END IF;
1230
1231 -- Initialize API return status to success.
1232 x_return_status := FND_API.G_RET_STS_SUCCESS;
1233
1234 -- Check whether primary key has been passed in.
1235 IF p_cust_account_role_id IS NULL OR
1236 p_cust_account_role_id = FND_API.G_MISS_NUM THEN
1237 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
1238 FND_MESSAGE.SET_TOKEN( 'COLUMN', 'cust_account_role_id' );
1239 FND_MSG_PUB.ADD;
1240 RAISE FND_API.G_EXC_ERROR;
1241 END IF;
1242
1243 x_cust_account_role_rec.cust_account_role_id := p_cust_account_role_id;
1244
1245 -- Debug info.
1246 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1247 hz_utility_v2pub.debug(p_message=>'HZ_CUST_ACCOUNT_ROLES_PKG.Select_Row (+)',
1248 p_prefix=>l_debug_prefix,
1249 p_msg_level=>fnd_log.level_procedure);
1250 END IF;
1251
1252
1253 -- Call table-handler.
1254 HZ_CUST_ACCOUNT_ROLES_PKG.Select_Row (
1255 X_CUST_ACCOUNT_ROLE_ID => x_cust_account_role_rec.cust_account_role_id,
1256 X_PARTY_ID => x_cust_account_role_rec.party_id,
1257 X_CUST_ACCOUNT_ID => x_cust_account_role_rec.cust_account_id,
1258 X_CUST_ACCT_SITE_ID => x_cust_account_role_rec.cust_acct_site_id,
1259 X_PRIMARY_FLAG => x_cust_account_role_rec.primary_flag,
1260 X_ROLE_TYPE => x_cust_account_role_rec.role_type,
1261 X_SOURCE_CODE => x_cust_account_role_rec.source_code,
1262 X_ATTRIBUTE_CATEGORY => x_cust_account_role_rec.attribute_category,
1263 X_ATTRIBUTE1 => x_cust_account_role_rec.attribute1,
1264 X_ATTRIBUTE2 => x_cust_account_role_rec.attribute2,
1265 X_ATTRIBUTE3 => x_cust_account_role_rec.attribute3,
1266 X_ATTRIBUTE4 => x_cust_account_role_rec.attribute4,
1267 X_ATTRIBUTE5 => x_cust_account_role_rec.attribute5,
1268 X_ATTRIBUTE6 => x_cust_account_role_rec.attribute6,
1269 X_ATTRIBUTE7 => x_cust_account_role_rec.attribute7,
1270 X_ATTRIBUTE8 => x_cust_account_role_rec.attribute8,
1271 X_ATTRIBUTE9 => x_cust_account_role_rec.attribute9,
1272 X_ATTRIBUTE10 => x_cust_account_role_rec.attribute10,
1273 X_ATTRIBUTE11 => x_cust_account_role_rec.attribute11,
1274 X_ATTRIBUTE12 => x_cust_account_role_rec.attribute12,
1275 X_ATTRIBUTE13 => x_cust_account_role_rec.attribute13,
1276 X_ATTRIBUTE14 => x_cust_account_role_rec.attribute14,
1277 X_ATTRIBUTE15 => x_cust_account_role_rec.attribute15,
1278 X_ATTRIBUTE16 => x_cust_account_role_rec.attribute16,
1279 X_ATTRIBUTE17 => x_cust_account_role_rec.attribute17,
1280 X_ATTRIBUTE18 => x_cust_account_role_rec.attribute18,
1281 X_ATTRIBUTE19 => x_cust_account_role_rec.attribute19,
1282 X_ATTRIBUTE20 => x_cust_account_role_rec.attribute20,
1283 X_ATTRIBUTE21 => x_cust_account_role_rec.attribute21,
1284 X_ATTRIBUTE22 => x_cust_account_role_rec.attribute22,
1285 X_ATTRIBUTE23 => x_cust_account_role_rec.attribute23,
1286 X_ATTRIBUTE24 => x_cust_account_role_rec.attribute24,
1287 X_ORIG_SYSTEM_REFERENCE => x_cust_account_role_rec.orig_system_reference,
1288 X_ATTRIBUTE25 => x_cust_account_role_rec.attribute25,
1289 X_STATUS => x_cust_account_role_rec.status,
1290 X_CREATED_BY_MODULE => x_cust_account_role_rec.created_by_module,
1291 X_APPLICATION_ID => x_cust_account_role_rec.application_id
1292 );
1293
1294 -- Debug info.
1295 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1296 hz_utility_v2pub.debug(p_message=>'HZ_CUST_ACCOUNT_ROLES_PKG.Select_Row (-)',
1297 p_prefix=>l_debug_prefix,
1298 p_msg_level=>fnd_log.level_procedure);
1299 END IF;
1300
1301
1302 -- Standard call to get message count and if count is 1, get message info.
1303 FND_MSG_PUB.Count_And_Get(
1304 p_encoded => FND_API.G_FALSE,
1305 p_count => x_msg_count,
1306 p_data => x_msg_data );
1307
1308 -- Debug info.
1309 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1310 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1311 p_msg_data=>x_msg_data,
1312 p_msg_type=>'WARNING',
1313 p_msg_level=>fnd_log.level_exception);
1314 END IF;
1315 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1316 hz_utility_v2pub.debug(p_message=>'get_cust_account_role_rec (-)',
1317 p_prefix=>l_debug_prefix,
1318 p_msg_level=>fnd_log.level_procedure);
1319 END IF;
1320
1321 -- Check if API is called in debug mode. If yes, disable debug.
1322 --disable_debug;
1323
1324 EXCEPTION
1325 WHEN FND_API.G_EXC_ERROR THEN
1326 x_return_status := FND_API.G_RET_STS_ERROR;
1327
1328 FND_MSG_PUB.Count_And_Get(
1329 p_encoded => FND_API.G_FALSE,
1330 p_count => x_msg_count,
1331 p_data => x_msg_data );
1332
1333 -- Debug info.
1334 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1335 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1336 p_msg_data=>x_msg_data,
1337 p_msg_type=>'ERROR',
1338 p_msg_level=>fnd_log.level_error);
1339 END IF;
1340 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1341 hz_utility_v2pub.debug(p_message=>'get_cust_account_role_rec (-)',
1342 p_prefix=>l_debug_prefix,
1343 p_msg_level=>fnd_log.level_procedure);
1344 END IF;
1345
1346 -- Check if API is called in debug mode. If yes, disable debug.
1347 --disable_debug;
1348
1349 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1350 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1351
1352 FND_MSG_PUB.Count_And_Get(
1353 p_encoded => FND_API.G_FALSE,
1354 p_count => x_msg_count,
1355 p_data => x_msg_data );
1356
1357 -- Debug info.
1358 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1359 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1360 p_msg_data=>x_msg_data,
1361 p_msg_type=>'UNEXPECTED ERROR',
1362 p_msg_level=>fnd_log.level_error);
1363 END IF;
1364 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1365 hz_utility_v2pub.debug(p_message=>'get_cust_account_role_rec (-)',
1366 p_prefix=>l_debug_prefix,
1367 p_msg_level=>fnd_log.level_procedure);
1368 END IF;
1369
1370 -- Check if API is called in debug mode. If yes, disable debug.
1371 --disable_debug;
1372
1373 WHEN OTHERS THEN
1374 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1375
1376 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
1377 FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
1378 FND_MSG_PUB.ADD;
1379
1380 FND_MSG_PUB.Count_And_Get(
1381 p_encoded => FND_API.G_FALSE,
1382 p_count => x_msg_count,
1383 p_data => x_msg_data );
1384
1385 -- Debug info.
1386 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1387 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1388 p_msg_data=>x_msg_data,
1389 p_msg_type=>'SQL ERROR',
1390 p_msg_level=>fnd_log.level_error);
1391 END IF;
1392 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1393 hz_utility_v2pub.debug(p_message=>'get_cust_account_role_rec (-)',
1394 p_prefix=>l_debug_prefix,
1395 p_msg_level=>fnd_log.level_procedure);
1396 END IF;
1397
1398 -- Check if API is called in debug mode. If yes, disable debug.
1399 --disable_debug;
1400
1401 END get_cust_account_role_rec;
1402
1403 /**
1404 * PROCEDURE create_role_responsibility
1405 *
1406 * DESCRIPTION
1407 * Creates customer account role responsibility.
1408 *
1409 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
1410 * HZ_BUSINESS_EVENT_V2PVT.create_role_resp_event
1411 *
1412 * ARGUMENTS
1413 * IN:
1414 * p_init_msg_list Initialize message stack if it is set to
1415 * FND_API.G_TRUE. Default is FND_API.G_FALSE.
1416 * p_role_responsibility_rec Customer account role responsibility record.
1417 * IN/OUT:
1418 * OUT:
1419 * x_responsibility_id Role responsibility ID.
1420 * x_return_status Return status after the call. The status can
1421 * be FND_API.G_RET_STS_SUCCESS (success),
1422 * FND_API.G_RET_STS_ERROR (error),
1423 * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1424 * x_msg_count Number of messages in message stack.
1425 * x_msg_data Message text if x_msg_count is 1.
1426 *
1427 * NOTES
1428 *
1429 * MODIFICATION HISTORY
1430 *
1431 * 07-23-2001 Jianying Huang o Created.
1432 *
1433 */
1434
1435 PROCEDURE create_role_responsibility (
1436 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1437 p_role_responsibility_rec IN ROLE_RESPONSIBILITY_REC_TYPE,
1438 x_responsibility_id OUT NOCOPY NUMBER,
1439 x_return_status OUT NOCOPY VARCHAR2,
1440 x_msg_count OUT NOCOPY NUMBER,
1441 x_msg_data OUT NOCOPY VARCHAR2
1442 ) IS
1443
1444 l_role_responsibility_rec ROLE_RESPONSIBILITY_REC_TYPE := p_role_responsibility_rec;
1445 l_debug_prefix VARCHAR2(30) := '';
1446 BEGIN
1447
1448 -- Standard start of API savepoint
1449 SAVEPOINT create_role_responsibility;
1450
1451 -- Check if API is called in debug mode. If yes, enable debug.
1452 --enable_debug;
1453
1454 -- Debug info.
1455 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1456 hz_utility_v2pub.debug(p_message=>'create_role_responsibility (+)',
1457 p_prefix=>l_debug_prefix,
1458 p_msg_level=>fnd_log.level_procedure);
1459 END IF;
1460
1461 -- Initialize message list if p_init_msg_list is set to TRUE.
1462 IF FND_API.to_Boolean(p_init_msg_list) THEN
1463 FND_MSG_PUB.initialize;
1464 END IF;
1465
1466 -- Initialize API return status to success.
1467 x_return_status := FND_API.G_RET_STS_SUCCESS;
1468
1469 -- Call to business logic.
1470 do_create_role_responsibility (
1471 l_role_responsibility_rec,
1472 x_responsibility_id,
1473 x_return_status );
1474
1475 IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
1476 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
1477 -- Invoke business event system.
1478 HZ_BUSINESS_EVENT_V2PVT.create_role_resp_event (
1479 l_role_responsibility_rec );
1480 END IF;
1481
1482 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('EVENTS_ENABLED', 'BO_EVENTS_ENABLED')) THEN
1483 HZ_POPULATE_BOT_PKG.pop_hz_role_responsibility(
1484 p_operation => 'I',
1485 p_responsibility_id => x_responsibility_id);
1486 END IF;
1487 END IF;
1488
1489 -- Standard call to get message count and if count is 1, get message info.
1490 FND_MSG_PUB.Count_And_Get(
1491 p_encoded => FND_API.G_FALSE,
1492 p_count => x_msg_count,
1493 p_data => x_msg_data );
1494
1495 -- Debug info.
1496 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1497 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1498 p_msg_data=>x_msg_data,
1499 p_msg_type=>'WARNING',
1500 p_msg_level=>fnd_log.level_exception);
1501 END IF;
1502 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1503 hz_utility_v2pub.debug(p_message=>'create_role_responsibility (-)',
1504 p_prefix=>l_debug_prefix,
1505 p_msg_level=>fnd_log.level_procedure);
1506 END IF;
1507
1508 -- Check if API is called in debug mode. If yes, disable debug.
1509 --disable_debug;
1510
1511 EXCEPTION
1512 WHEN FND_API.G_EXC_ERROR THEN
1513 ROLLBACK TO create_role_responsibility;
1514 x_return_status := FND_API.G_RET_STS_ERROR;
1515
1516 FND_MSG_PUB.Count_And_Get(
1517 p_encoded => FND_API.G_FALSE,
1518 p_count => x_msg_count,
1519 p_data => x_msg_data );
1520
1521 -- Debug info.
1522 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1523 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1524 p_msg_data=>x_msg_data,
1525 p_msg_type=>'ERROR',
1526 p_msg_level=>fnd_log.level_error);
1527 END IF;
1528 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1529 hz_utility_v2pub.debug(p_message=>'create_role_responsibility (-)',
1530 p_prefix=>l_debug_prefix,
1531 p_msg_level=>fnd_log.level_procedure);
1532 END IF;
1533
1534 -- Check if API is called in debug mode. If yes, disable debug.
1535 --disable_debug;
1536
1537 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1538 ROLLBACK TO create_role_responsibility;
1539 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1540
1541 FND_MSG_PUB.Count_And_Get(
1542 p_encoded => FND_API.G_FALSE,
1543 p_count => x_msg_count,
1544 p_data => x_msg_data );
1545
1546 -- Debug info.
1547 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1548 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1549 p_msg_data=>x_msg_data,
1550 p_msg_type=>'UNEXPECTED ERROR',
1551 p_msg_level=>fnd_log.level_error);
1552 END IF;
1553 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1554 hz_utility_v2pub.debug(p_message=>'create_role_responsibility (-)',
1555 p_prefix=>l_debug_prefix,
1556 p_msg_level=>fnd_log.level_procedure);
1557 END IF;
1558
1559 -- Check if API is called in debug mode. If yes, disable debug.
1560 --disable_debug;
1561
1562 WHEN OTHERS THEN
1563 ROLLBACK TO create_role_responsibility;
1564 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1565
1566 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
1567 FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
1568 FND_MSG_PUB.ADD;
1569
1570 FND_MSG_PUB.Count_And_Get(
1571 p_encoded => FND_API.G_FALSE,
1572 p_count => x_msg_count,
1573 p_data => x_msg_data );
1574
1575 -- Debug info.
1576 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1577 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1578 p_msg_data=>x_msg_data,
1579 p_msg_type=>'SQL ERROR',
1580 p_msg_level=>fnd_log.level_error);
1581 END IF;
1582 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1583 hz_utility_v2pub.debug(p_message=>'create_role_responsibility (-)',
1584 p_prefix=>l_debug_prefix,
1585 p_msg_level=>fnd_log.level_procedure);
1586 END IF;
1587
1588 -- Check if API is called in debug mode. If yes, disable debug.
1589 --disable_debug;
1590
1591 END create_role_responsibility;
1592
1593 /**
1594 * PROCEDURE update_role_responsibility
1595 *
1596 * DESCRIPTION
1597 * Updates customer account role responsibility.
1598 *
1599 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
1600 * HZ_BUSINESS_EVENT_V2PVT.update_role_resp_event
1601 *
1602 * ARGUMENTS
1603 * IN:
1604 * p_init_msg_list Initialize message stack if it is set to
1605 * FND_API.G_TRUE. Default is FND_API.G_FALSE.
1606 * p_role_responsibility_rec Customer account role responsibility record.
1607 * IN/OUT:
1608 * p_object_version_number Used for locking the being updated record.
1609 * OUT:
1610 * x_return_status Return status after the call. The status can
1611 * be FND_API.G_RET_STS_SUCCESS (success),
1612 * FND_API.G_RET_STS_ERROR (error),
1613 * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1614 * x_msg_count Number of messages in message stack.
1615 * x_msg_data Message text if x_msg_count is 1.
1616 *
1617 * NOTES
1618 *
1619 * MODIFICATION HISTORY
1620 *
1621 * 07-23-2001 Jianying Huang o Created.
1622 *
1623 */
1624
1625 PROCEDURE update_role_responsibility (
1626 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1627 p_role_responsibility_rec IN ROLE_RESPONSIBILITY_REC_TYPE,
1628 p_object_version_number IN OUT NOCOPY NUMBER,
1629 x_return_status OUT NOCOPY VARCHAR2,
1630 x_msg_count OUT NOCOPY NUMBER,
1631 x_msg_data OUT NOCOPY VARCHAR2
1632 ) IS
1633
1634 l_role_responsibility_rec ROLE_RESPONSIBILITY_REC_TYPE := p_role_responsibility_rec;
1635 l_old_role_responsibility_rec ROLE_RESPONSIBILITY_REC_TYPE;
1636 l_debug_prefix VARCHAR2(30) := '';
1637
1638 BEGIN
1639
1640 -- Standard start of API savepoint
1641 SAVEPOINT update_role_responsibility;
1642
1643 -- Check if API is called in debug mode. If yes, enable debug.
1644 --enable_debug;
1645
1646 -- Debug info.
1647 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1648 hz_utility_v2pub.debug(p_message=>'update_role_responsibility (+)',
1649 p_prefix=>l_debug_prefix,
1650 p_msg_level=>fnd_log.level_procedure);
1651 END IF;
1652
1653 -- Initialize message list if p_init_msg_list is set to TRUE.
1654 IF FND_API.to_Boolean(p_init_msg_list) THEN
1655 FND_MSG_PUB.initialize;
1656 END IF;
1657
1658 -- Initialize API return status to success.
1659 x_return_status := FND_API.G_RET_STS_SUCCESS;
1660
1661 --2290537
1662 get_role_responsibility_rec (
1663 p_responsibility_id => p_role_responsibility_rec.responsibility_id,
1664 x_role_responsibility_rec => l_old_role_responsibility_rec,
1665 x_return_status => x_return_status,
1666 x_msg_count => x_msg_count,
1667 x_msg_data => x_msg_data);
1668
1669 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1670 RAISE FND_API.G_EXC_ERROR;
1671 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1672 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1673 END IF;
1674
1675 -- Call to business logic.
1676 do_update_role_responsibility (
1677 l_role_responsibility_rec,
1678 p_object_version_number,
1679 x_return_status );
1680
1681 IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
1682 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
1683 -- Invoke business event system.
1684 HZ_BUSINESS_EVENT_V2PVT.update_role_resp_event (
1685 l_role_responsibility_rec , l_old_role_responsibility_rec);
1686 END IF;
1687
1688 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('EVENTS_ENABLED', 'BO_EVENTS_ENABLED')) THEN
1689 HZ_POPULATE_BOT_PKG.pop_hz_role_responsibility(
1690 p_operation => 'U',
1691 p_responsibility_id => l_role_responsibility_rec.responsibility_id);
1692 END IF;
1693 END IF;
1694
1695 -- Standard call to get message count and if count is 1, get message info.
1696 FND_MSG_PUB.Count_And_Get(
1697 p_encoded => FND_API.G_FALSE,
1698 p_count => x_msg_count,
1699 p_data => x_msg_data );
1700
1701 -- Debug info.
1702 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1703 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1704 p_msg_data=>x_msg_data,
1705 p_msg_type=>'WARNING',
1706 p_msg_level=>fnd_log.level_exception);
1707 END IF;
1708 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1709 hz_utility_v2pub.debug(p_message=>'update_role_responsibility (-)',
1710 p_prefix=>l_debug_prefix,
1711 p_msg_level=>fnd_log.level_procedure);
1712 END IF;
1713
1714 -- Check if API is called in debug mode. If yes, disable debug.
1715 --disable_debug;
1716
1717 EXCEPTION
1718 WHEN FND_API.G_EXC_ERROR THEN
1719 ROLLBACK TO update_role_responsibility;
1720 x_return_status := FND_API.G_RET_STS_ERROR;
1721
1722 FND_MSG_PUB.Count_And_Get(
1723 p_encoded => FND_API.G_FALSE,
1724 p_count => x_msg_count,
1725 p_data => x_msg_data );
1726
1727 -- Debug info.
1728 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1729 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1730 p_msg_data=>x_msg_data,
1731 p_msg_type=>'ERROR',
1732 p_msg_level=>fnd_log.level_error);
1733 END IF;
1734 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1735 hz_utility_v2pub.debug(p_message=>'update_role_responsibility (-)',
1736 p_prefix=>l_debug_prefix,
1737 p_msg_level=>fnd_log.level_procedure);
1738 END IF;
1739
1740 -- Check if API is called in debug mode. If yes, disable debug.
1741 --disable_debug;
1742
1743 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1744 ROLLBACK TO update_role_responsibility;
1745 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1746
1747 FND_MSG_PUB.Count_And_Get(
1748 p_encoded => FND_API.G_FALSE,
1749 p_count => x_msg_count,
1750 p_data => x_msg_data );
1751
1752 -- Debug info.
1753 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1754 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1755 p_msg_data=>x_msg_data,
1756 p_msg_type=>'UNEXPECTED ERROR',
1757 p_msg_level=>fnd_log.level_error);
1758 END IF;
1759 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1760 hz_utility_v2pub.debug(p_message=>'update_role_responsibility (-)',
1761 p_prefix=>l_debug_prefix,
1762 p_msg_level=>fnd_log.level_procedure);
1763 END IF;
1764
1765 -- Check if API is called in debug mode. If yes, disable debug.
1766 --disable_debug;
1767
1768 WHEN OTHERS THEN
1769 ROLLBACK TO update_role_responsibility;
1770 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1771
1772 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
1773 FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
1774 FND_MSG_PUB.ADD;
1775
1776 FND_MSG_PUB.Count_And_Get(
1777 p_encoded => FND_API.G_FALSE,
1778 p_count => x_msg_count,
1779 p_data => x_msg_data );
1780
1781 -- Debug info.
1782 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1783 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1784 p_msg_data=>x_msg_data,
1785 p_msg_type=>'SQL ERROR',
1786 p_msg_level=>fnd_log.level_error);
1787 END IF;
1788 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1789 hz_utility_v2pub.debug(p_message=>'update_role_responsibility (-)',
1790 p_prefix=>l_debug_prefix,
1791 p_msg_level=>fnd_log.level_procedure);
1792 END IF;
1793
1794 -- Check if API is called in debug mode. If yes, disable debug.
1795 --disable_debug;
1796
1797 END update_role_responsibility;
1798
1799 /**
1800 * PROCEDURE get_role_responsibility_rec
1801 *
1802 * DESCRIPTION
1803 * Gets customer account role responsibility record
1804 *
1805 * EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
1806 * HZ_ROLE_RESPONSIBILITY_PKG.Select_Row
1807 *
1808 * ARGUMENTS
1809 * IN:
1810 * p_init_msg_list Initialize message stack if it is set to
1811 * FND_API.G_TRUE. Default is FND_API.G_FALSE.
1812 * p_responsibility_id Role responsibility ID.
1813 * IN/OUT:
1814 * OUT:
1815 * x_role_responsibility_rec Returned customer account role responsibility record.
1816 * x_return_status Return status after the call. The status can
1817 * be FND_API.G_RET_STS_SUCCESS (success),
1818 * FND_API.G_RET_STS_ERROR (error),
1819 * FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1820 * x_msg_count Number of messages in message stack.
1821 * x_msg_data Message text if x_msg_count is 1.
1822 *
1823 * NOTES
1824 *
1825 * MODIFICATION HISTORY
1826 *
1827 * 07-23-2001 Jianying Huang o Created.
1828 *
1829 */
1830
1831 PROCEDURE get_role_responsibility_rec (
1832 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1833 p_responsibility_id IN NUMBER,
1834 x_role_responsibility_rec OUT NOCOPY ROLE_RESPONSIBILITY_REC_TYPE,
1835 x_return_status OUT NOCOPY VARCHAR2,
1836 x_msg_count OUT NOCOPY NUMBER,
1837 x_msg_data OUT NOCOPY VARCHAR2
1838 ) IS
1839 l_debug_prefix VARCHAR2(30) := '';
1840 BEGIN
1841
1842 -- Check if API is called in debug mode. If yes, enable debug.
1843 --enable_debug;
1844
1845 -- Debug info.
1846 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1847 hz_utility_v2pub.debug(p_message=>'get_role_responsibility_rec (+)',
1848 p_prefix=>l_debug_prefix,
1849 p_msg_level=>fnd_log.level_procedure);
1850 END IF;
1851
1852 -- Initialize message list if p_init_msg_list is set to TRUE.
1853 IF FND_API.to_Boolean(p_init_msg_list) THEN
1854 FND_MSG_PUB.initialize;
1855 END IF;
1856
1857 -- Initialize API return status to success.
1858 x_return_status := FND_API.G_RET_STS_SUCCESS;
1859
1860 -- Check whether primary key has been passed in.
1861 IF p_responsibility_id IS NULL OR
1862 p_responsibility_id = FND_API.G_MISS_NUM THEN
1863 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
1864 FND_MESSAGE.SET_TOKEN( 'COLUMN', 'responsibility_id' );
1865 FND_MSG_PUB.ADD;
1866 RAISE FND_API.G_EXC_ERROR;
1867 END IF;
1868
1869 x_role_responsibility_rec.responsibility_id := p_responsibility_id;
1870
1871 -- Debug info.
1872 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1873 hz_utility_v2pub.debug(p_message=>'HZ_ROLE_RESPONSIBILITY_PKG.Select_Row (+)',
1874 p_prefix=>l_debug_prefix,
1875 p_msg_level=>fnd_log.level_procedure);
1876 END IF;
1877
1878 -- Call table-handler.
1879 HZ_ROLE_RESPONSIBILITY_PKG.Select_Row (
1880 X_RESPONSIBILITY_ID => x_role_responsibility_rec.responsibility_id,
1881 X_CUST_ACCOUNT_ROLE_ID => x_role_responsibility_rec.cust_account_role_id,
1882 X_RESPONSIBILITY_TYPE => x_role_responsibility_rec.responsibility_type,
1883 X_PRIMARY_FLAG => x_role_responsibility_rec.primary_flag,
1884 X_ATTRIBUTE_CATEGORY => x_role_responsibility_rec.attribute_category,
1885 X_ATTRIBUTE1 => x_role_responsibility_rec.attribute1,
1886 X_ATTRIBUTE2 => x_role_responsibility_rec.attribute2,
1887 X_ATTRIBUTE3 => x_role_responsibility_rec.attribute3,
1888 X_ATTRIBUTE4 => x_role_responsibility_rec.attribute4,
1889 X_ATTRIBUTE5 => x_role_responsibility_rec.attribute5,
1890 X_ATTRIBUTE6 => x_role_responsibility_rec.attribute6,
1891 X_ATTRIBUTE7 => x_role_responsibility_rec.attribute7,
1892 X_ATTRIBUTE8 => x_role_responsibility_rec.attribute8,
1893 X_ATTRIBUTE9 => x_role_responsibility_rec.attribute9,
1894 X_ATTRIBUTE10 => x_role_responsibility_rec.attribute10,
1895 X_ATTRIBUTE11 => x_role_responsibility_rec.attribute11,
1896 X_ATTRIBUTE12 => x_role_responsibility_rec.attribute12,
1897 X_ATTRIBUTE13 => x_role_responsibility_rec.attribute13,
1898 X_ATTRIBUTE14 => x_role_responsibility_rec.attribute14,
1899 X_ATTRIBUTE15 => x_role_responsibility_rec.attribute15,
1900 X_ORIG_SYSTEM_REFERENCE => x_role_responsibility_rec.orig_system_reference,
1901 X_CREATED_BY_MODULE => x_role_responsibility_rec.created_by_module,
1902 X_APPLICATION_ID => x_role_responsibility_rec.application_id
1903 );
1904
1905 -- Debug info.
1906 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1907 hz_utility_v2pub.debug(p_message=>'HZ_ROLE_RESPONSIBILITY_PKG.Select_Row (-)',
1908 p_prefix=>l_debug_prefix,
1909 p_msg_level=>fnd_log.level_procedure);
1910 END IF;
1911
1912 -- Standard call to get message count and if count is 1, get message info.
1913 FND_MSG_PUB.Count_And_Get(
1914 p_encoded => FND_API.G_FALSE,
1915 p_count => x_msg_count,
1916 p_data => x_msg_data );
1917
1918 -- Debug info.
1919 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1920 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1921 p_msg_data=>x_msg_data,
1922 p_msg_type=>'WARNING',
1923 p_msg_level=>fnd_log.level_exception);
1924 END IF;
1925 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1926 hz_utility_v2pub.debug(p_message=>'get_role_responsibility_rec (-)',
1927 p_prefix=>l_debug_prefix,
1928 p_msg_level=>fnd_log.level_procedure);
1929 END IF;
1930
1931 -- Check if API is called in debug mode. If yes, disable debug.
1932 --disable_debug;
1933
1934 EXCEPTION
1935 WHEN FND_API.G_EXC_ERROR THEN
1936 x_return_status := FND_API.G_RET_STS_ERROR;
1937
1938 FND_MSG_PUB.Count_And_Get(
1939 p_encoded => FND_API.G_FALSE,
1940 p_count => x_msg_count,
1941 p_data => x_msg_data );
1942
1943 -- Debug info.
1944 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1945 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1946 p_msg_data=>x_msg_data,
1947 p_msg_type=>'ERROR',
1948 p_msg_level=>fnd_log.level_error);
1949 END IF;
1950 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1951 hz_utility_v2pub.debug(p_message=>'get_role_responsibility_rec (-)',
1952 p_prefix=>l_debug_prefix,
1953 p_msg_level=>fnd_log.level_procedure);
1954 END IF;
1955
1956 -- Check if API is called in debug mode. If yes, disable debug.
1957 --disable_debug;
1958
1959 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1960 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1961
1962 FND_MSG_PUB.Count_And_Get(
1963 p_encoded => FND_API.G_FALSE,
1964 p_count => x_msg_count,
1965 p_data => x_msg_data );
1966
1967 -- Debug info.
1968 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1969 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1970 p_msg_data=>x_msg_data,
1971 p_msg_type=>'UNEXPECTED ERROR',
1972 p_msg_level=>fnd_log.level_error);
1973 END IF;
1974 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1975 hz_utility_v2pub.debug(p_message=>'get_role_responsibility_rec (-)',
1976 p_prefix=>l_debug_prefix,
1977 p_msg_level=>fnd_log.level_procedure);
1978 END IF;
1979
1980 -- Check if API is called in debug mode. If yes, disable debug.
1981 --disable_debug;
1982
1983 WHEN OTHERS THEN
1984 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1985
1986 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
1987 FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
1988 FND_MSG_PUB.ADD;
1989
1990 FND_MSG_PUB.Count_And_Get(
1991 p_encoded => FND_API.G_FALSE,
1992 p_count => x_msg_count,
1993 p_data => x_msg_data );
1994
1995 -- Debug info.
1996 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1997 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1998 p_msg_data=>x_msg_data,
1999 p_msg_type=>'SQL ERROR',
2000 p_msg_level=>fnd_log.level_error);
2001 END IF;
2002 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2003 hz_utility_v2pub.debug(p_message=>'get_role_responsibility_rec (-)',
2004 p_prefix=>l_debug_prefix,
2005 p_msg_level=>fnd_log.level_procedure);
2006 END IF;
2007
2008 -- Check if API is called in debug mode. If yes, disable debug.
2009 --disable_debug;
2010
2011 END get_role_responsibility_rec;
2012
2013 END HZ_CUST_ACCOUNT_ROLE_V2PUB;