[Home] [Help]
PACKAGE BODY: APPS.CS_SR_EXTATTRIBUTES_PVT
Source
1 PACKAGE BODY CS_SR_EXTATTRIBUTES_PVT AS
2 /* $Header: csvextb.pls 120.39 2007/12/20 12:48:39 nveerara ship $ */
3
4 -- =============================================================================
5 -- Package variables and cursors
6 -- =============================================================================
7
8 G_FILE_NAME CONSTANT VARCHAR2(12) := 'CSVEXTB.pls';
9 G_PKG_NAME CONSTANT VARCHAR2(30) := 'CS_SR_EXTATTRIBUTES_PVT';
10 G_APP_NAME CONSTANT VARCHAR2(3) := 'CS';
11 G_PKG_NAME_TOKEN CONSTANT VARCHAR2(8) := 'PKG_NAME';
12 G_API_NAME_TOKEN CONSTANT VARCHAR2(8) := 'API_NAME';
13 G_PROC_NAME_TOKEN CONSTANT VARCHAR2(9) := 'PROC_NAME';
14 G_SQL_ERR_MSG_TOKEN CONSTANT VARCHAR2(11) := 'SQL_ERR_MSG';
15
16
17 G_USER_ID NUMBER := FND_GLOBAL.User_Id;
18 G_LOGIN_ID NUMBER := FND_GLOBAL.Conc_Login_Id;
19
20
21 G_TRUE CONSTANT VARCHAR2(1) := 'T'; -- FND_API.G_TRUE;
22 G_FALSE CONSTANT VARCHAR2(1) := 'F'; -- FND_API.G_FALSE;
23
24 --===========================================================
25 -- Declaration of Private Procedures and functions
26 --===========================================================
27 PROCEDURE delete_old_context
28 ( p_pk_column_1 IN NUMBER
29 , p_context IN NUMBER
30 , x_failed_row_id_list OUT NOCOPY VARCHAR2
31 , x_return_status OUT NOCOPY VARCHAR2
32 , x_errorcode OUT NOCOPY NUMBER
33 , x_msg_count OUT NOCOPY NUMBER
34 , x_msg_data OUT NOCOPY VARCHAR2
35 );
36
37 PROCEDURE Get_Attr_Group_Metadata (
38 p_attr_group_id IN NUMBER
39 ,x_application_id OUT NOCOPY NUMBER
40 ,x_attr_group_type OUT NOCOPY VARCHAR2
41 ,x_attr_group_name OUT NOCOPY VARCHAR2
42 );
43
44
45 PROCEDURE Get_Attr_Metadata (
46 p_row_identifier IN NUMBER
47 ,p_application_id IN NUMBER
48 ,p_attr_group_type IN VARCHAR2
49 ,p_attr_group_name IN VARCHAR2
50 ,p_ext_attr_tbl IN OUT NOCOPY CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE
51 );
52
53 FUNCTION IS_ROW_VALID(
54 p_incident_id IN NUMBER
55 ,p_context IN NUMBER
56 ,p_attr_group_id IN NUMBER
57 ,x_msg_data OUT NOCOPY VARCHAR2
58 ,x_msg_count OUT NOCOPY NUMBER
59 ,x_return_status OUT NOCOPY VARCHAR2)
60 RETURN VARCHAR2;
61
62 FUNCTION IS_ATTR_GROUP_MULTI_ROW(
63 p_attr_group_id IN NUMBER
64 ,x_msg_data OUT NOCOPY VARCHAR2
65 ,x_msg_count OUT NOCOPY NUMBER
66 ,x_return_status OUT NOCOPY VARCHAR2)
67 RETURN VARCHAR2;
68
69 PROCEDURE GET_MULTI_ROW_UNIQUE_KEY(p_attr_group_name IN VARCHAR2
70 ,p_attr_group_type IN VARCHAR2
71 ,p_application_id IN NUMBER
72 ,x_attr_name OUT NOCOPY VARCHAR2
73 ,x_database_column OUT NOCOPY VARCHAR2);
74
75
76 PROCEDURE populate_sr_ext_attr_audit_rec(
77 p_incident_id IN NUMBER
78 ,p_context IN NUMBER
79 ,p_attr_group_id IN NUMBER
80 ,p_row_id IN NUMBER
81 ,p_ext_attr_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE
82 ,p_sr_audit_rec_table IN OUT NOCOPY Ext_Attr_Audit_Tbl_Type
83 ,x_rec_found OUT NOCOPY VARCHAR2
84 );
85
86 PROCEDURE populate_pr_ext_attr_audit_rec(
87 p_incident_id IN NUMBER
88 ,p_party_id IN NUMBER
89 ,p_contact_type IN VARCHAR2
90 ,p_party_role_code IN VARCHAR2
91 ,p_context IN VARCHAR2
92 ,p_attr_group_id IN NUMBER
93 ,p_row_id IN NUMBER
94 ,p_ext_attr_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE
95 ,p_sr_audit_rec_table IN OUT NOCOPY Ext_Attr_Audit_Tbl_Type
96 ,x_rec_found OUT NOCOPY VARCHAR2
97 );
98
99
100 PROCEDURE check_sr_context_change(
101 p_incident_id IN NUMBER
102 ,p_context IN NUMBER
103 ,x_context_changed OUT NOCOPY VARCHAR2
104 ,x_db_incident_id OUT NOCOPY NUMBER
105 ,x_db_context OUT NOCOPY NUMBER
106
107 );
108
109 PROCEDURE INIT_AUDIT_REC(p_count NUMBER,
110 p_audit_rec IN OUT NOCOPY Ext_Attr_Audit_Tbl_Type);
111
112 PROCEDURE Log_EXT_PVT_Parameters (
113 p_ext_attr_grp_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_GRP_TBL_TYPE
114 ,p_ext_attr_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE );
115
116 -- -----------------------------------------------------------------------------
117 -- Procedure Name : Log_EGO_EXT_Parameters
118 -- Parameters :
119 -- IN :
120 -- OUT :
121 --
122 -- Description : Procedure to LOG the in parameters of PVT SR Ext Attrs procedures
123 --
124 --
125 -- Modification History:
126 -- Date Name Desc
127 -- -------- -------- -----------------------------------------------------------
128 -- 11/08/05 mviswana Created
129 -- -----------------------------------------------------------------------------
130 PROCEDURE Log_EGO_Ext_PVT_Parameters(
131 p_ext_attr_grp_tbl IN EGO_USER_ATTR_ROW_TABLE
132 ,p_ext_attr_tbl IN EGO_USER_ATTR_DATA_TABLE) ;
133
134
135 -- =============================================================================
136 -- Private Functions
137 -- ============================================================================
138 FUNCTION IS_ROW_VALID(p_incident_id IN NUMBER
139 ,p_context IN NUMBER
140 ,p_attr_group_id IN NUMBER
141 ,x_msg_data OUT NOCOPY VARCHAR2
142 ,x_msg_count OUT NOCOPY NUMBER
143 ,x_return_status OUT NOCOPY VARCHAR2)
144 RETURN VARCHAR2
145 IS
146
147 --Cursor to check if extension row really exists
148
149 Cursor c_check_ext_row IS
150
151 SELECT count(*)
152 FROM cs_incidents_ext
153 WHERE incident_id = p_incident_id
154 AND context = p_context
155 AND attr_group_id = p_attr_group_id;
156
157 l_exists_flag VARCHAR2(1) := 'N';
158 l_count NUMBER := 0;
159
160
161 BEGIN
162
163 x_return_status := FND_API.G_RET_STS_SUCCESS;
164
165 OPEN c_check_ext_row;
166 FETCH c_check_ext_row into l_count;
167 CLOSE c_check_ext_row;
168
169 IF l_count > 0 THEN
170 l_exists_flag := 'Y';
171 ELSE
172 l_exists_flag := 'N';
173 END IF;
174
175 RETURN l_exists_flag;
176
177 EXCEPTION
178
179 WHEN OTHERS THEN
180
181
182 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
183 RETURN l_exists_flag;
184
185 END IS_ROW_VALID;
186
187
188
189 -- =============================================================================
190 -- Private Functions
191 -- ============================================================================
192 FUNCTION IS_ATTR_GROUP_MULTI_ROW(
193 p_attr_group_id IN NUMBER
194 ,x_msg_data OUT NOCOPY VARCHAR2
195 ,x_msg_count OUT NOCOPY NUMBER
196 ,x_return_status OUT NOCOPY VARCHAR2)
197 RETURN VARCHAR2
198 IS
199
200 --Cursor to check if attr group is multi row enabled
201 Cursor c_is_multi_row IS
202 select multi_row_code
203 from ego_attr_groups_v
204 where attr_group_id = p_attr_group_id;
205
206 l_multi_row_code VARCHAR2(1) := 'N';
207
208
209 BEGIN
210
211 x_return_status := FND_API.G_RET_STS_SUCCESS;
212
213 OPEN c_is_multi_row;
214 FETCH c_is_multi_row INTO l_multi_row_code;
215 CLOSE c_is_multi_row;
216
217
218 RETURN l_multi_row_code;
219
220 EXCEPTION
221
222 WHEN OTHERS THEN
223 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
224 RETURN l_multi_row_code;
225
226 END IS_ATTR_GROUP_MULTI_ROW;
227
228 -- =============================================================================
229 -- Private Procedures
230 -- =============================================================================
231
232
233 -- -----------------------------------------------------------------------------
234 -- API Name: Process_SR_Ext_Attrs
235 --
236 -- Description:
237 -- Process passed-in User-Defined Attrs data for
238 -- the Service Request whose Primary Keys are passed in
239 -- Modification History
240 -- Date Name Description
241 ---------- -------- ------------------------------------------------------------
242 -- 09/23/05 smisra Passed g_false for p_coomit
243 -- used x_return_status instead of l_return_status after
244 -- EGO_USER_ATTRS_DATA_PUB.Process_User_Attrs_Data call because
245 -- this procedure returns the status into x_return_status
246 -- variable
247 -- Added commit at the end of the procedure.
248 -- 09/23/05 smisra called delete_old_context when context is changed before
249 -- inserting data for new context.
250 -- Put existing code to delete old context under comment. That
251 -- code can be review later by owner of the file.
252 -- 05/19/06 klou Fix bug 5230846 - when an invalid object name is passsed,
253 -- we should return an error.
254 -- Fix bug 4230846 - errors in DELETE operation.
255 -- -----------------------------------------------------------------------------
256
257 PROCEDURE Process_SR_Ext_Attrs(
258 p_api_version IN NUMBER
259 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
260 ,p_commit IN VARCHAR2 := FND_API.G_FALSE
261 ,p_incident_id IN NUMBER
262 ,p_ext_attr_grp_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_GRP_TBL_TYPE
263 ,p_ext_attr_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE
264 ,p_modified_by IN NUMBER := FND_GLOBAL.USER_ID
265 ,p_modified_on IN DATE := SYSDATE
266 ,x_failed_row_id_list OUT NOCOPY VARCHAR2
267 ,x_return_status OUT NOCOPY VARCHAR2
268 ,x_errorcode OUT NOCOPY NUMBER
269 ,x_msg_count OUT NOCOPY NUMBER
270 ,x_msg_data OUT NOCOPY VARCHAR2
271 )IS
272
273 l_user_attr_data_table EGO_USER_ATTR_DATA_TABLE;
274 l_user_attr_row_table EGO_USER_ATTR_ROW_TABLE;
275 l_pk_name_value_pair EGO_COL_NAME_VALUE_PAIR_ARRAY;
276 l_class_code_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY;
277 l_user_privileges_on_object EGO_VARCHAR_TBL_TYPE;
278 l_failed_row_id_list VARCHAR2(4000);
279 l_return_status VARCHAR2(1);
280 l_errorcode NUMBER;
281 l_msg_count NUMBER;
282 l_msg_data VARCHAR2(4000);
283 l_ext_attr_tbl CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE;
284 l_application_id NUMBER;
285 l_attr_group_type VARCHAR2(30);
286 l_attr_group_name VARCHAR2(30);
287 l_old_context VARCHAR2(1000);
288 l_pk_index NUMBER := 1;
289 l_incident_id VARCHAR2(30);
290
291 l_count NUMBER;
292 l_valid_check VARCHAR2(1);
293
294 l_old_Ext_Attr_Audit_table Ext_Attr_Audit_Tbl_Type;
295 l_new_Ext_Attr_Audit_table Ext_Attr_Audit_Tbl_Type;
296 l_new_audit_count NUMBER;
297 l_old_audit_count NUMBER;
298 l_rec_found VARCHAR2(1);
299 l_cont_chg_on_update VARCHAR2(1);
300 l_db_incident_id NUMBER;
301 l_db_sr_context NUMBER;
302 l_db_attr_group NUMBER;
303
304 l_pk_col_1 NUMBER;
305 l_pk_col_2 NUMBER;
306 l_pk_col_3 VARCHAR2(30);
307 l_pk_col_4 VARCHAR2(30);
308 l_context NUMBER;
309 l_attr_group_id NUMBER;
310 l_composite_key VARCHAR2(2000);
311
312 l_api_version constant number := 1.0;
313 l_api_name constant varchar2(30) := 'Process_SR_Ext_Attrs';
314 l_api_name_full constant varchar2(61) := g_pkg_name || '.' || l_api_name;
315 l_log_module constant varchar2(255) := 'cs.plsql.' || l_api_name_full || '.';
316
317
318 CURSOR c_check_sr_pk_col_1(p_pk_col_1 IN NUMBER)IS
319 SELECT incident_id
320 ,incident_type_id
321 FROM cs_incidents_all_b
322 WHERE incident_id = p_pk_col_1;
323
324 CURSOR c_check_pr_pk_cols( p_pk_col_1 IN NUMBER
325 ,p_pk_col_2 IN NUMBER
326 ,p_pk_col_3 IN VARCHAR2
327 ,p_pk_col_4 IN VARCHAR2) IS
328 SELECT incident_id
329 ,party_id
330 ,contact_type
331 ,party_role_code
332 FROM cs_hz_sr_contact_points
333 WHERE incident_id = p_pk_col_1
334 AND party_id = p_pk_col_2
335 AND contact_type = p_pk_col_3
336 AND party_role_code = p_pk_col_4;
337
338
339 Cursor c_get_attr_grp_id (p_attr_group_app_id IN NUMBER
340 ,p_attr_group_type IN VARCHAR2
341 ,p_attr_group_name IN VARCHAR2)IS
342
343 SELECT attr_group_id
344 FROM ego_attr_groups_v
345 WHERE application_id = p_attr_group_app_id
346 AND attr_group_type = p_attr_group_type
347 AND attr_group_name = p_attr_group_name;
348
349
350 Cursor c_get_old_context_value(p_incident_id IN NUMBER
351 ,p_context IN NUMBER) IS
352
353 select incident_id, context, attr_group_id
354 from cs_incidents_ext
355 where incident_id = p_incident_id
356 and context = p_context;
357
358
359 BEGIN
360
361 --Standard start of API savepoint
362 SAVEPOINT CS_EXTENSIBILITY_PVT;
363
364 -- Standard call to check for call compatibility.
365 IF NOT FND_API.Compatible_API_Call (l_api_version,
366 p_api_version,
367 l_api_name,
368 G_PKG_NAME) THEN
369 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
370 END IF;
371
372 -- Initialize message list if p_init_msg_list is set to TRUE.
373 IF FND_API.to_Boolean(p_init_msg_list) THEN
374 FND_MSG_PUB.initialize;
375 END IF;
376
377 -- Initialize API return status to SUCCESS
378 x_return_status := FND_API.G_RET_STS_SUCCESS;
379
380 --DBMS_OUTPUT.PUT_LINE('In Process_User_Ext_Attrs');
381 --DBMS_OUTPUT.PUT_LINE('p_ext_attr_grp_tbl.COUNT'||p_ext_attr_grp_tbl.COUNT);
382
383 ---------------------- FND Logging -----------------------------------
384 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
385 THEN
386 FND_LOG.String
387 ( FND_LOG.level_procedure , L_LOG_MODULE || 'start'
388 , 'Inside ' || L_API_NAME_FULL || ', called with parameters below:'
389 );
390 FND_LOG.String
391 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
392 , 'p_api_version:' || p_api_version
393 );
394 FND_LOG.String
395 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
396 , 'p_init_msg_list:' || p_init_msg_list
397 );
398 FND_LOG.String
399 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
400 , 'p_commit:' || p_commit
401 );
402
403
404 -- --------------------------------------------------------------------------
405 -- This procedure Logs the extensible attributes table.
406 -- --------------------------------------------------------------------------
407 Log_EXT_PVT_Parameters
408 ( p_ext_attr_grp_tbl => p_ext_attr_grp_tbl
409 ,p_ext_attr_tbl => p_ext_attr_tbl
410 );
411
412 END IF;
413
414
415 --Assign the record count in the attribute group table to l_count
416 l_count := p_ext_attr_grp_tbl.COUNT;
417
418
419 IF p_ext_attr_grp_tbl.COUNT > 0 THEN
420
421 --DBMS_OUTPUT.PUT_LINE('first Row: '||p_ext_attr_grp_tbl.first);
422 --DBMS_OUTPUT.PUT_LINE('Last Row: '||p_ext_attr_grp_tbl.last);
423
424 FOR i IN p_ext_attr_grp_tbl.FIRST..p_ext_attr_grp_tbl.LAST LOOP
425
426 IF p_ext_attr_grp_tbl(i).object_name = 'CS_SERVICE_REQUEST' THEN
427
428 --DBMS_OUTPUT.PUT_LINE('object_name is CS_SERVICE_REQUEST');
429 --DBMS_OUTPUT.PUT_LINE('l_context'||p_ext_attr_grp_tbl(i).context);
430 --DBMS_OUTPUT.PUT_LINE('l_old_context'||l_old_context);
431 --DBMS_OUTPUT.PUT_LINE('Loop index: '||i);
432 --DBMS_OUTPUT.PUT_LINE('Row: '||p_ext_attr_grp_tbl(i).row_identifier);
433
434 IF p_ext_attr_grp_tbl(i).context <> l_old_context AND
435 l_old_context IS NOT NULL THEN
436
437 -- Added FND_LOG
438 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
439 FND_LOG.String
440 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
441 , 'Transaction has two contexts. First Context :'
442 || l_old_context
443 );
444 END IF;
445
446 --DBMS_OUTPUT.PUT_LINE('In here');
447
448 IF l_cont_chg_on_update = 'Y'
449 THEN
450
451 -- Added FND_LOG
452 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
453 FND_LOG.String
454 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
455 , 'The context for the Service Request has Changed :'
456 || l_cont_chg_on_update
457 );
458 END IF;
459
460 delete_old_context
461 ( p_pk_column_1 => l_db_incident_id
462 , p_context => l_db_sr_context
463 , x_failed_row_id_list => x_failed_row_id_list
464 , x_return_status => x_return_status
465 , x_errorcode => x_errorcode
466 , x_msg_count => x_msg_count
467 , x_msg_data => x_msg_data
468 );
469 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
470 FND_MESSAGE.Set_Name('CS', 'CS_API_PROC_SR_EXT_ATTR_WARN');
471 FND_MSG_PUB.Add;
472 RAISE FND_API.G_EXC_ERROR;
473 END IF;
474
475 -- Added FND_LOG
476 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
477 THEN
478 FND_LOG.String
479 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
480 , 'Information for old context deleted'
481 );
482 END IF;
483
484 END IF; -- l_cont_chg_on_update = 'Y'
485
486 -- Added FND_LOG
487 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
488 THEN
489 FND_LOG.String
490 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
491 , 'Calling PLM API to process first context'
492 );
493 END IF;
494 --context has changed
495 --call PLM and insert the data so far
496 EGO_USER_ATTRS_DATA_PUB.Process_User_Attrs_Data(
497 p_api_version => 1
498 ,p_object_name => 'CS_SERVICE_REQUEST'
499 ,p_attributes_row_table => l_user_attr_row_table
500 ,p_attributes_data_table => l_user_attr_data_table
501 ,p_pk_column_name_value_pairs => l_pk_name_value_pair
502 ,p_class_code_name_value_pairs => l_class_code_name_value_pairs
503 ,p_user_privileges_on_object => l_user_privileges_on_object
504 ,p_entity_id => NULL
505 ,p_entity_index => NULL
506 ,p_entity_code => NULL
507 ,p_debug_level => 0
508 ,p_init_error_handler => FND_API.G_TRUE
509 ,p_write_to_concurrent_log => FND_API.G_TRUE
510 ,p_init_fnd_msg_list => FND_API.G_FALSE
511 ,p_log_errors => FND_API.G_TRUE
512 ,p_add_errors_to_fnd_stack => FND_API.G_TRUE
513 ,p_commit => FND_API.G_FALSE
514 ,x_failed_row_id_list => x_failed_row_id_list
515 ,x_return_status => x_return_status
516 ,x_errorcode => x_errorcode
517 ,x_msg_count => x_msg_count
518 ,x_msg_data => x_msg_data );
519
520
521
522 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
523 FND_MESSAGE.Set_Name('CS', 'CS_API_PROC_SR_EXT_ATTR_WARN');
524 FND_MSG_PUB.Add;
525 RAISE FND_API.G_EXC_ERROR;
526 END IF;
527
528 --Added FND_LOG
529 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
530 FND_LOG.String
531 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
532 , 'After processing first context: PLM status :' ||
533 x_return_status
534 );
535 END IF;
536
537 -- populate the new audit record with what is structure
538 -- MAYA need to add
539 For i IN 1..l_new_Ext_Attr_Audit_table.COUNT LOOP
540 populate_sr_ext_attr_audit_rec(
541 p_incident_id => l_new_Ext_Attr_Audit_table(i).pk_column_1
542 ,p_context => l_new_Ext_Attr_Audit_table(i).context
543 ,p_attr_group_id => l_new_Ext_Attr_Audit_table(i).attr_group_id
544 ,p_row_id => l_new_Ext_Attr_Audit_table(i).row_identifier
545 ,p_ext_attr_tbl => p_ext_attr_tbl
546 ,p_sr_audit_rec_table => l_new_Ext_Attr_Audit_table
547 ,x_rec_found => l_rec_found);
548
549 IF l_rec_found = 'N' THEN
550 --raise error
551 FND_MESSAGE.Set_Name('CS', 'CS_API_POP_SR_EXT_ATTR_WARN');
552 FND_MSG_PUB.Add;
553 RAISE FND_API.G_EXC_ERROR;
554 END IF;
555 END LOOP;
556
557 --Added FND_LOG
558 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
559 FND_LOG.String
560 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
561 , 'Calling Audit API to audit the first context :'
562 );
563 END IF;
564
565 --call the create audit procedure
566 Create_Ext_Attr_Audit(
567 P_SR_EA_new_Audit_rec_table => l_new_Ext_Attr_Audit_table
568 ,P_SR_EA_old_Audit_rec_table => l_old_Ext_Attr_Audit_table
569 ,p_object_name => 'CS_SERVICE_REQUEST'
570 ,p_modified_by => p_modified_by
571 ,p_modified_on => p_modified_on
572 ,x_return_status => x_return_status
573 ,x_msg_count => x_msg_count
574 ,x_msg_data => x_msg_data);
575
576 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
577 --raise error
578 FND_MESSAGE.Set_Name('CS', 'CS_API_POP_SR_EXT_ATTR_WARN');
579 FND_MSG_PUB.Add;
580 RAISE FND_API.G_EXC_ERROR;
581 END IF;
582
583 --Added FND_LOG
584 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
585 FND_LOG.String
586 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
587 , 'After auditing first context: Audit status :' ||
588 x_return_status
589 );
590 END IF;
591
592 --Clear the old audit record structure for the new context
593 l_old_Ext_Attr_Audit_table.DELETE;
594
595 --Clear the new audit structure for the new context
596 l_new_Ext_Attr_Audit_table.DELETE;
597
598 END IF; -- of populating data for old context
599
600
601 -- initialize the new audit rec count
602 l_new_audit_count := l_new_Ext_Attr_Audit_table.COUNT + 1;
603
604 --Need to make sure that all the primary key identifiers and the unqie composite key identifiers are passed
605 --For 'CS_SERVICE_REQUEST' this is pk_col_1, context, attr_group_id.
606
607
608 /**********************
609 Pk_column_1 validation
610 ***********************/
611
612 --Check If pk_column_1 is passed
613 IF p_ext_attr_grp_tbl(i).pk_column_1 IS NULL THEN
614 --raise error
615 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(
616 p_token_an => l_api_name_full
617 ,p_token_mp => 'PK_COLUMN_1');
618 RAISE FND_API.G_EXC_ERROR;
619
620 ELSE
621 --pk_col_1 passed
622 --Validate the pk_column_1 that is coming in
623 OPEN c_check_sr_pk_col_1(to_number(p_ext_attr_grp_tbl(i).pk_column_1));
624 FETCH c_check_sr_pk_col_1 INTO l_pk_col_1, l_context;
625 CLOSE c_check_sr_pk_col_1;
626
627 IF l_pk_col_1 IS NULL THEN
628 CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg(
629 p_token_an => l_api_name_full
630 ,p_token_v => p_ext_attr_grp_tbl(i).pk_column_1
631 ,p_token_p => 'PK_COLUMN_1');
632 RAISE FND_API.G_EXC_ERROR;
633 END IF;
634
635 IF l_context IS NULL THEN
636 CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg(
637 p_token_an => l_api_name_full
638 ,p_token_v => p_ext_attr_grp_tbl(i).context
639 ,p_token_p => 'CONTEXT');
640 RAISE FND_API.G_EXC_ERROR;
641
642 END IF;
643
644 --DBMS_OUTPUT.PUT_LINE ('Pass pk1 validation');
645
646 -- If no error then
647 --Need to pass the incident_id to the ego object.
648 --populating the EGO_COL_NAME_VALUE_PAIR_ARRAY Array for passing primary key to PLM
649 l_pk_name_value_pair := EGO_COL_NAME_VALUE_PAIR_ARRAY(EGO_COL_NAME_VALUE_PAIR_OBJ('INCIDENT_ID', p_ext_attr_grp_tbl(i).pk_column_1));
650
651 --populate the new audit record simultanoeosly while populating the EGO record structure.
652 l_new_Ext_Attr_Audit_table(l_new_audit_count).pk_column_1 := p_ext_attr_grp_tbl(i).pk_column_1;
653
654 --DBMS_OUTPUT.PUT_LINE('l_new_Ext_Attr_Audit_table.pk_column_1'||l_new_Ext_Attr_Audit_table(l_new_audit_count).pk_column_1);
655
656 --Added FND_LOG
657 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
658 FND_LOG.String
659 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
660 , 'Primary Key Validation for Service Request Extensible Attributes successful :'
661 );
662 END IF;
663
664 END IF; --end of p_ext_attr_grp_tbl(i).pk_column_1 is null
665
666
667 /**********************
668 Context validation
669 ***********************/
670
671 --Check if context is passed
672
673 --DBMS_OUTPUT.PUT_LINE('p_ext_attr_grp_tbl(i).context'||p_ext_attr_grp_tbl(i).context);
674 IF p_ext_attr_grp_tbl(i).context IS NULL THEN
675 --raise error
676 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(
677 p_token_an => l_api_name_full
678 ,p_token_mp => 'CONTEXT');
679 RAISE FND_API.G_EXC_ERROR;
680
681 ELSE
682 --context is passed
683 --Check the context for the validated incident.
684 --DBMS_OUTPUT.PUT_LINE('context passed');
685 --DBMS_OUTPUT.PUT_LINE('l_context'||l_context);
686 IF p_ext_attr_grp_tbl(i).context <> l_context AND
687 p_ext_attr_grp_tbl(i).context <> '-1' THEN
688 --raise error
689 CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg(
690 p_token_an => l_api_name_full
691 ,p_token_v => p_ext_attr_grp_tbl(i).context
692 ,p_token_p => 'CONTEXT');
693 RAISE FND_API.G_EXC_ERROR;
694
695 ELSE
696 --DBMS_OUTPUT.PUT_LINE('In else of context validation');
697 --context matches
698 --populate the EGO_COL_NAME_VALUE_PAIR_ARRAY Array for passing the context.
699 l_class_code_name_value_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY(EGO_COL_NAME_VALUE_PAIR_OBJ('CONTEXT', p_ext_attr_grp_tbl(i).context));
700
701 --populate the new audit record for context.
702 l_new_Ext_Attr_Audit_table(l_new_audit_count).context := p_ext_attr_grp_tbl(i).context;
703
704 --DBMS_OUTPUT.PUT_LINE('Context matches'||l_new_Ext_Attr_Audit_table(l_new_audit_count).context);
705
706 --Added FND_LOG
707 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
708 FND_LOG.String
709 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
710 , 'Context Validation for Service Request Extensible Attributes successful :'
711 );
712 END IF;
713
714 END IF;
715 END IF; -- end of p_ext_attr_grp_tbl(i).context is null
716
717 /*************************
718 Attribute Group validation
719 **************************/
720 --Instanciate a new EGO_USER_ATTR_ROW_OBJ or clear out the existing one for the old context
721 --
722
723 IF p_ext_attr_grp_tbl(i).context <> l_old_context AND
724 l_old_context IS NOT NULL THEN
725 IF (l_user_attr_row_table IS NULL) THEN
726 l_user_attr_row_table := EGO_USER_ATTR_ROW_TABLE();
727 --DBMS_OUTPUT.PUT_LINE('instanciated');
728 ELSE
729 l_user_attr_row_table.DELETE();
730 --DBMS_OUTPUT.PUT_LINE('deleted');
731 END IF;
732 ELSE
733 IF (l_user_attr_row_table IS NULL) THEN
734 l_user_attr_row_table := EGO_USER_ATTR_ROW_TABLE();
735 END IF;
736 END IF;
737
738 --Extend the object and start adding values
739 --DBMS_OUTPUT.PUT_LINE('attr group'||p_ext_attr_grp_tbl(i).attr_group_id);
740
741 l_user_attr_row_table.EXTEND();
742
743 IF p_ext_attr_grp_tbl(i).operation = 'CREATE' THEN
744 IF p_ext_attr_grp_tbl(i).attr_group_id IS NOT NULL THEN
745
746 --DBMS_OUTPUT.PUT_LINE('ATtr group if not null');
747 --assign to l_attr_group_id
748 l_attr_group_id := p_ext_attr_grp_tbl(i).attr_group_id;
749
750 -- l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ(p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
751 -- NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL, EGO_USER_ATTRS_DATA_PVT.G_CREATE_MODE);
752
753 l_user_attr_row_table(l_user_attr_row_table.LAST) :=
754 EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object( p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
755 NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_CREATE_MODE);
756
757 --DBMS_OUTPUT.PUT_LINE('added to riw table count is'||l_user_attr_row_table.COUNT);
758
759
760 ELSIF p_ext_attr_grp_tbl(i).attr_group_app_id IS NOT NULL AND
761 p_ext_attr_grp_tbl(i).attr_group_type IS NOT NULL AND
762 p_ext_attr_grp_tbl(i).attr_group_name IS NOT NULL THEN
763
764 -- l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ(p_ext_attr_grp_tbl(i).row_identifier,NULL,
765 -- p_ext_attr_grp_tbl(i).attr_group_app_id,p_ext_attr_grp_tbl(i).attr_group_type,p_ext_attr_grp_tbl(i).attr_group_name,
766 -- 'GENERIC_LEVEL', NULL, NULL, EGO_USER_ATTRS_DATA_PVT.G_CREATE_MODE);
767
768 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object(p_ext_attr_grp_tbl(i).row_identifier,NULL,
769 p_ext_attr_grp_tbl(i).attr_group_app_id,p_ext_attr_grp_tbl(i).attr_group_type,p_ext_attr_grp_tbl(i).attr_group_name,
770 'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_CREATE_MODE);
771
772 IF p_ext_attr_grp_tbl(i).attr_group_id IS NULL THEN
773 -- then need to derive that for passing to populate_sr_ext_attr_audit_rec to get the old audit record
774 OPEN c_get_attr_grp_id (p_ext_attr_grp_tbl(i).attr_group_app_id
775 ,p_ext_attr_grp_tbl(i).attr_group_type
776 ,p_ext_attr_grp_tbl(i).attr_group_name);
777 FETCH c_get_attr_grp_id INTO l_attr_group_id;
778 CLOSE c_get_attr_grp_id;
779 ELSE
780 l_attr_group_id := p_ext_attr_grp_tbl(i).attr_group_id;
781 END IF;
782 ELSE
783 --Attr Group Information is null
784 -- Raise Error
785 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(
786 p_token_an => l_api_name_full
787 ,p_token_mp => 'ATTR_GROUP_ID');
788 RAISE FND_API.G_EXC_ERROR;
789
790 END IF;
791
792 -- populate the new audit record for attr_group_id.
793 l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id := l_attr_group_id;
794
795 --populate the row_identifier
796 l_new_Ext_Attr_Audit_table(l_new_audit_count).row_identifier := p_ext_attr_grp_tbl(i).row_identifier;
797
798 --DBMS_OUTPUT.PUT_LINE('audit attr value is'||l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id);
799
800 --make sure that you create a corrosponding record in the old audit record structure
801 -- initialize the new audit rec count
802 l_old_audit_count := l_old_Ext_Attr_Audit_table.COUNT + 1;
803 l_old_Ext_Attr_Audit_table(l_old_audit_count) := null;
804
805 ELSIF p_ext_attr_grp_tbl(i).operation = 'UPDATE' THEN
806 IF p_ext_attr_grp_tbl(i).attr_group_id IS NOT NULL THEN
807
808 --DBMS_OUTPUT.PUT_LINE('operation is update and attr_group_id is not null');
809
810 l_attr_group_id := p_ext_attr_grp_tbl(i).attr_group_id;
811
812 --Added FND_LOG
813 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
814 FND_LOG.String
815 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
816 , 'Operation is UPDATE - populate the audit structure :'
817 );
818 END IF;
819
820 --populate the audit record structure for the current record in the database
821 populate_sr_ext_attr_audit_rec(
822 p_incident_id => p_incident_id
823 ,p_context => p_ext_attr_grp_tbl(i).context
824 ,p_attr_group_id => p_ext_attr_grp_tbl(i).attr_group_id
825 ,p_row_id => p_ext_attr_grp_tbl(i).row_identifier
826 ,p_ext_attr_tbl => p_ext_attr_tbl
827 ,p_sr_audit_rec_table => l_old_Ext_Attr_Audit_table
828 ,x_rec_found => l_rec_found
829 );
830
831 --Added FND_LOG
832 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
833 FND_LOG.String
834 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
835 , 'Status of record found for audit :' ||
836 l_rec_found
837 );
838 END IF;
839 --DBMS_OUTPUT.PUT_LINE('l_old_Ext_Attr_Audit_table.COUNT'||l_old_Ext_Attr_Audit_table.COUNT);
840
841
842 IF l_rec_found = 'N' THEN
843 -- call check_sr_context_change to check if context has changed during the update
844 -- operation
845
846 --Added FND_LOG
847 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
848 FND_LOG.String
849 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
850 , 'Record not found for audit checking if context is changed for Service Request :'
851 );
852 END IF;
853 check_sr_context_change(
854 p_incident_id => p_ext_attr_grp_tbl(i).pk_column_1
855 ,p_context => p_ext_attr_grp_tbl(i).context
856 ,x_context_changed => l_cont_chg_on_update
857 ,x_db_incident_id => l_db_incident_id
858 ,x_db_context => l_db_sr_context);
859
860 --Added FND_LOG
861 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
862 FND_LOG.String
863 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
864 , 'Status of contect change check :' ||
865 l_cont_chg_on_update
866 );
867 END IF;
868
869
870 --Added FND_LOG
871 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
872 FND_LOG.String
873 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
874 , 'Database Service Request identifier :' ||
875 l_db_incident_id
876 );
877 END IF;
878
879 --Added FND_LOG
880 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
881 FND_LOG.String
882 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
883 , 'Database context :' ||
884 l_db_sr_context
885 );
886 END IF;
887
888 --DBMS_OUTPUT.PUT_LINE('l_cont_chg_on_update'||l_cont_chg_on_update);
889 --DBMS_OUTPUT.PUT_LINE('l_db_incident_id'||l_db_incident_id);
890 --DBMS_OUTPUT.PUT_LINE('l_db_sr_context'||l_db_sr_context);
891 --DBMS_OUTPUT.PUT_LINE('l_db_attr_group'||l_db_attr_group);
892
893 END IF; -- end of l_rec_found
894
895
896 IF l_cont_chg_on_update = 'Y' THEN
897 --treat this record as a 'CREATE'
898
899 --Added FND_LOG
900 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
901 FND_LOG.String
902 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
903 , 'Context has changed on Service :'
904 );
905 END IF;
906
907 -- l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ(p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
908 -- NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL, EGO_USER_ATTRS_DATA_PVT.G_CREATE_MODE);
909 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object(p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
910 NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_CREATE_MODE);
911 -- populate the new audit record for attr_group_id.
912 l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id := l_attr_group_id;
913
914 --populate the row_identifier
915 l_new_Ext_Attr_Audit_table(l_new_audit_count).row_identifier := p_ext_attr_grp_tbl(i).row_identifier;
916
917 --DBMS_OUTPUT.PUT_LINE('audit attr value is'||l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id);
918
919 --make sure that you create a corrosponding record in the old audit record structure
920 -- initialize the old audit rec count
921 l_old_audit_count := l_old_Ext_Attr_Audit_table.COUNT + 1;
922 l_old_Ext_Attr_Audit_table(l_old_audit_count) := null;
923
924 ELSE
925 --treat this record as a 'UPDATE'
926 -- l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ(p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
927 -- NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL, EGO_USER_ATTRS_DATA_PVT.G_UPDATE_MODE);
928 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object(p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
929 NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_UPDATE_MODE);
930
931 -- populate the new audit record for attr_group_id.
932 l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id := l_attr_group_id;
933
934 --populate the row_identifier
935 l_new_Ext_Attr_Audit_table(l_new_audit_count).row_identifier := p_ext_attr_grp_tbl(i).row_identifier;
936
937 --DBMS_OUTPUT.PUT_LINE('audit attr value is'||l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id);
938 END IF;
939
940
941 ELSIF p_ext_attr_grp_tbl(i).attr_group_app_id IS NOT NULL AND
942 p_ext_attr_grp_tbl(i).attr_group_type IS NOT NULL AND
943 p_ext_attr_grp_tbl(i).attr_group_name IS NOT NULL THEN
944
945 -- then need to derive that for passing to populate_sr_ext_attr_audit_rec to get the old audit record
946 IF p_ext_attr_grp_tbl(i).attr_group_id IS NULL THEN
947 OPEN c_get_attr_grp_id (p_ext_attr_grp_tbl(i).attr_group_app_id
948 ,p_ext_attr_grp_tbl(i).attr_group_type
949 ,p_ext_attr_grp_tbl(i).attr_group_name);
950 FETCH c_get_attr_grp_id INTO l_attr_group_id;
951 CLOSE c_get_attr_grp_id;
952 ELSE
953 l_attr_group_id := p_ext_attr_grp_tbl(i).attr_group_id;
954 END IF;
955
956 --populate the audit record structure for the current record in the database
957 populate_sr_ext_attr_audit_rec(
958 p_incident_id => p_incident_id
959 ,p_context => p_ext_attr_grp_tbl(i).context
960 ,p_attr_group_id => l_attr_group_id
961 ,p_row_id => p_ext_attr_grp_tbl(i).row_identifier
962 ,p_ext_attr_tbl => p_ext_attr_tbl
963 ,p_sr_audit_rec_table => l_old_Ext_Attr_Audit_table
964 ,x_rec_found => l_rec_found
965 );
966
967 --DBMS_OUTPUT.PUT_LINE('l_old_Ext_Attr_Audit_table.COUNT'||l_old_Ext_Attr_Audit_table.COUNT);
968
969
970 IF l_rec_found = 'N' THEN
971 -- call check_sr_context_change to check if context has changed during the update
972 -- operation
973 check_sr_context_change(
974 p_incident_id => p_ext_attr_grp_tbl(i).pk_column_1
975 ,p_context => p_ext_attr_grp_tbl(i).context
976 ,x_context_changed => l_cont_chg_on_update
977 ,x_db_incident_id => l_db_incident_id
978 ,x_db_context => l_db_sr_context);
979
980 --DBMS_OUTPUT.PUT_LINE('l_cont_chg_on_update'||l_cont_chg_on_update);
981 --DBMS_OUTPUT.PUT_LINE('l_db_incident_id'||l_db_incident_id);
982 --DBMS_OUTPUT.PUT_LINE('l_db_sr_context'||l_db_sr_context);
983 --DBMS_OUTPUT.PUT_LINE('l_db_attr_group'||l_db_attr_group);
984
985 END IF; -- end of l_rec_found
986
987 IF l_cont_chg_on_update = 'Y' THEN
988 --treat this record as a 'CREATE'
989
990 -- l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ(p_ext_attr_grp_tbl(i).row_identifier,NULL,
991 -- p_ext_attr_grp_tbl(i).attr_group_app_id,p_ext_attr_grp_tbl(i).attr_group_type,p_ext_attr_grp_tbl(i).attr_group_name,
992 -- 'GENERIC_LEVEL', NULL, NULL, EGO_USER_ATTRS_DATA_PVT.G_CREATE_MODE);
993
994 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object(p_ext_attr_grp_tbl(i).row_identifier,NULL,
995 p_ext_attr_grp_tbl(i).attr_group_app_id,p_ext_attr_grp_tbl(i).attr_group_type,p_ext_attr_grp_tbl(i).attr_group_name,
996 'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_CREATE_MODE);
997 -- populate the new audit record for attr_group_id.
998 l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id := l_attr_group_id;
999
1000 --populate the row_identifier
1001 l_new_Ext_Attr_Audit_table(l_new_audit_count).row_identifier := p_ext_attr_grp_tbl(i).row_identifier;
1002
1003 --DBMS_OUTPUT.PUT_LINE('audit attr value is'||l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id);
1004
1005 --make sure that you create a corrosponding record in the old audit record structure
1006 -- initialize the old audit rec count
1007 l_old_audit_count := l_old_Ext_Attr_Audit_table.COUNT + 1;
1008 l_old_Ext_Attr_Audit_table(l_old_audit_count) := null;
1009
1010 ELSE
1011 --treat this record as a 'UPDATE'
1012 -- l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ(p_ext_attr_grp_tbl(i).row_identifier,NULL,
1013 -- p_ext_attr_grp_tbl(i).attr_group_app_id,p_ext_attr_grp_tbl(i).attr_group_type,p_ext_attr_grp_tbl(i).attr_group_name,
1014 -- 'GENERIC_LEVEL', NULL, NULL, EGO_USER_ATTRS_DATA_PVT.G_UPDATE_MODE);
1015
1016 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object(p_ext_attr_grp_tbl(i).row_identifier,NULL,
1017 p_ext_attr_grp_tbl(i).attr_group_app_id,p_ext_attr_grp_tbl(i).attr_group_type,p_ext_attr_grp_tbl(i).attr_group_name,
1018 'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_UPDATE_MODE);
1019
1020
1021 -- populate the new audit record for attr_group_id.
1022 l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id := l_attr_group_id;
1023
1024 --populate the row_identifier
1025 l_new_Ext_Attr_Audit_table(l_new_audit_count).row_identifier := p_ext_attr_grp_tbl(i).row_identifier;
1026
1027 --DBMS_OUTPUT.PUT_LINE('audit attr value is'||l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id);
1028 END IF;
1029
1030 ELSE
1031 --Attr Group Information is null
1032 -- Raise Error
1033 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(
1034 p_token_an => l_api_name_full
1035 ,p_token_mp => 'ATTR_GROUP_ID');
1036 RAISE FND_API.G_EXC_ERROR;
1037
1038 END IF;
1039
1040 ELSIF p_ext_attr_grp_tbl(i).operation = 'DELETE' THEN
1041
1042 -- 5230517
1043 IF p_ext_attr_grp_tbl(i).attr_group_id IS NULL THEN
1044 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(
1045 p_token_an => l_api_name_full
1046 ,p_token_mp => 'ATTR_GROUP_ID');
1047 RAISE FND_API.G_EXC_ERROR;
1048
1049 END IF;
1050 -- 5230517_eof
1051
1052 --check to see if the row being deleted really exists
1053 l_valid_check := IS_ROW_VALID(p_incident_id => p_ext_attr_grp_tbl(i).pk_column_1
1054 ,p_context => p_ext_attr_grp_tbl(i).context
1055 ,p_attr_group_id => p_ext_attr_grp_tbl(i).attr_group_id
1056 ,x_msg_data => l_msg_data
1057 ,x_msg_count => l_msg_count
1058 ,x_return_status => l_return_status);
1059
1060 IF l_return_status = G_RET_STS_UNEXP_ERROR THEN
1061 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1062 ELSIF l_return_status = G_RET_STS_ERROR THEN
1063 RAISE FND_API.G_EXC_ERROR;
1064 END IF;
1065
1066 IF l_valid_check = 'Y' THEN
1067 -- l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ(p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
1068 -- NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL, EGO_USER_ATTRS_DATA_PVT.G_DELETE_MODE);
1069
1070 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object(p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
1071 NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_DELETE_MODE);
1072 -- 5230517: do not think UI needs this. Should let PLM throw exceptions.
1073 /*
1074 ELSE
1075 --This has been added for the UI
1076 x_return_status := FND_API.G_RET_STS_SUCCESS;
1077 RETURN;
1078 */
1079 END IF;
1080 END IF;
1081
1082 --DBMS_OUTPUT.PUT_LINE('Successfully added to table');
1083
1084 /**************************
1085 Attribute Validation
1086 **************************/
1087
1088
1089 IF p_ext_attr_tbl.COUNT > 0 THEN
1090
1091 --DBMS_OUTPUT.PUT_LINE('p_ext_attr_tbl.COUNT'||p_ext_attr_tbl.COUNT);
1092
1093 --pass the entire attribute data to a local table which can be used for manipulation
1094 l_ext_attr_tbl := p_ext_attr_tbl;
1095
1096 IF p_ext_attr_grp_tbl(i).mapping_req = 'Y' THEN
1097 --need to get the metadata definition dor attributes defined for attribute group
1098 --Call Procedure Get_Attr_Group_Metadata
1099
1100 --DBMS_OUTPUT.PUT_LINE('Calling Attr Grp Metadata');
1101 Get_Attr_Group_Metadata(
1102 p_attr_group_id => p_ext_attr_grp_tbl(i).attr_group_id
1103 ,x_application_id => l_application_id
1104 ,x_attr_group_type => l_attr_group_type
1105 ,x_attr_group_name => l_attr_group_name);
1106
1107 IF l_application_id IS NOT NULL AND
1108 l_attr_group_type IS NOT NULL AND
1109 l_attr_group_name IS NOT NULL THEN
1110
1111
1112 --get the Attribute Metadata defined for this Attribute Group.
1113 Get_Attr_Metadata(
1114 p_row_identifier => p_ext_attr_grp_tbl(i).row_identifier
1115 ,p_application_id => l_application_id
1116 ,p_attr_group_type => l_attr_group_type
1117 ,p_attr_group_name => l_attr_group_name
1118 ,p_ext_attr_tbl => l_ext_attr_tbl);
1119
1120 END IF; -- end if of l_application_id IS NULL ..
1121 END IF; -- end if of IF p_ext_attr_grp_tbl(i).mapping_req = 'Y'
1122
1123 --Get the attributes relevant to the attribute group and prepare to pass it to PLM
1124 -- Instanciate a new EGO_USER_ATTR_DATA_TABLE or clear out the existing one --
1125 IF p_ext_attr_grp_tbl(i).context <> l_old_context AND
1126 l_old_context IS NOT NULL THEN
1127 IF (l_user_attr_data_table IS NULL) THEN
1128 l_user_attr_data_table := EGO_USER_ATTR_DATA_TABLE();
1129 ELSE
1130 l_user_attr_data_table.DELETE();
1131 END IF;
1132 ELSE
1133 IF (l_user_attr_data_table IS NULL) THEN
1134 l_user_attr_data_table := EGO_USER_ATTR_DATA_TABLE();
1135 END IF;
1136 END IF;
1137
1138 FOR j IN l_ext_attr_tbl.FIRST .. l_ext_attr_tbl.LAST LOOP
1139 IF p_ext_attr_grp_tbl(i).row_identifier = l_ext_attr_tbl(j).row_identifier THEN
1140 l_user_attr_data_table.EXTEND();
1141 l_user_attr_data_table(l_user_attr_data_table.LAST) := EGO_USER_ATTR_DATA_OBJ(l_ext_attr_tbl(j).row_identifier, l_ext_attr_tbl(j).attr_name,
1142 l_ext_attr_tbl(j).attr_value_str,l_ext_attr_tbl(j).attr_value_num,
1143 l_ext_attr_tbl(j).attr_value_date,l_ext_attr_tbl(j).attr_value_display, NULL, NULL);
1144 END IF;
1145 END LOOP;
1146
1147 --DBMS_OUTPUT.PUT_LINE('l_user_attr_data_table.COUNT'||l_user_attr_data_table.COUNT);
1148
1149 ELSE
1150 l_user_attr_data_table := EGO_USER_ATTR_DATA_TABLE();
1151 END IF; -- count > 1
1152
1153 --set the old context
1154 l_old_context := p_ext_attr_grp_tbl(i).context;
1155
1156 --DBMS_OUTPUT.PUT_LINE('l_old_context'||l_old_context);
1157
1158
1159 /*************************************
1160 Call PLM API If last record
1161 **************************************/
1162
1163 IF i = l_count THEN
1164 --DBMS_OUTPUT.PUT_LINE('on last record');
1165 IF l_cont_chg_on_update = 'Y'
1166 THEN
1167 delete_old_context
1168 ( p_pk_column_1 => l_db_incident_id
1169 , p_context => l_db_sr_context
1170 , x_failed_row_id_list => x_failed_row_id_list
1171 , x_return_status => x_return_status
1172 , x_errorcode => x_errorcode
1173 , x_msg_count => x_msg_count
1174 , x_msg_data => x_msg_data
1175 );
1176 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1177 FND_MESSAGE.Set_Name('CS', 'CS_API_PROC_SR_EXT_ATTR_WARN');
1178 FND_MSG_PUB.Add;
1179 RAISE FND_API.G_EXC_ERROR;
1180 END IF;
1181 END IF; -- l_cont_chg_on_update = 'Y'
1182 --on last record
1183 --DBMS_OUTPUT.PUT_LINE('count of l_user_attr_row_table'||l_user_attr_row_table.COUNT);
1184 --DBMS_OUTPUT.PUT_LINE('count of l_user_attr_data_table'||l_user_attr_data_table.COUNT);
1185 --DBMS_OUTPUT.PUT_LINE('count of l_pk_name_value_pair'||l_pk_name_value_pair.COUNT);
1186 --DBMS_OUTPUT.PUT_LINE('count of l_class_code_name_value_pairs'||l_class_code_name_value_pairs.COUNT);
1187
1188 EGO_USER_ATTRS_DATA_PUB.Process_User_Attrs_Data(
1189 p_api_version => 1
1190 ,p_object_name => 'CS_SERVICE_REQUEST'
1191 ,p_attributes_row_table => l_user_attr_row_table
1192 ,p_attributes_data_table => l_user_attr_data_table
1193 ,p_pk_column_name_value_pairs => l_pk_name_value_pair
1194 ,p_class_code_name_value_pairs => l_class_code_name_value_pairs
1195 ,p_user_privileges_on_object => l_user_privileges_on_object
1196 ,p_entity_id => NULL
1197 ,p_entity_index => NULL
1198 ,p_entity_code => NULL
1199 ,p_debug_level => 0
1200 ,p_init_error_handler => FND_API.G_TRUE
1201 ,p_write_to_concurrent_log => FND_API.G_TRUE
1202 ,p_init_fnd_msg_list => FND_API.G_FALSE
1203 ,p_log_errors => FND_API.G_TRUE
1204 ,p_add_errors_to_fnd_stack => FND_API.G_TRUE
1205 ,p_commit => FND_API.G_FALSE
1206 ,x_failed_row_id_list => x_failed_row_id_list
1207 ,x_return_status => x_return_status
1208 ,x_errorcode => x_errorcode
1209 ,x_msg_count => x_msg_count
1210 ,x_msg_data => x_msg_data );
1211
1212 --DBMS_OUTPUT.PUT_LINE('x_return_status'||x_return_status);
1213 --DBMS_OUTPUT.PUT_LINE('x_failed_row_id_list'||x_failed_row_id_list);
1214 --DBMS_OUTPUT.PUT_LINE('x_msg_data'||x_msg_data);
1215
1216 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1217 FND_MESSAGE.Set_Name('CS', 'CS_API_PROC_SR_EXT_ATTR_WARN');
1218 FND_MSG_PUB.Add;
1219 RAISE FND_API.G_EXC_ERROR;
1220 END IF;
1221
1222 --DBMS_OUTPUT.PUT_LINE('Calling populate_sr_ext_attr_audit_rec'); --executed
1223
1224
1225 -- populate the new audit record with what is structure
1226 -- MAYA need to add
1227 -- DBMS_OUTPUT.PUT_LINE('l_new_Ext_Attr_Audit_table'||l_new_Ext_Attr_Audit_table.COUNT); --executed
1228
1229 -- Fix bug 5230517
1230 -- Audit only in CREATE and UPDATE operations
1231 IF p_ext_attr_grp_tbl(i).operation <> 'DELETE' THEN
1232 For i IN 1..l_new_Ext_Attr_Audit_table.COUNT LOOP
1233
1234 --DBMS_OUTPUT.PUT_LINE('l_new_Ext_Attr_Audit_table(i).pk_column_1'||l_new_Ext_Attr_Audit_table(i).pk_column_1); --executed
1235 --DBMS_OUTPUT.PUT_LINE('l_new_Ext_Attr_Audit_table(i).context'||l_new_Ext_Attr_Audit_table(i).context); --executed
1236 --DBMS_OUTPUT.PUT_LINE('l_new_Ext_Attr_Audit_table(i).attr_group_id'||l_new_Ext_Attr_Audit_table(i).attr_group_id); --executed
1237 --DBMS_OUTPUT.PUT_LINE('l_new_Ext_Attr_Audit_table(i).row_identifier'||l_new_Ext_Attr_Audit_table(i).row_identifier); --executed
1238 --DBMS_OUTPUT.PUT_LINE('calling populate_sr_ext_attr_audit_rec'); --executed
1239
1240 populate_sr_ext_attr_audit_rec(
1241 p_incident_id => l_new_Ext_Attr_Audit_table(i).pk_column_1
1242 ,p_context => l_new_Ext_Attr_Audit_table(i).context
1243 ,p_attr_group_id => l_new_Ext_Attr_Audit_table(i).attr_group_id
1244 ,p_row_id => l_new_Ext_Attr_Audit_table(i).row_identifier
1245 ,p_ext_attr_tbl => p_ext_attr_tbl
1246 ,p_sr_audit_rec_table => l_new_Ext_Attr_Audit_table
1247 ,x_rec_found => l_rec_found);
1248
1249 --DBMS_OUTPUT.PUT_LINE('l_rec_found'||l_rec_found);
1250
1251
1252 IF l_rec_found = 'N' THEN
1253 --raise error
1254 FND_MESSAGE.Set_Name('CS', 'CS_API_POP_SR_EXT_ATTR_WARN');
1255 FND_MSG_PUB.Add;
1256 RAISE FND_API.G_EXC_ERROR;
1257 END IF;
1258 END LOOP;
1259
1260 --DBMS_OUTPUT.PUT_LINE('l_new_Ext_Attr_Audit_table'||l_new_Ext_Attr_Audit_table.COUNT);
1261
1262 --call the create audit procedure
1263 Create_Ext_Attr_Audit(
1264 P_SR_EA_new_Audit_rec_table => l_new_Ext_Attr_Audit_table
1265 ,P_SR_EA_old_Audit_rec_table => l_old_Ext_Attr_Audit_table
1266 ,p_object_name => 'CS_SERVICE_REQUEST'
1267 ,p_modified_by => p_modified_by
1268 ,p_modified_on => p_modified_on
1269 ,x_return_status => x_return_status
1270 ,x_msg_count => x_msg_count
1271 ,x_msg_data => x_msg_data);
1272
1273 END IF; -- end bug 5230517 fix.
1274
1275 IF l_cont_chg_on_update = 'Y' THEN
1276 /*************************************************************
1277 --Need to clear the EGO structures
1278 l_pk_name_value_pair.DELETE();
1279 l_class_code_name_value_pairs.DELETE();
1280 l_user_attr_row_table.DELETE();
1281 l_count := 0;
1282
1283 --DBMS_OUTPUT.PUT_LINE('In context change logic');
1284
1285 --get all the values in the database for the old context
1286 FOR v_get_old_context_value IN c_get_old_context_value(l_db_incident_id,
1287 l_db_sr_context) LOOP
1288 --DBMS_OUTPUT.PUT_LINE('v_get_old_context_value.incident_id'||v_get_old_context_value.incident_id);
1289 --DBMS_OUTPUT.PUT_LINE('v_get_old_context_value.context'||v_get_old_context_value.context);
1290 --DBMS_OUTPUT.PUT_LINE('v_get_old_context_value.attr_group_id'||v_get_old_context_value.attr_group_id);
1291
1292 l_count := l_count + 1;
1293 --set the primary key identifiers to pass to PLM
1294 --populating the EGO_COL_NAME_VALUE_PAIR_ARRAY Array for passing primary key to PLM
1295 l_pk_name_value_pair := EGO_COL_NAME_VALUE_PAIR_ARRAY
1296 (EGO_COL_NAME_VALUE_PAIR_OBJ('INCIDENT_ID', v_get_old_context_value.incident_id));
1297
1298 --set the context to pass to PLM only SR_TYPE_ID
1299 --populate the EGO_COL_NAME_VALUE_PAIR_ARRAY Array for passing the context.
1300 l_class_code_name_value_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY
1301 (EGO_COL_NAME_VALUE_PAIR_OBJ('CONTEXT', v_get_old_context_value.context));
1302
1303 --Instanciate a new EGO_USER_ATTR_ROW_OBJ (only once)
1304 IF (l_user_attr_row_table IS NULL) THEN
1305 l_user_attr_row_table := EGO_USER_ATTR_ROW_TABLE();
1306 END IF;
1307
1308 --Extend the object to add value it it
1309 l_user_attr_row_table.EXTEND();
1310 -- l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ(l_count,v_get_old_context_value.attr_group_id,
1311 -- NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL, EGO_USER_ATTRS_DATA_PVT.G_DELETE_MODE);
1312
1313 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object(l_count,v_get_old_context_value.attr_group_id,
1314 NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_DELETE_MODE);
1315
1316 END LOOP;
1317 -- Instantiate the attribute table once
1318 l_user_attr_data_table := EGO_USER_ATTR_DATA_TABLE();
1319
1320 --DBMS_OUTPUT.PUT_LINE('Calling to delete data, user attr row table count:'|| l_user_attr_row_table.count);
1321
1322 --Call PLM for deleting the old data
1323 EGO_USER_ATTRS_DATA_PUB.Process_User_Attrs_Data(
1324 p_api_version => 1
1325 ,p_object_name => 'CS_SERVICE_REQUEST'
1326 ,p_attributes_row_table => l_user_attr_row_table
1327 ,p_attributes_data_table => l_user_attr_data_table
1328 ,p_pk_column_name_value_pairs => l_pk_name_value_pair
1329 ,p_class_code_name_value_pairs => l_class_code_name_value_pairs
1330 ,p_user_privileges_on_object => l_user_privileges_on_object
1331 ,p_entity_id => NULL
1332 ,p_entity_index => NULL
1333 ,p_entity_code => NULL
1334 ,p_debug_level => 0
1335 ,p_init_error_handler => FND_API.G_TRUE
1336 ,p_write_to_concurrent_log => FND_API.G_TRUE
1337 ,p_init_fnd_msg_list => FND_API.G_FALSE
1338 ,p_log_errors => FND_API.G_TRUE
1339 ,p_add_errors_to_fnd_stack => FND_API.G_TRUE
1340 ,p_commit => FND_API.G_FALSE
1341 ,x_failed_row_id_list => x_failed_row_id_list
1342 ,x_return_status => x_return_status
1343 ,x_errorcode => x_errorcode
1344 ,x_msg_count => x_msg_count
1345 ,x_msg_data => x_msg_data );
1346
1347 *****************************************************/
1348 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1349 FND_MESSAGE.Set_Name('CS', 'CS_API_PROC_SR_EXT_ATTR_WARN');
1350 FND_MSG_PUB.Add;
1351 RAISE FND_API.G_EXC_ERROR;
1352 END IF;
1353
1354
1355 --Clear the old audit record structure for the new context
1356 l_old_Ext_Attr_Audit_table.DELETE;
1357
1358 --Clear the new audit structure for the new context
1359 l_new_Ext_Attr_Audit_table.DELETE;
1360 END IF;
1361 END IF;
1362 /***********************PARTY ROLE IMPLEMENTATION ******************************/
1363
1364 ELSIF p_ext_attr_grp_tbl(i).object_name = 'CS_PARTY_ROLE' THEN
1365 IF p_ext_attr_grp_tbl(i).context <> l_old_context AND
1366 l_old_context IS NOT NULL THEN
1367
1368 --DBMS_OUTPUT.PUT_LINE('In here');
1369 --DBMS_OUTPUT.PUT_LINE('context changed');
1370 --context has changed
1371 --call PLM and insert the data so far
1372
1373 EGO_USER_ATTRS_DATA_PUB.Process_User_Attrs_Data(
1374 p_api_version => 1
1375 ,p_object_name => 'CS_PARTY_ROLE'
1376 ,p_attributes_row_table => l_user_attr_row_table
1377 ,p_attributes_data_table => l_user_attr_data_table
1378 ,p_pk_column_name_value_pairs => l_pk_name_value_pair
1379 ,p_class_code_name_value_pairs => l_class_code_name_value_pairs
1380 ,p_user_privileges_on_object => l_user_privileges_on_object
1381 ,p_entity_id => NULL
1382 ,p_entity_index => NULL
1383 ,p_entity_code => NULL
1384 ,p_debug_level => 0
1385 ,p_init_error_handler => FND_API.G_TRUE
1386 ,p_write_to_concurrent_log => FND_API.G_TRUE
1387 ,p_init_fnd_msg_list => FND_API.G_FALSE
1388 ,p_log_errors => FND_API.G_TRUE
1389 ,p_add_errors_to_fnd_stack => FND_API.G_TRUE
1390 ,p_commit => FND_API.G_FALSE
1391 ,x_failed_row_id_list => x_failed_row_id_list
1392 ,x_return_status => x_return_status
1393 ,x_errorcode => x_errorcode
1394 ,x_msg_count => x_msg_count
1395 ,x_msg_data => x_msg_data );
1396
1397 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1398 FND_MESSAGE.Set_Name('CS', 'CS_API_PROC_SR_EXT_ATTR_WARN');
1399 FND_MSG_PUB.Add;
1400 RAISE FND_API.G_EXC_ERROR;
1401 END IF;
1402
1403 --reset the old_context to null;
1404 --NOT SURE IF THIS IS NEEDED
1405
1406 -- populate the new audit record with what is structure
1407 -- MAYA need to add
1408 --DBMS_OUTPUT.PUT_LINE('l_new_Ext_Attr_Audit_table.COUNT'||l_new_Ext_Attr_Audit_table.COUNT);
1409
1410 For i IN 1..l_new_Ext_Attr_Audit_table.COUNT LOOP
1411 populate_pr_ext_attr_audit_rec(
1412 p_incident_id => to_number(l_new_Ext_Attr_Audit_table(i).pk_column_1)
1413 ,p_party_id => to_number(l_new_Ext_Attr_Audit_table(i).pk_column_2)
1414 ,p_contact_type => l_new_Ext_Attr_Audit_table(i).pk_column_3
1415 ,p_party_role_code => l_new_Ext_Attr_Audit_table(i).pk_column_4
1416 ,p_context => l_new_Ext_Attr_Audit_table(i).context
1417 ,p_attr_group_id => l_new_Ext_Attr_Audit_table(i).attr_group_id
1418 ,p_row_id => l_new_Ext_Attr_Audit_table(i).row_identifier
1419 ,p_ext_attr_tbl => p_ext_attr_tbl
1420 ,p_sr_audit_rec_table => l_new_Ext_Attr_Audit_table
1421 ,x_rec_found => l_rec_found);
1422
1423 IF l_rec_found = 'N' THEN
1424 --raise error
1425 FND_MESSAGE.Set_Name('CS', 'CS_API_POP_PR_EXT_ATTR_WARN');
1426 FND_MSG_PUB.Add;
1427 RAISE FND_API.G_EXC_ERROR;
1428 END IF;
1429 END LOOP;
1430
1431 --call the create audit procedure
1432 Create_Ext_Attr_Audit(
1433 P_SR_EA_new_Audit_rec_table => l_new_Ext_Attr_Audit_table
1434 ,P_SR_EA_old_Audit_rec_table => l_old_Ext_Attr_Audit_table
1435 ,p_object_name => 'CS_PARTY_ROLE'
1436 ,p_modified_by => p_modified_by
1437 ,p_modified_on => p_modified_on
1438 ,x_return_status => x_return_status
1439 ,x_msg_count => x_msg_count
1440 ,x_msg_data => x_msg_data);
1441
1442
1443
1444 --Clear the old audit record structure for the new context
1445 l_old_Ext_Attr_Audit_table.DELETE;
1446
1447 --Clear the new audit structure for the new context
1448 l_new_Ext_Attr_Audit_table.DELETE;
1449
1450 END IF; -- of populating data for old context
1451
1452 --DBMS_OUTPUT.PUT_LINE('In PR Implementation');
1453
1454 -- initialize the new audit rec count
1455 l_new_audit_count := l_new_Ext_Attr_Audit_table.COUNT + 1;
1456
1457 /*********************************************************
1458 pk_column_1 pk_column2, pk_column3, pk_column4 validation
1459 **********************************************************/
1460
1461 --DBMS_OUTPUT.PUT_LINE('IN PK VALIDATION');
1462 --Check If composite primary key identifiers are passed
1463 IF p_ext_attr_grp_tbl(i).pk_column_1 IS NULL OR
1464 p_ext_attr_grp_tbl(i).pk_column_2 IS NULL OR
1465 p_ext_attr_grp_tbl(i).pk_column_3 IS NULL OR
1466 p_ext_attr_grp_tbl(i).pk_column_4 IS NULL THEN
1467 --raise error
1468 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(
1469 p_token_an => l_api_name_full
1470 ,p_token_mp => 'PARTY_ROLE_COMPOSITE_KEY');
1471 RAISE FND_API.G_EXC_ERROR;
1472 ELSE
1473 --DBMS_OUTPUT.PUT_LINE('validating the primary key');
1474 --composite key passed
1475 --Validate the composite key that is coming in
1476 OPEN c_check_pr_pk_cols( to_number(p_ext_attr_grp_tbl(i).pk_column_1)
1477 ,to_number(p_ext_attr_grp_tbl(i).pk_column_2)
1478 ,p_ext_attr_grp_tbl(i).pk_column_3
1479 ,p_ext_attr_grp_tbl(i).pk_column_4);
1480 FETCH c_check_pr_pk_cols INTO l_pk_col_1, l_pk_col_2, l_pk_col_3, l_pk_col_4;
1481 CLOSE c_check_pr_pk_cols;
1482
1483 --DBMS_OUTPUT.PUT_LINE('validating the primary key successful');
1484
1485 IF l_pk_col_1 IS NULL OR
1486 l_pk_col_2 IS NULL OR
1487 l_pk_col_3 IS NULL OR
1488 l_pk_col_4 IS NULL THEN
1489 --raise error
1490 l_composite_key := p_ext_attr_grp_tbl(i).pk_column_1||' , '||p_ext_attr_grp_tbl(i).pk_column_2||
1491 ' , '||p_ext_attr_grp_tbl(i).pk_column_3||' , '||p_ext_attr_grp_tbl(i).pk_column_4;
1492
1493 CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg(
1494 p_token_an => l_api_name_full
1495 ,p_token_v => l_composite_key
1496 ,p_token_p => 'COMPOSITE_KEY');
1497 RAISE FND_API.G_EXC_ERROR;
1498
1499 END IF;
1500
1501 -- If no error then
1502 --Need to set the composite primary key for the party role implementation.
1503 --populating the EGO_COL_NAME_VALUE_PAIR_ARRAY Array for passing primary key to PLM
1504
1505 l_pk_name_value_pair := EGO_COL_NAME_VALUE_PAIR_ARRAY(EGO_COL_NAME_VALUE_PAIR_OBJ('INCIDENT_ID', p_ext_attr_grp_tbl(i).pk_column_1),
1506 EGO_COL_NAME_VALUE_PAIR_OBJ('PARTY_ID', p_ext_attr_grp_tbl(i).pk_column_2),
1507 EGO_COL_NAME_VALUE_PAIR_OBJ('CONTACT_TYPE', p_ext_attr_grp_tbl(i).pk_column_3),
1508 EGO_COL_NAME_VALUE_PAIR_OBJ('PARTY_ROLE_CODE', p_ext_attr_grp_tbl(i).pk_column_4));
1509
1510 --DBMS_OUTPUT.PUT_LINE('populated the EGO_COL_NAME_VALUE_PAIR_ARRAY');
1511 --populate the new audit record simultanoeosly while populating the EGO record structure.
1512 l_new_Ext_Attr_Audit_table(l_new_audit_count).pk_column_1 := p_ext_attr_grp_tbl(i).pk_column_1;
1513 l_new_Ext_Attr_Audit_table(l_new_audit_count).pk_column_2 := p_ext_attr_grp_tbl(i).pk_column_2;
1514 l_new_Ext_Attr_Audit_table(l_new_audit_count).pk_column_3 := p_ext_attr_grp_tbl(i).pk_column_3;
1515 l_new_Ext_Attr_Audit_table(l_new_audit_count).pk_column_4 := p_ext_attr_grp_tbl(i).pk_column_4;
1516
1517
1518 --DBMS_OUTPUT.PUT_LINE('populated the l_new_Ext_Attr_Audit_table');
1519 END IF; --end of pk cols validation
1520
1521 /**********************
1522 Context validation
1523 ***********************/
1524
1525 --DBMS_OUTPUT.PUT_LINE('validating context');
1526 --Check if context is passed
1527 IF p_ext_attr_grp_tbl(i).context IS NULL THEN
1528 --raise error
1529 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(
1530 p_token_an => l_api_name_full
1531 ,p_token_mp => 'PARTY CONTEXT');
1532 RAISE FND_API.G_EXC_ERROR;
1533 ELSE
1534 --DBMS_OUTPUT.PUT_LINE('context passed');
1535 --context is passed
1536 --Check the context for the validated incident.
1537 IF p_ext_attr_grp_tbl(i).context <> p_ext_attr_grp_tbl(i).pk_column_4 THEN
1538 --raise error
1539 CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg(
1540 p_token_an => l_api_name_full
1541 ,p_token_v => p_ext_attr_grp_tbl(i).context
1542 ,p_token_p => 'PARTY CONTEXT');
1543 RAISE FND_API.G_EXC_ERROR;
1544 ELSE
1545
1546 --DBMS_OUTPUT.PUT_LINE('context matches');
1547 --context matches
1548 --populate the EGO_COL_NAME_VALUE_PAIR_ARRAY Array for passing the context.
1549 l_class_code_name_value_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY(EGO_COL_NAME_VALUE_PAIR_OBJ('CONTEXT', p_ext_attr_grp_tbl(i).context));
1550
1551 --DBMS_OUTPUT.PUT_LINE('populated EGO_COL_NAME_VALUE_PAIR_ARRAY');
1552
1553 --populate the new audit record for context.
1554 l_new_Ext_Attr_Audit_table(l_new_audit_count).context := p_ext_attr_grp_tbl(i).context;
1555
1556 --DBMS_OUTPUT.PUT_LINE('populated l_new_Ext_Attr_Audit_table');
1557
1558 END IF;
1559 END IF; -- end of p_ext_attr_grp_tbl(i).context is null
1560
1561 /*************************
1562 Attribute Group validation
1563 **************************/
1564 IF p_ext_attr_grp_tbl(i).context <> l_old_context AND
1565 l_old_context IS NOT NULL THEN
1566 IF (l_user_attr_row_table IS NULL) THEN
1567 l_user_attr_row_table := EGO_USER_ATTR_ROW_TABLE();
1568 --DBMS_OUTPUT.PUT_LINE('instanciated');
1569 ELSE
1570 l_user_attr_row_table.DELETE();
1571 --DBMS_OUTPUT.PUT_LINE('deleted');
1572 END IF;
1573 ELSE
1574 IF (l_user_attr_row_table IS NULL) THEN
1575 l_user_attr_row_table := EGO_USER_ATTR_ROW_TABLE();
1576 END IF;
1577 END IF;
1578
1579 --Extend the object and start adding values
1580 l_user_attr_row_table.EXTEND();
1581
1582 IF p_ext_attr_grp_tbl(i).operation = 'CREATE' THEN
1583 IF p_ext_attr_grp_tbl(i).attr_group_id IS NOT NULL THEN
1584
1585 l_attr_group_id := p_ext_attr_grp_tbl(i).attr_group_id;
1586 -- l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ(p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
1587 -- NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL, EGO_USER_ATTRS_DATA_PVT.G_CREATE_MODE);
1588 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object(p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
1589 NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_CREATE_MODE);
1590 --DBMS_OUTPUT.PUT_LINE('populated EGO_USER_ATTR_ROW_OBJ');
1591
1592 l_attr_group_id := p_ext_attr_grp_tbl(i).attr_group_id;
1593
1594 ELSIF p_ext_attr_grp_tbl(i).attr_group_app_id IS NOT NULL AND
1595 p_ext_attr_grp_tbl(i).attr_group_type IS NOT NULL AND
1596 p_ext_attr_grp_tbl(i).attr_group_name IS NOT NULL THEN
1597
1598 --- l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ(p_ext_attr_grp_tbl(i).row_identifier,NULL,
1599 --- p_ext_attr_grp_tbl(i).attr_group_app_id,p_ext_attr_grp_tbl(i).attr_group_type,p_ext_attr_grp_tbl(i).attr_group_name,
1600 --- 'GENERIC_LEVEL', NULL, NULL, EGO_USER_ATTRS_DATA_PVT.G_CREATE_MODE);
1601
1602 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object(p_ext_attr_grp_tbl(i).row_identifier,NULL,
1603 p_ext_attr_grp_tbl(i).attr_group_app_id,p_ext_attr_grp_tbl(i).attr_group_type,p_ext_attr_grp_tbl(i).attr_group_name,
1604 'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_CREATE_MODE);
1605 IF p_ext_attr_grp_tbl(i).attr_group_id IS NULL THEN
1606 -- then need to derive that for passing to populate_sr_ext_attr_audit_rec to get the old audit record
1607 OPEN c_get_attr_grp_id (p_ext_attr_grp_tbl(i).attr_group_app_id
1608 ,p_ext_attr_grp_tbl(i).attr_group_type
1609 ,p_ext_attr_grp_tbl(i).attr_group_name);
1610 FETCH c_get_attr_grp_id INTO l_attr_group_id;
1611 CLOSE c_get_attr_grp_id;
1612 ELSE
1613 l_attr_group_id := p_ext_attr_grp_tbl(i).attr_group_id;
1614 END IF;
1615 ELSE
1616 -- Raise Error
1617 --Attr Group Information is null
1618 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(
1619 p_token_an => l_api_name_full
1620 ,p_token_mp => 'ATTR_GROUP_ID');
1621 RAISE FND_API.G_EXC_ERROR;
1622 END IF;
1623
1624 -- populate the new audit record for attr_group_id.
1625 l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id := l_attr_group_id;
1626
1627 --populate the row_identifier
1628 l_new_Ext_Attr_Audit_table(l_new_audit_count).row_identifier := p_ext_attr_grp_tbl(i).row_identifier;
1629
1630 --DBMS_OUTPUT.PUT_LINE('audit attr value is'||l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id);
1631
1632 --make sure that you create a corrosponding record in the old audit record structure
1633 -- initialize the new audit rec count
1634
1635 l_old_audit_count := l_old_Ext_Attr_Audit_table.COUNT + 1;
1636 l_old_Ext_Attr_Audit_table(l_old_audit_count) := null;
1637
1638 ELSIF p_ext_attr_grp_tbl(i).operation = 'UPDATE' THEN
1639
1640 --DBMS_OUTPUT.PUT_LINE('Operation is UPDATE');
1641
1642 IF p_ext_attr_grp_tbl(i).attr_group_id IS NOT NULL THEN
1643
1644 --DBMS_OUTPUT.PUT_LINE('Calling populate pr ext attr audit');
1645
1646 l_attr_group_id := p_ext_attr_grp_tbl(i).attr_group_id;
1647
1648 --populate the audit record structure for the current record in the database
1649 populate_pr_ext_attr_audit_rec(
1650 p_incident_id => to_number(p_ext_attr_grp_tbl(i).pk_column_1)
1651 ,p_party_id => to_number(p_ext_attr_grp_tbl(i).pk_column_2)
1652 ,p_contact_type => p_ext_attr_grp_tbl(i).pk_column_3
1653 ,p_party_role_code => p_ext_attr_grp_tbl(i).pk_column_4
1654 ,p_context => p_ext_attr_grp_tbl(i).context
1655 ,p_attr_group_id => p_ext_attr_grp_tbl(i).attr_group_id
1656 ,p_row_id => p_ext_attr_grp_tbl(i).row_identifier
1657 ,p_ext_attr_tbl => p_ext_attr_tbl
1658 ,p_sr_audit_rec_table => l_old_Ext_Attr_Audit_table
1659 ,x_rec_found => l_rec_found
1660 );
1661
1662
1663 --DBMS_OUTPUT.PUT_LINE(' l_rec_found'||l_rec_found);
1664
1665 IF l_rec_found = 'N' THEN
1666 -- call check_sr_context_change to check if context has changed during the update
1667 -- operation
1668 -- Raise error
1669 FND_MESSAGE.Set_Name('CS', 'CS_API_POP_PR_EXT_ATTR_WARN');
1670 FND_MSG_PUB.Add;
1671 RAISE FND_API.G_EXC_ERROR;
1672
1673 ELSE
1674 --treat this record as a 'UPDATE'
1675 -- l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ(p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
1676 -- NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL, EGO_USER_ATTRS_DATA_PVT.G_UPDATE_MODE);
1677
1678 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object(p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
1679 NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_UPDATE_MODE);
1680 END IF;
1681
1682
1683 --DBMS_OUTPUT.PUT_LINE('audit attr value is'||l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id);
1684
1685 ELSIF p_ext_attr_grp_tbl(i).attr_group_app_id IS NOT NULL AND
1686 p_ext_attr_grp_tbl(i).attr_group_type IS NOT NULL AND
1687 p_ext_attr_grp_tbl(i).attr_group_name IS NOT NULL THEN
1688
1689
1690 -- then need to derive that for passing to populate_sr_ext_attr_audit_rec to get the old audit record
1691 IF p_ext_attr_grp_tbl(i).attr_group_id IS NULL THEN
1692 OPEN c_get_attr_grp_id (p_ext_attr_grp_tbl(i).attr_group_app_id
1693 ,p_ext_attr_grp_tbl(i).attr_group_type
1694 ,p_ext_attr_grp_tbl(i).attr_group_name);
1695 FETCH c_get_attr_grp_id INTO l_attr_group_id;
1696 CLOSE c_get_attr_grp_id;
1697 ELSE
1698 l_attr_group_id := p_ext_attr_grp_tbl(i).attr_group_id;
1699 END IF;
1700
1701
1702 --populate the audit record structure for the current record in the database
1703 populate_pr_ext_attr_audit_rec(
1704 p_incident_id => to_number(p_ext_attr_grp_tbl(i).pk_column_1)
1705 ,p_party_id => to_number(p_ext_attr_grp_tbl(i).pk_column_2)
1706 ,p_contact_type => p_ext_attr_grp_tbl(i).pk_column_3
1707 ,p_party_role_code => p_ext_attr_grp_tbl(i).pk_column_4
1708 ,p_context => p_ext_attr_grp_tbl(i).context
1709 ,p_attr_group_id => p_ext_attr_grp_tbl(i).attr_group_id
1710 ,p_row_id => p_ext_attr_grp_tbl(i).row_identifier
1711 ,p_ext_attr_tbl => p_ext_attr_tbl
1712 ,p_sr_audit_rec_table => l_old_Ext_Attr_Audit_table
1713 ,x_rec_found => l_rec_found
1714 );
1715
1716 IF l_rec_found = 'N' THEN
1717 -- call check_sr_context_change to check if context has changed during the update
1718 -- operation
1719 -- Raise error
1720 FND_MESSAGE.Set_Name('CS', 'CS_API_POP_PR_EXT_ATTR_WARN');
1721 FND_MSG_PUB.Add;
1722 RAISE FND_API.G_EXC_ERROR;
1723
1724 ELSE
1725 --treat this record as a 'UPDATE'
1726 -- l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ(p_ext_attr_grp_tbl(i).row_identifier,NULL,
1727 -- p_ext_attr_grp_tbl(i).attr_group_app_id,p_ext_attr_grp_tbl(i).attr_group_type,p_ext_attr_grp_tbl(i).attr_group_name,
1728 -- 'GENERIC_LEVEL', NULL, NULL, EGO_USER_ATTRS_DATA_PVT.G_UPDATE_MODE);
1729 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object(p_ext_attr_grp_tbl(i).row_identifier,NULL,
1730 p_ext_attr_grp_tbl(i).attr_group_app_id,p_ext_attr_grp_tbl(i).attr_group_type,p_ext_attr_grp_tbl(i).attr_group_name,
1731 'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_UPDATE_MODE);
1732 END IF;
1733
1734 ELSE
1735 -- Raise Error
1736 -- MAYA NEED TO ADD
1737 --Attr Group Information is null
1738 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(
1739 p_token_an => l_api_name_full
1740 ,p_token_mp => 'ATTR_GROUP_ID');
1741 RAISE FND_API.G_EXC_ERROR;
1742 END IF;
1743
1744 -- populate the new audit record for attr_group_id.
1745 l_new_Ext_Attr_Audit_table(l_new_audit_count).attr_group_id := l_attr_group_id;
1746
1747 --populate the row_identifier
1748 l_new_Ext_Attr_Audit_table(l_new_audit_count).row_identifier := p_ext_attr_grp_tbl(i).row_identifier;
1749
1750 ELSIF p_ext_attr_grp_tbl(i).operation = 'DELETE' THEN
1751
1752 -- 5230517
1753 IF p_ext_attr_grp_tbl(i).attr_group_id IS NULL THEN
1754 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(
1755 p_token_an => l_api_name_full
1756 ,p_token_mp => 'ATTR_GROUP_ID');
1757 RAISE FND_API.G_EXC_ERROR;
1758
1759 END IF;
1760 -- 5230517_eof
1761
1762 --check to see if the row being deleted really exists
1763 l_valid_check := IS_ROW_VALID(p_incident_id => p_ext_attr_grp_tbl(i).pk_column_1
1764 ,p_context => p_ext_attr_grp_tbl(i).context
1765 ,p_attr_group_id => p_ext_attr_grp_tbl(i).attr_group_id
1766 ,x_msg_data => l_msg_data
1767 ,x_msg_count => l_msg_count
1768 ,x_return_status => l_return_status);
1769
1770 IF l_return_status = G_RET_STS_UNEXP_ERROR THEN
1771 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1772 ELSIF l_return_status = G_RET_STS_ERROR THEN
1773 RAISE FND_API.G_EXC_ERROR;
1774 END IF;
1775
1776 IF l_valid_check = 'Y' THEN
1777 -- l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ(p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
1778 -- NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL, EGO_USER_ATTRS_DATA_PVT.G_DELETE_MODE);
1779 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object(p_ext_attr_grp_tbl(i).row_identifier,p_ext_attr_grp_tbl(i).attr_group_id,
1780 NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_DELETE_MODE);
1781
1782 -- 5230517 => should not eat the exception. Do nothing and let PLM throw exception.
1783 /*
1784 ELSE
1785 x_return_status := FND_API.G_RET_STS_SUCCESS;
1786 RETURN;
1787 */
1788
1789 END IF;
1790 END IF;
1791
1792 --DBMS_OUTPUT.PUT_LINE('Attr validation');
1793
1794 --pass the entire attribute data to a local table which can be used for manipulation
1795 l_ext_attr_tbl := p_ext_attr_tbl;
1796
1797 IF p_ext_attr_grp_tbl(i).mapping_req = 'Y' THEN
1798 --need to get the metadata definition dor attributes defined for attribute group
1799 --Call Procedure Get_Attr_Group_Metadata
1800
1801 --DBMS_OUTPUT.PUT_LINE('Calling Attr Grp Metadata');
1802 Get_Attr_Group_Metadata(
1803 p_attr_group_id => p_ext_attr_grp_tbl(i).attr_group_id
1804 ,x_application_id => l_application_id
1805 ,x_attr_group_type => l_attr_group_type
1806 ,x_attr_group_name => l_attr_group_name);
1807
1808 IF l_application_id IS NOT NULL AND
1809 l_attr_group_type IS NOT NULL AND
1810 l_attr_group_name IS NOT NULL THEN
1811
1812 --get the Attribute Metadata defined for this Attribute Group.
1813 Get_Attr_Metadata(
1814 p_row_identifier => p_ext_attr_grp_tbl(i).row_identifier
1815 ,p_application_id => l_application_id
1816 ,p_attr_group_type => l_attr_group_type
1817 ,p_attr_group_name => l_attr_group_name
1818 ,p_ext_attr_tbl => l_ext_attr_tbl
1819 );
1820
1821 END IF; -- end if of l_application_id IS NULL ..
1822
1823 END IF; -- end if of IF p_ext_attr_grp_tbl(i).mapping_req = 'Y'
1824
1825
1826 --Get the attributes relevant to the attribute group and prepare to pass it to PLM
1827 -- Instanciate a new EGO_USER_ATTR_DATA_TABLE or clear out the existing one --
1828 IF p_ext_attr_grp_tbl(i).context <> l_old_context AND
1829 l_old_context IS NOT NULL THEN
1830 IF (l_user_attr_data_table IS NULL) THEN
1831 l_user_attr_data_table := EGO_USER_ATTR_DATA_TABLE();
1832 ELSE
1833 l_user_attr_data_table.DELETE();
1834 END IF;
1835 ELSE
1836 IF (l_user_attr_data_table IS NULL) THEN
1837 l_user_attr_data_table := EGO_USER_ATTR_DATA_TABLE();
1838 END IF;
1839 END IF;
1840
1841 --DBMS_OUTPUT.PUT_LINE('Instanciated AAttr object');
1842
1843 FOR j IN l_ext_attr_tbl.FIRST .. l_ext_attr_tbl.LAST
1844 LOOP
1845 IF p_ext_attr_grp_tbl(i).row_identifier = l_ext_attr_tbl(j).row_identifier THEN
1846 l_user_attr_data_table.EXTEND();
1847 l_user_attr_data_table(l_user_attr_data_table.LAST) := EGO_USER_ATTR_DATA_OBJ(l_ext_attr_tbl(j).row_identifier, l_ext_attr_tbl(j).attr_name,
1848 l_ext_attr_tbl(j).attr_value_str,l_ext_attr_tbl(j).attr_value_num,
1849 l_ext_attr_tbl(j).attr_value_date,
1850 l_ext_attr_tbl(j).ATTR_VALUE_DISPLAY, NULL, NULL);
1851
1852 --DBMS_OUTPUT.PUT_LINE('populated EGO_USER_ATTR_DATA_OBJ');
1853 END IF;
1854
1855 END LOOP;
1856
1857 --set the old context
1858 l_old_context := p_ext_attr_grp_tbl(i).context;
1859
1860 --DBMS_OUTPUT.PUT_LINE('Old context'||l_old_context);
1861
1862 IF i = l_count THEN
1863 --DBMS_OUTPUT.PUT_LINE('i in l_count');
1864 --on last record
1865 EGO_USER_ATTRS_DATA_PUB.Process_User_Attrs_Data(
1866 p_api_version => 1
1867 ,p_object_name => 'CS_PARTY_ROLE'
1868 ,p_attributes_row_table => l_user_attr_row_table
1869 ,p_attributes_data_table => l_user_attr_data_table
1870 ,p_pk_column_name_value_pairs => l_pk_name_value_pair
1871 ,p_class_code_name_value_pairs => l_class_code_name_value_pairs
1872 ,p_user_privileges_on_object => l_user_privileges_on_object
1873 ,p_entity_id => NULL
1874 ,p_entity_index => NULL
1875 ,p_entity_code => NULL
1876 ,p_debug_level => 0
1877 ,p_init_error_handler => FND_API.G_TRUE
1878 ,p_write_to_concurrent_log => FND_API.G_TRUE
1879 ,p_init_fnd_msg_list => FND_API.G_FALSE
1880 ,p_log_errors => FND_API.G_TRUE
1881 ,p_add_errors_to_fnd_stack => FND_API.G_TRUE
1882 ,p_commit => FND_API.G_FALSE
1883 ,x_failed_row_id_list => x_failed_row_id_list
1884 ,x_return_status => x_return_status
1885 ,x_errorcode => x_errorcode
1886 ,x_msg_count => x_msg_count
1887 ,x_msg_data => x_msg_data );
1888
1889 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1890 FND_MESSAGE.Set_Name('CS', 'CS_API_PROC_SR_EXT_ATTR_WARN');
1891 FND_MSG_PUB.Add;
1892 RAISE FND_API.G_EXC_ERROR;
1893 END IF;
1894
1895
1896 -- Fix bug 5230517
1897 -- Audit only in CREATE and UPDATE operations
1898 IF p_ext_attr_grp_tbl(i).operation <> 'DELETE' THEN
1899 For i IN 1..l_new_Ext_Attr_Audit_table.COUNT LOOP
1900 populate_pr_ext_attr_audit_rec(
1901 p_incident_id => to_number(l_new_Ext_Attr_Audit_table(i).pk_column_1)
1902 ,p_party_id => to_number(l_new_Ext_Attr_Audit_table(i).pk_column_2)
1903 ,p_contact_type => l_new_Ext_Attr_Audit_table(i).pk_column_3
1904 ,p_party_role_code => l_new_Ext_Attr_Audit_table(i).pk_column_4
1905 ,p_context => l_new_Ext_Attr_Audit_table(i).context
1906 ,p_attr_group_id => l_new_Ext_Attr_Audit_table(i).attr_group_id
1907 ,p_row_id => l_new_Ext_Attr_Audit_table(i).row_identifier
1908 ,p_ext_attr_tbl => p_ext_attr_tbl
1909 ,p_sr_audit_rec_table => l_new_Ext_Attr_Audit_table
1910 ,x_rec_found => l_rec_found);
1911
1912 IF l_rec_found = 'N' THEN
1913 --raise error
1914 FND_MESSAGE.Set_Name('CS', 'CS_API_POP_PR_EXT_ATTR_WARN');
1915 FND_MSG_PUB.Add;
1916 RAISE FND_API.G_EXC_ERROR;
1917 END IF;
1918 END LOOP;
1919
1920 --DBMS_OUTPUT.PUT_LINE('populated PR');
1921 --DBMS_OUTPUT.PUT_LINE('l_new_Ext_Attr_Audit_table'||l_new_Ext_Attr_Audit_table.COUNT);
1922
1923 --call the create audit procedure
1924 Create_Ext_Attr_Audit(
1925 P_SR_EA_new_Audit_rec_table => l_new_Ext_Attr_Audit_table
1926 ,P_SR_EA_old_Audit_rec_table => l_old_Ext_Attr_Audit_table
1927 ,p_object_name => 'CS_PARTY_ROLE'
1928 ,p_modified_by => p_modified_by
1929 ,p_modified_on => p_modified_on
1930 ,x_return_status => x_return_status
1931 ,x_msg_count => x_msg_count
1932 ,x_msg_data => x_msg_data);
1933
1934 --DBMS_OUTPUT.PUT_LINE('after calling Create_Ext_Attr_Audit');
1935 END IF; -- bug fix 5230517_eof
1936 END IF; -- l_count_if_eof
1937
1938 --5230846
1939 ELSE -- if not CS_SERVICE_REQUEST and CS_PARTY_ROLE
1940 CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg(
1941 p_token_an => l_api_name_full
1942 ,p_token_v => p_ext_attr_grp_tbl(i).object_name
1943 ,p_token_p => 'OBJECT_NAME');
1944 RAISE FND_API.G_EXC_ERROR;
1945 END IF; -- object name check eof
1946 END LOOP;
1947
1948 ELSE
1949
1950 --DBMS_OUTPUT.PUT_LINE('returning');
1951 RETURN;
1952
1953 END IF;
1954 IF FND_API.To_Boolean(p_commit)
1955 THEN
1956 COMMIT WORK;
1957 END IF;
1958
1959 EXCEPTION
1960
1961 WHEN FND_API.G_EXC_ERROR THEN
1962 ROLLBACK TO CS_EXTENSIBILITY_PVT;
1963 x_return_status := FND_API.G_RET_STS_ERROR;
1964 FND_MSG_PUB.Count_And_Get
1965 ( p_count => x_msg_count,
1966 p_data => x_msg_data
1967 );
1968 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1969 ROLLBACK TO CS_EXTENSIBILITY_PVT;
1970 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1971 FND_MSG_PUB.Count_And_Get
1972 ( p_count => x_msg_count,
1973 p_data => x_msg_data
1974 );
1975 WHEN OTHERS THEN
1976 ROLLBACK TO CS_EXTENSIBILITY_PVT;
1977 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1978 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1979 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1980 END IF;
1981 FND_MSG_PUB.Count_And_Get
1982 ( p_count => x_msg_count,
1983 p_data => x_msg_data
1984 );
1985
1986 END Process_SR_Ext_Attrs;
1987
1988
1989 PROCEDURE Get_Attr_Group_Metadata (
1990 p_attr_group_id IN NUMBER
1991 ,x_application_id OUT NOCOPY NUMBER
1992 ,x_attr_group_type OUT NOCOPY VARCHAR2
1993 ,x_attr_group_name OUT NOCOPY VARCHAR2
1994 )IS
1995 Cursor c_get_attr_group_cur(p_attr_group_id IN NUMBER) IS
1996 select application_id,
1997 attr_group_type,
1998 attr_group_name
1999 from ego_attr_groups_v
2000 where attr_group_id = p_attr_group_id;
2001
2002 BEGIN
2003
2004 OPEN c_get_attr_group_cur(p_attr_group_id);
2005 FETCH c_get_attr_group_cur INTO x_application_id, x_attr_group_type,x_attr_group_name ;
2006 CLOSE c_get_attr_group_cur;
2007
2008 EXCEPTION
2009
2010 WHEN OTHERS THEN
2011 null;
2012 --FND_MESSAGE.SET_NAME(G_APP_NAME);
2013 --FND_MESSAGE.SET_TOKEN(token => G_PROC_NAME_TOKEN, value => l_prog_name);
2014 --FND_MESSAGE.SET_TOKEN(token => G_SQLCODE_TOKEN, value => SQLCODE);
2015 --FND_MESSAGE.SET_TOKEN(token => G_SQLERRM_TOKEN, value => SQLERRM);
2016 --FND_MSG_PUB.add;
2017
2018 END Get_Attr_Group_Metadata;
2019
2020 PROCEDURE Get_Attr_Metadata (
2021 p_row_identifier IN NUMBER
2022 ,p_application_id IN NUMBER
2023 ,p_attr_group_type IN VARCHAR2
2024 ,p_attr_group_name IN VARCHAR2
2025 ,p_ext_attr_tbl IN OUT NOCOPY CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE) IS
2026
2027 CURSOR c_get_attr_cur IS
2028 SELECT database_column, attr_name
2029 FROM ego_attrs_v
2030 WHERE application_id = p_application_id
2031 AND attr_group_type = p_attr_group_type
2032 AND attr_group_name = p_attr_group_name;
2033
2034 TYPE attr_rec_type IS RECORD (database_column VARCHAR2(30), attr_name VARCHAR2(30));
2035 TYPE attr_tbl_type IS TABLE OF attr_rec_type INDEX BY BINARY_INTEGER;
2036 l_attr_tbl attr_tbl_type;
2037
2038 i BINARY_INTEGER := 0;
2039
2040 BEGIN
2041
2042 IF p_ext_attr_tbl.COUNT = 0 THEN
2043 --DBMS_OUTPUT.PUT_LINE('NO ROWS FOUND IN EXT ATTR TABLE');
2044 -- RAISE ERROR;
2045 null;
2046 END IF;
2047
2048 FOR l_attr_rec IN c_get_attr_cur LOOP
2049 l_attr_tbl(i).database_column := l_attr_rec.database_column;
2050 l_attr_tbl(i).attr_name := l_attr_rec.attr_name;
2051 i := i + 1;
2052 END LOOP;
2053
2054 FOR i IN p_ext_attr_tbl.FIRST .. p_ext_attr_tbl.LAST LOOP
2055
2056 IF p_ext_attr_tbl.EXISTS(i) THEN
2057
2058 IF p_ext_attr_tbl(i).row_identifier = p_row_identifier THEN
2059
2060 IF p_ext_attr_tbl(i).column_name IS NULL THEN
2061 --DBMS_OUTPUT.PUT_LINE('COLUMN_NAME value not specified in P_EXT_ATTR_TBL row '||i);
2062 --raise error
2063 null;
2064 ELSE
2065
2066 FOR j IN l_attr_tbl.FIRST .. l_attr_tbl.LAST LOOP
2067
2068 IF l_attr_tbl(j).database_column = p_ext_attr_tbl(i).column_name THEN
2069
2070 p_ext_attr_tbl(i).attr_name := l_attr_tbl(j).attr_name;
2071 EXIT;
2072 END IF;
2073 END LOOP;
2074 END IF;
2075 END IF;
2076 END IF;
2077 END LOOP;
2078 END Get_Attr_Metadata;
2079
2080
2081 PROCEDURE populate_pr_ext_attr_audit_rec(
2082 p_incident_id IN NUMBER
2083 ,p_party_id IN NUMBER
2084 ,p_contact_type IN VARCHAR2
2085 ,p_party_role_code IN VARCHAR2
2086 ,p_context IN VARCHAR2
2087 ,p_attr_group_id IN NUMBER
2088 ,p_row_id IN NUMBER
2089 ,p_ext_attr_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE
2090 ,p_sr_audit_rec_table IN OUT NOCOPY Ext_Attr_Audit_Tbl_Type
2091 ,x_rec_found OUT NOCOPY VARCHAR2
2092 ) IS
2093
2094
2095 Cursor c_get_ext_attr_db_rec IS
2096 select * from cs_sr_contacts_ext
2097 where incident_id = p_incident_id
2098 and party_id = p_party_id
2099 and contact_type = p_contact_type
2100 and party_role_code = p_party_role_code
2101 and context = p_context
2102 and attr_group_id = p_attr_group_id;
2103
2104 Cursor c_is_multi_row IS
2105 select multi_row_code
2106 from ego_attr_groups_v
2107 where attr_group_id = p_attr_group_id;
2108
2109 Cursor c_get_unique_key (p_application_id IN NUMBER,
2110 p_attr_group_name IN VARCHAR2,
2111 p_attr_group_type IN VARCHAR2
2112 ) IS
2113 select attr_name, database_column
2114 from ego_attrs_v
2115 where attr_group_name = p_attr_group_name
2116 and attr_group_type = p_attr_group_type
2117 and application_id = p_application_id
2118 and unique_key_flag = 'Y';
2119
2120
2121 i NUMBER := 0;
2122 l_old_Ext_Attr_Audit_Tbl Ext_Attr_Audit_Tbl_Type;
2123 l_multi_row_code VARCHAR2(1);
2124 l_attribute_name VARCHAR2(30);
2125 l_database_column_name VARCHAR2(30);
2126 l_application_id NUMBER;
2127 l_attr_group_type VARCHAR2(30);
2128 l_attr_group_name VARCHAR2(80);
2129 l_unique_value_str VARCHAR2(4000);
2130 L_unique_value_num NUMBER;
2131 l_unique_value_date DATE;
2132 l_unique_value_uom VARCHAR2(3);
2133
2134 l_sql VARCHAR2(4000);
2135 g_newline varchar2(8) := fnd_global.newline;
2136 l_cs_sr_contacts_ext_rec cs_sr_contacts_ext%ROWTYPE;
2137
2138
2139 v_get_ext_attr_db_rec c_get_ext_attr_db_rec%ROWTYPE;
2140
2141 l_count NUMBER := 0;
2142
2143 l_create_new_record VARCHAR2(1) := 'N';
2144 l_audit_table_empty VARCHAR2(1) := 'N';
2145
2146 p_col_1 NUMBER := p_incident_id;
2147 p_col_2 NUMBER := p_party_id;
2148 p_col_3 VARCHAR2(50) := p_contact_type;
2149 p_col_4 VARCHAR2(50) := p_party_role_code;
2150 p_col_5 VARCHAR2(30) := p_context;
2151 p_col_6 NUMBER := p_attr_group_id;
2152 p_col_7 VARCHAR2(150);
2153 p_use_col7_flag VARCHAR2(1) := 'N';
2154
2155
2156 BEGIN
2157
2158 --get the correct count of the records in the audit table
2159 --DBMS_OUTPUT.PUT_LINE('p_sr_audit_rec_table.COUNT'||p_sr_audit_rec_table.COUNT);
2160
2161 l_count := p_sr_audit_rec_table.COUNT;
2162
2163 IF p_attr_group_id IS NOT NULL AND
2164 p_incident_id IS NOT NULL AND
2165 p_party_id IS NOT NULL AND
2166 p_contact_type IS NOT NULL AND
2167 p_party_role_code IS NOT NULL AND
2168 p_context IS NOT NULL THEN
2169
2170 --DBMS_OUTPUT.PUT_LINE('All parameters passed');
2171
2172 --check if attribute group is multi_row_enabled
2173 OPEN c_is_multi_row;
2174 FETCH c_is_multi_row INTO l_multi_row_code;
2175 CLOSE c_is_multi_row;
2176
2177 --DBMS_OUTPUT.PUT_LINE('Multi-Row flag is :'||l_multi_row_code); --executed
2178
2179 IF l_multi_row_code = 'Y' then
2180
2181 --DBMS_OUTPUT.PUT_LINE('In Multi-Row of PR');
2182
2183 -- first get the attribute_group_name, attribute_group_type and application_id
2184 -- for this attribute_group_id
2185 Get_Attr_Group_Metadata (
2186 p_attr_group_id => p_attr_group_id
2187 ,x_application_id => l_application_id
2188 ,x_attr_group_type => l_attr_group_type
2189 ,x_attr_group_name => l_attr_group_name
2190 );
2191
2192 --DBMS_OUTPUT.PUT_LINE('l_application_id'||l_application_id);
2193 --DBMS_OUTPUT.PUT_LINE('l_attr_group_type'||l_attr_group_type);
2194 --DBMS_OUTPUT.PUT_LINE('l_attr_group_name'||l_attr_group_name);
2195
2196 IF l_application_id IS NOT NULL AND
2197 l_attr_group_type IS NOT NULL AND
2198 l_attr_group_name IS NOT NULL THEN
2199
2200 --DBMS_OUTPUT.PUT_LINE('Trikey is not null');
2201 --DBMS_OUTPUT.PUT_LINE('calling unique key logic');
2202
2203 --get the unique attribute maintained for this multi-row attribute group
2204 OPEN c_get_unique_key (l_application_id
2205 ,l_attr_group_name
2206 ,l_attr_group_type);
2207 FETCH c_get_unique_key into l_attribute_name, l_database_column_name;
2208 CLOSE c_get_unique_key;
2209
2210 --DBMS_OUTPUT.PUT_LINE('l_attribute_name'||l_attribute_name);
2211 --DBMS_OUTPUT.PUT_LINE('l_database_column_name'||l_database_column_name);
2212
2213 IF l_attribute_name IS NOT NULL THEN
2214
2215 --DBMS_OUTPUT.PUT_LINE('l_attribute_name is not null');
2216
2217 --traverse through the p_ext_attr_tbl and
2218 --get the value for the unique attribute group
2219 --this code assumes that the unique attribute is non-updateable
2220 --DBMS_OUTPUT.PUT_LINE('p_ext_attr_tbl.COUNT'||p_ext_attr_tbl.COUNT);
2221
2222 FOR i IN 1..p_ext_attr_tbl.COUNT LOOP
2223
2224 --DBMS_OUTPUT.PUT_LINE('row_identifier'||p_row_id);
2225 --DBMS_OUTPUT.PUT_LINE('p_ext_attr_tbl(i).row_identifier'||p_ext_attr_tbl(i).row_identifier);
2226
2227 --DBMS_OUTPUT.PUT_LINE('l_attribute_name'||l_attribute_name);
2228 --DBMS_OUTPUT.PUT_LINE('p_ext_attr_tbl(i).attr_name'||p_ext_attr_tbl(i).attr_name);
2229
2230 --DBMS_OUTPUT.PUT_LINE('column_name'||l_database_column_name);
2231 --DBMS_OUTPUT.PUT_LINE('p_ext_attr_tbl(i).column_name'||p_ext_attr_tbl(i).column_name);
2232
2233
2234 IF p_ext_attr_tbl(i).row_identifier = p_row_id AND
2235 p_ext_attr_tbl(i).attr_name = l_attribute_name OR
2236 p_ext_attr_tbl(i).column_name = l_database_column_name THEN
2237 --match found
2238 --get the unique value. However the unique value may be a string
2239 --date, character, or uom so we have to check all possible combinations.
2240 --DBMS_OUTPUT.PUT_LINE('attr_value_str' || p_ext_attr_tbl(i).attr_value_str);
2241 --DBMS_OUTPUT.PUT_LINE('attr_value_num' || p_ext_attr_tbl(i).attr_value_num);
2242 --DBMS_OUTPUT.PUT_LINE('finding the unique attr');
2243
2244 l_sql := 'SELECT * FROM CS_SR_CONTACTS_EXT WHERE INCIDENT_ID = :p_col_1';
2245 l_sql := l_sql||g_newline ||'AND PARTY_ID = :p_col_2';
2246 l_sql := l_sql||g_newline||'AND CONTACT_TYPE = :p_col_3';
2247 l_sql := l_sql||g_newline||'AND PARTY_ROLE_CODE = :p_col4';
2248 l_sql := l_sql||g_newline||'AND CONTEXT = :p_col_5';
2249 l_sql := l_sql||g_newline||' AND ATTR_GROUP_ID = :p_col_6';
2250
2251 --DBMS_OUTPUT.PUT_LINE('l_sql'||l_sql);
2252
2253 p_use_col7_flag :='N';
2254
2255 IF p_ext_attr_tbl(i).attr_value_str IS NOT NULL Then
2256 --unique value is a string
2257 l_unique_value_str := p_ext_attr_tbl(i).attr_value_str;
2258 --dynamically build a cusrsor and get value from the database;
2259 --assisgn the value to the record structure
2260
2261 l_sql := l_sql||g_newline;
2262 l_sql := l_sql||g_newline ||' AND '||l_database_column_name||' = :p_col7';
2263 p_col_7 := l_unique_value_str;
2264 p_use_col7_flag := 'Y';
2265
2266 -- l_sql := l_sql||' and '||l_database_column_name||' = '||l_unique_value_str;
2267
2268 ELSIF p_ext_attr_tbl(i).attr_value_num IS NOT NULL Then
2269 l_unique_value_num := p_ext_attr_tbl(i).attr_value_num;
2270 --dynamically build a cusrsor and get value from the database;
2271 --assisgn the value to the record structure
2272
2273 --DBMS_OUTPUT.PUT_LINE('attr_value_num is not null');
2274 --DBMS_OUTPUT.PUT_LINE('l_database_column_name'||l_database_column_name);
2275 --DBMS_OUTPUT.PUT_LINE('l_unique_value_num'||l_unique_value_num);
2276
2277 l_sql := l_sql||g_newline;
2278 l_sql := l_sql||' AND '||l_database_column_name||' = '||' = :p_col7';
2279 p_col_7 := l_unique_value_num;
2280 p_use_col7_flag := 'Y';
2281
2282 -- l_sql := l_sql||' and '||l_database_column_name||' = '||l_unique_value_num;
2283
2284 ELSIF p_ext_attr_tbl(i).attr_value_date IS NOT NULL Then
2285 l_unique_value_date := p_ext_attr_tbl(i).attr_value_date;
2286
2287 l_sql := l_sql||g_newline;
2288 l_sql := l_sql||' AND '||l_database_column_name||' = '||' = :p_col7';
2289 p_col_7 := l_unique_value_date;
2290 p_use_col7_flag := 'Y';
2291
2292 -- l_sql := l_sql||' and '||l_database_column_name||' = '||l_unique_value_date;
2293 ELSE
2294 IF p_ext_attr_tbl(i).attr_unit_of_measure IS NOT NULL then
2295 l_unique_value_uom := p_ext_attr_tbl(i).attr_unit_of_measure;
2296
2297 l_sql := l_sql||g_newline;
2298 l_sql := l_sql||' AND '||l_database_column_name||' = '||' = :p_col7';
2299 p_col_7 := l_unique_value_uom;
2300 p_use_col7_flag := 'Y';
2301
2302 -- l_sql := l_sql||' and '||l_database_column_name||' = '||l_unique_value_uom;
2303 END IF;
2304 END IF;
2305 EXIT;
2306 END IF; -- end if of row_identifier, l_attribute_name, l_database_name not null
2307 END LOOP;-- end of loop
2308
2309 BEGIN
2310
2311 IF p_use_col7_flag ='Y' THEN
2312 EXECUTE IMMEDIATE l_sql INTO l_cs_sr_contacts_ext_rec
2313 USING p_col_1, p_col_2, p_col_3, p_col_4, p_col_5, p_col_6,p_col_7;
2314 ELSE
2315 EXECUTE IMMEDIATE l_sql INTO l_cs_sr_contacts_ext_rec
2316 USING p_col_1, p_col_2, p_col_3, p_col_4, p_col_5, p_col_6;
2317 END IF;
2318
2319 EXCEPTION
2320 WHEN NO_DATA_FOUND THEN
2321 x_rec_found := 'N';
2322 END;
2323
2324 --Check l_cs_sr_contacts_ext_rec if record exists
2325 --DBMS_OUTPUT.PUT_LINE('populated the sql');
2326 --DBMS_OUTPUT.PUT_LINE('Extension_Id '||l_cs_sr_contacts_ext_rec.extension_id);
2327
2328 IF l_cs_sr_contacts_ext_rec.extension_id IS NOT NULL THEN
2329 -- Record exists
2330 x_rec_found := 'Y';
2331 -- pass the value from the cursor variable to the audit table
2332 -- pass the value from the cursor variable to the l_old_Ext_Attr_Audit_Rec table
2333 --DBMS_OUTPUT.PUT_LINE('Record Exists');
2334
2335 -- loop through the audit table passed in and see if you can find the record
2336 -- this is for a 'CREATE' situation
2337
2338 --DBMS_OUTPUT.PUT_LINE('p_sr_audit_rec_table.COUNT'||p_sr_audit_rec_table.COUNT);
2339
2340 IF p_sr_audit_rec_table.COUNT > 0 THEN
2341
2342 --DBMS_OUTPUT.PUT_LINE('In loooop');
2343 FOR i IN 1.. p_sr_audit_rec_table.COUNT LOOP
2344 IF p_sr_audit_rec_table(i).pk_column_1 = p_incident_id AND
2345 p_sr_audit_rec_table(i).pk_column_2 = p_party_id AND
2346 p_sr_audit_rec_table(i).pk_column_3 = p_contact_type AND
2347 p_sr_audit_rec_table(i).pk_column_4 = p_party_role_code AND
2348 p_sr_audit_rec_table(i).context = p_context AND
2349 p_sr_audit_rec_table(i).attr_group_id = p_attr_group_id AND
2350 p_sr_audit_rec_table(i).row_identifier = p_row_id THEN
2351
2352 IF p_sr_audit_rec_table(i).extension_id IS NULL THEN
2353 l_create_new_record := 'N';
2354 --DBMS_OUTPUT.PUT_LINE('l_create_new_record'||l_create_new_record);
2355 --DBMS_OUTPUT.PUT_LINE('Match found for audit record');
2356
2357 p_sr_audit_rec_table(i).extension_id := l_cs_sr_contacts_ext_rec.extension_id;
2358 p_sr_audit_rec_table(i).pk_column_1 := p_incident_id;
2359 p_sr_audit_rec_table(i).pk_column_2 := p_party_id;
2360 p_sr_audit_rec_table(i).pk_column_3 := p_contact_type;
2361 p_sr_audit_rec_table(i).pk_column_4 := p_party_role_code;
2362 p_sr_audit_rec_table(i).pk_column_5 := null;
2363 p_sr_audit_rec_table(i).CONTEXT := p_context;
2364 p_sr_audit_rec_table(i).ATTR_GROUP_ID := p_attr_group_id;
2365 p_sr_audit_rec_table(i).C_EXT_ATTR1 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR1;
2366 p_sr_audit_rec_table(i).C_EXT_ATTR2 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR2;
2367 p_sr_audit_rec_table(i).C_EXT_ATTR3 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR3;
2368 p_sr_audit_rec_table(i).C_EXT_ATTR4 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR4;
2369 p_sr_audit_rec_table(i).C_EXT_ATTR5 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR5;
2370 p_sr_audit_rec_table(i).C_EXT_ATTR6 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR6;
2371 p_sr_audit_rec_table(i).C_EXT_ATTR7 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR7;
2372 p_sr_audit_rec_table(i).C_EXT_ATTR8 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR8;
2373 p_sr_audit_rec_table(i).C_EXT_ATTR9 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR9;
2374 p_sr_audit_rec_table(i).C_EXT_ATTR10 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR10;
2375 p_sr_audit_rec_table(i).C_EXT_ATTR11 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR11;
2376 p_sr_audit_rec_table(i).C_EXT_ATTR12 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR12;
2377 p_sr_audit_rec_table(i).C_EXT_ATTR13 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR13;
2378 p_sr_audit_rec_table(i).C_EXT_ATTR14 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR14;
2379 p_sr_audit_rec_table(i).C_EXT_ATTR15 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR15;
2380 p_sr_audit_rec_table(i).C_EXT_ATTR16 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR16;
2381 p_sr_audit_rec_table(i).C_EXT_ATTR17 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR17;
2382 p_sr_audit_rec_table(i).C_EXT_ATTR18 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR18;
2383 p_sr_audit_rec_table(i).C_EXT_ATTR19 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR19; p_sr_audit_rec_table(i).C_EXT_ATTR20 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR20;
2384 p_sr_audit_rec_table(i).C_EXT_ATTR21 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR21;
2385 p_sr_audit_rec_table(i).C_EXT_ATTR22 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR22;
2386 p_sr_audit_rec_table(i).C_EXT_ATTR23 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR23;
2387 p_sr_audit_rec_table(i).C_EXT_ATTR24 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR24;
2388 p_sr_audit_rec_table(i).C_EXT_ATTR25 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR25;
2389 p_sr_audit_rec_table(i).C_EXT_ATTR26 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR26;
2390 p_sr_audit_rec_table(i).C_EXT_ATTR27 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR27;
2391 p_sr_audit_rec_table(i).C_EXT_ATTR28 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR28;
2392 p_sr_audit_rec_table(i).C_EXT_ATTR29 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR29;
2393 p_sr_audit_rec_table(i).C_EXT_ATTR30 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR30;
2394 p_sr_audit_rec_table(i).C_EXT_ATTR31 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR31;
2395 p_sr_audit_rec_table(i).C_EXT_ATTR32 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR32;
2396 p_sr_audit_rec_table(i).C_EXT_ATTR33 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR33;
2397 p_sr_audit_rec_table(i).C_EXT_ATTR34 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR34;
2398 p_sr_audit_rec_table(i).C_EXT_ATTR35 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR35;
2399 p_sr_audit_rec_table(i).C_EXT_ATTR36 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR36;
2400 p_sr_audit_rec_table(i).C_EXT_ATTR37 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR37;
2401 p_sr_audit_rec_table(i).C_EXT_ATTR38 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR38;
2402 p_sr_audit_rec_table(i).C_EXT_ATTR39 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR38;
2403 p_sr_audit_rec_table(i).C_EXT_ATTR40 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR40;
2404 p_sr_audit_rec_table(i).C_EXT_ATTR41 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR41;
2405 p_sr_audit_rec_table(i).C_EXT_ATTR42 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR42;
2406 p_sr_audit_rec_table(i).C_EXT_ATTR43 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR43;
2407 p_sr_audit_rec_table(i).C_EXT_ATTR44 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR44;
2408 p_sr_audit_rec_table(i).C_EXT_ATTR45 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR45;
2409 p_sr_audit_rec_table(i).C_EXT_ATTR46 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR46;
2410 p_sr_audit_rec_table(i).C_EXT_ATTR47 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR47;
2411 p_sr_audit_rec_table(i).C_EXT_ATTR48 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR48;
2412 p_sr_audit_rec_table(i).C_EXT_ATTR49 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR49;
2413 p_sr_audit_rec_table(i).C_EXT_ATTR50 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR50;
2414 p_sr_audit_rec_table(i).N_EXT_ATTR1 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR1;
2415 p_sr_audit_rec_table(i).N_EXT_ATTR2 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR2;
2416 p_sr_audit_rec_table(i).N_EXT_ATTR3 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR3;
2417 p_sr_audit_rec_table(i).N_EXT_ATTR4 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR4;
2418 p_sr_audit_rec_table(i).N_EXT_ATTR5 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR5;
2419 p_sr_audit_rec_table(i).N_EXT_ATTR6 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR6;
2420 p_sr_audit_rec_table(i).N_EXT_ATTR7 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR7;
2421 p_sr_audit_rec_table(i).N_EXT_ATTR8 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR8;
2422 p_sr_audit_rec_table(i).N_EXT_ATTR9 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR9;
2423 p_sr_audit_rec_table(i).N_EXT_ATTR10 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR10;
2424 p_sr_audit_rec_table(i).N_EXT_ATTR11 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR11;
2425 p_sr_audit_rec_table(i).N_EXT_ATTR12 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR12;
2426 p_sr_audit_rec_table(i).N_EXT_ATTR13 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR13;
2427 p_sr_audit_rec_table(i).N_EXT_ATTR14 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR14;
2428 p_sr_audit_rec_table(i).N_EXT_ATTR15 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR15;
2429 p_sr_audit_rec_table(i).N_EXT_ATTR16 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR16;
2430 p_sr_audit_rec_table(i).N_EXT_ATTR17 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR17;
2431 p_sr_audit_rec_table(i).N_EXT_ATTR18 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR18;
2432 p_sr_audit_rec_table(i).N_EXT_ATTR19 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR19;
2433 p_sr_audit_rec_table(i).N_EXT_ATTR20 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR20;
2434 p_sr_audit_rec_table(i).N_EXT_ATTR21 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR21;
2435 p_sr_audit_rec_table(i).N_EXT_ATTR22 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR22;
2436 p_sr_audit_rec_table(i).N_EXT_ATTR23 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR23;
2437 p_sr_audit_rec_table(i).N_EXT_ATTR24 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR24;
2438 p_sr_audit_rec_table(i).N_EXT_ATTR25 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR25;
2439 p_sr_audit_rec_table(i).D_EXT_ATTR1 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR1;
2440 p_sr_audit_rec_table(i).D_EXT_ATTR2 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR2;
2441 p_sr_audit_rec_table(i).D_EXT_ATTR3 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR3;
2442 p_sr_audit_rec_table(i).D_EXT_ATTR4 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR4;
2443 p_sr_audit_rec_table(i).D_EXT_ATTR5 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR5;
2444 p_sr_audit_rec_table(i).D_EXT_ATTR6 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR6;
2445 p_sr_audit_rec_table(i).D_EXT_ATTR7 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR7;
2446 p_sr_audit_rec_table(i).D_EXT_ATTR8 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR8;
2447 p_sr_audit_rec_table(i).D_EXT_ATTR9 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR9;
2448 p_sr_audit_rec_table(i).D_EXT_ATTR10 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR10;
2449 p_sr_audit_rec_table(i).D_EXT_ATTR11 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR11;
2450 p_sr_audit_rec_table(i).D_EXT_ATTR12 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR12;
2451 p_sr_audit_rec_table(i).D_EXT_ATTR13 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR13;
2452 p_sr_audit_rec_table(i).D_EXT_ATTR14 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR14;
2453 p_sr_audit_rec_table(i).D_EXT_ATTR15 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR15;
2454 p_sr_audit_rec_table(i).D_EXT_ATTR16 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR16;
2455 p_sr_audit_rec_table(i).D_EXT_ATTR17 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR17;
2456 p_sr_audit_rec_table(i).D_EXT_ATTR18 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR18;
2457 p_sr_audit_rec_table(i).D_EXT_ATTR19 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR19;
2458 p_sr_audit_rec_table(i).D_EXT_ATTR20 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR20;
2459 p_sr_audit_rec_table(i).D_EXT_ATTR21 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR21;
2460 p_sr_audit_rec_table(i).D_EXT_ATTR22 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR22;
2461 p_sr_audit_rec_table(i).D_EXT_ATTR23 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR23;
2462 p_sr_audit_rec_table(i).D_EXT_ATTR24 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR24;
2463 p_sr_audit_rec_table(i).D_EXT_ATTR25 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR25;
2464 p_sr_audit_rec_table(i).UOM_EXT_ATTR1 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR1;
2465 p_sr_audit_rec_table(i).UOM_EXT_ATTR2 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR2;
2466 p_sr_audit_rec_table(i).UOM_EXT_ATTR3 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR3;
2467 p_sr_audit_rec_table(i).UOM_EXT_ATTR4 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR4;
2468 p_sr_audit_rec_table(i).UOM_EXT_ATTR5 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR5;
2469 p_sr_audit_rec_table(i).UOM_EXT_ATTR6 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR6;
2470 p_sr_audit_rec_table(i).UOM_EXT_ATTR7 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR7;
2471 p_sr_audit_rec_table(i).UOM_EXT_ATTR8 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR8;
2472 p_sr_audit_rec_table(i).UOM_EXT_ATTR9 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR9;
2473 p_sr_audit_rec_table(i).UOM_EXT_ATTR10 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR10;
2474 p_sr_audit_rec_table(i).UOM_EXT_ATTR11 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR11;
2475 p_sr_audit_rec_table(i).UOM_EXT_ATTR12 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR12;
2476 p_sr_audit_rec_table(i).UOM_EXT_ATTR13 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR13;
2477 p_sr_audit_rec_table(i).UOM_EXT_ATTR14 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR14;
2478 p_sr_audit_rec_table(i).UOM_EXT_ATTR15 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR15;
2479 p_sr_audit_rec_table(i).UOM_EXT_ATTR16 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR16;
2480 p_sr_audit_rec_table(i).UOM_EXT_ATTR17 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR17;
2481 p_sr_audit_rec_table(i).UOM_EXT_ATTR18 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR18;
2482 p_sr_audit_rec_table(i).UOM_EXT_ATTR19 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR19;
2483 p_sr_audit_rec_table(i).UOM_EXT_ATTR20 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR20;
2484 p_sr_audit_rec_table(i).UOM_EXT_ATTR21 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR21;
2485 p_sr_audit_rec_table(i).UOM_EXT_ATTR22 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR22;
2486 p_sr_audit_rec_table(i).UOM_EXT_ATTR23 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR23;
2487 p_sr_audit_rec_table(i).UOM_EXT_ATTR24 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR24;
2488 p_sr_audit_rec_table(i).UOM_EXT_ATTR25 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR25;
2489
2490 -- need to exit;
2491 EXIT;
2492
2493 END IF;
2494
2495 ELSE
2496 l_create_new_record := 'Y';
2497 END IF;
2498 END LOOP;
2499
2500 --DBMS_OUTPUT.PUT_LINE('p_sr_audit_rec_table.COUNT'||p_sr_audit_rec_table.count);
2501 ELSE
2502 l_audit_table_empty := 'Y';
2503 END IF;
2504
2505
2506
2507
2508
2509 --DBMS_OUTPUT.PUT_LINE('l_create_new_rec'||l_create_new_record);
2510 --DBMS_OUTPUT.PUT_LINE('l_audit_table_empty'||l_audit_table_empty);
2511
2512 IF l_create_new_record = 'Y' OR
2513 l_audit_table_empty = 'Y' THEN
2514
2515
2516 l_count := l_count + 1;
2517 p_sr_audit_rec_table (l_count).extension_id := l_cs_sr_contacts_ext_rec.extension_id;
2518 p_sr_audit_rec_table (l_count).pk_column_1 := l_cs_sr_contacts_ext_rec.incident_id;
2519 p_sr_audit_rec_table (l_count).pk_column_2 := l_cs_sr_contacts_ext_rec.party_id;
2520 p_sr_audit_rec_table (l_count).pk_column_3 := l_cs_sr_contacts_ext_rec.contact_type;
2521 p_sr_audit_rec_table (l_count).pk_column_4 := l_cs_sr_contacts_ext_rec.party_role_code;
2522 p_sr_audit_rec_table (l_count).CONTEXT := l_cs_sr_contacts_ext_rec.context;
2523 p_sr_audit_rec_table (l_count).ATTR_GROUP_ID := l_cs_sr_contacts_ext_rec.attr_group_id;
2524 p_sr_audit_rec_table (l_count).C_EXT_ATTR1 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR1;
2525 p_sr_audit_rec_table (l_count).C_EXT_ATTR2 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR2;
2526 p_sr_audit_rec_table (l_count).C_EXT_ATTR3 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR3;
2527 p_sr_audit_rec_table (l_count).C_EXT_ATTR4 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR4;
2528 p_sr_audit_rec_table (l_count).C_EXT_ATTR5 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR5;
2529 p_sr_audit_rec_table (l_count).C_EXT_ATTR6 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR6;
2530 p_sr_audit_rec_table (l_count).C_EXT_ATTR7 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR7;
2531 p_sr_audit_rec_table (l_count).C_EXT_ATTR8 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR8;
2532 p_sr_audit_rec_table (l_count).C_EXT_ATTR9 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR9;
2533 p_sr_audit_rec_table (l_count).C_EXT_ATTR10 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR10;
2534 p_sr_audit_rec_table (l_count).C_EXT_ATTR11 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR11;
2535 p_sr_audit_rec_table (l_count).C_EXT_ATTR12 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR12;
2536 p_sr_audit_rec_table (l_count).C_EXT_ATTR13 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR13;
2537 p_sr_audit_rec_table (l_count).C_EXT_ATTR14 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR14;
2538 p_sr_audit_rec_table (l_count).C_EXT_ATTR15 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR15;
2539 p_sr_audit_rec_table (l_count).C_EXT_ATTR16 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR16;
2540 p_sr_audit_rec_table (l_count).C_EXT_ATTR17 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR17;
2541 p_sr_audit_rec_table (l_count).C_EXT_ATTR18 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR18;
2542 p_sr_audit_rec_table (l_count).C_EXT_ATTR19 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR19;
2543 p_sr_audit_rec_table (l_count).C_EXT_ATTR20 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR20;
2544 p_sr_audit_rec_table (l_count).C_EXT_ATTR21 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR21;
2545 p_sr_audit_rec_table (l_count).C_EXT_ATTR22 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR22;
2546 p_sr_audit_rec_table (l_count).C_EXT_ATTR23 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR23;
2547 p_sr_audit_rec_table (l_count).C_EXT_ATTR24 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR24;
2548 p_sr_audit_rec_table (l_count).C_EXT_ATTR25 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR25;
2549 p_sr_audit_rec_table (l_count).C_EXT_ATTR26 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR26;
2550 p_sr_audit_rec_table (l_count).C_EXT_ATTR27 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR27;
2551 p_sr_audit_rec_table (l_count).C_EXT_ATTR28 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR28;
2552 p_sr_audit_rec_table (l_count).C_EXT_ATTR29 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR29;
2553 p_sr_audit_rec_table (l_count).C_EXT_ATTR30 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR30;
2554 p_sr_audit_rec_table (l_count).C_EXT_ATTR31 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR31;
2555 p_sr_audit_rec_table (l_count).C_EXT_ATTR32 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR32;
2556 p_sr_audit_rec_table (l_count).C_EXT_ATTR33 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR33;
2557 p_sr_audit_rec_table (l_count).C_EXT_ATTR34 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR34;
2558 p_sr_audit_rec_table (l_count).C_EXT_ATTR35 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR35;
2559 p_sr_audit_rec_table (l_count).C_EXT_ATTR36 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR36;
2560 p_sr_audit_rec_table (l_count).C_EXT_ATTR37 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR37;
2561 p_sr_audit_rec_table (l_count).C_EXT_ATTR38 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR38;
2562 p_sr_audit_rec_table (l_count).C_EXT_ATTR39 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR38;
2563 p_sr_audit_rec_table (l_count).C_EXT_ATTR40 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR40;
2564 p_sr_audit_rec_table (l_count).C_EXT_ATTR41 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR41;
2565 p_sr_audit_rec_table (l_count).C_EXT_ATTR42 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR42;
2566 p_sr_audit_rec_table (l_count).C_EXT_ATTR43 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR43;
2567 p_sr_audit_rec_table (l_count).C_EXT_ATTR44 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR44;
2568 p_sr_audit_rec_table (l_count).C_EXT_ATTR45 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR45;
2569 p_sr_audit_rec_table (l_count).C_EXT_ATTR46 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR46;
2570 p_sr_audit_rec_table (l_count).C_EXT_ATTR47 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR47;
2571 p_sr_audit_rec_table (l_count).C_EXT_ATTR48 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR48;
2572 p_sr_audit_rec_table (l_count).C_EXT_ATTR49 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR49;
2573 p_sr_audit_rec_table (l_count).C_EXT_ATTR50 := l_cs_sr_contacts_ext_rec.C_EXT_ATTR50;
2574 p_sr_audit_rec_table (l_count).N_EXT_ATTR1 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR1;
2575 p_sr_audit_rec_table (l_count).N_EXT_ATTR2 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR2;
2576 p_sr_audit_rec_table (l_count).N_EXT_ATTR3 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR3;
2577 p_sr_audit_rec_table (l_count).N_EXT_ATTR4 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR4;
2578 p_sr_audit_rec_table (l_count).N_EXT_ATTR5 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR5;
2579 p_sr_audit_rec_table (l_count).N_EXT_ATTR6 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR6;
2580 p_sr_audit_rec_table (l_count).N_EXT_ATTR7 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR7;
2581 p_sr_audit_rec_table (l_count).N_EXT_ATTR8 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR8;
2582 p_sr_audit_rec_table (l_count).N_EXT_ATTR9 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR9;
2583 p_sr_audit_rec_table (l_count).N_EXT_ATTR10 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR10;
2584 p_sr_audit_rec_table (l_count).N_EXT_ATTR11 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR11;
2585 p_sr_audit_rec_table (l_count).N_EXT_ATTR12 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR12;
2586 p_sr_audit_rec_table (l_count).N_EXT_ATTR13 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR13;
2587 p_sr_audit_rec_table (l_count).N_EXT_ATTR14 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR14;
2588 p_sr_audit_rec_table (l_count).N_EXT_ATTR15 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR15;
2589 p_sr_audit_rec_table (l_count).N_EXT_ATTR16 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR16;
2590 p_sr_audit_rec_table (l_count).N_EXT_ATTR17 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR17;
2591 p_sr_audit_rec_table (l_count).N_EXT_ATTR18 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR18;
2592 p_sr_audit_rec_table (l_count).N_EXT_ATTR19 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR19;
2593 p_sr_audit_rec_table (l_count).N_EXT_ATTR20 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR20;
2594 p_sr_audit_rec_table (l_count).N_EXT_ATTR21 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR21;
2595 p_sr_audit_rec_table (l_count).N_EXT_ATTR22 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR22;
2596 p_sr_audit_rec_table (l_count).N_EXT_ATTR23 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR23;
2597 p_sr_audit_rec_table (l_count).N_EXT_ATTR24 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR24;
2598 p_sr_audit_rec_table (l_count).N_EXT_ATTR25 := l_cs_sr_contacts_ext_rec.N_EXT_ATTR25;
2599 p_sr_audit_rec_table (l_count).D_EXT_ATTR1 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR1;
2600 p_sr_audit_rec_table (l_count).D_EXT_ATTR2 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR2;
2601 p_sr_audit_rec_table (l_count).D_EXT_ATTR3 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR3;
2602 p_sr_audit_rec_table (l_count).D_EXT_ATTR4 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR4;
2603 p_sr_audit_rec_table (l_count).D_EXT_ATTR5 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR5;
2604 p_sr_audit_rec_table (l_count).D_EXT_ATTR6 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR6;
2605 p_sr_audit_rec_table (l_count).D_EXT_ATTR7 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR7;
2606 p_sr_audit_rec_table (l_count).D_EXT_ATTR8 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR8;
2607 p_sr_audit_rec_table (l_count).D_EXT_ATTR9 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR9;
2608 p_sr_audit_rec_table (l_count).D_EXT_ATTR10 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR10;
2609 p_sr_audit_rec_table (l_count).D_EXT_ATTR11 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR11;
2610 p_sr_audit_rec_table (l_count).D_EXT_ATTR12 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR12;
2611 p_sr_audit_rec_table (l_count).D_EXT_ATTR13 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR13;
2612 p_sr_audit_rec_table (l_count).D_EXT_ATTR14 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR14;
2613 p_sr_audit_rec_table (l_count).D_EXT_ATTR15 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR15;
2614 p_sr_audit_rec_table (l_count).D_EXT_ATTR16 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR16;
2615 p_sr_audit_rec_table (l_count).D_EXT_ATTR17 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR17;
2616 p_sr_audit_rec_table (l_count).D_EXT_ATTR18 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR18;
2617 p_sr_audit_rec_table (l_count).D_EXT_ATTR19 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR19;
2618 p_sr_audit_rec_table (l_count).D_EXT_ATTR20 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR20;
2619 p_sr_audit_rec_table (l_count).D_EXT_ATTR21 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR21;
2620 p_sr_audit_rec_table (l_count).D_EXT_ATTR22 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR22;
2621 p_sr_audit_rec_table (l_count).D_EXT_ATTR23 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR23;
2622 p_sr_audit_rec_table (l_count).D_EXT_ATTR24 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR24;
2623 p_sr_audit_rec_table (l_count).D_EXT_ATTR25 := l_cs_sr_contacts_ext_rec.D_EXT_ATTR25;
2624 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR1 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR1;
2625 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR2 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR2;
2626 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR3 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR3;
2627 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR4 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR4;
2628 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR5 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR5;
2629 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR6 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR6;
2630 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR7 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR7;
2631 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR8 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR8;
2632 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR9 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR9;
2633 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR10 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR10;
2634 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR11 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR11;
2635 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR12 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR12;
2636 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR13 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR13;
2637 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR14 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR14;
2638 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR15 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR15;
2639 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR16 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR16;
2640 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR17 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR17;
2641 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR18 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR18;
2642 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR19 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR19;
2643 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR20 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR20;
2644 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR21 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR21;
2645 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR22 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR22;
2646 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR23 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR23;
2647 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR24 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR24;
2648 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR25 := l_cs_sr_contacts_ext_rec.UOM_EXT_ATTR25;
2649
2650 END IF;
2651 ELSE
2652 -- Record does not exists
2653 x_rec_found := 'N';
2654 RETURN;
2655 --DBMS_OUTPUT.PUT_LINE('Record does not exist');
2656 END IF;
2657
2658 END IF; -- end of if attribute name is not null
2659 END IF; -- end of if app id, attr_group_type, attr_group_name is not null
2660
2661
2662 ELSE
2663 -- l_multi_row_code = 'N'
2664 -- get the current record in the database for the unique key combination
2665
2666 --DBMS_OUTPUT.PUT_LINE('not multi-row');
2667
2668 OPEN c_get_ext_attr_db_rec;
2669 FETCH c_get_ext_attr_db_rec INTO v_get_ext_attr_db_rec;
2670 IF c_get_ext_attr_db_rec%NOTFOUND THEN
2671 -- Record does not exists
2672 x_rec_found := 'N';
2673
2674 ELSE
2675 -- Record exists
2676 x_rec_found := 'Y';
2677
2678 -- loop through the audit table passed in and see if you can find the record
2679 -- this is for a 'CREATE' situation
2680
2681 --DBMS_OUTPUT.PUT_LINE('p_sr_audit_rec_table.COUNT'||p_sr_audit_rec_table.COUNT);
2682
2683 IF p_sr_audit_rec_table.COUNT > 0 THEN
2684
2685 --DBMS_OUTPUT.PUT_LINE('In loooop');
2686
2687 FOR i IN 1.. p_sr_audit_rec_table.COUNT LOOP
2688 IF p_sr_audit_rec_table(i).pk_column_1 = p_incident_id AND
2689 p_sr_audit_rec_table(i).pk_column_2 = p_party_id AND
2690 p_sr_audit_rec_table(i).pk_column_3 = p_contact_type AND
2691 p_sr_audit_rec_table(i).pk_column_4 = p_party_role_code AND
2692 p_sr_audit_rec_table(i).context = p_context AND
2693 p_sr_audit_rec_table(i).attr_group_id = p_attr_group_id AND
2694 p_sr_audit_rec_table(i).row_identifier = p_row_id THEN
2695
2696 l_create_new_record := 'N';
2697
2698 --DBMS_OUTPUT.PUT_LINE('Match found for audit record');
2699 --DBMS_OUTPUT.PUT_LINE('l_create_new_record'||l_create_new_record);
2700
2701 p_sr_audit_rec_table(i).extension_id := v_get_ext_attr_db_rec.extension_id;
2702 p_sr_audit_rec_table(i).pk_column_1 := p_incident_id;
2703 p_sr_audit_rec_table(i).pk_column_2 := p_party_id;
2704 p_sr_audit_rec_table(i).pk_column_3 := p_contact_type;
2705 p_sr_audit_rec_table(i).pk_column_4 := p_party_role_code;
2706 p_sr_audit_rec_table(i).pk_column_5 := null;
2707 p_sr_audit_rec_table(i).CONTEXT := p_context;
2708 p_sr_audit_rec_table(i).ATTR_GROUP_ID := p_attr_group_id;
2709 p_sr_audit_rec_table(i).C_EXT_ATTR1 := v_get_ext_attr_db_rec.C_EXT_ATTR1;
2710 p_sr_audit_rec_table(i).C_EXT_ATTR2 := v_get_ext_attr_db_rec.C_EXT_ATTR2;
2711 p_sr_audit_rec_table(i).C_EXT_ATTR3 := v_get_ext_attr_db_rec.C_EXT_ATTR3;
2712 p_sr_audit_rec_table(i).C_EXT_ATTR4 := v_get_ext_attr_db_rec.C_EXT_ATTR4;
2713 p_sr_audit_rec_table(i).C_EXT_ATTR5 := v_get_ext_attr_db_rec.C_EXT_ATTR5;
2714 p_sr_audit_rec_table(i).C_EXT_ATTR6 := v_get_ext_attr_db_rec.C_EXT_ATTR6;
2715 p_sr_audit_rec_table(i).C_EXT_ATTR7 := v_get_ext_attr_db_rec.C_EXT_ATTR7;
2716 p_sr_audit_rec_table(i).C_EXT_ATTR8 := v_get_ext_attr_db_rec.C_EXT_ATTR8;
2717 p_sr_audit_rec_table(i).C_EXT_ATTR9 := v_get_ext_attr_db_rec.C_EXT_ATTR9;
2718 p_sr_audit_rec_table(i).C_EXT_ATTR10 := v_get_ext_attr_db_rec.C_EXT_ATTR10;
2719 p_sr_audit_rec_table(i).C_EXT_ATTR11 := v_get_ext_attr_db_rec.C_EXT_ATTR11;
2720 p_sr_audit_rec_table(i).C_EXT_ATTR12 := v_get_ext_attr_db_rec.C_EXT_ATTR12;
2721 p_sr_audit_rec_table(i).C_EXT_ATTR13 := v_get_ext_attr_db_rec.C_EXT_ATTR13;
2722 p_sr_audit_rec_table(i).C_EXT_ATTR14 := v_get_ext_attr_db_rec.C_EXT_ATTR14;
2723 p_sr_audit_rec_table(i).C_EXT_ATTR15 := v_get_ext_attr_db_rec.C_EXT_ATTR15;
2724 p_sr_audit_rec_table(i).C_EXT_ATTR16 := v_get_ext_attr_db_rec.C_EXT_ATTR16;
2725 p_sr_audit_rec_table(i).C_EXT_ATTR17 := v_get_ext_attr_db_rec.C_EXT_ATTR17;
2726 p_sr_audit_rec_table(i).C_EXT_ATTR18 := v_get_ext_attr_db_rec.C_EXT_ATTR18;
2727 p_sr_audit_rec_table(i).C_EXT_ATTR19 := v_get_ext_attr_db_rec.C_EXT_ATTR19;
2728 p_sr_audit_rec_table(i).C_EXT_ATTR20 := v_get_ext_attr_db_rec.C_EXT_ATTR20;
2729 p_sr_audit_rec_table(i).C_EXT_ATTR21 := v_get_ext_attr_db_rec.C_EXT_ATTR21;
2730 p_sr_audit_rec_table(i).C_EXT_ATTR22 := v_get_ext_attr_db_rec.C_EXT_ATTR22;
2731 p_sr_audit_rec_table(i).C_EXT_ATTR23 := v_get_ext_attr_db_rec.C_EXT_ATTR23;
2732 p_sr_audit_rec_table(i).C_EXT_ATTR24 := v_get_ext_attr_db_rec.C_EXT_ATTR24;
2733 p_sr_audit_rec_table(i).C_EXT_ATTR25 := v_get_ext_attr_db_rec.C_EXT_ATTR25;
2734 p_sr_audit_rec_table(i).C_EXT_ATTR26 := v_get_ext_attr_db_rec.C_EXT_ATTR26;
2735 p_sr_audit_rec_table(i).C_EXT_ATTR27 := v_get_ext_attr_db_rec.C_EXT_ATTR27;
2736 p_sr_audit_rec_table(i).C_EXT_ATTR28 := v_get_ext_attr_db_rec.C_EXT_ATTR28;
2737 p_sr_audit_rec_table(i).C_EXT_ATTR29 := v_get_ext_attr_db_rec.C_EXT_ATTR29;
2738 p_sr_audit_rec_table(i).C_EXT_ATTR30 := v_get_ext_attr_db_rec.C_EXT_ATTR30;
2739 p_sr_audit_rec_table(i).C_EXT_ATTR31 := v_get_ext_attr_db_rec.C_EXT_ATTR31;
2740 p_sr_audit_rec_table(i).C_EXT_ATTR32 := v_get_ext_attr_db_rec.C_EXT_ATTR32;
2741 p_sr_audit_rec_table(i).C_EXT_ATTR33 := v_get_ext_attr_db_rec.C_EXT_ATTR33;
2742 p_sr_audit_rec_table(i).C_EXT_ATTR34 := v_get_ext_attr_db_rec.C_EXT_ATTR34;
2743 p_sr_audit_rec_table(i).C_EXT_ATTR35 := v_get_ext_attr_db_rec.C_EXT_ATTR35;
2744 p_sr_audit_rec_table(i).C_EXT_ATTR36 := v_get_ext_attr_db_rec.C_EXT_ATTR36;
2745 p_sr_audit_rec_table(i).C_EXT_ATTR37 := v_get_ext_attr_db_rec.C_EXT_ATTR37;
2746 p_sr_audit_rec_table(i).C_EXT_ATTR38 := v_get_ext_attr_db_rec.C_EXT_ATTR38;
2747 p_sr_audit_rec_table(i).C_EXT_ATTR39 := v_get_ext_attr_db_rec.C_EXT_ATTR38;
2748 p_sr_audit_rec_table(i).C_EXT_ATTR40 := v_get_ext_attr_db_rec.C_EXT_ATTR40;
2749 p_sr_audit_rec_table(i).C_EXT_ATTR41 := v_get_ext_attr_db_rec.C_EXT_ATTR41;
2750 p_sr_audit_rec_table(i).C_EXT_ATTR42 := v_get_ext_attr_db_rec.C_EXT_ATTR42;
2751 p_sr_audit_rec_table(i).C_EXT_ATTR43 := v_get_ext_attr_db_rec.C_EXT_ATTR43;
2752 p_sr_audit_rec_table(i).C_EXT_ATTR44 := v_get_ext_attr_db_rec.C_EXT_ATTR44;
2753 p_sr_audit_rec_table(i).C_EXT_ATTR45 := v_get_ext_attr_db_rec.C_EXT_ATTR45;
2754 p_sr_audit_rec_table(i).C_EXT_ATTR46 := v_get_ext_attr_db_rec.C_EXT_ATTR46;
2755 p_sr_audit_rec_table(i).C_EXT_ATTR47 := v_get_ext_attr_db_rec.C_EXT_ATTR47;
2756 p_sr_audit_rec_table(i).C_EXT_ATTR48 := v_get_ext_attr_db_rec.C_EXT_ATTR48;
2757 p_sr_audit_rec_table(i).C_EXT_ATTR49 := v_get_ext_attr_db_rec.C_EXT_ATTR49;
2758 p_sr_audit_rec_table(i).C_EXT_ATTR50 := v_get_ext_attr_db_rec.C_EXT_ATTR50;
2759 p_sr_audit_rec_table(i).N_EXT_ATTR1 := v_get_ext_attr_db_rec.N_EXT_ATTR1;
2760 p_sr_audit_rec_table(i).N_EXT_ATTR2 := v_get_ext_attr_db_rec.N_EXT_ATTR2;
2761 p_sr_audit_rec_table(i).N_EXT_ATTR3 := v_get_ext_attr_db_rec.N_EXT_ATTR3;
2762 p_sr_audit_rec_table(i).N_EXT_ATTR4 := v_get_ext_attr_db_rec.N_EXT_ATTR4;
2763 p_sr_audit_rec_table(i).N_EXT_ATTR5 := v_get_ext_attr_db_rec.N_EXT_ATTR5;
2764 p_sr_audit_rec_table(i).N_EXT_ATTR6 := v_get_ext_attr_db_rec.N_EXT_ATTR6;
2765 p_sr_audit_rec_table(i).N_EXT_ATTR7 := v_get_ext_attr_db_rec.N_EXT_ATTR7;
2766 p_sr_audit_rec_table(i).N_EXT_ATTR8 := v_get_ext_attr_db_rec.N_EXT_ATTR8;
2767 p_sr_audit_rec_table(i).N_EXT_ATTR9 := v_get_ext_attr_db_rec.N_EXT_ATTR9;
2768 p_sr_audit_rec_table(i).N_EXT_ATTR10 := v_get_ext_attr_db_rec.N_EXT_ATTR10;
2769 p_sr_audit_rec_table(i).N_EXT_ATTR11 := v_get_ext_attr_db_rec.N_EXT_ATTR11;
2770 p_sr_audit_rec_table(i).N_EXT_ATTR12 := v_get_ext_attr_db_rec.N_EXT_ATTR12;
2771 p_sr_audit_rec_table(i).N_EXT_ATTR13 := v_get_ext_attr_db_rec.N_EXT_ATTR13;
2772 p_sr_audit_rec_table(i).N_EXT_ATTR14 := v_get_ext_attr_db_rec.N_EXT_ATTR14;
2773 p_sr_audit_rec_table(i).N_EXT_ATTR15 := v_get_ext_attr_db_rec.N_EXT_ATTR15;
2774 p_sr_audit_rec_table(i).N_EXT_ATTR16 := v_get_ext_attr_db_rec.N_EXT_ATTR16;
2775 p_sr_audit_rec_table(i).N_EXT_ATTR17 := v_get_ext_attr_db_rec.N_EXT_ATTR17;
2776 p_sr_audit_rec_table(i).N_EXT_ATTR18 := v_get_ext_attr_db_rec.N_EXT_ATTR18;
2777 p_sr_audit_rec_table(i).N_EXT_ATTR19 := v_get_ext_attr_db_rec.N_EXT_ATTR19;
2778 p_sr_audit_rec_table(i).N_EXT_ATTR20 := v_get_ext_attr_db_rec.N_EXT_ATTR20;
2779 p_sr_audit_rec_table(i).N_EXT_ATTR21 := v_get_ext_attr_db_rec.N_EXT_ATTR21;
2780 p_sr_audit_rec_table(i).N_EXT_ATTR22 := v_get_ext_attr_db_rec.N_EXT_ATTR22;
2781 p_sr_audit_rec_table(i).N_EXT_ATTR23 := v_get_ext_attr_db_rec.N_EXT_ATTR23;
2782 p_sr_audit_rec_table(i).N_EXT_ATTR24 := v_get_ext_attr_db_rec.N_EXT_ATTR24;
2783 p_sr_audit_rec_table(i).N_EXT_ATTR25 := v_get_ext_attr_db_rec.N_EXT_ATTR25;
2784 p_sr_audit_rec_table(i).D_EXT_ATTR1 := v_get_ext_attr_db_rec.D_EXT_ATTR1;
2785 p_sr_audit_rec_table(i).D_EXT_ATTR2 := v_get_ext_attr_db_rec.D_EXT_ATTR2;
2786 p_sr_audit_rec_table(i).D_EXT_ATTR3 := v_get_ext_attr_db_rec.D_EXT_ATTR3;
2787 p_sr_audit_rec_table(i).D_EXT_ATTR4 := v_get_ext_attr_db_rec.D_EXT_ATTR4;
2788 p_sr_audit_rec_table(i).D_EXT_ATTR5 := v_get_ext_attr_db_rec.D_EXT_ATTR5;
2789 p_sr_audit_rec_table(i).D_EXT_ATTR6 := v_get_ext_attr_db_rec.D_EXT_ATTR6;
2790 p_sr_audit_rec_table(i).D_EXT_ATTR7 := v_get_ext_attr_db_rec.D_EXT_ATTR7;
2791 p_sr_audit_rec_table(i).D_EXT_ATTR8 := v_get_ext_attr_db_rec.D_EXT_ATTR8;
2792 p_sr_audit_rec_table(i).D_EXT_ATTR9 := v_get_ext_attr_db_rec.D_EXT_ATTR9;
2793 p_sr_audit_rec_table(i).D_EXT_ATTR10 := v_get_ext_attr_db_rec.D_EXT_ATTR10;
2794 p_sr_audit_rec_table(i).D_EXT_ATTR11 := v_get_ext_attr_db_rec.D_EXT_ATTR11;
2795 p_sr_audit_rec_table(i).D_EXT_ATTR12 := v_get_ext_attr_db_rec.D_EXT_ATTR12;
2796 p_sr_audit_rec_table(i).D_EXT_ATTR13 := v_get_ext_attr_db_rec.D_EXT_ATTR13;
2797 p_sr_audit_rec_table(i).D_EXT_ATTR14 := v_get_ext_attr_db_rec.D_EXT_ATTR14;
2798 p_sr_audit_rec_table(i).D_EXT_ATTR15 := v_get_ext_attr_db_rec.D_EXT_ATTR15;
2799 p_sr_audit_rec_table(i).D_EXT_ATTR16 := v_get_ext_attr_db_rec.D_EXT_ATTR16;
2800 p_sr_audit_rec_table(i).D_EXT_ATTR17 := v_get_ext_attr_db_rec.D_EXT_ATTR17;
2801 p_sr_audit_rec_table(i).D_EXT_ATTR18 := v_get_ext_attr_db_rec.D_EXT_ATTR18;
2802 p_sr_audit_rec_table(i).D_EXT_ATTR19 := v_get_ext_attr_db_rec.D_EXT_ATTR19;
2803 p_sr_audit_rec_table(i).D_EXT_ATTR20 := v_get_ext_attr_db_rec.D_EXT_ATTR20;
2804 p_sr_audit_rec_table(i).D_EXT_ATTR21 := v_get_ext_attr_db_rec.D_EXT_ATTR21;
2805 p_sr_audit_rec_table(i).D_EXT_ATTR22 := v_get_ext_attr_db_rec.D_EXT_ATTR22;
2806 p_sr_audit_rec_table(i).D_EXT_ATTR23 := v_get_ext_attr_db_rec.D_EXT_ATTR23;
2807 p_sr_audit_rec_table(i).D_EXT_ATTR24 := v_get_ext_attr_db_rec.D_EXT_ATTR24;
2808 p_sr_audit_rec_table(i).D_EXT_ATTR25 := v_get_ext_attr_db_rec.D_EXT_ATTR25;
2809 p_sr_audit_rec_table(i).UOM_EXT_ATTR1 := v_get_ext_attr_db_rec.UOM_EXT_ATTR1;
2810 p_sr_audit_rec_table(i).UOM_EXT_ATTR2 := v_get_ext_attr_db_rec.UOM_EXT_ATTR2;
2811 p_sr_audit_rec_table(i).UOM_EXT_ATTR3 := v_get_ext_attr_db_rec.UOM_EXT_ATTR3;
2812 p_sr_audit_rec_table(i).UOM_EXT_ATTR4 := v_get_ext_attr_db_rec.UOM_EXT_ATTR4;
2813 p_sr_audit_rec_table(i).UOM_EXT_ATTR5 := v_get_ext_attr_db_rec.UOM_EXT_ATTR5;
2814 p_sr_audit_rec_table(i).UOM_EXT_ATTR6 := v_get_ext_attr_db_rec.UOM_EXT_ATTR6;
2815 p_sr_audit_rec_table(i).UOM_EXT_ATTR7 := v_get_ext_attr_db_rec.UOM_EXT_ATTR7;
2816 p_sr_audit_rec_table(i).UOM_EXT_ATTR8 := v_get_ext_attr_db_rec.UOM_EXT_ATTR8;
2817 p_sr_audit_rec_table(i).UOM_EXT_ATTR9 := v_get_ext_attr_db_rec.UOM_EXT_ATTR9;
2818 p_sr_audit_rec_table(i).UOM_EXT_ATTR10 := v_get_ext_attr_db_rec.UOM_EXT_ATTR10;
2819 p_sr_audit_rec_table(i).UOM_EXT_ATTR11 := v_get_ext_attr_db_rec.UOM_EXT_ATTR11;
2820 p_sr_audit_rec_table(i).UOM_EXT_ATTR12 := v_get_ext_attr_db_rec.UOM_EXT_ATTR12;
2821 p_sr_audit_rec_table(i).UOM_EXT_ATTR13 := v_get_ext_attr_db_rec.UOM_EXT_ATTR13;
2822 p_sr_audit_rec_table(i).UOM_EXT_ATTR14 := v_get_ext_attr_db_rec.UOM_EXT_ATTR14;
2823 p_sr_audit_rec_table(i).UOM_EXT_ATTR15 := v_get_ext_attr_db_rec.UOM_EXT_ATTR15;
2824 p_sr_audit_rec_table(i).UOM_EXT_ATTR16 := v_get_ext_attr_db_rec.UOM_EXT_ATTR16;
2825 p_sr_audit_rec_table(i).UOM_EXT_ATTR17 := v_get_ext_attr_db_rec.UOM_EXT_ATTR17;
2826 p_sr_audit_rec_table(i).UOM_EXT_ATTR18 := v_get_ext_attr_db_rec.UOM_EXT_ATTR18;
2827 p_sr_audit_rec_table(i).UOM_EXT_ATTR19 := v_get_ext_attr_db_rec.UOM_EXT_ATTR19;
2828 p_sr_audit_rec_table(i).UOM_EXT_ATTR20 := v_get_ext_attr_db_rec.UOM_EXT_ATTR20;
2829 p_sr_audit_rec_table(i).UOM_EXT_ATTR21 := v_get_ext_attr_db_rec.UOM_EXT_ATTR21;
2830 p_sr_audit_rec_table(i).UOM_EXT_ATTR22 := v_get_ext_attr_db_rec.UOM_EXT_ATTR22;
2831 p_sr_audit_rec_table(i).UOM_EXT_ATTR23 := v_get_ext_attr_db_rec.UOM_EXT_ATTR23;
2832 p_sr_audit_rec_table(i).UOM_EXT_ATTR24 := v_get_ext_attr_db_rec.UOM_EXT_ATTR24;
2833 p_sr_audit_rec_table(i).UOM_EXT_ATTR25 := v_get_ext_attr_db_rec.UOM_EXT_ATTR25;
2834
2835 ELSE
2836 l_create_new_record := 'Y';
2837 END IF;
2838 END LOOP;
2839
2840 --DBMS_OUTPUT.PUT_LINE('p_sr_audit_rec_table.COUNT'||p_sr_audit_rec_table.count);
2841 ELSE
2842 l_audit_table_empty := 'Y';
2843 END IF;
2844
2845 --DBMS_OUTPUT.PUT_LINE('l_create_new_rec'||l_create_new_record);
2846 --DBMS_OUTPUT.PUT_LINE('l_audit_table_empty'||l_audit_table_empty);
2847
2848 IF l_create_new_record = 'Y' OR
2849 l_audit_table_empty = 'Y' THEN
2850
2851 l_count := l_count + 1;
2852
2853 --DBMS_OUTPUT.PUT_LINE('extension_id'||v_get_ext_attr_db_rec.extension_id);
2854 --DBMS_OUTPUT.PUT_LINE('pk_column_1'||v_get_ext_attr_db_rec.incident_id);
2855 --DBMS_OUTPUT.PUT_LINE('CONTEXT'||v_get_ext_attr_db_rec.context);
2856 --DBMS_OUTPUT.PUT_LINE('ATTR_GROUP_ID'||v_get_ext_attr_db_rec.attr_group_id);
2857 --DBMS_OUTPUT.PUT_LINE('C_EXT_ATTR1'||v_get_ext_attr_db_rec.C_EXT_ATTR1);
2858
2859 p_sr_audit_rec_table(l_count).extension_id := v_get_ext_attr_db_rec.extension_id;
2860 p_sr_audit_rec_table(l_count).pk_column_1 := v_get_ext_attr_db_rec.incident_id;
2861 p_sr_audit_rec_table(l_count).pk_column_2 := v_get_ext_attr_db_rec.party_id;
2862 p_sr_audit_rec_table(l_count).pk_column_3 := v_get_ext_attr_db_rec.contact_type;
2863 p_sr_audit_rec_table(l_count).pk_column_4 := v_get_ext_attr_db_rec.party_role_code;
2864 p_sr_audit_rec_table(l_count).pk_column_5 := null;
2865 p_sr_audit_rec_table(l_count).CONTEXT := v_get_ext_attr_db_rec.context;
2866 p_sr_audit_rec_table(l_count).ATTR_GROUP_ID := v_get_ext_attr_db_rec.attr_group_id;
2867 p_sr_audit_rec_table(l_count).C_EXT_ATTR1 := v_get_ext_attr_db_rec.C_EXT_ATTR1;
2868 p_sr_audit_rec_table(l_count).C_EXT_ATTR2 := v_get_ext_attr_db_rec.C_EXT_ATTR2;
2869 p_sr_audit_rec_table(l_count).C_EXT_ATTR3 := v_get_ext_attr_db_rec.C_EXT_ATTR3;
2870 p_sr_audit_rec_table(l_count).C_EXT_ATTR4 := v_get_ext_attr_db_rec.C_EXT_ATTR4;
2871 p_sr_audit_rec_table(l_count).C_EXT_ATTR5 := v_get_ext_attr_db_rec.C_EXT_ATTR5;
2872 p_sr_audit_rec_table(l_count).C_EXT_ATTR6 := v_get_ext_attr_db_rec.C_EXT_ATTR6;
2873 p_sr_audit_rec_table(l_count).C_EXT_ATTR7 := v_get_ext_attr_db_rec.C_EXT_ATTR7;
2874 p_sr_audit_rec_table(l_count).C_EXT_ATTR8 := v_get_ext_attr_db_rec.C_EXT_ATTR8;
2875 p_sr_audit_rec_table(l_count).C_EXT_ATTR9 := v_get_ext_attr_db_rec.C_EXT_ATTR9;
2876 p_sr_audit_rec_table(l_count).C_EXT_ATTR10 := v_get_ext_attr_db_rec.C_EXT_ATTR10;
2877 p_sr_audit_rec_table(l_count).C_EXT_ATTR11 := v_get_ext_attr_db_rec.C_EXT_ATTR11;
2878 p_sr_audit_rec_table(l_count).C_EXT_ATTR12 := v_get_ext_attr_db_rec.C_EXT_ATTR12;
2879 p_sr_audit_rec_table(l_count).C_EXT_ATTR13 := v_get_ext_attr_db_rec.C_EXT_ATTR13;
2880 p_sr_audit_rec_table(l_count).C_EXT_ATTR14 := v_get_ext_attr_db_rec.C_EXT_ATTR14;
2881 p_sr_audit_rec_table(l_count).C_EXT_ATTR15 := v_get_ext_attr_db_rec.C_EXT_ATTR15;
2882 p_sr_audit_rec_table(l_count).C_EXT_ATTR16 := v_get_ext_attr_db_rec.C_EXT_ATTR16;
2883 p_sr_audit_rec_table(l_count).C_EXT_ATTR17 := v_get_ext_attr_db_rec.C_EXT_ATTR17;
2884 p_sr_audit_rec_table(l_count).C_EXT_ATTR18 := v_get_ext_attr_db_rec.C_EXT_ATTR18;
2885 p_sr_audit_rec_table(l_count).C_EXT_ATTR19 := v_get_ext_attr_db_rec.C_EXT_ATTR19;
2886 p_sr_audit_rec_table(l_count).C_EXT_ATTR20 := v_get_ext_attr_db_rec.C_EXT_ATTR20;
2887 p_sr_audit_rec_table(l_count).C_EXT_ATTR21 := v_get_ext_attr_db_rec.C_EXT_ATTR21;
2888 p_sr_audit_rec_table(l_count).C_EXT_ATTR22 := v_get_ext_attr_db_rec.C_EXT_ATTR22;
2889 p_sr_audit_rec_table(l_count).C_EXT_ATTR23 := v_get_ext_attr_db_rec.C_EXT_ATTR23;
2890 p_sr_audit_rec_table(l_count).C_EXT_ATTR24 := v_get_ext_attr_db_rec.C_EXT_ATTR24;
2891 p_sr_audit_rec_table(l_count).C_EXT_ATTR25 := v_get_ext_attr_db_rec.C_EXT_ATTR25;
2892 p_sr_audit_rec_table(l_count).C_EXT_ATTR26 := v_get_ext_attr_db_rec.C_EXT_ATTR26;
2893 p_sr_audit_rec_table(l_count).C_EXT_ATTR27 := v_get_ext_attr_db_rec.C_EXT_ATTR27;
2894 p_sr_audit_rec_table(l_count).C_EXT_ATTR28 := v_get_ext_attr_db_rec.C_EXT_ATTR28;
2895 p_sr_audit_rec_table(l_count).C_EXT_ATTR29 := v_get_ext_attr_db_rec.C_EXT_ATTR29;
2896 p_sr_audit_rec_table(l_count).C_EXT_ATTR30 := v_get_ext_attr_db_rec.C_EXT_ATTR30;
2897 p_sr_audit_rec_table(l_count).C_EXT_ATTR31 := v_get_ext_attr_db_rec.C_EXT_ATTR31;
2898 p_sr_audit_rec_table(l_count).C_EXT_ATTR32 := v_get_ext_attr_db_rec.C_EXT_ATTR32;
2899 p_sr_audit_rec_table(l_count).C_EXT_ATTR33 := v_get_ext_attr_db_rec.C_EXT_ATTR33;
2900 p_sr_audit_rec_table(l_count).C_EXT_ATTR34 := v_get_ext_attr_db_rec.C_EXT_ATTR34;
2901 p_sr_audit_rec_table(l_count).C_EXT_ATTR35 := v_get_ext_attr_db_rec.C_EXT_ATTR35;
2902 p_sr_audit_rec_table(l_count).C_EXT_ATTR36 := v_get_ext_attr_db_rec.C_EXT_ATTR36;
2903 p_sr_audit_rec_table(l_count).C_EXT_ATTR37 := v_get_ext_attr_db_rec.C_EXT_ATTR37;
2904 p_sr_audit_rec_table(l_count).C_EXT_ATTR38 := v_get_ext_attr_db_rec.C_EXT_ATTR38;
2905 p_sr_audit_rec_table(l_count).C_EXT_ATTR39 := v_get_ext_attr_db_rec.C_EXT_ATTR38;
2906 p_sr_audit_rec_table(l_count).C_EXT_ATTR40 := v_get_ext_attr_db_rec.C_EXT_ATTR40;
2907 p_sr_audit_rec_table(l_count).C_EXT_ATTR41 := v_get_ext_attr_db_rec.C_EXT_ATTR41;
2908 p_sr_audit_rec_table(l_count).C_EXT_ATTR42 := v_get_ext_attr_db_rec.C_EXT_ATTR42;
2909 p_sr_audit_rec_table(l_count).C_EXT_ATTR43 := v_get_ext_attr_db_rec.C_EXT_ATTR43;
2910 p_sr_audit_rec_table(l_count).C_EXT_ATTR44 := v_get_ext_attr_db_rec.C_EXT_ATTR44;
2911 p_sr_audit_rec_table(l_count).C_EXT_ATTR45 := v_get_ext_attr_db_rec.C_EXT_ATTR45;
2912 p_sr_audit_rec_table(l_count).C_EXT_ATTR46 := v_get_ext_attr_db_rec.C_EXT_ATTR46;
2913 p_sr_audit_rec_table(l_count).C_EXT_ATTR47 := v_get_ext_attr_db_rec.C_EXT_ATTR47;
2914 p_sr_audit_rec_table(l_count).C_EXT_ATTR48 := v_get_ext_attr_db_rec.C_EXT_ATTR48;
2915 p_sr_audit_rec_table(l_count).C_EXT_ATTR49 := v_get_ext_attr_db_rec.C_EXT_ATTR49;
2916 p_sr_audit_rec_table(l_count).C_EXT_ATTR50 := v_get_ext_attr_db_rec.C_EXT_ATTR50;
2917 p_sr_audit_rec_table(l_count).N_EXT_ATTR1 := v_get_ext_attr_db_rec.N_EXT_ATTR1;
2918 p_sr_audit_rec_table(l_count).N_EXT_ATTR2 := v_get_ext_attr_db_rec.N_EXT_ATTR2;
2919 p_sr_audit_rec_table(l_count).N_EXT_ATTR3 := v_get_ext_attr_db_rec.N_EXT_ATTR3;
2920 p_sr_audit_rec_table(l_count).N_EXT_ATTR4 := v_get_ext_attr_db_rec.N_EXT_ATTR4;
2921 p_sr_audit_rec_table(l_count).N_EXT_ATTR5 := v_get_ext_attr_db_rec.N_EXT_ATTR5;
2922 p_sr_audit_rec_table(l_count).N_EXT_ATTR6 := v_get_ext_attr_db_rec.N_EXT_ATTR6;
2923 p_sr_audit_rec_table(l_count).N_EXT_ATTR7 := v_get_ext_attr_db_rec.N_EXT_ATTR7;
2924 p_sr_audit_rec_table(l_count).N_EXT_ATTR8 := v_get_ext_attr_db_rec.N_EXT_ATTR8;
2925 p_sr_audit_rec_table(l_count).N_EXT_ATTR9 := v_get_ext_attr_db_rec.N_EXT_ATTR9;
2926 p_sr_audit_rec_table(l_count).N_EXT_ATTR10 := v_get_ext_attr_db_rec.N_EXT_ATTR10;
2927 p_sr_audit_rec_table(l_count).N_EXT_ATTR11 := v_get_ext_attr_db_rec.N_EXT_ATTR11;
2928 p_sr_audit_rec_table(l_count).N_EXT_ATTR12 := v_get_ext_attr_db_rec.N_EXT_ATTR12;
2929 p_sr_audit_rec_table(l_count).N_EXT_ATTR13 := v_get_ext_attr_db_rec.N_EXT_ATTR13;
2930 p_sr_audit_rec_table(l_count).N_EXT_ATTR14 := v_get_ext_attr_db_rec.N_EXT_ATTR14;
2931 p_sr_audit_rec_table(l_count).N_EXT_ATTR15 := v_get_ext_attr_db_rec.N_EXT_ATTR15;
2932 p_sr_audit_rec_table(l_count).N_EXT_ATTR16 := v_get_ext_attr_db_rec.N_EXT_ATTR16;
2933 p_sr_audit_rec_table(l_count).N_EXT_ATTR17 := v_get_ext_attr_db_rec.N_EXT_ATTR17;
2934 p_sr_audit_rec_table(l_count).N_EXT_ATTR18 := v_get_ext_attr_db_rec.N_EXT_ATTR18;
2935 p_sr_audit_rec_table(l_count).N_EXT_ATTR19 := v_get_ext_attr_db_rec.N_EXT_ATTR19;
2936 p_sr_audit_rec_table(l_count).N_EXT_ATTR20 := v_get_ext_attr_db_rec.N_EXT_ATTR20;
2937 p_sr_audit_rec_table(l_count).N_EXT_ATTR21 := v_get_ext_attr_db_rec.N_EXT_ATTR21;
2938 p_sr_audit_rec_table(l_count).N_EXT_ATTR22 := v_get_ext_attr_db_rec.N_EXT_ATTR22;
2939 p_sr_audit_rec_table(l_count).N_EXT_ATTR23 := v_get_ext_attr_db_rec.N_EXT_ATTR23;
2940 p_sr_audit_rec_table(l_count).N_EXT_ATTR24 := v_get_ext_attr_db_rec.N_EXT_ATTR24;
2941 p_sr_audit_rec_table(l_count).N_EXT_ATTR25 := v_get_ext_attr_db_rec.N_EXT_ATTR25;
2942 p_sr_audit_rec_table(l_count).D_EXT_ATTR1 := v_get_ext_attr_db_rec.D_EXT_ATTR1;
2943 p_sr_audit_rec_table(l_count).D_EXT_ATTR2 := v_get_ext_attr_db_rec.D_EXT_ATTR2;
2944 p_sr_audit_rec_table(l_count).D_EXT_ATTR3 := v_get_ext_attr_db_rec.D_EXT_ATTR3;
2945 p_sr_audit_rec_table(l_count).D_EXT_ATTR4 := v_get_ext_attr_db_rec.D_EXT_ATTR4;
2946 p_sr_audit_rec_table(l_count).D_EXT_ATTR5 := v_get_ext_attr_db_rec.D_EXT_ATTR5;
2947 p_sr_audit_rec_table(l_count).D_EXT_ATTR6 := v_get_ext_attr_db_rec.D_EXT_ATTR6;
2948 p_sr_audit_rec_table(l_count).D_EXT_ATTR7 := v_get_ext_attr_db_rec.D_EXT_ATTR7;
2949 p_sr_audit_rec_table(l_count).D_EXT_ATTR8 := v_get_ext_attr_db_rec.D_EXT_ATTR8;
2950 p_sr_audit_rec_table(l_count).D_EXT_ATTR9 := v_get_ext_attr_db_rec.D_EXT_ATTR9;
2951 p_sr_audit_rec_table(l_count).D_EXT_ATTR10 := v_get_ext_attr_db_rec.D_EXT_ATTR10;
2952 p_sr_audit_rec_table(l_count).D_EXT_ATTR11 := v_get_ext_attr_db_rec.D_EXT_ATTR11;
2953 p_sr_audit_rec_table(l_count).D_EXT_ATTR12 := v_get_ext_attr_db_rec.D_EXT_ATTR12;
2954 p_sr_audit_rec_table(l_count).D_EXT_ATTR13 := v_get_ext_attr_db_rec.D_EXT_ATTR13;
2955 p_sr_audit_rec_table(l_count).D_EXT_ATTR14 := v_get_ext_attr_db_rec.D_EXT_ATTR14;
2956 p_sr_audit_rec_table(l_count).D_EXT_ATTR15 := v_get_ext_attr_db_rec.D_EXT_ATTR15;
2957 p_sr_audit_rec_table(l_count).D_EXT_ATTR16 := v_get_ext_attr_db_rec.D_EXT_ATTR16;
2958 p_sr_audit_rec_table(l_count).D_EXT_ATTR17 := v_get_ext_attr_db_rec.D_EXT_ATTR17;
2959 p_sr_audit_rec_table(l_count).D_EXT_ATTR18 := v_get_ext_attr_db_rec.D_EXT_ATTR18;
2960 p_sr_audit_rec_table(l_count).D_EXT_ATTR19 := v_get_ext_attr_db_rec.D_EXT_ATTR19;
2961 p_sr_audit_rec_table(l_count).D_EXT_ATTR20 := v_get_ext_attr_db_rec.D_EXT_ATTR20;
2962 p_sr_audit_rec_table(l_count).D_EXT_ATTR21 := v_get_ext_attr_db_rec.D_EXT_ATTR21;
2963 p_sr_audit_rec_table(l_count).D_EXT_ATTR22 := v_get_ext_attr_db_rec.D_EXT_ATTR22;
2964 p_sr_audit_rec_table(l_count).D_EXT_ATTR23 := v_get_ext_attr_db_rec.D_EXT_ATTR23;
2965 p_sr_audit_rec_table(l_count).D_EXT_ATTR24 := v_get_ext_attr_db_rec.D_EXT_ATTR24;
2966 p_sr_audit_rec_table(l_count).D_EXT_ATTR25 := v_get_ext_attr_db_rec.D_EXT_ATTR25;
2967 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR1 := v_get_ext_attr_db_rec.UOM_EXT_ATTR1;
2968 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR2 := v_get_ext_attr_db_rec.UOM_EXT_ATTR2;
2969 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR3 := v_get_ext_attr_db_rec.UOM_EXT_ATTR3;
2970 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR4 := v_get_ext_attr_db_rec.UOM_EXT_ATTR4;
2971 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR5 := v_get_ext_attr_db_rec.UOM_EXT_ATTR5;
2972 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR6 := v_get_ext_attr_db_rec.UOM_EXT_ATTR6;
2973 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR7 := v_get_ext_attr_db_rec.UOM_EXT_ATTR7;
2974 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR8 := v_get_ext_attr_db_rec.UOM_EXT_ATTR8;
2975 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR9 := v_get_ext_attr_db_rec.UOM_EXT_ATTR9;
2976 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR10 := v_get_ext_attr_db_rec.UOM_EXT_ATTR10;
2977 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR11 := v_get_ext_attr_db_rec.UOM_EXT_ATTR11;
2978 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR12 := v_get_ext_attr_db_rec.UOM_EXT_ATTR12;
2979 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR13 := v_get_ext_attr_db_rec.UOM_EXT_ATTR13;
2980 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR14 := v_get_ext_attr_db_rec.UOM_EXT_ATTR14;
2981 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR15 := v_get_ext_attr_db_rec.UOM_EXT_ATTR15;
2982 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR16 := v_get_ext_attr_db_rec.UOM_EXT_ATTR16;
2983 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR17 := v_get_ext_attr_db_rec.UOM_EXT_ATTR17;
2984 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR18 := v_get_ext_attr_db_rec.UOM_EXT_ATTR18;
2985 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR19 := v_get_ext_attr_db_rec.UOM_EXT_ATTR19;
2986 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR20 := v_get_ext_attr_db_rec.UOM_EXT_ATTR20;
2987 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR21 := v_get_ext_attr_db_rec.UOM_EXT_ATTR21;
2988 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR22 := v_get_ext_attr_db_rec.UOM_EXT_ATTR22;
2989 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR23 := v_get_ext_attr_db_rec.UOM_EXT_ATTR23;
2990 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR24 := v_get_ext_attr_db_rec.UOM_EXT_ATTR24;
2991 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR25 := v_get_ext_attr_db_rec.UOM_EXT_ATTR25;
2992 END IF;
2993
2994 END IF;
2995 CLOSE c_get_ext_attr_db_rec;
2996 --DBMS_OUTPUT.PUT_LINE('p_sr_audit_rec_table.COUNT'||p_sr_audit_rec_table.count);
2997
2998 END IF;
2999 END IF;
3000 END populate_pr_ext_attr_audit_rec;
3001
3002 PROCEDURE populate_sr_ext_attr_audit_rec(
3003 p_incident_id IN NUMBER
3004 ,p_context IN NUMBER
3005 ,p_attr_group_id IN NUMBER
3006 ,p_row_id IN NUMBER
3007 ,p_ext_attr_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE
3008 ,p_sr_audit_rec_table IN OUT NOCOPY Ext_Attr_Audit_Tbl_Type
3009 ,x_rec_found OUT NOCOPY VARCHAR2
3010 ) IS
3011
3012
3013 Cursor c_get_ext_attr_db_rec IS
3014 select * from cs_incidents_ext
3015 where incident_id = p_incident_id
3016 and context = p_context
3017 and attr_group_id = p_attr_group_id;
3018
3019 Cursor c_is_multi_row IS
3020 select multi_row_code
3021 from ego_attr_groups_v
3022 where attr_group_id = p_attr_group_id;
3023
3024 Cursor c_get_unique_key (p_application_id IN NUMBER,
3025 p_attr_group_name IN VARCHAR2,
3026 p_attr_group_type IN VARCHAR2
3027 ) IS
3028 select attr_name, database_column
3029 from ego_attrs_v
3030 where attr_group_name = p_attr_group_name
3031 and attr_group_type = p_attr_group_type
3032 and application_id = p_application_id
3033 and unique_key_flag = 'Y';
3034
3035
3036
3037 i NUMBER := 0;
3038 l_old_Ext_Attr_Audit_Tbl Ext_Attr_Audit_Tbl_Type;
3039 l_multi_row_code VARCHAR2(1);
3040 l_attribute_name VARCHAR2(30);
3041 l_database_column_name VARCHAR2(30);
3042 l_application_id NUMBER;
3043 l_attr_group_type VARCHAR2(30);
3044 l_attr_group_name VARCHAR2(80);
3045 l_unique_value_str VARCHAR2(4000);
3046 L_unique_value_num NUMBER;
3047 l_unique_value_date DATE;
3048 l_unique_value_uom VARCHAR2(3);
3049
3050 l_sql VARCHAR2(2000) := 'SELECT * FROM CS_INCIDENTS_EXT WHERE INCIDENT_ID = :P_INCIDENT_ID AND CONTEXT = :P_CONTEXT AND ATTR_GROUP_ID = :P_ATTR_GROUP_ID';
3051 l_cs_incidents_ext_rec cs_incidents_ext%ROWTYPE;
3052
3053 v_get_ext_attr_db_rec c_get_ext_attr_db_rec%ROWTYPE;
3054
3055 l_count NUMBER := 0;
3056
3057 l_create_new_record VARCHAR2(1) := 'N';
3058 l_audit_table_empty VARCHAR2(1) := 'N';
3059 BEGIN
3060
3061 --get the correct count of the records in the audit table
3062 --DBMS_OUTPUT.PUT_LINE('p_sr_audit_rec_table.COUNT'||p_sr_audit_rec_table.COUNT); --executed
3063
3064 l_count := p_sr_audit_rec_table.COUNT;
3065
3066 IF p_attr_group_id IS NOT NULL AND
3067 p_incident_id IS NOT NULL AND
3068 p_context IS NOT NULL THEN
3069
3070 -- check if attribute group is multi_row_enabled
3071 OPEN c_is_multi_row;
3072 FETCH c_is_multi_row INTO l_multi_row_code;
3073 CLOSE c_is_multi_row;
3074
3075 --DBMS_OUTPUT.PUT_LINE('Multi-Row flag is :'||l_multi_row_code); --executed
3076
3077
3078 IF l_multi_row_code = 'Y' then
3079
3080 --DBMS_OUTPUT.PUT_LINE('In multi row logic');
3081 --DBMS_OUTPUT.PUT_LINE('Calling Get_Attr_Group_Metadata ');
3082
3083 -- first get the attribute_group_name, attribute_group_type and application_id
3084 -- for this attribute_group_id
3085 Get_Attr_Group_Metadata (
3086 p_attr_group_id => p_attr_group_id
3087 ,x_application_id => l_application_id
3088 ,x_attr_group_type => l_attr_group_type
3089 ,x_attr_group_name => l_attr_group_name
3090 );
3091
3092 --DBMS_OUTPUT.PUT_LINE('l_application_id'||l_application_id);
3093 --DBMS_OUTPUT.PUT_LINE('l_attr_group_type'||l_attr_group_type);
3094 --DBMS_OUTPUT.PUT_LINE('l_attr_group_name'||l_attr_group_name);
3095
3096 IF l_application_id IS NOT NULL AND
3097 l_attr_group_type IS NOT NULL AND
3098 l_attr_group_name IS NOT NULL THEN
3099
3100 --DBMS_OUTPUT.PUT_LINE('Getting unique key');
3101
3102 --get the unique attribute maintained for this multi-row attribute group
3103 OPEN c_get_unique_key (l_application_id
3104 ,l_attr_group_name
3105 ,l_attr_group_type);
3106 FETCH c_get_unique_key into l_attribute_name, l_database_column_name;
3107 CLOSE c_get_unique_key;
3108
3109 IF l_attribute_name IS NOT NULL THEN
3110
3111 --DBMS_OUTPUT.PUT_LINE('l_attribute_name'||l_attribute_name);
3112 --DBMS_OUTPUT.PUT_LINE('l_database_column_name'||l_database_column_name);
3113
3114 --traverse through the p_ext_attr_tbl and
3115 --get the value for the unique attribute group
3116 --this code assumes that the unique attribute is non-updateable
3117 FOR i IN 1..p_ext_attr_tbl.COUNT LOOP
3118
3119 IF p_ext_attr_tbl(i).row_identifier = p_row_id AND
3120 p_ext_attr_tbl(i).attr_name = l_attribute_name OR
3121 p_ext_attr_tbl(i).column_name = l_database_column_name THEN
3122
3123 --match found
3124 --get the unique value. However the unique value may be a string
3125 --date, character, or uom so we have to check all possible combinations.
3126
3127 --DBMS_OUTPUT.PUT_LINE('match found');
3128
3129 IF p_ext_attr_tbl(i).attr_value_str IS NOT NULL Then
3130 --unique value is a string
3131 l_unique_value_str := p_ext_attr_tbl(i).attr_value_str;
3132 --dynamically build a cusrsor and get value from the database;
3133 --assisgn the value to the record structure
3134
3135 l_sql := l_sql||'and '||l_database_column_name||' = '||l_unique_value_str;
3136
3137 ELSIF p_ext_attr_tbl(i).attr_value_num IS NOT NULL Then
3138 l_unique_value_num := p_ext_attr_tbl(i).attr_value_num;
3139 --dynamically build a cusrsor and get value from the database;
3140 --assisgn the value to the record structure
3141
3142 --DBMS_OUTPUT.PUT_LINE('p_ext_attr_tbl(i).attr_value_num'||p_ext_attr_tbl(i).attr_value_num);
3143
3144 l_sql := l_sql||' and '||l_database_column_name||' = '||l_unique_value_num;
3145
3146 --DBMS_OUTPUT.PUT_LINE('l_sql'||l_sql);
3147
3148 ELSIF p_ext_attr_tbl(i).attr_value_date IS NOT NULL Then
3149 l_unique_value_date := p_ext_attr_tbl(i).attr_value_date;
3150
3151 l_sql := l_sql||'and '||l_database_column_name||' = '||l_unique_value_date;
3152 ELSE
3153 IF p_ext_attr_tbl(i).attr_unit_of_measure IS NOT NULL then
3154 l_unique_value_uom := p_ext_attr_tbl(i).attr_unit_of_measure;
3155
3156 l_sql := l_sql||'and '||l_database_column_name||' = '||l_unique_value_uom;
3157 END IF;
3158 END IF;
3159
3160 --DBMS_OUTPUT.PUT_LINE('executing sql');
3161
3162 EXIT;
3163 END IF; -- end if of row_identifier, l_attribute_name, l_database_name not null
3164 END LOOP;-- end of loop
3165
3166 BEGIN
3167
3168 EXECUTE IMMEDIATE l_sql INTO l_cs_incidents_ext_rec using p_incident_id, p_context, p_attr_group_id;
3169 --DBMS_OUTPUT.PUT_LINE('executed sql');
3170 EXCEPTION
3171 WHEN NO_DATA_FOUND THEN
3172 x_rec_found := 'N';
3173 END;
3174
3175 --Check l_cs_incidents_ext_rec if record exists
3176
3177 IF l_cs_incidents_ext_rec.extension_id IS NOT NULL THEN
3178
3179 -- Record exists
3180 x_rec_found := 'Y';
3181 -- pass the value from the cursor variable to the l_old_Ext_Attr_Audit_Rec table
3182 --DBMS_OUTPUT.PUT_LINE('Record Exists');
3183
3184 -- loop through the audit table passed in and see if you can find the record
3185 -- this is for a 'CREATE' situation
3186
3187 --DBMS_OUTPUT.PUT_LINE('p_sr_audit_rec_table.COUNT'||p_sr_audit_rec_table.COUNT);
3188
3189 IF p_sr_audit_rec_table.COUNT > 0 THEN
3190
3191 --DBMS_OUTPUT.PUT_LINE('In loooop');
3192 FOR i IN 1.. p_sr_audit_rec_table.COUNT LOOP
3193 IF p_sr_audit_rec_table(i).pk_column_1 = p_incident_id AND
3194 p_sr_audit_rec_table(i).context = p_context AND
3195 p_sr_audit_rec_table(i).attr_group_id = p_attr_group_id AND
3196 p_sr_audit_rec_table(i).row_identifier = p_row_id THEN
3197
3198 IF p_sr_audit_rec_table(i).extension_id IS NULL THEN
3199
3200 l_create_new_record := 'N';
3201
3202 --DBMS_OUTPUT.PUT_LINE('l_create_new_record'||l_create_new_record);
3203 --DBMS_OUTPUT.PUT_LINE('Match found for audit record');
3204
3205 p_sr_audit_rec_table(i).extension_id := l_cs_incidents_ext_rec.extension_id;
3206 p_sr_audit_rec_table(i).pk_column_1 := p_incident_id;
3207 p_sr_audit_rec_table(i).pk_column_2 := null;
3208 p_sr_audit_rec_table(i).pk_column_3 := null;
3209 p_sr_audit_rec_table(i).pk_column_4 := null;
3210 p_sr_audit_rec_table(i).pk_column_5 := null;
3211 p_sr_audit_rec_table(i).CONTEXT := p_context;
3212 p_sr_audit_rec_table(i).ATTR_GROUP_ID := p_attr_group_id;
3213 p_sr_audit_rec_table(i).C_EXT_ATTR1 := l_cs_incidents_ext_rec.C_EXT_ATTR1;
3214 p_sr_audit_rec_table(i).C_EXT_ATTR2 := l_cs_incidents_ext_rec.C_EXT_ATTR2;
3215 p_sr_audit_rec_table(i).C_EXT_ATTR3 := l_cs_incidents_ext_rec.C_EXT_ATTR3;
3216 p_sr_audit_rec_table(i).C_EXT_ATTR4 := l_cs_incidents_ext_rec.C_EXT_ATTR4;
3217 p_sr_audit_rec_table(i).C_EXT_ATTR5 := l_cs_incidents_ext_rec.C_EXT_ATTR5;
3218 p_sr_audit_rec_table(i).C_EXT_ATTR6 := l_cs_incidents_ext_rec.C_EXT_ATTR6;
3219 p_sr_audit_rec_table(i).C_EXT_ATTR7 := l_cs_incidents_ext_rec.C_EXT_ATTR7;
3220 p_sr_audit_rec_table(i).C_EXT_ATTR8 := l_cs_incidents_ext_rec.C_EXT_ATTR8;
3221 p_sr_audit_rec_table(i).C_EXT_ATTR9 := l_cs_incidents_ext_rec.C_EXT_ATTR9;
3222 p_sr_audit_rec_table(i).C_EXT_ATTR10 := l_cs_incidents_ext_rec.C_EXT_ATTR10;
3223 p_sr_audit_rec_table(i).C_EXT_ATTR11 := l_cs_incidents_ext_rec.C_EXT_ATTR11;
3224 p_sr_audit_rec_table(i).C_EXT_ATTR12 := l_cs_incidents_ext_rec.C_EXT_ATTR12;
3225 p_sr_audit_rec_table(i).C_EXT_ATTR13 := l_cs_incidents_ext_rec.C_EXT_ATTR13;
3226 p_sr_audit_rec_table(i).C_EXT_ATTR14 := l_cs_incidents_ext_rec.C_EXT_ATTR14;
3227 p_sr_audit_rec_table(i).C_EXT_ATTR15 := l_cs_incidents_ext_rec.C_EXT_ATTR15;
3228 p_sr_audit_rec_table(i).C_EXT_ATTR16 := l_cs_incidents_ext_rec.C_EXT_ATTR16;
3229 p_sr_audit_rec_table(i).C_EXT_ATTR17 := l_cs_incidents_ext_rec.C_EXT_ATTR17;
3230 p_sr_audit_rec_table(i).C_EXT_ATTR18 := l_cs_incidents_ext_rec.C_EXT_ATTR18;
3231 p_sr_audit_rec_table(i).C_EXT_ATTR19 := l_cs_incidents_ext_rec.C_EXT_ATTR19;
3232 p_sr_audit_rec_table(i).C_EXT_ATTR20 := l_cs_incidents_ext_rec.C_EXT_ATTR20;
3233 p_sr_audit_rec_table(i).C_EXT_ATTR21 := l_cs_incidents_ext_rec.C_EXT_ATTR21;
3234 p_sr_audit_rec_table(i).C_EXT_ATTR22 := l_cs_incidents_ext_rec.C_EXT_ATTR22;
3235 p_sr_audit_rec_table(i).C_EXT_ATTR23 := l_cs_incidents_ext_rec.C_EXT_ATTR23;
3236 p_sr_audit_rec_table(i).C_EXT_ATTR24 := l_cs_incidents_ext_rec.C_EXT_ATTR24;
3237 p_sr_audit_rec_table(i).C_EXT_ATTR25 := l_cs_incidents_ext_rec.C_EXT_ATTR25;
3238 p_sr_audit_rec_table(i).C_EXT_ATTR26 := l_cs_incidents_ext_rec.C_EXT_ATTR26;
3239 p_sr_audit_rec_table(i).C_EXT_ATTR27 := l_cs_incidents_ext_rec.C_EXT_ATTR27;
3240 p_sr_audit_rec_table(i).C_EXT_ATTR28 := l_cs_incidents_ext_rec.C_EXT_ATTR28;
3241 p_sr_audit_rec_table(i).C_EXT_ATTR29 := l_cs_incidents_ext_rec.C_EXT_ATTR29;
3242 p_sr_audit_rec_table(i).C_EXT_ATTR30 := l_cs_incidents_ext_rec.C_EXT_ATTR30;
3243 p_sr_audit_rec_table(i).C_EXT_ATTR31 := l_cs_incidents_ext_rec.C_EXT_ATTR31;
3244 p_sr_audit_rec_table(i).C_EXT_ATTR32 := l_cs_incidents_ext_rec.C_EXT_ATTR32;
3245 p_sr_audit_rec_table(i).C_EXT_ATTR33 := l_cs_incidents_ext_rec.C_EXT_ATTR33;
3246 p_sr_audit_rec_table(i).C_EXT_ATTR34 := l_cs_incidents_ext_rec.C_EXT_ATTR34;
3247 p_sr_audit_rec_table(i).C_EXT_ATTR35 := l_cs_incidents_ext_rec.C_EXT_ATTR35;
3248 p_sr_audit_rec_table(i).C_EXT_ATTR36 := l_cs_incidents_ext_rec.C_EXT_ATTR36;
3249 p_sr_audit_rec_table(i).C_EXT_ATTR37 := l_cs_incidents_ext_rec.C_EXT_ATTR37;
3250 p_sr_audit_rec_table(i).C_EXT_ATTR38 := l_cs_incidents_ext_rec.C_EXT_ATTR38;
3251 p_sr_audit_rec_table(i).C_EXT_ATTR39 := l_cs_incidents_ext_rec.C_EXT_ATTR38;
3252 p_sr_audit_rec_table(i).C_EXT_ATTR40 := l_cs_incidents_ext_rec.C_EXT_ATTR40;
3253 p_sr_audit_rec_table(i).C_EXT_ATTR41 := l_cs_incidents_ext_rec.C_EXT_ATTR41;
3254 p_sr_audit_rec_table(i).C_EXT_ATTR42 := l_cs_incidents_ext_rec.C_EXT_ATTR42;
3255 p_sr_audit_rec_table(i).C_EXT_ATTR43 := l_cs_incidents_ext_rec.C_EXT_ATTR43;
3256 p_sr_audit_rec_table(i).C_EXT_ATTR44 := l_cs_incidents_ext_rec.C_EXT_ATTR44;
3257 p_sr_audit_rec_table(i).C_EXT_ATTR45 := l_cs_incidents_ext_rec.C_EXT_ATTR45;
3258 p_sr_audit_rec_table(i).C_EXT_ATTR46 := l_cs_incidents_ext_rec.C_EXT_ATTR46;
3259 p_sr_audit_rec_table(i).C_EXT_ATTR47 := l_cs_incidents_ext_rec.C_EXT_ATTR47;
3260 p_sr_audit_rec_table(i).C_EXT_ATTR48 := l_cs_incidents_ext_rec.C_EXT_ATTR48;
3261 p_sr_audit_rec_table(i).C_EXT_ATTR49 := l_cs_incidents_ext_rec.C_EXT_ATTR49;
3262 p_sr_audit_rec_table(i).C_EXT_ATTR50 := l_cs_incidents_ext_rec.C_EXT_ATTR50;
3263 p_sr_audit_rec_table(i).N_EXT_ATTR1 := l_cs_incidents_ext_rec.N_EXT_ATTR1;
3264 p_sr_audit_rec_table(i).N_EXT_ATTR2 := l_cs_incidents_ext_rec.N_EXT_ATTR2;
3265 p_sr_audit_rec_table(i).N_EXT_ATTR3 := l_cs_incidents_ext_rec.N_EXT_ATTR3;
3266 p_sr_audit_rec_table(i).N_EXT_ATTR4 := l_cs_incidents_ext_rec.N_EXT_ATTR4;
3267 p_sr_audit_rec_table(i).N_EXT_ATTR5 := l_cs_incidents_ext_rec.N_EXT_ATTR5;
3268 p_sr_audit_rec_table(i).N_EXT_ATTR6 := l_cs_incidents_ext_rec.N_EXT_ATTR6;
3269 p_sr_audit_rec_table(i).N_EXT_ATTR7 := l_cs_incidents_ext_rec.N_EXT_ATTR7;
3270 p_sr_audit_rec_table(i).N_EXT_ATTR8 := l_cs_incidents_ext_rec.N_EXT_ATTR8;
3271 p_sr_audit_rec_table(i).N_EXT_ATTR9 := l_cs_incidents_ext_rec.N_EXT_ATTR9;
3272 p_sr_audit_rec_table(i).N_EXT_ATTR10 := l_cs_incidents_ext_rec.N_EXT_ATTR10;
3273 p_sr_audit_rec_table(i).N_EXT_ATTR11 := l_cs_incidents_ext_rec.N_EXT_ATTR11;
3274 p_sr_audit_rec_table(i).N_EXT_ATTR12 := l_cs_incidents_ext_rec.N_EXT_ATTR12;
3275 p_sr_audit_rec_table(i).N_EXT_ATTR13 := l_cs_incidents_ext_rec.N_EXT_ATTR13;
3276 p_sr_audit_rec_table(i).N_EXT_ATTR14 := l_cs_incidents_ext_rec.N_EXT_ATTR14;
3277 p_sr_audit_rec_table(i).N_EXT_ATTR15 := l_cs_incidents_ext_rec.N_EXT_ATTR15;
3278 p_sr_audit_rec_table(i).N_EXT_ATTR16 := l_cs_incidents_ext_rec.N_EXT_ATTR16;
3279 p_sr_audit_rec_table(i).N_EXT_ATTR17 := l_cs_incidents_ext_rec.N_EXT_ATTR17;
3280 p_sr_audit_rec_table(i).N_EXT_ATTR18 := l_cs_incidents_ext_rec.N_EXT_ATTR18;
3281 p_sr_audit_rec_table(i).N_EXT_ATTR19 := l_cs_incidents_ext_rec.N_EXT_ATTR19;
3282 p_sr_audit_rec_table(i).N_EXT_ATTR20 := l_cs_incidents_ext_rec.N_EXT_ATTR20;
3283 p_sr_audit_rec_table(i).N_EXT_ATTR21 := l_cs_incidents_ext_rec.N_EXT_ATTR21;
3284 p_sr_audit_rec_table(i).N_EXT_ATTR22 := l_cs_incidents_ext_rec.N_EXT_ATTR22;
3285 p_sr_audit_rec_table(i).N_EXT_ATTR23 := l_cs_incidents_ext_rec.N_EXT_ATTR23;
3286 p_sr_audit_rec_table(i).N_EXT_ATTR24 := l_cs_incidents_ext_rec.N_EXT_ATTR24;
3287 p_sr_audit_rec_table(i).N_EXT_ATTR25 := l_cs_incidents_ext_rec.N_EXT_ATTR25;
3288 p_sr_audit_rec_table(i).D_EXT_ATTR1 := l_cs_incidents_ext_rec.D_EXT_ATTR1;
3289 p_sr_audit_rec_table(i).D_EXT_ATTR2 := l_cs_incidents_ext_rec.D_EXT_ATTR2;
3290 p_sr_audit_rec_table(i).D_EXT_ATTR3 := l_cs_incidents_ext_rec.D_EXT_ATTR3;
3291 p_sr_audit_rec_table(i).D_EXT_ATTR4 := l_cs_incidents_ext_rec.D_EXT_ATTR4;
3292 p_sr_audit_rec_table(i).D_EXT_ATTR5 := l_cs_incidents_ext_rec.D_EXT_ATTR5;
3293 p_sr_audit_rec_table(i).D_EXT_ATTR6 := l_cs_incidents_ext_rec.D_EXT_ATTR6;
3294 p_sr_audit_rec_table(i).D_EXT_ATTR7 := l_cs_incidents_ext_rec.D_EXT_ATTR7;
3295 p_sr_audit_rec_table(i).D_EXT_ATTR8 := l_cs_incidents_ext_rec.D_EXT_ATTR8;
3296 p_sr_audit_rec_table(i).D_EXT_ATTR9 := l_cs_incidents_ext_rec.D_EXT_ATTR9;
3297 p_sr_audit_rec_table(i).D_EXT_ATTR10 := l_cs_incidents_ext_rec.D_EXT_ATTR10;
3298 p_sr_audit_rec_table(i).D_EXT_ATTR11 := l_cs_incidents_ext_rec.D_EXT_ATTR11;
3299 p_sr_audit_rec_table(i).D_EXT_ATTR12 := l_cs_incidents_ext_rec.D_EXT_ATTR12;
3300 p_sr_audit_rec_table(i).D_EXT_ATTR13 := l_cs_incidents_ext_rec.D_EXT_ATTR13;
3301 p_sr_audit_rec_table(i).D_EXT_ATTR14 := l_cs_incidents_ext_rec.D_EXT_ATTR14;
3302 p_sr_audit_rec_table(i).D_EXT_ATTR15 := l_cs_incidents_ext_rec.D_EXT_ATTR15;
3303 p_sr_audit_rec_table(i).D_EXT_ATTR16 := l_cs_incidents_ext_rec.D_EXT_ATTR16;
3304 p_sr_audit_rec_table(i).D_EXT_ATTR17 := l_cs_incidents_ext_rec.D_EXT_ATTR17;
3305 p_sr_audit_rec_table(i).D_EXT_ATTR18 := l_cs_incidents_ext_rec.D_EXT_ATTR18;
3306 p_sr_audit_rec_table(i).D_EXT_ATTR19 := l_cs_incidents_ext_rec.D_EXT_ATTR19;
3307 p_sr_audit_rec_table(i).D_EXT_ATTR20 := l_cs_incidents_ext_rec.D_EXT_ATTR20;
3308 p_sr_audit_rec_table(i).D_EXT_ATTR21 := l_cs_incidents_ext_rec.D_EXT_ATTR21;
3309 p_sr_audit_rec_table(i).D_EXT_ATTR22 := l_cs_incidents_ext_rec.D_EXT_ATTR22;
3310 p_sr_audit_rec_table(i).D_EXT_ATTR23 := l_cs_incidents_ext_rec.D_EXT_ATTR23;
3311 p_sr_audit_rec_table(i).D_EXT_ATTR24 := l_cs_incidents_ext_rec.D_EXT_ATTR24;
3312 p_sr_audit_rec_table(i).D_EXT_ATTR25 := l_cs_incidents_ext_rec.D_EXT_ATTR25;
3313 p_sr_audit_rec_table(i).UOM_EXT_ATTR1 := l_cs_incidents_ext_rec.UOM_EXT_ATTR1;
3314 p_sr_audit_rec_table(i).UOM_EXT_ATTR2 := l_cs_incidents_ext_rec.UOM_EXT_ATTR2;
3315 p_sr_audit_rec_table(i).UOM_EXT_ATTR3 := l_cs_incidents_ext_rec.UOM_EXT_ATTR3;
3316 p_sr_audit_rec_table(i).UOM_EXT_ATTR4 := l_cs_incidents_ext_rec.UOM_EXT_ATTR4;
3317 p_sr_audit_rec_table(i).UOM_EXT_ATTR5 := l_cs_incidents_ext_rec.UOM_EXT_ATTR5;
3318 p_sr_audit_rec_table(i).UOM_EXT_ATTR6 := l_cs_incidents_ext_rec.UOM_EXT_ATTR6;
3319 p_sr_audit_rec_table(i).UOM_EXT_ATTR7 := l_cs_incidents_ext_rec.UOM_EXT_ATTR7;
3320 p_sr_audit_rec_table(i).UOM_EXT_ATTR8 := l_cs_incidents_ext_rec.UOM_EXT_ATTR8;
3321 p_sr_audit_rec_table(i).UOM_EXT_ATTR9 := l_cs_incidents_ext_rec.UOM_EXT_ATTR9;
3322 p_sr_audit_rec_table(i).UOM_EXT_ATTR10 := l_cs_incidents_ext_rec.UOM_EXT_ATTR10;
3323 p_sr_audit_rec_table(i).UOM_EXT_ATTR11 := l_cs_incidents_ext_rec.UOM_EXT_ATTR11;
3324 p_sr_audit_rec_table(i).UOM_EXT_ATTR12 := l_cs_incidents_ext_rec.UOM_EXT_ATTR12;
3325 p_sr_audit_rec_table(i).UOM_EXT_ATTR13 := l_cs_incidents_ext_rec.UOM_EXT_ATTR13;
3326 p_sr_audit_rec_table(i).UOM_EXT_ATTR14 := l_cs_incidents_ext_rec.UOM_EXT_ATTR14;
3327 p_sr_audit_rec_table(i).UOM_EXT_ATTR15 := l_cs_incidents_ext_rec.UOM_EXT_ATTR15;
3328 p_sr_audit_rec_table(i).UOM_EXT_ATTR16 := l_cs_incidents_ext_rec.UOM_EXT_ATTR16;
3329 p_sr_audit_rec_table(i).UOM_EXT_ATTR17 := l_cs_incidents_ext_rec.UOM_EXT_ATTR17;
3330 p_sr_audit_rec_table(i).UOM_EXT_ATTR18 := l_cs_incidents_ext_rec.UOM_EXT_ATTR18;
3331 p_sr_audit_rec_table(i).UOM_EXT_ATTR19 := l_cs_incidents_ext_rec.UOM_EXT_ATTR19;
3332 p_sr_audit_rec_table(i).UOM_EXT_ATTR20 := l_cs_incidents_ext_rec.UOM_EXT_ATTR20;
3333 p_sr_audit_rec_table(i).UOM_EXT_ATTR21 := l_cs_incidents_ext_rec.UOM_EXT_ATTR21;
3334 p_sr_audit_rec_table(i).UOM_EXT_ATTR22 := l_cs_incidents_ext_rec.UOM_EXT_ATTR22;
3335 p_sr_audit_rec_table(i).UOM_EXT_ATTR23 := l_cs_incidents_ext_rec.UOM_EXT_ATTR23;
3336 p_sr_audit_rec_table(i).UOM_EXT_ATTR24 := l_cs_incidents_ext_rec.UOM_EXT_ATTR24;
3337 p_sr_audit_rec_table(i).UOM_EXT_ATTR25 := l_cs_incidents_ext_rec.UOM_EXT_ATTR25;
3338
3339 -- need to exit;
3340 EXIT;
3341
3342 END IF;
3343
3344 ELSE
3345 l_create_new_record := 'Y';
3346 END IF;
3347 END LOOP;
3348
3349 --DBMS_OUTPUT.PUT_LINE('p_sr_audit_rec_table.COUNT'||p_sr_audit_rec_table.count);
3350 ELSE
3351 l_audit_table_empty := 'Y';
3352 END IF;
3353
3354 --DBMS_OUTPUT.PUT_LINE('l_create_new_rec'||l_create_new_record);
3355 --DBMS_OUTPUT.PUT_LINE('l_audit_table_empty'||l_audit_table_empty);
3356
3357
3358
3359 IF l_create_new_record = 'Y' OR
3360 l_audit_table_empty = 'Y' THEN
3361
3362 l_count := l_count + 1;
3363 p_sr_audit_rec_table (l_count).extension_id := l_cs_incidents_ext_rec.extension_id;
3364 p_sr_audit_rec_table (l_count).pk_column_1 := l_cs_incidents_ext_rec.incident_id;
3365 p_sr_audit_rec_table (l_count).pk_column_2 := null;
3366 p_sr_audit_rec_table (l_count).pk_column_3 := null;
3367 p_sr_audit_rec_table (l_count).pk_column_4 := null;
3368 p_sr_audit_rec_table (l_count).CONTEXT := l_cs_incidents_ext_rec.context;
3369 p_sr_audit_rec_table (l_count).ATTR_GROUP_ID := l_cs_incidents_ext_rec.attr_group_id;
3370 p_sr_audit_rec_table (l_count).C_EXT_ATTR1 := l_cs_incidents_ext_rec.C_EXT_ATTR1;
3371 p_sr_audit_rec_table (l_count).C_EXT_ATTR2 := l_cs_incidents_ext_rec.C_EXT_ATTR2;
3372 p_sr_audit_rec_table (l_count).C_EXT_ATTR3 := l_cs_incidents_ext_rec.C_EXT_ATTR3;
3373 p_sr_audit_rec_table (l_count).C_EXT_ATTR4 := l_cs_incidents_ext_rec.C_EXT_ATTR4;
3374 p_sr_audit_rec_table (l_count).C_EXT_ATTR5 := l_cs_incidents_ext_rec.C_EXT_ATTR5;
3375 p_sr_audit_rec_table (l_count).C_EXT_ATTR6 := l_cs_incidents_ext_rec.C_EXT_ATTR6;
3376 p_sr_audit_rec_table (l_count).C_EXT_ATTR7 := l_cs_incidents_ext_rec.C_EXT_ATTR7;
3377 p_sr_audit_rec_table (l_count).C_EXT_ATTR8 := l_cs_incidents_ext_rec.C_EXT_ATTR8;
3378 p_sr_audit_rec_table (l_count).C_EXT_ATTR9 := l_cs_incidents_ext_rec.C_EXT_ATTR9;
3379 p_sr_audit_rec_table (l_count).C_EXT_ATTR10 := l_cs_incidents_ext_rec.C_EXT_ATTR10;
3380 p_sr_audit_rec_table (l_count).C_EXT_ATTR11 := l_cs_incidents_ext_rec.C_EXT_ATTR11;
3381 p_sr_audit_rec_table (l_count).C_EXT_ATTR12 := l_cs_incidents_ext_rec.C_EXT_ATTR12;
3382 p_sr_audit_rec_table (l_count).C_EXT_ATTR13 := l_cs_incidents_ext_rec.C_EXT_ATTR13;
3383 p_sr_audit_rec_table (l_count).C_EXT_ATTR14 := l_cs_incidents_ext_rec.C_EXT_ATTR14;
3384 p_sr_audit_rec_table (l_count).C_EXT_ATTR15 := l_cs_incidents_ext_rec.C_EXT_ATTR15;
3385 p_sr_audit_rec_table (l_count).C_EXT_ATTR16 := l_cs_incidents_ext_rec.C_EXT_ATTR16;
3386 p_sr_audit_rec_table (l_count).C_EXT_ATTR17 := l_cs_incidents_ext_rec.C_EXT_ATTR17;
3387 p_sr_audit_rec_table (l_count).C_EXT_ATTR18 := l_cs_incidents_ext_rec.C_EXT_ATTR18;
3388 p_sr_audit_rec_table (l_count).C_EXT_ATTR19 := l_cs_incidents_ext_rec.C_EXT_ATTR19;
3389 p_sr_audit_rec_table (l_count).C_EXT_ATTR20 := l_cs_incidents_ext_rec.C_EXT_ATTR20;
3390 p_sr_audit_rec_table (l_count).C_EXT_ATTR21 := l_cs_incidents_ext_rec.C_EXT_ATTR21;
3391 p_sr_audit_rec_table (l_count).C_EXT_ATTR22 := l_cs_incidents_ext_rec.C_EXT_ATTR22;
3392 p_sr_audit_rec_table (l_count).C_EXT_ATTR23 := l_cs_incidents_ext_rec.C_EXT_ATTR23;
3393 p_sr_audit_rec_table (l_count).C_EXT_ATTR24 := l_cs_incidents_ext_rec.C_EXT_ATTR24;
3394 p_sr_audit_rec_table (l_count).C_EXT_ATTR25 := l_cs_incidents_ext_rec.C_EXT_ATTR25;
3395 p_sr_audit_rec_table (l_count).C_EXT_ATTR26 := l_cs_incidents_ext_rec.C_EXT_ATTR26;
3396 p_sr_audit_rec_table (l_count).C_EXT_ATTR27 := l_cs_incidents_ext_rec.C_EXT_ATTR27;
3397 p_sr_audit_rec_table (l_count).C_EXT_ATTR28 := l_cs_incidents_ext_rec.C_EXT_ATTR28;
3398 p_sr_audit_rec_table (l_count).C_EXT_ATTR29 := l_cs_incidents_ext_rec.C_EXT_ATTR29;
3399 p_sr_audit_rec_table (l_count).C_EXT_ATTR30 := l_cs_incidents_ext_rec.C_EXT_ATTR30;
3400 p_sr_audit_rec_table (l_count).C_EXT_ATTR31 := l_cs_incidents_ext_rec.C_EXT_ATTR31;
3401 p_sr_audit_rec_table (l_count).C_EXT_ATTR32 := l_cs_incidents_ext_rec.C_EXT_ATTR32;
3402 p_sr_audit_rec_table (l_count).C_EXT_ATTR33 := l_cs_incidents_ext_rec.C_EXT_ATTR33;
3403 p_sr_audit_rec_table (l_count).C_EXT_ATTR34 := l_cs_incidents_ext_rec.C_EXT_ATTR34;
3404 p_sr_audit_rec_table (l_count).C_EXT_ATTR35 := l_cs_incidents_ext_rec.C_EXT_ATTR35;
3405 p_sr_audit_rec_table (l_count).C_EXT_ATTR36 := l_cs_incidents_ext_rec.C_EXT_ATTR36;
3406 p_sr_audit_rec_table (l_count).C_EXT_ATTR37 := l_cs_incidents_ext_rec.C_EXT_ATTR37;
3407 p_sr_audit_rec_table (l_count).C_EXT_ATTR38 := l_cs_incidents_ext_rec.C_EXT_ATTR38;
3408 p_sr_audit_rec_table (l_count).C_EXT_ATTR39 := l_cs_incidents_ext_rec.C_EXT_ATTR38;
3409 p_sr_audit_rec_table (l_count).C_EXT_ATTR40 := l_cs_incidents_ext_rec.C_EXT_ATTR40;
3410 p_sr_audit_rec_table (l_count).C_EXT_ATTR41 := l_cs_incidents_ext_rec.C_EXT_ATTR41;
3411 p_sr_audit_rec_table (l_count).C_EXT_ATTR42 := l_cs_incidents_ext_rec.C_EXT_ATTR42;
3412 p_sr_audit_rec_table (l_count).C_EXT_ATTR43 := l_cs_incidents_ext_rec.C_EXT_ATTR43;
3413 p_sr_audit_rec_table (l_count).C_EXT_ATTR44 := l_cs_incidents_ext_rec.C_EXT_ATTR44;
3414 p_sr_audit_rec_table (l_count).C_EXT_ATTR45 := l_cs_incidents_ext_rec.C_EXT_ATTR45;
3415 p_sr_audit_rec_table (l_count).C_EXT_ATTR46 := l_cs_incidents_ext_rec.C_EXT_ATTR46;
3416 p_sr_audit_rec_table (l_count).C_EXT_ATTR47 := l_cs_incidents_ext_rec.C_EXT_ATTR47;
3417 p_sr_audit_rec_table (l_count).C_EXT_ATTR48 := l_cs_incidents_ext_rec.C_EXT_ATTR48;
3418 p_sr_audit_rec_table (l_count).C_EXT_ATTR49 := l_cs_incidents_ext_rec.C_EXT_ATTR49;
3419 p_sr_audit_rec_table (l_count).C_EXT_ATTR50 := l_cs_incidents_ext_rec.C_EXT_ATTR50;
3420 p_sr_audit_rec_table (l_count).N_EXT_ATTR1 := l_cs_incidents_ext_rec.N_EXT_ATTR1;
3421 p_sr_audit_rec_table (l_count).N_EXT_ATTR2 := l_cs_incidents_ext_rec.N_EXT_ATTR2;
3422 p_sr_audit_rec_table (l_count).N_EXT_ATTR3 := l_cs_incidents_ext_rec.N_EXT_ATTR3;
3423 p_sr_audit_rec_table (l_count).N_EXT_ATTR4 := l_cs_incidents_ext_rec.N_EXT_ATTR4;
3424 p_sr_audit_rec_table (l_count).N_EXT_ATTR5 := l_cs_incidents_ext_rec.N_EXT_ATTR5;
3425 p_sr_audit_rec_table (l_count).N_EXT_ATTR6 := l_cs_incidents_ext_rec.N_EXT_ATTR6;
3426 p_sr_audit_rec_table (l_count).N_EXT_ATTR7 := l_cs_incidents_ext_rec.N_EXT_ATTR7;
3427 p_sr_audit_rec_table (l_count).N_EXT_ATTR8 := l_cs_incidents_ext_rec.N_EXT_ATTR8;
3428 p_sr_audit_rec_table (l_count).N_EXT_ATTR9 := l_cs_incidents_ext_rec.N_EXT_ATTR9;
3429 p_sr_audit_rec_table (l_count).N_EXT_ATTR10 := l_cs_incidents_ext_rec.N_EXT_ATTR10;
3430 p_sr_audit_rec_table (l_count).N_EXT_ATTR11 := l_cs_incidents_ext_rec.N_EXT_ATTR11;
3431 p_sr_audit_rec_table (l_count).N_EXT_ATTR12 := l_cs_incidents_ext_rec.N_EXT_ATTR12;
3432 p_sr_audit_rec_table (l_count).N_EXT_ATTR13 := l_cs_incidents_ext_rec.N_EXT_ATTR13;
3433 p_sr_audit_rec_table (l_count).N_EXT_ATTR14 := l_cs_incidents_ext_rec.N_EXT_ATTR14;
3434 p_sr_audit_rec_table (l_count).N_EXT_ATTR15 := l_cs_incidents_ext_rec.N_EXT_ATTR15;
3435 p_sr_audit_rec_table (l_count).N_EXT_ATTR16 := l_cs_incidents_ext_rec.N_EXT_ATTR16;
3436 p_sr_audit_rec_table (l_count).N_EXT_ATTR17 := l_cs_incidents_ext_rec.N_EXT_ATTR17;
3437 p_sr_audit_rec_table (l_count).N_EXT_ATTR18 := l_cs_incidents_ext_rec.N_EXT_ATTR18;
3438 p_sr_audit_rec_table (l_count).N_EXT_ATTR19 := l_cs_incidents_ext_rec.N_EXT_ATTR19;
3439 p_sr_audit_rec_table (l_count).N_EXT_ATTR20 := l_cs_incidents_ext_rec.N_EXT_ATTR20;
3440 p_sr_audit_rec_table (l_count).N_EXT_ATTR21 := l_cs_incidents_ext_rec.N_EXT_ATTR21;
3441 p_sr_audit_rec_table (l_count).N_EXT_ATTR22 := l_cs_incidents_ext_rec.N_EXT_ATTR22;
3442 p_sr_audit_rec_table (l_count).N_EXT_ATTR23 := l_cs_incidents_ext_rec.N_EXT_ATTR23;
3443 p_sr_audit_rec_table (l_count).N_EXT_ATTR24 := l_cs_incidents_ext_rec.N_EXT_ATTR24;
3444 p_sr_audit_rec_table (l_count).N_EXT_ATTR25 := l_cs_incidents_ext_rec.N_EXT_ATTR25;
3445 p_sr_audit_rec_table (l_count).D_EXT_ATTR1 := l_cs_incidents_ext_rec.D_EXT_ATTR1;
3446 p_sr_audit_rec_table (l_count).D_EXT_ATTR2 := l_cs_incidents_ext_rec.D_EXT_ATTR2;
3447 p_sr_audit_rec_table (l_count).D_EXT_ATTR3 := l_cs_incidents_ext_rec.D_EXT_ATTR3;
3448 p_sr_audit_rec_table (l_count).D_EXT_ATTR4 := l_cs_incidents_ext_rec.D_EXT_ATTR4;
3449 p_sr_audit_rec_table (l_count).D_EXT_ATTR5 := l_cs_incidents_ext_rec.D_EXT_ATTR5;
3450 p_sr_audit_rec_table (l_count).D_EXT_ATTR6 := l_cs_incidents_ext_rec.D_EXT_ATTR6;
3451 p_sr_audit_rec_table (l_count).D_EXT_ATTR7 := l_cs_incidents_ext_rec.D_EXT_ATTR7;
3452 p_sr_audit_rec_table (l_count).D_EXT_ATTR8 := l_cs_incidents_ext_rec.D_EXT_ATTR8;
3453 p_sr_audit_rec_table (l_count).D_EXT_ATTR9 := l_cs_incidents_ext_rec.D_EXT_ATTR9;
3454 p_sr_audit_rec_table (l_count).D_EXT_ATTR10 := l_cs_incidents_ext_rec.D_EXT_ATTR10;
3455 p_sr_audit_rec_table (l_count).D_EXT_ATTR11 := l_cs_incidents_ext_rec.D_EXT_ATTR11;
3456 p_sr_audit_rec_table (l_count).D_EXT_ATTR12 := l_cs_incidents_ext_rec.D_EXT_ATTR12;
3457 p_sr_audit_rec_table (l_count).D_EXT_ATTR13 := l_cs_incidents_ext_rec.D_EXT_ATTR13;
3458 p_sr_audit_rec_table (l_count).D_EXT_ATTR14 := l_cs_incidents_ext_rec.D_EXT_ATTR14;
3459 p_sr_audit_rec_table (l_count).D_EXT_ATTR15 := l_cs_incidents_ext_rec.D_EXT_ATTR15;
3460 p_sr_audit_rec_table (l_count).D_EXT_ATTR16 := l_cs_incidents_ext_rec.D_EXT_ATTR16;
3461 p_sr_audit_rec_table (l_count).D_EXT_ATTR17 := l_cs_incidents_ext_rec.D_EXT_ATTR17;
3462 p_sr_audit_rec_table (l_count).D_EXT_ATTR18 := l_cs_incidents_ext_rec.D_EXT_ATTR18;
3463 p_sr_audit_rec_table (l_count).D_EXT_ATTR19 := l_cs_incidents_ext_rec.D_EXT_ATTR19;
3464 p_sr_audit_rec_table (l_count).D_EXT_ATTR20 := l_cs_incidents_ext_rec.D_EXT_ATTR20;
3465 p_sr_audit_rec_table (l_count).D_EXT_ATTR21 := l_cs_incidents_ext_rec.D_EXT_ATTR21;
3466 p_sr_audit_rec_table (l_count).D_EXT_ATTR22 := l_cs_incidents_ext_rec.D_EXT_ATTR22;
3467 p_sr_audit_rec_table (l_count).D_EXT_ATTR23 := l_cs_incidents_ext_rec.D_EXT_ATTR23;
3468 p_sr_audit_rec_table (l_count).D_EXT_ATTR24 := l_cs_incidents_ext_rec.D_EXT_ATTR24;
3469 p_sr_audit_rec_table (l_count).D_EXT_ATTR25 := l_cs_incidents_ext_rec.D_EXT_ATTR25;
3470 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR1 := l_cs_incidents_ext_rec.UOM_EXT_ATTR1;
3471 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR2 := l_cs_incidents_ext_rec.UOM_EXT_ATTR2;
3472 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR3 := l_cs_incidents_ext_rec.UOM_EXT_ATTR3;
3473 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR4 := l_cs_incidents_ext_rec.UOM_EXT_ATTR4;
3474 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR5 := l_cs_incidents_ext_rec.UOM_EXT_ATTR5;
3475 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR6 := l_cs_incidents_ext_rec.UOM_EXT_ATTR6;
3476 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR7 := l_cs_incidents_ext_rec.UOM_EXT_ATTR7;
3477 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR8 := l_cs_incidents_ext_rec.UOM_EXT_ATTR8;
3478 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR9 := l_cs_incidents_ext_rec.UOM_EXT_ATTR9;
3479 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR10 := l_cs_incidents_ext_rec.UOM_EXT_ATTR10;
3480 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR11 := l_cs_incidents_ext_rec.UOM_EXT_ATTR11;
3481 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR12 := l_cs_incidents_ext_rec.UOM_EXT_ATTR12;
3482 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR13 := l_cs_incidents_ext_rec.UOM_EXT_ATTR13;
3483 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR14 := l_cs_incidents_ext_rec.UOM_EXT_ATTR14;
3484 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR15 := l_cs_incidents_ext_rec.UOM_EXT_ATTR15;
3485 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR16 := l_cs_incidents_ext_rec.UOM_EXT_ATTR16;
3486 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR17 := l_cs_incidents_ext_rec.UOM_EXT_ATTR17;
3487 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR18 := l_cs_incidents_ext_rec.UOM_EXT_ATTR18;
3488 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR19 := l_cs_incidents_ext_rec.UOM_EXT_ATTR19;
3489 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR20 := l_cs_incidents_ext_rec.UOM_EXT_ATTR20;
3490 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR21 := l_cs_incidents_ext_rec.UOM_EXT_ATTR21;
3491 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR22 := l_cs_incidents_ext_rec.UOM_EXT_ATTR22;
3492 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR23 := l_cs_incidents_ext_rec.UOM_EXT_ATTR23;
3493 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR24 := l_cs_incidents_ext_rec.UOM_EXT_ATTR24;
3494 p_sr_audit_rec_table (l_count).UOM_EXT_ATTR25 := l_cs_incidents_ext_rec.UOM_EXT_ATTR25;
3495
3496 END IF;
3497 ELSE
3498 -- Record does not exists
3499 x_rec_found := 'N';
3500 RETURN;
3501 END IF;
3502
3503 END IF; -- end of if attribute name is not null
3504 END IF; -- end of if app id, attr_group_type, attr_group_name is not null
3505
3506
3507 ELSE
3508 -- l_multi_row_code = 'N'
3509 -- get the current record in the database for the unique key combination
3510
3511 --DBMS_OUTPUT.PUT_LINE('not multi-row');
3512
3513 OPEN c_get_ext_attr_db_rec;
3514 FETCH c_get_ext_attr_db_rec INTO v_get_ext_attr_db_rec;
3515 IF c_get_ext_attr_db_rec%NOTFOUND THEN
3516 -- Record does not exists
3517 x_rec_found := 'N';
3518
3519 ELSE
3520 -- Record exists
3521 x_rec_found := 'Y';
3522
3523 -- loop through the audit table passed in and see if you can find the record
3524 -- this is for a 'CREATE' situation
3525
3526 --DBMS_OUTPUT.PUT_LINE('p_sr_audit_rec_table.COUNT'||p_sr_audit_rec_table.COUNT);
3527
3528 IF p_sr_audit_rec_table.COUNT > 0 THEN
3529
3530 --DBMS_OUTPUT.PUT_LINE('In loooop');
3531 FOR i IN 1.. p_sr_audit_rec_table.COUNT LOOP
3532 IF p_sr_audit_rec_table(i).pk_column_1 = p_incident_id AND
3533 p_sr_audit_rec_table(i).context = p_context AND
3534 p_sr_audit_rec_table(i).attr_group_id = p_attr_group_id AND
3535 p_sr_audit_rec_table(i).row_identifier = p_row_id THEN
3536
3537 l_create_new_record := 'N';
3538
3539 --DBMS_OUTPUT.PUT_LINE('Match found for audit record');
3540
3541 p_sr_audit_rec_table(i).extension_id := v_get_ext_attr_db_rec.extension_id;
3542 p_sr_audit_rec_table(i).pk_column_1 := p_incident_id;
3543 p_sr_audit_rec_table(i).pk_column_2 := null;
3544 p_sr_audit_rec_table(i).pk_column_3 := null;
3545 p_sr_audit_rec_table(i).pk_column_4 := null;
3546 p_sr_audit_rec_table(i).pk_column_5 := null;
3547 p_sr_audit_rec_table(i).CONTEXT := p_context;
3548 p_sr_audit_rec_table(i).ATTR_GROUP_ID := p_attr_group_id;
3549 p_sr_audit_rec_table(i).C_EXT_ATTR1 := v_get_ext_attr_db_rec.C_EXT_ATTR1;
3550 p_sr_audit_rec_table(i).C_EXT_ATTR2 := v_get_ext_attr_db_rec.C_EXT_ATTR2;
3551 --DBMS_OUTPUT.PUT_LINE('v_get_ext_attr_db_rec.C_EXT_ATTR2'||v_get_ext_attr_db_rec.C_EXT_ATTR2);
3552
3553 p_sr_audit_rec_table(i).C_EXT_ATTR3 := v_get_ext_attr_db_rec.C_EXT_ATTR3;
3554 p_sr_audit_rec_table(i).C_EXT_ATTR4 := v_get_ext_attr_db_rec.C_EXT_ATTR4;
3555 p_sr_audit_rec_table(i).C_EXT_ATTR5 := v_get_ext_attr_db_rec.C_EXT_ATTR5;
3556 p_sr_audit_rec_table(i).C_EXT_ATTR6 := v_get_ext_attr_db_rec.C_EXT_ATTR6;
3557 p_sr_audit_rec_table(i).C_EXT_ATTR7 := v_get_ext_attr_db_rec.C_EXT_ATTR7;
3558 p_sr_audit_rec_table(i).C_EXT_ATTR8 := v_get_ext_attr_db_rec.C_EXT_ATTR8;
3559 p_sr_audit_rec_table(i).C_EXT_ATTR9 := v_get_ext_attr_db_rec.C_EXT_ATTR9;
3560 p_sr_audit_rec_table(i).C_EXT_ATTR10 := v_get_ext_attr_db_rec.C_EXT_ATTR10;
3561 p_sr_audit_rec_table(i).C_EXT_ATTR11 := v_get_ext_attr_db_rec.C_EXT_ATTR11;
3562 p_sr_audit_rec_table(i).C_EXT_ATTR12 := v_get_ext_attr_db_rec.C_EXT_ATTR12;
3563 p_sr_audit_rec_table(i).C_EXT_ATTR13 := v_get_ext_attr_db_rec.C_EXT_ATTR13;
3564 p_sr_audit_rec_table(i).C_EXT_ATTR14 := v_get_ext_attr_db_rec.C_EXT_ATTR14;
3565 p_sr_audit_rec_table(i).C_EXT_ATTR15 := v_get_ext_attr_db_rec.C_EXT_ATTR15;
3566 p_sr_audit_rec_table(i).C_EXT_ATTR16 := v_get_ext_attr_db_rec.C_EXT_ATTR16;
3567 p_sr_audit_rec_table(i).C_EXT_ATTR17 := v_get_ext_attr_db_rec.C_EXT_ATTR17;
3568 p_sr_audit_rec_table(i).C_EXT_ATTR18 := v_get_ext_attr_db_rec.C_EXT_ATTR18;
3569 p_sr_audit_rec_table(i).C_EXT_ATTR19 := v_get_ext_attr_db_rec.C_EXT_ATTR19;
3570 p_sr_audit_rec_table(i).C_EXT_ATTR20 := v_get_ext_attr_db_rec.C_EXT_ATTR20;
3571 p_sr_audit_rec_table(i).C_EXT_ATTR21 := v_get_ext_attr_db_rec.C_EXT_ATTR21;
3572 p_sr_audit_rec_table(i).C_EXT_ATTR22 := v_get_ext_attr_db_rec.C_EXT_ATTR22;
3573 p_sr_audit_rec_table(i).C_EXT_ATTR23 := v_get_ext_attr_db_rec.C_EXT_ATTR23;
3574 p_sr_audit_rec_table(i).C_EXT_ATTR24 := v_get_ext_attr_db_rec.C_EXT_ATTR24;
3575 p_sr_audit_rec_table(i).C_EXT_ATTR25 := v_get_ext_attr_db_rec.C_EXT_ATTR25;
3576 p_sr_audit_rec_table(i).C_EXT_ATTR26 := v_get_ext_attr_db_rec.C_EXT_ATTR26;
3577 p_sr_audit_rec_table(i).C_EXT_ATTR27 := v_get_ext_attr_db_rec.C_EXT_ATTR27;
3578 p_sr_audit_rec_table(i).C_EXT_ATTR28 := v_get_ext_attr_db_rec.C_EXT_ATTR28;
3579 p_sr_audit_rec_table(i).C_EXT_ATTR29 := v_get_ext_attr_db_rec.C_EXT_ATTR29;
3580 p_sr_audit_rec_table(i).C_EXT_ATTR30 := v_get_ext_attr_db_rec.C_EXT_ATTR30;
3581 p_sr_audit_rec_table(i).C_EXT_ATTR31 := v_get_ext_attr_db_rec.C_EXT_ATTR31;
3582 p_sr_audit_rec_table(i).C_EXT_ATTR32 := v_get_ext_attr_db_rec.C_EXT_ATTR32;
3583 p_sr_audit_rec_table(i).C_EXT_ATTR33 := v_get_ext_attr_db_rec.C_EXT_ATTR33;
3584 p_sr_audit_rec_table(i).C_EXT_ATTR34 := v_get_ext_attr_db_rec.C_EXT_ATTR34;
3585 p_sr_audit_rec_table(i).C_EXT_ATTR35 := v_get_ext_attr_db_rec.C_EXT_ATTR35;
3586 p_sr_audit_rec_table(i).C_EXT_ATTR36 := v_get_ext_attr_db_rec.C_EXT_ATTR36;
3587 p_sr_audit_rec_table(i).C_EXT_ATTR37 := v_get_ext_attr_db_rec.C_EXT_ATTR37;
3588 p_sr_audit_rec_table(i).C_EXT_ATTR38 := v_get_ext_attr_db_rec.C_EXT_ATTR38;
3589 p_sr_audit_rec_table(i).C_EXT_ATTR39 := v_get_ext_attr_db_rec.C_EXT_ATTR38;
3590 p_sr_audit_rec_table(i).C_EXT_ATTR40 := v_get_ext_attr_db_rec.C_EXT_ATTR40;
3591 p_sr_audit_rec_table(i).C_EXT_ATTR41 := v_get_ext_attr_db_rec.C_EXT_ATTR41;
3592 p_sr_audit_rec_table(i).C_EXT_ATTR42 := v_get_ext_attr_db_rec.C_EXT_ATTR42;
3593 p_sr_audit_rec_table(i).C_EXT_ATTR43 := v_get_ext_attr_db_rec.C_EXT_ATTR43;
3594 p_sr_audit_rec_table(i).C_EXT_ATTR44 := v_get_ext_attr_db_rec.C_EXT_ATTR44;
3595 p_sr_audit_rec_table(i).C_EXT_ATTR45 := v_get_ext_attr_db_rec.C_EXT_ATTR45;
3596 p_sr_audit_rec_table(i).C_EXT_ATTR46 := v_get_ext_attr_db_rec.C_EXT_ATTR46;
3597 p_sr_audit_rec_table(i).C_EXT_ATTR47 := v_get_ext_attr_db_rec.C_EXT_ATTR47;
3598 p_sr_audit_rec_table(i).C_EXT_ATTR48 := v_get_ext_attr_db_rec.C_EXT_ATTR48;
3599 p_sr_audit_rec_table(i).C_EXT_ATTR49 := v_get_ext_attr_db_rec.C_EXT_ATTR49;
3600 p_sr_audit_rec_table(i).C_EXT_ATTR50 := v_get_ext_attr_db_rec.C_EXT_ATTR50;
3601 p_sr_audit_rec_table(i).N_EXT_ATTR1 := v_get_ext_attr_db_rec.N_EXT_ATTR1;
3602 p_sr_audit_rec_table(i).N_EXT_ATTR2 := v_get_ext_attr_db_rec.N_EXT_ATTR2;
3603 p_sr_audit_rec_table(i).N_EXT_ATTR3 := v_get_ext_attr_db_rec.N_EXT_ATTR3;
3604 p_sr_audit_rec_table(i).N_EXT_ATTR4 := v_get_ext_attr_db_rec.N_EXT_ATTR4;
3605 p_sr_audit_rec_table(i).N_EXT_ATTR5 := v_get_ext_attr_db_rec.N_EXT_ATTR5;
3606 p_sr_audit_rec_table(i).N_EXT_ATTR6 := v_get_ext_attr_db_rec.N_EXT_ATTR6;
3607 p_sr_audit_rec_table(i).N_EXT_ATTR7 := v_get_ext_attr_db_rec.N_EXT_ATTR7;
3608 p_sr_audit_rec_table(i).N_EXT_ATTR8 := v_get_ext_attr_db_rec.N_EXT_ATTR8;
3609 p_sr_audit_rec_table(i).N_EXT_ATTR9 := v_get_ext_attr_db_rec.N_EXT_ATTR9;
3610 p_sr_audit_rec_table(i).N_EXT_ATTR10 := v_get_ext_attr_db_rec.N_EXT_ATTR10;
3611 p_sr_audit_rec_table(i).N_EXT_ATTR11 := v_get_ext_attr_db_rec.N_EXT_ATTR11;
3612 p_sr_audit_rec_table(i).N_EXT_ATTR12 := v_get_ext_attr_db_rec.N_EXT_ATTR12;
3613 p_sr_audit_rec_table(i).N_EXT_ATTR13 := v_get_ext_attr_db_rec.N_EXT_ATTR13;
3614 p_sr_audit_rec_table(i).N_EXT_ATTR14 := v_get_ext_attr_db_rec.N_EXT_ATTR14;
3615 p_sr_audit_rec_table(i).N_EXT_ATTR15 := v_get_ext_attr_db_rec.N_EXT_ATTR15;
3616 p_sr_audit_rec_table(i).N_EXT_ATTR16 := v_get_ext_attr_db_rec.N_EXT_ATTR16;
3617 p_sr_audit_rec_table(i).N_EXT_ATTR17 := v_get_ext_attr_db_rec.N_EXT_ATTR17;
3618 p_sr_audit_rec_table(i).N_EXT_ATTR18 := v_get_ext_attr_db_rec.N_EXT_ATTR18;
3619 p_sr_audit_rec_table(i).N_EXT_ATTR19 := v_get_ext_attr_db_rec.N_EXT_ATTR19;
3620 p_sr_audit_rec_table(i).N_EXT_ATTR20 := v_get_ext_attr_db_rec.N_EXT_ATTR20;
3621 p_sr_audit_rec_table(i).N_EXT_ATTR21 := v_get_ext_attr_db_rec.N_EXT_ATTR21;
3622 p_sr_audit_rec_table(i).N_EXT_ATTR22 := v_get_ext_attr_db_rec.N_EXT_ATTR22;
3623 p_sr_audit_rec_table(i).N_EXT_ATTR23 := v_get_ext_attr_db_rec.N_EXT_ATTR23;
3624 p_sr_audit_rec_table(i).N_EXT_ATTR24 := v_get_ext_attr_db_rec.N_EXT_ATTR24;
3625 p_sr_audit_rec_table(i).N_EXT_ATTR25 := v_get_ext_attr_db_rec.N_EXT_ATTR25;
3626 p_sr_audit_rec_table(i).D_EXT_ATTR1 := v_get_ext_attr_db_rec.D_EXT_ATTR1;
3627 p_sr_audit_rec_table(i).D_EXT_ATTR2 := v_get_ext_attr_db_rec.D_EXT_ATTR2;
3628 p_sr_audit_rec_table(i).D_EXT_ATTR3 := v_get_ext_attr_db_rec.D_EXT_ATTR3;
3629 p_sr_audit_rec_table(i).D_EXT_ATTR4 := v_get_ext_attr_db_rec.D_EXT_ATTR4;
3630 p_sr_audit_rec_table(i).D_EXT_ATTR5 := v_get_ext_attr_db_rec.D_EXT_ATTR5;
3631 p_sr_audit_rec_table(i).D_EXT_ATTR6 := v_get_ext_attr_db_rec.D_EXT_ATTR6;
3632 p_sr_audit_rec_table(i).D_EXT_ATTR7 := v_get_ext_attr_db_rec.D_EXT_ATTR7;
3633 p_sr_audit_rec_table(i).D_EXT_ATTR8 := v_get_ext_attr_db_rec.D_EXT_ATTR8;
3634 p_sr_audit_rec_table(i).D_EXT_ATTR9 := v_get_ext_attr_db_rec.D_EXT_ATTR9;
3635 p_sr_audit_rec_table(i).D_EXT_ATTR10 := v_get_ext_attr_db_rec.D_EXT_ATTR10;
3636 p_sr_audit_rec_table(i).D_EXT_ATTR11 := v_get_ext_attr_db_rec.D_EXT_ATTR11;
3637 p_sr_audit_rec_table(i).D_EXT_ATTR12 := v_get_ext_attr_db_rec.D_EXT_ATTR12;
3638 p_sr_audit_rec_table(i).D_EXT_ATTR13 := v_get_ext_attr_db_rec.D_EXT_ATTR13;
3639 p_sr_audit_rec_table(i).D_EXT_ATTR14 := v_get_ext_attr_db_rec.D_EXT_ATTR14;
3640 p_sr_audit_rec_table(i).D_EXT_ATTR15 := v_get_ext_attr_db_rec.D_EXT_ATTR15;
3641 p_sr_audit_rec_table(i).D_EXT_ATTR16 := v_get_ext_attr_db_rec.D_EXT_ATTR16;
3642 p_sr_audit_rec_table(i).D_EXT_ATTR17 := v_get_ext_attr_db_rec.D_EXT_ATTR17;
3643 p_sr_audit_rec_table(i).D_EXT_ATTR18 := v_get_ext_attr_db_rec.D_EXT_ATTR18;
3644 p_sr_audit_rec_table(i).D_EXT_ATTR19 := v_get_ext_attr_db_rec.D_EXT_ATTR19;
3645 p_sr_audit_rec_table(i).D_EXT_ATTR20 := v_get_ext_attr_db_rec.D_EXT_ATTR20;
3646 p_sr_audit_rec_table(i).D_EXT_ATTR21 := v_get_ext_attr_db_rec.D_EXT_ATTR21;
3647 p_sr_audit_rec_table(i).D_EXT_ATTR22 := v_get_ext_attr_db_rec.D_EXT_ATTR22;
3648 p_sr_audit_rec_table(i).D_EXT_ATTR23 := v_get_ext_attr_db_rec.D_EXT_ATTR23;
3649 p_sr_audit_rec_table(i).D_EXT_ATTR24 := v_get_ext_attr_db_rec.D_EXT_ATTR24;
3650 p_sr_audit_rec_table(i).D_EXT_ATTR25 := v_get_ext_attr_db_rec.D_EXT_ATTR25;
3651 p_sr_audit_rec_table(i).UOM_EXT_ATTR1 := v_get_ext_attr_db_rec.UOM_EXT_ATTR1;
3652 p_sr_audit_rec_table(i).UOM_EXT_ATTR2 := v_get_ext_attr_db_rec.UOM_EXT_ATTR2;
3653 p_sr_audit_rec_table(i).UOM_EXT_ATTR3 := v_get_ext_attr_db_rec.UOM_EXT_ATTR3;
3654 p_sr_audit_rec_table(i).UOM_EXT_ATTR4 := v_get_ext_attr_db_rec.UOM_EXT_ATTR4;
3655 p_sr_audit_rec_table(i).UOM_EXT_ATTR5 := v_get_ext_attr_db_rec.UOM_EXT_ATTR5;
3656 p_sr_audit_rec_table(i).UOM_EXT_ATTR6 := v_get_ext_attr_db_rec.UOM_EXT_ATTR6;
3657 p_sr_audit_rec_table(i).UOM_EXT_ATTR7 := v_get_ext_attr_db_rec.UOM_EXT_ATTR7;
3658 p_sr_audit_rec_table(i).UOM_EXT_ATTR8 := v_get_ext_attr_db_rec.UOM_EXT_ATTR8;
3659 p_sr_audit_rec_table(i).UOM_EXT_ATTR9 := v_get_ext_attr_db_rec.UOM_EXT_ATTR9;
3660 p_sr_audit_rec_table(i).UOM_EXT_ATTR10 := v_get_ext_attr_db_rec.UOM_EXT_ATTR10;
3661 p_sr_audit_rec_table(i).UOM_EXT_ATTR11 := v_get_ext_attr_db_rec.UOM_EXT_ATTR11;
3662 p_sr_audit_rec_table(i).UOM_EXT_ATTR12 := v_get_ext_attr_db_rec.UOM_EXT_ATTR12;
3663 p_sr_audit_rec_table(i).UOM_EXT_ATTR13 := v_get_ext_attr_db_rec.UOM_EXT_ATTR13;
3664 p_sr_audit_rec_table(i).UOM_EXT_ATTR14 := v_get_ext_attr_db_rec.UOM_EXT_ATTR14;
3665 p_sr_audit_rec_table(i).UOM_EXT_ATTR15 := v_get_ext_attr_db_rec.UOM_EXT_ATTR15;
3666 p_sr_audit_rec_table(i).UOM_EXT_ATTR16 := v_get_ext_attr_db_rec.UOM_EXT_ATTR16;
3667 p_sr_audit_rec_table(i).UOM_EXT_ATTR17 := v_get_ext_attr_db_rec.UOM_EXT_ATTR17;
3668 p_sr_audit_rec_table(i).UOM_EXT_ATTR18 := v_get_ext_attr_db_rec.UOM_EXT_ATTR18;
3669 p_sr_audit_rec_table(i).UOM_EXT_ATTR19 := v_get_ext_attr_db_rec.UOM_EXT_ATTR19;
3670 p_sr_audit_rec_table(i).UOM_EXT_ATTR20 := v_get_ext_attr_db_rec.UOM_EXT_ATTR20;
3671 p_sr_audit_rec_table(i).UOM_EXT_ATTR21 := v_get_ext_attr_db_rec.UOM_EXT_ATTR21;
3672 p_sr_audit_rec_table(i).UOM_EXT_ATTR22 := v_get_ext_attr_db_rec.UOM_EXT_ATTR22;
3673 p_sr_audit_rec_table(i).UOM_EXT_ATTR23 := v_get_ext_attr_db_rec.UOM_EXT_ATTR23;
3674 p_sr_audit_rec_table(i).UOM_EXT_ATTR24 := v_get_ext_attr_db_rec.UOM_EXT_ATTR24;
3675 p_sr_audit_rec_table(i).UOM_EXT_ATTR25 := v_get_ext_attr_db_rec.UOM_EXT_ATTR25;
3676
3677 ELSE
3678 l_create_new_record := 'Y';
3679 END IF;
3680 END LOOP;
3681
3682 --DBMS_OUTPUT.PUT_LINE('p_sr_audit_rec_table.COUNT'||p_sr_audit_rec_table.count);
3683 ELSE
3684 l_audit_table_empty := 'Y';
3685 END IF;
3686
3687 --DBMS_OUTPUT.PUT_LINE('l_create_new_rec'||l_create_new_record);
3688 --DBMS_OUTPUT.PUT_LINE('l_audit_table_empty'||l_audit_table_empty);
3689
3690 IF l_create_new_record = 'Y' OR
3691 l_audit_table_empty = 'Y' THEN
3692
3693 l_count := l_count + 1;
3694
3695 --DBMS_OUTPUT.PUT_LINE('extension_id'||v_get_ext_attr_db_rec.extension_id);
3696 --DBMS_OUTPUT.PUT_LINE('pk_column_1'||v_get_ext_attr_db_rec.incident_id);
3697 --DBMS_OUTPUT.PUT_LINE('CONTEXT'||v_get_ext_attr_db_rec.context);
3698 --DBMS_OUTPUT.PUT_LINE('ATTR_GROUP_ID'||v_get_ext_attr_db_rec.attr_group_id);
3699 --DBMS_OUTPUT.PUT_LINE('C_EXT_ATTR1'||v_get_ext_attr_db_rec.C_EXT_ATTR1);
3700
3701 p_sr_audit_rec_table(l_count).extension_id := v_get_ext_attr_db_rec.extension_id;
3702 p_sr_audit_rec_table(l_count).pk_column_1 := v_get_ext_attr_db_rec.incident_id;
3703 p_sr_audit_rec_table(l_count).pk_column_2 := null;
3704 p_sr_audit_rec_table(l_count).pk_column_3 := null;
3705 p_sr_audit_rec_table(l_count).pk_column_4 := null;
3706 p_sr_audit_rec_table(l_count).pk_column_5 := null;
3707 p_sr_audit_rec_table(l_count).CONTEXT := v_get_ext_attr_db_rec.context;
3708 p_sr_audit_rec_table(l_count).ATTR_GROUP_ID := v_get_ext_attr_db_rec.attr_group_id;
3709 p_sr_audit_rec_table(l_count).C_EXT_ATTR1 := v_get_ext_attr_db_rec.C_EXT_ATTR1;
3710 p_sr_audit_rec_table(l_count).C_EXT_ATTR2 := v_get_ext_attr_db_rec.C_EXT_ATTR2;
3711 p_sr_audit_rec_table(l_count).C_EXT_ATTR3 := v_get_ext_attr_db_rec.C_EXT_ATTR3;
3712 p_sr_audit_rec_table(l_count).C_EXT_ATTR4 := v_get_ext_attr_db_rec.C_EXT_ATTR4;
3713 p_sr_audit_rec_table(l_count).C_EXT_ATTR5 := v_get_ext_attr_db_rec.C_EXT_ATTR5;
3714 p_sr_audit_rec_table(l_count).C_EXT_ATTR6 := v_get_ext_attr_db_rec.C_EXT_ATTR6;
3715 p_sr_audit_rec_table(l_count).C_EXT_ATTR7 := v_get_ext_attr_db_rec.C_EXT_ATTR7;
3716 p_sr_audit_rec_table(l_count).C_EXT_ATTR8 := v_get_ext_attr_db_rec.C_EXT_ATTR8;
3717 p_sr_audit_rec_table(l_count).C_EXT_ATTR9 := v_get_ext_attr_db_rec.C_EXT_ATTR9;
3718 p_sr_audit_rec_table(l_count).C_EXT_ATTR10 := v_get_ext_attr_db_rec.C_EXT_ATTR10;
3719 p_sr_audit_rec_table(l_count).C_EXT_ATTR11 := v_get_ext_attr_db_rec.C_EXT_ATTR11;
3720 p_sr_audit_rec_table(l_count).C_EXT_ATTR12 := v_get_ext_attr_db_rec.C_EXT_ATTR12;
3721 p_sr_audit_rec_table(l_count).C_EXT_ATTR13 := v_get_ext_attr_db_rec.C_EXT_ATTR13;
3722 p_sr_audit_rec_table(l_count).C_EXT_ATTR14 := v_get_ext_attr_db_rec.C_EXT_ATTR14;
3723 p_sr_audit_rec_table(l_count).C_EXT_ATTR15 := v_get_ext_attr_db_rec.C_EXT_ATTR15;
3724 p_sr_audit_rec_table(l_count).C_EXT_ATTR16 := v_get_ext_attr_db_rec.C_EXT_ATTR16;
3725 p_sr_audit_rec_table(l_count).C_EXT_ATTR17 := v_get_ext_attr_db_rec.C_EXT_ATTR17;
3726 p_sr_audit_rec_table(l_count).C_EXT_ATTR18 := v_get_ext_attr_db_rec.C_EXT_ATTR18;
3727 p_sr_audit_rec_table(l_count).C_EXT_ATTR19 := v_get_ext_attr_db_rec.C_EXT_ATTR19;
3728 p_sr_audit_rec_table(l_count).C_EXT_ATTR20 := v_get_ext_attr_db_rec.C_EXT_ATTR20;
3729 p_sr_audit_rec_table(l_count).C_EXT_ATTR21 := v_get_ext_attr_db_rec.C_EXT_ATTR21;
3730 p_sr_audit_rec_table(l_count).C_EXT_ATTR22 := v_get_ext_attr_db_rec.C_EXT_ATTR22;
3731 p_sr_audit_rec_table(l_count).C_EXT_ATTR23 := v_get_ext_attr_db_rec.C_EXT_ATTR23;
3732 p_sr_audit_rec_table(l_count).C_EXT_ATTR24 := v_get_ext_attr_db_rec.C_EXT_ATTR24;
3733 p_sr_audit_rec_table(l_count).C_EXT_ATTR25 := v_get_ext_attr_db_rec.C_EXT_ATTR25;
3734 p_sr_audit_rec_table(l_count).C_EXT_ATTR26 := v_get_ext_attr_db_rec.C_EXT_ATTR26;
3735 p_sr_audit_rec_table(l_count).C_EXT_ATTR27 := v_get_ext_attr_db_rec.C_EXT_ATTR27;
3736 p_sr_audit_rec_table(l_count).C_EXT_ATTR28 := v_get_ext_attr_db_rec.C_EXT_ATTR28;
3737 p_sr_audit_rec_table(l_count).C_EXT_ATTR29 := v_get_ext_attr_db_rec.C_EXT_ATTR29;
3738 p_sr_audit_rec_table(l_count).C_EXT_ATTR30 := v_get_ext_attr_db_rec.C_EXT_ATTR30;
3739 p_sr_audit_rec_table(l_count).C_EXT_ATTR31 := v_get_ext_attr_db_rec.C_EXT_ATTR31;
3740 p_sr_audit_rec_table(l_count).C_EXT_ATTR32 := v_get_ext_attr_db_rec.C_EXT_ATTR32;
3741 p_sr_audit_rec_table(l_count).C_EXT_ATTR33 := v_get_ext_attr_db_rec.C_EXT_ATTR33;
3742 p_sr_audit_rec_table(l_count).C_EXT_ATTR34 := v_get_ext_attr_db_rec.C_EXT_ATTR34;
3743 p_sr_audit_rec_table(l_count).C_EXT_ATTR35 := v_get_ext_attr_db_rec.C_EXT_ATTR35;
3744 p_sr_audit_rec_table(l_count).C_EXT_ATTR36 := v_get_ext_attr_db_rec.C_EXT_ATTR36;
3745 p_sr_audit_rec_table(l_count).C_EXT_ATTR37 := v_get_ext_attr_db_rec.C_EXT_ATTR37;
3746 p_sr_audit_rec_table(l_count).C_EXT_ATTR38 := v_get_ext_attr_db_rec.C_EXT_ATTR38;
3747 p_sr_audit_rec_table(l_count).C_EXT_ATTR39 := v_get_ext_attr_db_rec.C_EXT_ATTR38;
3748 p_sr_audit_rec_table(l_count).C_EXT_ATTR40 := v_get_ext_attr_db_rec.C_EXT_ATTR40;
3749 p_sr_audit_rec_table(l_count).C_EXT_ATTR41 := v_get_ext_attr_db_rec.C_EXT_ATTR41;
3750 p_sr_audit_rec_table(l_count).C_EXT_ATTR42 := v_get_ext_attr_db_rec.C_EXT_ATTR42;
3751 p_sr_audit_rec_table(l_count).C_EXT_ATTR43 := v_get_ext_attr_db_rec.C_EXT_ATTR43;
3752 p_sr_audit_rec_table(l_count).C_EXT_ATTR44 := v_get_ext_attr_db_rec.C_EXT_ATTR44;
3753 p_sr_audit_rec_table(l_count).C_EXT_ATTR45 := v_get_ext_attr_db_rec.C_EXT_ATTR45;
3754 p_sr_audit_rec_table(l_count).C_EXT_ATTR46 := v_get_ext_attr_db_rec.C_EXT_ATTR46;
3755 p_sr_audit_rec_table(l_count).C_EXT_ATTR47 := v_get_ext_attr_db_rec.C_EXT_ATTR47;
3756 p_sr_audit_rec_table(l_count).C_EXT_ATTR48 := v_get_ext_attr_db_rec.C_EXT_ATTR48;
3757 p_sr_audit_rec_table(l_count).C_EXT_ATTR49 := v_get_ext_attr_db_rec.C_EXT_ATTR49;
3758 p_sr_audit_rec_table(l_count).C_EXT_ATTR50 := v_get_ext_attr_db_rec.C_EXT_ATTR50;
3759 p_sr_audit_rec_table(l_count).N_EXT_ATTR1 := v_get_ext_attr_db_rec.N_EXT_ATTR1;
3760 p_sr_audit_rec_table(l_count).N_EXT_ATTR2 := v_get_ext_attr_db_rec.N_EXT_ATTR2;
3761 p_sr_audit_rec_table(l_count).N_EXT_ATTR3 := v_get_ext_attr_db_rec.N_EXT_ATTR3;
3762 p_sr_audit_rec_table(l_count).N_EXT_ATTR4 := v_get_ext_attr_db_rec.N_EXT_ATTR4;
3763 p_sr_audit_rec_table(l_count).N_EXT_ATTR5 := v_get_ext_attr_db_rec.N_EXT_ATTR5;
3764 p_sr_audit_rec_table(l_count).N_EXT_ATTR6 := v_get_ext_attr_db_rec.N_EXT_ATTR6;
3765 p_sr_audit_rec_table(l_count).N_EXT_ATTR7 := v_get_ext_attr_db_rec.N_EXT_ATTR7;
3766 p_sr_audit_rec_table(l_count).N_EXT_ATTR8 := v_get_ext_attr_db_rec.N_EXT_ATTR8;
3767 p_sr_audit_rec_table(l_count).N_EXT_ATTR9 := v_get_ext_attr_db_rec.N_EXT_ATTR9;
3768 p_sr_audit_rec_table(l_count).N_EXT_ATTR10 := v_get_ext_attr_db_rec.N_EXT_ATTR10;
3769 p_sr_audit_rec_table(l_count).N_EXT_ATTR11 := v_get_ext_attr_db_rec.N_EXT_ATTR11;
3770 p_sr_audit_rec_table(l_count).N_EXT_ATTR12 := v_get_ext_attr_db_rec.N_EXT_ATTR12;
3771 p_sr_audit_rec_table(l_count).N_EXT_ATTR13 := v_get_ext_attr_db_rec.N_EXT_ATTR13;
3772 p_sr_audit_rec_table(l_count).N_EXT_ATTR14 := v_get_ext_attr_db_rec.N_EXT_ATTR14;
3773 p_sr_audit_rec_table(l_count).N_EXT_ATTR15 := v_get_ext_attr_db_rec.N_EXT_ATTR15;
3774 p_sr_audit_rec_table(l_count).N_EXT_ATTR16 := v_get_ext_attr_db_rec.N_EXT_ATTR16;
3775 p_sr_audit_rec_table(l_count).N_EXT_ATTR17 := v_get_ext_attr_db_rec.N_EXT_ATTR17;
3776 p_sr_audit_rec_table(l_count).N_EXT_ATTR18 := v_get_ext_attr_db_rec.N_EXT_ATTR18;
3777 p_sr_audit_rec_table(l_count).N_EXT_ATTR19 := v_get_ext_attr_db_rec.N_EXT_ATTR19;
3778 p_sr_audit_rec_table(l_count).N_EXT_ATTR20 := v_get_ext_attr_db_rec.N_EXT_ATTR20;
3779 p_sr_audit_rec_table(l_count).N_EXT_ATTR21 := v_get_ext_attr_db_rec.N_EXT_ATTR21;
3780 p_sr_audit_rec_table(l_count).N_EXT_ATTR22 := v_get_ext_attr_db_rec.N_EXT_ATTR22;
3781 p_sr_audit_rec_table(l_count).N_EXT_ATTR23 := v_get_ext_attr_db_rec.N_EXT_ATTR23;
3782 p_sr_audit_rec_table(l_count).N_EXT_ATTR24 := v_get_ext_attr_db_rec.N_EXT_ATTR24;
3783 p_sr_audit_rec_table(l_count).N_EXT_ATTR25 := v_get_ext_attr_db_rec.N_EXT_ATTR25;
3784 p_sr_audit_rec_table(l_count).D_EXT_ATTR1 := v_get_ext_attr_db_rec.D_EXT_ATTR1;
3785 p_sr_audit_rec_table(l_count).D_EXT_ATTR2 := v_get_ext_attr_db_rec.D_EXT_ATTR2;
3786 p_sr_audit_rec_table(l_count).D_EXT_ATTR3 := v_get_ext_attr_db_rec.D_EXT_ATTR3;
3787 p_sr_audit_rec_table(l_count).D_EXT_ATTR4 := v_get_ext_attr_db_rec.D_EXT_ATTR4;
3788 p_sr_audit_rec_table(l_count).D_EXT_ATTR5 := v_get_ext_attr_db_rec.D_EXT_ATTR5;
3789 p_sr_audit_rec_table(l_count).D_EXT_ATTR6 := v_get_ext_attr_db_rec.D_EXT_ATTR6;
3790 p_sr_audit_rec_table(l_count).D_EXT_ATTR7 := v_get_ext_attr_db_rec.D_EXT_ATTR7;
3791 p_sr_audit_rec_table(l_count).D_EXT_ATTR8 := v_get_ext_attr_db_rec.D_EXT_ATTR8;
3792 p_sr_audit_rec_table(l_count).D_EXT_ATTR9 := v_get_ext_attr_db_rec.D_EXT_ATTR9;
3793 p_sr_audit_rec_table(l_count).D_EXT_ATTR10 := v_get_ext_attr_db_rec.D_EXT_ATTR10;
3794 p_sr_audit_rec_table(l_count).D_EXT_ATTR11 := v_get_ext_attr_db_rec.D_EXT_ATTR11;
3795 p_sr_audit_rec_table(l_count).D_EXT_ATTR12 := v_get_ext_attr_db_rec.D_EXT_ATTR12;
3796 p_sr_audit_rec_table(l_count).D_EXT_ATTR13 := v_get_ext_attr_db_rec.D_EXT_ATTR13;
3797 p_sr_audit_rec_table(l_count).D_EXT_ATTR14 := v_get_ext_attr_db_rec.D_EXT_ATTR14;
3798 p_sr_audit_rec_table(l_count).D_EXT_ATTR15 := v_get_ext_attr_db_rec.D_EXT_ATTR15;
3799 p_sr_audit_rec_table(l_count).D_EXT_ATTR16 := v_get_ext_attr_db_rec.D_EXT_ATTR16;
3800 p_sr_audit_rec_table(l_count).D_EXT_ATTR17 := v_get_ext_attr_db_rec.D_EXT_ATTR17;
3801 p_sr_audit_rec_table(l_count).D_EXT_ATTR18 := v_get_ext_attr_db_rec.D_EXT_ATTR18;
3802 p_sr_audit_rec_table(l_count).D_EXT_ATTR19 := v_get_ext_attr_db_rec.D_EXT_ATTR19;
3803 p_sr_audit_rec_table(l_count).D_EXT_ATTR20 := v_get_ext_attr_db_rec.D_EXT_ATTR20;
3804 p_sr_audit_rec_table(l_count).D_EXT_ATTR21 := v_get_ext_attr_db_rec.D_EXT_ATTR21;
3805 p_sr_audit_rec_table(l_count).D_EXT_ATTR22 := v_get_ext_attr_db_rec.D_EXT_ATTR22;
3806 p_sr_audit_rec_table(l_count).D_EXT_ATTR23 := v_get_ext_attr_db_rec.D_EXT_ATTR23;
3807 p_sr_audit_rec_table(l_count).D_EXT_ATTR24 := v_get_ext_attr_db_rec.D_EXT_ATTR24;
3808 p_sr_audit_rec_table(l_count).D_EXT_ATTR25 := v_get_ext_attr_db_rec.D_EXT_ATTR25;
3809 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR1 := v_get_ext_attr_db_rec.UOM_EXT_ATTR1;
3810 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR2 := v_get_ext_attr_db_rec.UOM_EXT_ATTR2;
3811 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR3 := v_get_ext_attr_db_rec.UOM_EXT_ATTR3;
3812 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR4 := v_get_ext_attr_db_rec.UOM_EXT_ATTR4;
3813 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR5 := v_get_ext_attr_db_rec.UOM_EXT_ATTR5;
3814 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR6 := v_get_ext_attr_db_rec.UOM_EXT_ATTR6;
3815 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR7 := v_get_ext_attr_db_rec.UOM_EXT_ATTR7;
3816 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR8 := v_get_ext_attr_db_rec.UOM_EXT_ATTR8;
3817 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR9 := v_get_ext_attr_db_rec.UOM_EXT_ATTR9;
3818 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR10 := v_get_ext_attr_db_rec.UOM_EXT_ATTR10;
3819 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR11 := v_get_ext_attr_db_rec.UOM_EXT_ATTR11;
3820 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR12 := v_get_ext_attr_db_rec.UOM_EXT_ATTR12;
3821 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR13 := v_get_ext_attr_db_rec.UOM_EXT_ATTR13;
3822 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR14 := v_get_ext_attr_db_rec.UOM_EXT_ATTR14;
3823 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR15 := v_get_ext_attr_db_rec.UOM_EXT_ATTR15;
3824 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR16 := v_get_ext_attr_db_rec.UOM_EXT_ATTR16;
3825 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR17 := v_get_ext_attr_db_rec.UOM_EXT_ATTR17;
3826 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR18 := v_get_ext_attr_db_rec.UOM_EXT_ATTR18;
3827 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR19 := v_get_ext_attr_db_rec.UOM_EXT_ATTR19;
3828 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR20 := v_get_ext_attr_db_rec.UOM_EXT_ATTR20;
3829 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR21 := v_get_ext_attr_db_rec.UOM_EXT_ATTR21;
3830 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR22 := v_get_ext_attr_db_rec.UOM_EXT_ATTR22;
3831 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR23 := v_get_ext_attr_db_rec.UOM_EXT_ATTR23;
3832 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR24 := v_get_ext_attr_db_rec.UOM_EXT_ATTR24;
3833 p_sr_audit_rec_table(l_count).UOM_EXT_ATTR25 := v_get_ext_attr_db_rec.UOM_EXT_ATTR25;
3834 END IF;
3835
3836 END IF;
3837 CLOSE c_get_ext_attr_db_rec;
3838 --DBMS_OUTPUT.PUT_LINE('p_sr_audit_rec_table.COUNT'||p_sr_audit_rec_table.count);
3839
3840 END IF;
3841 END IF;
3842
3843 EXCEPTION
3844
3845 WHEN OTHERS THEN
3846 null;
3847 END;
3848
3849
3850 PROCEDURE check_sr_context_change(
3851 p_incident_id IN NUMBER
3852 ,p_context IN NUMBER
3853 ,x_context_changed OUT NOCOPY VARCHAR2
3854 ,x_db_incident_id OUT NOCOPY NUMBER
3855 ,x_db_context OUT NOCOPY NUMBER
3856
3857 ) IS
3858
3859 Cursor c_check_context IS
3860 select context, incident_id from cs_incidents_ext
3861 where incident_id = p_incident_id and
3862 context NOT IN (select lookup_code
3863 from cs_lookups
3864 where lookup_type = 'CS_SR_EXT_ALL_REQ_TYPES'
3865 )
3866 and rownum = 1;
3867
3868 BEGIN
3869
3870 --DBMS_OUTPUT.PUT_LINE('In check_sr_context_change');
3871
3872 IF p_incident_id IS NOT NULL THEN
3873 -- get all the lines in the extension table for the SR
3874 -- make sure that you are not checking the global context
3875 -- make sure that the SR type has not changed
3876 -- If SR type has changed then mark the old SR as delete
3877 --
3878 FOR v_check_context in c_check_context LOOP
3879 IF v_check_context.context <> p_context THEN
3880 --set the x_context_changed flag to 'Y'
3881 x_context_changed := 'Y';
3882
3883 --set all out parameters
3884 x_db_incident_id := v_check_context.incident_id;
3885 x_db_context := v_check_context.context;
3886
3887 EXIT;
3888 ELSE
3889 --context matched
3890 x_context_changed := 'N';
3891
3892 --set all out parameters
3893 x_db_incident_id := v_check_context.incident_id;
3894 x_db_context := v_check_context.context;
3895
3896 END IF;
3897 END LOOP;
3898
3899 --DBMS_OUTPUT.PUT_LINE('x_context_changed'||x_context_changed);
3900 END IF;
3901
3902 END;
3903
3904
3905 PROCEDURE Get_SR_Ext_Attrs
3906 (p_api_version IN NUMBER
3907 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
3908 ,p_commit IN VARCHAR2 := FND_API.G_FALSE
3909 ,p_incident_id IN NUMBER
3910 ,p_object_name IN VARCHAR2
3911 ,x_ext_attr_grp_tbl OUT NOCOPY CS_ServiceRequest_PUB.EXT_ATTR_GRP_TBL_TYPE
3912 ,x_ext_attr_tbl OUT NOCOPY CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE
3913 ,x_return_status OUT NOCOPY VARCHAR2
3914 ,x_msg_count OUT NOCOPY NUMBER
3915 ,x_msg_data OUT NOCOPY VARCHAR2) IS
3916
3917
3918 CURSOR c_check_incident_id IS
3919 SELECT incident_id
3920 FROM cs_incidents_all_b
3921 WHERE incident_id = p_incident_id;
3922
3923
3924 cursor c_get_sr_ext_attr(p_incident_id IN NUMBER) IS
3925 SELECT *
3926 FROM cs_incidents_ext
3927 WHERE incident_id = p_incident_id;
3928
3929
3930 cursor c_get_pr_ext_attr(p_incident_id IN NUMBER) IS
3931 SELECT *
3932 FROM cs_sr_contacts_ext
3933 WHERE incident_id = p_incident_id;
3934
3935 CURSOR c_get_attr(p_application_id IN NUMBER
3936 ,p_attr_group_type IN VARCHAR2
3937 ,p_attr_group_name IN VARCHAR2)IS
3938 SELECT APPLICATION_ID,
3939 ATTR_GROUP_TYPE,
3940 ATTR_GROUP_NAME,
3941 attr_name,
3942 attr_display_name,
3943 database_column
3944 FROM ego_attrs_v
3945 WHERE application_id = p_application_id
3946 AND attr_group_type = p_attr_group_type
3947 AND attr_group_name = p_attr_group_name
3948 AND enabled_flag = 'Y'
3949 order by sequence;
3950
3951 Cursor c_get_attr_group_disp_name(p_attr_group_id IN NUMBER) IS
3952 select ATTR_GROUP_DISP_NAME
3953 from ego_attr_groups_v
3954 where attr_group_id = p_attr_group_id;
3955
3956 Cursor c_get_sr_pks(p_ext_id IN NUMBER)IS
3957 SELECT incident_id, context
3958 FROM cs_incidents_ext
3959 WHERE extension_id = p_ext_id;
3960
3961 Cursor c_get_pr_pks(p_ext_id IN NUMBER)IS
3962 SELECT incident_id, party_id, contact_type, party_role_code, context
3963 FROM cs_sr_contacts_ext
3964 WHERE extension_id = p_ext_id;
3965
3966
3967 l_pk_col_name_value_pair EGO_COL_NAME_VALUE_PAIR_ARRAY;
3968 l_attr_group_request_table EGO_ATTR_GROUP_REQUEST_TABLE;
3969 l_attributes_row_table EGO_USER_ATTR_ROW_TABLE;
3970 l_attributes_data_table EGO_USER_ATTR_DATA_TABLE;
3971 l_user_privileges_on_object EGO_VARCHAR_TBL_TYPE;
3972 l_return_status VARCHAR2(1);
3973 l_errorcode NUMBER;
3974 l_msg_count NUMBER;
3975 l_msg_data VARCHAR2(4000);
3976 l_msg VARCHAR2(4000);
3977 l_errm VARCHAR2(4000);
3978 l_attr VARCHAR2(1000);
3979
3980 l_application_id NUMBER;
3981 l_attr_group_type VARCHAR2(30);
3982 l_attr_group_name VARCHAR2(80);
3983 l_first boolean;
3984 l_internal_name_str VARCHAR2(2000) := '';
3985 l_count NUMBER := 0;
3986 l_count_1 NUMBER := 0;
3987
3988
3989 l_api_version constant number := 1.0;
3990 l_api_name constant varchar2(30) := 'Get_SR_Ext_Attrs';
3991 l_api_name_full constant varchar2(61) := g_pkg_name || '.' || l_api_name;
3992 l_log_module constant varchar2(255) := 'cs.plsql.' || l_api_name_full || '.';
3993
3994 l_incident_id NUMBER;
3995 l_party_id NUMBER;
3996 l_contact_type VARCHAR2(30);
3997 l_party_role_code VARCHAR2(30);
3998 l_context NUMBER;
3999 l_pr_context VARCHAR2(30);
4000
4001 l_record_exists VARCHAR2(1) := 'N';
4002 --
4003 --This table will hold the extended attributes information
4004 --
4005 TYPE EXT_ATTRIBUTE_REC IS RECORD
4006 ( APPLICATION_ID NUMBER
4007 ,ATTR_GROUP_TYPE VARCHAR2(30)
4008 ,ATTR_GROUP_NAME VARCHAR2(30)
4009 ,ATTR_DISPLAY_NAME VARCHAR2(80)
4010 ,ATTR_NAME VARCHAR2(30)
4011 ,DATABASE_COLUMN VARCHAR2(30));
4012
4013 TYPE EXT_ATTRIBUTE_TBL IS TABLE OF EXT_ATTRIBUTE_REC INDEX BY BINARY_INTEGER;
4014 l_ext_attr_tbl EXT_ATTRIBUTE_TBL;
4015
4016
4017 BEGIN
4018
4019 SAVEPOINT Get_SR_Ext_Attrs;
4020
4021 --DBMS_OUTPUT.PUT_LINE('In Get_SR API');
4022
4023 -- Standard call to check for call compatibility.
4024 IF NOT FND_API.Compatible_API_Call (l_api_version,
4025 p_api_version,
4026 l_api_name,
4027 G_PKG_NAME) THEN
4028 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4029 END IF;
4030
4031 -- Initialize message list if p_init_msg_list is set to TRUE.
4032 IF FND_API.to_Boolean(p_init_msg_list) THEN
4033 FND_MSG_PUB.initialize;
4034 END IF;
4035
4036 -- Initialize API return status to SUCCESS
4037 x_return_status := FND_API.G_RET_STS_SUCCESS;
4038
4039 ---------------------- FND Logging -----------------------------------
4040 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
4041 THEN
4042 FND_LOG.String
4043 ( FND_LOG.level_procedure , L_LOG_MODULE || 'start'
4044 , 'Inside ' || L_API_NAME_FULL || ', called with parameters below:'
4045 );
4046 FND_LOG.String
4047 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4048 , 'p_api_version:' || p_api_version
4049 );
4050 FND_LOG.String
4051 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4052 , 'p_init_msg_list:' || p_init_msg_list
4053 );
4054 FND_LOG.String
4055 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4056 , 'p_commit:' || p_commit
4057 );
4058
4059 FND_LOG.String
4060 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4061 , 'p_incident_id:' || p_commit
4062 );
4063
4064 FND_LOG.String
4065 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4066 , 'p_incident_id:' || p_incident_id
4067 );
4068
4069 FND_LOG.String
4070 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4071 , 'p_object_name:' || p_object_name
4072 );
4073
4074 END IF;
4075
4076 --DBMS_OUTPUT.PUT_LINE('Validating incident_id');
4077 --validate the incident_id passed
4078 IF p_incident_id IS NOT NULL THEN
4079 --p_incident_id is passed
4080 --Validate the pk_column_1 that is coming in
4081 OPEN c_check_incident_id;
4082 FETCH c_check_incident_id INTO l_incident_id;
4083 CLOSE c_check_incident_id;
4084
4085 IF l_incident_id IS NULL THEN
4086 --raise error
4087 CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg(
4088 p_token_an => l_api_name_full
4089 ,p_token_v => p_incident_id
4090 ,p_token_p => 'P_INCIDENT_ID');
4091 RAISE FND_API.G_EXC_ERROR;
4092 END IF;
4093
4094 --DBMS_OUTPUT.PUT_LINE ('Pass pk1 validation');
4095
4096 ELSE
4097 --raise error
4098 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(
4099 p_token_an => l_api_name_full
4100 ,p_token_mp => 'P_INCIDENT_ID');
4101 RAISE FND_API.G_EXC_ERROR;
4102
4103 END IF;
4104
4105 -- Added FND_LOG
4106 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4107 FND_LOG.String
4108 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4109 , 'Incident Passed is Valid :'
4110 || p_incident_id
4111 );
4112 END IF;
4113
4114 IF p_object_name = 'CS_SERVICE_REQUEST' THEN
4115
4116
4117 --DBMS_OUTPUT.PUT_LINE('object is CS_SR');
4118
4119 FOR v_get_sr_ext_attr IN c_get_sr_ext_attr(p_incident_id) LOOP
4120
4121 --set l_record_exists to 'y'
4122 l_record_exists := 'Y';
4123
4124 -- Added FND_LOG
4125 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4126 FND_LOG.String
4127 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4128 , 'Service Request Extensible Attributes exist for Incident passed :'
4129 );
4130 END IF;
4131
4132 --populate the primary key array
4133 l_pk_col_name_value_pair := EGO_COL_NAME_VALUE_PAIR_ARRAY(EGO_COL_NAME_VALUE_PAIR_OBJ('INCIDENT_ID', to_char(p_incident_id)));
4134
4135 --DBMS_OUTPUT.PUT_LINE('populated pk array');
4136
4137 --get the attribute group information
4138 IF v_get_sr_ext_attr.attr_group_id IS NOT NULL then
4139 --get the attribute group type name and appl id
4140 Get_Attr_Group_Metadata(
4141 p_attr_group_id => v_get_sr_ext_attr.attr_group_id
4142 ,x_application_id => l_application_id
4143 ,x_attr_group_type => l_attr_group_type
4144 ,x_attr_group_name => l_attr_group_name);
4145
4146 -- Added FND_LOG
4147 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4148 FND_LOG.String
4149 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4150 , 'Attribute Group Metadata -> Application ID :'
4151 || l_application_id
4152 );
4153 END IF;
4154
4155 -- Added FND_LOG
4156 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4157 FND_LOG.String
4158 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4159 , 'Attribute Group Metadata -> Attribute Group Type :'
4160 || l_attr_group_type
4161 );
4162 END IF;
4163
4164 -- Added FND_LOG
4165 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4166 FND_LOG.String
4167 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4168 , 'Attribute Group Metadata -> Attribute Group Name :'
4169 || l_attr_group_name
4170 );
4171 END IF;
4172
4173 --DBMS_OUTPUT.PUT_LINE('Got Attr Metadata');
4174
4175
4176 --get attribute metadata for the attribute group
4177 IF l_application_id IS NOT NULL AND
4178 l_attr_group_type IS NOT NULL AND
4179 l_attr_group_name IS NOT NULL THEN
4180
4181
4182 FOR v_get_attr in c_get_attr(l_application_id
4183 ,l_attr_group_type
4184 ,l_attr_group_name)
4185 LOOP
4186
4187 l_count := l_count + 1;
4188 l_ext_attr_tbl(l_count).application_id := v_get_attr.application_id;
4189 l_ext_attr_tbl(l_count).attr_group_type := v_get_attr.attr_group_type;
4190 l_ext_attr_tbl(l_count).attr_group_name := v_get_attr.attr_group_name;
4191 l_ext_attr_tbl(l_count).attr_name := v_get_attr.attr_name;
4192 l_ext_attr_tbl(l_count).attr_display_name := v_get_attr.attr_display_name;
4193 l_ext_attr_tbl(l_count).database_column := v_get_attr.database_column;
4194
4195
4196 END LOOP;
4197
4198 --DBMS_OUTPUT.PUT_LINE('populated att table');
4199 l_first := true;
4200 l_internal_name_str := '';
4201
4202 FOR i in l_ext_attr_tbl.first..l_ext_attr_tbl.last LOOP
4203
4204 IF l_ext_attr_tbl(i).attr_group_name = l_attr_group_name THEN
4205 IF l_first = true then
4206 l_first := false;
4207 ELSE
4208 l_internal_name_str := l_internal_name_str || ',';
4209 END IF;
4210
4211 l_internal_name_str := l_internal_name_str || l_ext_attr_tbl(i).attr_name;
4212 END IF;
4213
4214 END LOOP;
4215
4216 --DBMS_OUTPUT.PUT_LINE('constructed string');
4217 --DBMS_OUTPUT.PUT_LINE('constructed string: '||l_internal_name_str);
4218
4219 -- Added FND_LOG
4220 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4221 FND_LOG.String
4222 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4223 , 'Attribute String to Pass to PLM :'
4224 || l_internal_name_str
4225 );
4226 END IF;
4227
4228
4229 ELSE
4230 -- Raise error
4231 --composite key missing
4232 FND_MESSAGE.SET_NAME('CS', 'CS_API_SR_EXTATTR_COMP_KEY_REQ');
4233 FND_MESSAGE.SET_TOKEN('API_NAME', l_api_name);
4234 FND_MSG_PUB.ADD;
4235 RAISE FND_API.G_EXC_ERROR;
4236 END IF; -- composite key end if
4237
4238
4239 --populate the attribute group request table to pass to PLM
4240 IF (l_attr_group_request_table IS NULL) THEN
4241 l_attr_group_request_table := EGO_ATTR_GROUP_REQUEST_TABLE();
4242 END IF;
4243
4244 --DBMS_OUTPUT.PUT_LINE('Initialized PLM Obj');
4245 --Extend the object to add value it it
4246 l_attr_group_request_table.EXTEND();
4247 -- l_attr_group_request_table(l_attr_group_request_table.LAST) := EGO_ATTR_GROUP_REQUEST_OBJ
4248 --- (v_get_sr_ext_attr.attr_group_id, l_application_id,
4249 --- l_attr_group_type,l_attr_group_name,'GENERIC_LEVEL', NULL, NULL, l_internal_name_str);
4250 l_attr_group_request_table(l_attr_group_request_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Request_Obj(v_get_sr_ext_attr.attr_group_id, l_application_id,
4251 l_attr_group_type,l_attr_group_name,'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, l_internal_name_str);
4252 --DBMS_OUTPUT.PUT_LINE('Extended PLM Onj');
4253 --DBMS_OUTPUT.PUT_LINE('l_attr_group_request_table'||l_attr_group_request_table.COUNT);
4254
4255 ELSE
4256 --attribute group is null
4257 --raise error
4258 FND_MESSAGE.SET_NAME('CS', 'CS_API_SR_EXT_ATTR_GROUP_REQ');
4259 FND_MESSAGE.SET_TOKEN('API_NAME', l_api_name);
4260 FND_MSG_PUB.ADD;
4261 RAISE FND_API.G_EXC_ERROR;
4262 END IF; --v_get_sr_ext_attr.attr_group_id IS NOT NULL
4263
4264 END LOOP;
4265
4266 IF l_record_exists <> 'Y' THEN
4267 --no count for that incident was found in the table
4268 --do not call PLM
4269
4270 -- Added FND_LOG
4271 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4272 FND_LOG.String
4273 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4274 , 'No Service Request Extensible Attributes data exists for this Incident'
4275 );
4276 END IF;
4277 RETURN;
4278 END IF;
4279
4280 --DBMS_OUTPUT.PUT_LINE('Calling PLM API');
4281 --intialize the user_privs_on_object
4282 l_user_privileges_on_object := EGO_VARCHAR_TBL_TYPE();
4283 l_user_privileges_on_object.EXTEND();
4284 --Call PLM Get_User_Attrs_Data API
4285
4286 -- Added FND_LOG
4287 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4288 FND_LOG.String
4289 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4290 , 'Calling PLM Get User Attrs Data API'
4291 );
4292 END IF;
4293
4294
4295
4296 EGO_USER_ATTRS_DATA_PUB.Get_User_Attrs_Data(
4297 p_api_version => 1.0
4298 ,p_object_name => 'CS_SERVICE_REQUEST'
4299 ,p_pk_column_name_value_pairs => l_pk_col_name_value_pair
4300 ,p_attr_group_request_table => l_attr_group_request_table
4301 ,p_user_privileges_on_object => l_user_privileges_on_object
4302 ,p_entity_id => NULL
4303 ,p_entity_index => NULL
4304 ,p_entity_code => NULL
4305 ,p_debug_level => 3
4306 ,p_init_error_handler => NULL
4307 ,p_init_fnd_msg_list => p_init_msg_list
4308 ,p_add_errors_to_fnd_stack => NULL
4309 ,p_commit => p_commit
4310 ,x_attributes_row_table => l_attributes_row_table
4311 ,x_attributes_data_table => l_attributes_data_table
4312 ,x_return_status => x_return_status
4313 ,x_errorcode => l_errorcode
4314 ,x_msg_count => x_msg_count
4315 ,x_msg_data => x_msg_data );
4316
4317 --DBMS_OUTPUT.PUT_LINE( 'x_msg_data'||x_msg_data);
4318
4319 -- Added FND_LOG
4320 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4321 FND_LOG.String
4322 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4323 , 'PLM get User Attrs Data return status :'
4324 || x_return_status
4325 );
4326 END IF;
4327
4328 -- Added FND_LOG
4329 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4330 FND_LOG.String
4331 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4332 , 'PLM get User Attrs Data msg data :'
4333 || x_msg_data
4334 );
4335 END IF;
4336
4337
4338 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4339 FND_MESSAGE.Set_Name('CS', 'CS_API_GET_SR_EXT_ATTR_WARNING');
4340 FND_MSG_PUB.Add;
4341 RAISE FND_API.G_EXC_ERROR;
4342 END IF;
4343
4344 --populate the out parameters with the value returned from PLM
4345 --initialize counter := 0
4346 l_count := 0;
4347 l_count_1 := 0;
4348
4349 --DBMS_OUTPUT.PUT_LINE('l_attributes_row_table'||l_attributes_row_table.COUNT);
4350 --DBMS_OUTPUT.PUT_LINE('l_attributes_data_table'||l_attributes_data_table.COUNT);
4351
4352 IF l_attributes_row_table.COUNT > 0 THEN
4353 FOR i IN l_attributes_row_table.FIRST .. l_attributes_row_table.LAST LOOP
4354
4355 IF l_attributes_row_table.EXISTS(i) THEN
4356
4357 l_count := l_count + 1;
4358
4359 x_ext_attr_grp_tbl(l_count).row_identifier := l_attributes_row_table(i).row_identifier;
4360
4361
4362 --get the pks for the extension id
4363 OPEN c_get_sr_pks(p_ext_id => x_ext_attr_grp_tbl(l_count).row_identifier);
4364 FETCH c_get_sr_pks into l_incident_id, l_context;
4365 CLOSE c_get_sr_pks;
4366
4367 IF l_incident_id IS NULL THEN
4368 x_ext_attr_grp_tbl(l_count).pk_column_1 := null;
4369 ELSE
4370 x_ext_attr_grp_tbl(l_count).pk_column_1 := l_incident_id;
4371 END IF;
4372
4373 x_ext_attr_grp_tbl(l_count).pk_column_2 := null;
4374 x_ext_attr_grp_tbl(l_count).pk_column_3 := null;
4375 x_ext_attr_grp_tbl(l_count).pk_column_4 := null;
4376 x_ext_attr_grp_tbl(l_count).pk_column_5 := null;
4377
4378 IF l_context IS NULL THEN
4379 x_ext_attr_grp_tbl(l_count).context := null;
4380 ELSE
4381 x_ext_attr_grp_tbl(l_count).context := to_char(l_context);
4382 END IF;
4383
4384 x_ext_attr_grp_tbl(l_count).object_name := 'CS_SERVICE_REQUEST';
4385 x_ext_attr_grp_tbl(l_count).attr_group_id := l_attributes_row_table(i).attr_group_id;
4386 x_ext_attr_grp_tbl(l_count).attr_group_app_id := l_attributes_row_table(i).attr_group_app_id;
4387 x_ext_attr_grp_tbl(l_count).attr_group_type := l_attributes_row_table(i).attr_group_type;
4388 x_ext_attr_grp_tbl(l_count).attr_group_name := l_attributes_row_table(i).attr_group_name;
4389 x_ext_attr_grp_tbl(l_count).mapping_req := 'N';
4390 x_ext_attr_grp_tbl(l_count).operation := 'GET';
4391
4392
4393 --get the dislay name for the attribute group
4394
4395 OPEN c_get_attr_group_disp_name(x_ext_attr_grp_tbl(l_count).attr_group_id);
4396 FETCH c_get_attr_group_disp_name INTO x_ext_attr_grp_tbl(l_count).attr_group_disp_name;
4397 CLOSE c_get_attr_group_disp_name;
4398
4399 --DBMS_OUTPUT.PUT_LINE('x_ext_attr_grp_tbl(l_count).row_identifier'||x_ext_attr_grp_tbl(l_count).row_identifier);
4400 --DBMS_OUTPUT.PUT_LINE('x_ext_attr_grp_tbl(l_count).attr_group_disp_name'||x_ext_attr_grp_tbl(l_count).attr_group_disp_name);
4401
4402 -- loop through the attributes table and then populate the attributes record for the attribute group
4403
4404 --DBMS_OUTPUT.PUT_LINE('l_attributes_data_table.COUNT'||l_attributes_data_table.COUNT);
4405
4406 FOR j IN l_attributes_data_table.FIRST .. l_attributes_data_table.LAST LOOP
4407
4408 IF l_attributes_data_table.EXISTS(j) THEN
4409
4410 IF l_attributes_row_table(i).row_identifier = l_attributes_data_table(j).row_identifier THEN
4411
4412 l_count_1 := l_count_1 + 1;
4413
4414 -- match found populate the out parameter for the attribute table
4415 x_ext_attr_tbl(l_count_1).row_identifier := l_attributes_data_table(j).row_identifier;
4416 x_ext_attr_tbl(l_count_1).attr_name := l_attributes_data_table(j).attr_name;
4417 x_ext_attr_tbl(l_count_1).attr_value_str := l_attributes_data_table(j).attr_value_str;
4418 x_ext_attr_tbl(l_count_1).attr_value_num := l_attributes_data_table(j).attr_value_num;
4419 x_ext_attr_tbl(l_count_1).attr_value_date := l_attributes_data_table(j).attr_value_date;
4420 x_ext_attr_tbl(l_count_1).attr_value_display := l_attributes_data_table(j).attr_disp_value;
4421 x_ext_attr_tbl(l_count_1).attr_unit_of_measure := l_attributes_data_table(j).attr_unit_of_measure;
4422
4423 --DBMS_OUTPUT.PUT_LINE('x_ext_attr_tbl(l_count_1).row_identifier'||x_ext_attr_tbl(l_count_1).row_identifier);
4424 --DBMS_OUTPUT.PUT_LINE('x_ext_attr_tbl(l_count_1).attr_name'||x_ext_attr_tbl(l_count_1).attr_name);
4425
4426 --get the database column_name and display name for the attribute
4427 FOR k IN l_ext_attr_tbl.FIRST .. l_ext_attr_tbl.LAST LOOP
4428
4429 IF l_ext_attr_tbl.EXISTS(k) THEN
4430
4431 IF l_attributes_row_table(i).attr_group_app_id = l_ext_attr_tbl(k).application_id AND
4432 l_attributes_row_table(i).attr_group_type = l_ext_attr_tbl(k).attr_group_type AND
4433 l_attributes_row_table(i).attr_group_name = l_ext_attr_tbl(k).attr_group_name AND
4434 l_attributes_data_table(j).attr_name = l_ext_attr_tbl(k).attr_name THEN
4435
4436 x_ext_attr_tbl(l_count_1).column_name := l_ext_attr_tbl(k).database_column;
4437 x_ext_attr_tbl(l_count_1).attr_disp_name := l_ext_attr_tbl(k).attr_display_name;
4438
4439 --DBMS_OUTPUT.PUT_LINE('x_ext_attr_tbl(l_count_1).attr_disp_name'||x_ext_attr_tbl(l_count_1).attr_disp_name);
4440 --DBMS_OUTPUT.PUT_LINE(' x_ext_attr_tbl(l_count_1).column_name'|| x_ext_attr_tbl(l_count_1).column_name);
4441 END IF;
4442 END IF;
4443 END LOOP;
4444 END IF;
4445 END IF;
4446 END LOOP;
4447 END IF;
4448 END LOOP;
4449
4450 --DBMS_OUTPUT.PUT_LINE('x_ext_attr_tbl.COUNT'||x_ext_attr_tbl.count);
4451 --DBMS_OUTPUT.PUT_LINE('x_ext_attr_grp_tbl.COUNT'||x_ext_attr_grp_tbl.COUNT);
4452
4453
4454 END IF ; -- l_attributes_row_table.COUNT IS NOT NULL
4455
4456
4457 ELSIF p_object_name = 'CS_PARTY_ROLE' THEN
4458
4459 FOR v_get_pr_ext_attr IN c_get_pr_ext_attr(p_incident_id) LOOP
4460
4461 --set l_record_exists to 'y'
4462 l_record_exists := 'Y';
4463
4464 -- Added FND_LOG
4465 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4466 FND_LOG.String
4467 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4468 , 'Party Role Extensible Attributes exist for Incident passed :'
4469 );
4470 END IF;
4471
4472 --populate the primary key array
4473 l_pk_col_name_value_pair := EGO_COL_NAME_VALUE_PAIR_ARRAY(EGO_COL_NAME_VALUE_PAIR_OBJ('INCIDENT_ID', to_char(p_incident_id)),
4474 EGO_COL_NAME_VALUE_PAIR_OBJ('PARTY_ID', to_char(v_get_pr_ext_attr.party_id)),
4475 EGO_COL_NAME_VALUE_PAIR_OBJ('CONTACT_TYPE', v_get_pr_ext_attr.contact_type),
4476 EGO_COL_NAME_VALUE_PAIR_OBJ('PARTY_ROLE_CODE', v_get_pr_ext_attr.party_role_code));
4477
4478 --get the attribute group information
4479 IF v_get_pr_ext_attr.attr_group_id IS NOT NULL then
4480 --get the attribute group type name and appl id
4481 Get_Attr_Group_Metadata(
4482 p_attr_group_id => v_get_pr_ext_attr.attr_group_id
4483 ,x_application_id => l_application_id
4484 ,x_attr_group_type => l_attr_group_type
4485 ,x_attr_group_name => l_attr_group_name);
4486
4487 -- Added FND_LOG
4488 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4489 FND_LOG.String
4490 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4491 , 'Attribute Group Metadata -> Application ID :'
4492 || l_application_id
4493 );
4494 END IF;
4495
4496 -- Added FND_LOG
4497 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4498 FND_LOG.String
4499 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4500 , 'Attribute Group Metadata -> Attribute Group Type :'
4501 || l_attr_group_type
4502 );
4503 END IF;
4504
4505 -- Added FND_LOG
4506 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4507 FND_LOG.String
4508 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4509 , 'Attribute Group Metadata -> Attribute Group Name :'
4510 || l_attr_group_name
4511 );
4512 END IF;
4513
4514
4515 --get attribute metadata for the attribute group
4516 IF l_application_id IS NOT NULL AND
4517 l_attr_group_type IS NOT NULL AND
4518 l_attr_group_name IS NOT NULL THEN
4519
4520
4521 FOR v_get_attr in c_get_attr(l_application_id
4522 ,l_attr_group_type
4523 ,l_attr_group_name) LOOP
4524
4525 l_count := l_count + 1;
4526 l_ext_attr_tbl(l_count).application_id := v_get_attr.application_id;
4527 l_ext_attr_tbl(l_count).attr_group_type := v_get_attr.attr_group_type;
4528 l_ext_attr_tbl(l_count).attr_group_name := v_get_attr.attr_group_name;
4529 l_ext_attr_tbl(l_count).attr_name := v_get_attr.attr_name;
4530 l_ext_attr_tbl(l_count).attr_display_name := v_get_attr.attr_display_name;
4531 l_ext_attr_tbl(l_count).database_column := v_get_attr.database_column;
4532
4533 END LOOP;
4534
4535 l_first := true;
4536 l_internal_name_str := '';
4537
4538 FOR i in l_ext_attr_tbl.first..l_ext_attr_tbl.last LOOP
4539
4540 IF l_first = true then
4541 l_first := false;
4542 ELSE
4543 l_internal_name_str := l_internal_name_str || ',';
4544 END IF;
4545
4546 l_internal_name_str := l_internal_name_str || l_ext_attr_tbl(i).attr_name;
4547
4548 END LOOP;
4549
4550 -- Added FND_LOG
4551 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4552 FND_LOG.String
4553 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4554 , 'Attribute String to Pass to PLM :'
4555 || l_internal_name_str
4556 );
4557 END IF;
4558
4559
4560 ELSE
4561 -- Raise error
4562 --composite key missing
4563 -- MAYA need to add
4564 FND_MESSAGE.SET_NAME('CS', 'CS_API_SR_EXTATTR_COMP_KEY_REQ');
4565 FND_MESSAGE.SET_TOKEN('API_NAME', l_api_name);
4566 FND_MSG_PUB.ADD;
4567 RAISE FND_API.G_EXC_ERROR;
4568 END IF; -- composite key end if
4569
4570
4571 --populate the attribute group request table to pass to PLM
4572 IF (l_attr_group_request_table IS NULL) THEN
4573 l_attr_group_request_table := EGO_ATTR_GROUP_REQUEST_TABLE();
4574 END IF;
4575
4576
4577 --Extend the object to add value it it
4578 -- l_attr_group_request_table.EXTEND();
4579 -- l_attr_group_request_table(l_attr_group_request_table.LAST) := EGO_ATTR_GROUP_REQUEST_OBJ
4580 -- (v_get_pr_ext_attr.attr_group_id, l_application_id,
4581 -- l_attr_group_type,l_attr_group_name,'PARTY_ROLE_LEVEL', NULL, NULL, l_internal_name_str);
4582 l_attr_group_request_table(l_attr_group_request_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Request_Obj
4583 (v_get_pr_ext_attr.attr_group_id, l_application_id,
4584 l_attr_group_type,l_attr_group_name,'PARTY_ROLE_LEVEL', NULL, NULL,NULL,NULL,NULL, l_internal_name_str);
4585 ELSE
4586 --attribute group is null
4587 --raise error
4588 FND_MESSAGE.SET_NAME('CS', 'CS_API_SR_EXT_ATTR_GROUP_REQ');
4589 FND_MESSAGE.SET_TOKEN('API_NAME', l_api_name);
4590 FND_MSG_PUB.ADD;
4591 RAISE FND_API.G_EXC_ERROR;
4592
4593 END IF; --v_get_pr_ext_attr.attr_group_id IS NOT NULL
4594
4595 END LOOP;
4596
4597 IF l_record_exists <> 'Y' THEN
4598 --no count for that incident was found in the table
4599 --do not call PLM
4600 -- Added FND_LOG
4601 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4602 FND_LOG.String
4603 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4604 , 'No Party Role Extensible Attributes exist for Incident passed :'
4605 );
4606 END IF;
4607 RETURN;
4608 END IF;
4609
4610 -- Added FND_LOG
4611 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4612 FND_LOG.String
4613 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4614 , 'Calling PLM Get User Attrs Data API :'
4615 );
4616 END IF;
4617
4618 --Call PLM Get_User_Attrs_Data API
4619 EGO_USER_ATTRS_DATA_PUB.Get_User_Attrs_Data(
4620 p_api_version => 1.0
4621 ,p_object_name => 'CS_PARTY_ROLE'
4622 ,p_pk_column_name_value_pairs => l_pk_col_name_value_pair
4623 ,p_attr_group_request_table => l_attr_group_request_table
4624 ,p_user_privileges_on_object => NULL
4625 ,p_entity_id => NULL
4626 ,p_entity_index => NULL
4627 ,p_entity_code => NULL
4628 ,p_debug_level => 3
4629 ,p_init_error_handler => NULL
4630 ,p_init_fnd_msg_list => p_init_msg_list
4631 ,p_add_errors_to_fnd_stack => NULL
4632 ,p_commit => p_commit
4633 ,x_attributes_row_table => l_attributes_row_table
4634 ,x_attributes_data_table => l_attributes_data_table
4635 ,x_return_status => x_return_status
4636 ,x_errorcode => l_errorcode
4637 ,x_msg_count => x_msg_count
4638 ,x_msg_data => x_msg_data);
4639
4640 -- Added FND_LOG
4641 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4642 FND_LOG.String
4643 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4644 , 'PLM get User Attrs Data return status :'
4645 || x_return_status
4646 );
4647 END IF;
4648
4649 -- Added FND_LOG
4650 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4651 FND_LOG.String
4652 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4653 , 'PLM get User Attrs Data msg data :'
4654 || x_msg_data
4655 );
4656 END IF;
4657
4658 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4659 FND_MESSAGE.Set_Name('CS', 'CS_API_GET_SR_EXT_ATTR_WARNING');
4660 FND_MSG_PUB.Add;
4661 RAISE FND_API.G_EXC_ERROR;
4662 END IF;
4663
4664 --populate the out parameters with the value returned from PLM
4665 --initialize counter := 0
4666 l_count := 0;
4667 l_count_1 := 0;
4668
4669 IF l_attributes_row_table.COUNT > 0 THEN
4670 FOR i IN l_attributes_row_table.FIRST .. l_attributes_row_table.LAST LOOP
4671
4672 IF l_attributes_row_table.EXISTS(i) THEN
4673
4674 l_count := l_count + 1;
4675 x_ext_attr_grp_tbl(l_count).row_identifier := l_attributes_row_table(i).row_identifier;
4676
4677 --get the pks for the extension id
4678 OPEN c_get_pr_pks(p_ext_id =>x_ext_attr_grp_tbl(l_count).row_identifier);
4679 FETCH c_get_pr_pks into l_incident_id, l_party_id, l_contact_type, l_party_role_code, l_pr_context;
4680 CLOSE c_get_pr_pks;
4681
4682 IF l_incident_id IS NULL THEN
4683 x_ext_attr_grp_tbl(l_count).pk_column_1 := null;
4684 ELSE
4685 x_ext_attr_grp_tbl(l_count).pk_column_1 := l_incident_id;
4686 END IF;
4687
4688 IF l_party_id IS NULL THEN
4689 x_ext_attr_grp_tbl(l_count).pk_column_2 := null;
4690 ELSE
4691 x_ext_attr_grp_tbl(l_count).pk_column_2 := l_party_id;
4692 END IF;
4693
4694 IF l_contact_type IS NULL THEN
4695 x_ext_attr_grp_tbl(l_count).pk_column_3 := null;
4696 ELSE
4697 x_ext_attr_grp_tbl(l_count).pk_column_3 := l_contact_type;
4698 END IF;
4699
4700 IF l_party_role_code IS NULL THEN
4701 x_ext_attr_grp_tbl(l_count).pk_column_4 := null;
4702 ELSE
4703 x_ext_attr_grp_tbl(l_count).pk_column_4 := l_party_role_code;
4704 END IF;
4705
4706 x_ext_attr_grp_tbl(l_count).pk_column_5 := null;
4707
4708 IF l_pr_context IS NULL THEN
4709 x_ext_attr_grp_tbl(l_count).context := null;
4710 ELSE
4711 x_ext_attr_grp_tbl(l_count).context := l_pr_context;
4712 END IF;
4713
4714 x_ext_attr_grp_tbl(l_count).attr_group_id := l_attributes_row_table(i).attr_group_id;
4715 x_ext_attr_grp_tbl(l_count).attr_group_app_id := l_attributes_row_table(i).attr_group_app_id;
4716 x_ext_attr_grp_tbl(l_count).attr_group_type := l_attributes_row_table(i).attr_group_type;
4717 x_ext_attr_grp_tbl(l_count).attr_group_name := l_attributes_row_table(i).attr_group_name;
4718 x_ext_attr_grp_tbl(l_count).mapping_req := 'N';
4719 x_ext_attr_grp_tbl(l_count).operation := 'GET';
4720
4721 --get the dislay name for the attribute group
4722 OPEN c_get_attr_group_disp_name(x_ext_attr_grp_tbl(l_count).attr_group_id);
4723 FETCH c_get_attr_group_disp_name INTO x_ext_attr_grp_tbl(l_count).attr_group_disp_name;
4724 CLOSE c_get_attr_group_disp_name;
4725
4726 -- loop through the attributes table and then populate the attributes record for the attribute group
4727 FOR j IN l_attributes_data_table.FIRST .. l_attributes_data_table.LAST LOOP
4728
4729 IF l_attributes_data_table.EXISTS(j) THEN
4730
4731
4732 IF l_attributes_row_table(i).row_identifier = l_attributes_data_table(j).row_identifier THEN
4733 l_count_1 := l_count_1 + 1;
4734 -- match found populate the out parameter for the attribute table
4735 x_ext_attr_tbl(l_count_1).row_identifier := l_attributes_data_table(j).row_identifier;
4736 x_ext_attr_tbl(l_count_1).attr_name := l_attributes_data_table(j).attr_name;
4737 x_ext_attr_tbl(l_count_1).attr_value_str := l_attributes_data_table(j).attr_value_str;
4738 x_ext_attr_tbl(l_count_1).attr_value_num := l_attributes_data_table(j).attr_value_num;
4739 x_ext_attr_tbl(l_count_1).attr_value_date := l_attributes_data_table(j).attr_value_date;
4740 x_ext_attr_tbl(l_count_1).attr_value_display := l_attributes_data_table(j).attr_disp_value;
4741 x_ext_attr_tbl(l_count_1).attr_unit_of_measure := l_attributes_data_table(j).attr_unit_of_measure;
4742
4743
4744
4745 --get the database column_name and display name for the attribute
4746 FOR k IN l_ext_attr_tbl.FIRST .. l_ext_attr_tbl.LAST LOOP
4747
4748 IF l_ext_attr_tbl.EXISTS(k) THEN
4749
4750 IF l_attributes_row_table(i).attr_group_app_id = l_ext_attr_tbl(k).application_id AND
4751 l_attributes_row_table(i).attr_group_type = l_ext_attr_tbl(k).attr_group_type AND
4752 l_attributes_row_table(i).attr_group_name = l_ext_attr_tbl(k).attr_group_name AND
4753 l_attributes_data_table(j).attr_name = l_ext_attr_tbl(k).attr_name THEN
4754
4755 x_ext_attr_tbl(l_count_1).column_name := l_ext_attr_tbl(k).database_column;
4756 x_ext_attr_tbl(l_count_1).attr_disp_name := l_ext_attr_tbl(k).attr_display_name;
4757
4758 END IF;
4759 END IF;
4760 END LOOP;
4761 END IF;
4762 END IF;
4763 END LOOP;
4764 END IF;
4765 END LOOP;
4766 END IF ; -- l_attributes_row_table.COUNT IS NOT NULL
4767
4768 END IF;
4769
4770 ---------------------- FND Logging -----------------------------------
4771 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
4772 THEN
4773
4774 -- --------------------------------------------------------------------------
4775 -- This procedure Logs the extensible attributes table.
4776 -- --------------------------------------------------------------------------
4777 Log_EXT_PVT_Parameters
4778 ( p_ext_attr_grp_tbl => x_ext_attr_grp_tbl
4779 ,p_ext_attr_tbl => x_ext_attr_tbl
4780 );
4781
4782 Log_EGO_Ext_PVT_Parameters(
4783 p_ext_attr_grp_tbl => l_attributes_row_table
4784 ,p_ext_attr_tbl => l_attributes_data_table);
4785
4786 END IF;
4787
4788 EXCEPTION
4789 WHEN FND_API.G_EXC_ERROR THEN
4790 x_return_status := FND_API.G_RET_STS_ERROR;
4791 FND_MSG_PUB.Count_And_Get
4792 ( p_count => x_msg_count,
4793 p_data => x_msg_data
4794 );
4795 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4796 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4797 FND_MSG_PUB.Count_And_Get
4798 ( p_count => x_msg_count,
4799 p_data => x_msg_data
4800 );
4801
4802 WHEN OTHERS THEN
4803 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4804 FND_MESSAGE.Set_Name('CS', 'CS_GET_SR_EXT_ATTR_FAIL');
4805 FND_MESSAGE.Set_Token('API_NAME', L_API_NAME_FULL);
4806 FND_MESSAGE.Set_Token('ERROR', SQLERRM);
4807 FND_MSG_PUB.ADD;
4808
4809 END;
4810
4811 PROCEDURE Create_Ext_Attr_Audit(
4812 p_sr_ea_new_audit_rec_table IN Ext_Attr_Audit_Tbl_Type
4813 ,p_sr_ea_old_audit_rec_table IN Ext_Attr_Audit_Tbl_Type
4814 ,p_object_name IN VARCHAR2
4815 ,p_modified_by IN NUMBER := FND_GLOBAL.USER_ID
4816 ,p_modified_on IN DATE := SYSDATE
4817 ,x_return_status OUT NOCOPY VARCHAR2
4818 ,x_msg_count OUT NOCOPY NUMBER
4819 ,x_msg_data OUT NOCOPY VARCHAR2
4820 ) IS
4821
4822 l_is_multi_row VARCHAR2(1);
4823
4824 Cursor c_sr_get_ext_id(p_incident_id IN NUMBER,
4825 p_context IN NUMBER,
4826 p_attr_group_id IN NUMBER) IS
4827 select extension_id from cs_incidents_ext
4828 where incident_id = p_incident_id
4829 and context = p_context
4830 and attr_group_id = p_attr_group_id;
4831
4832
4833 cursor c_get_sr_multi_row_ext_id (p_incident_id IN NUMBER
4834 ,p_context IN NUMBER
4835 ,p_attr_group_id IN NUMBER) IS
4836
4837 SELECT extension_id
4838 FROM cs_incidents_ext
4839 WHERE incident_id = p_incident_id
4840 AND context = p_context
4841 AND attr_group_id = p_attr_group_id
4842 AND extension_id NOT IN (SELECT extension_id
4843 FROM cs_incidents_ext_audit
4844 WHERE incident_id = p_incident_id
4845 AND context = p_context
4846 AND attr_group_id = p_attr_group_id);
4847
4848 Cursor c_pr_get_ext_id(p_incident_id IN NUMBER,
4849 p_party_id IN NUMBER,
4850 p_contact_type IN VARCHAR2,
4851 p_party_role_code IN VARCHAR2,
4852 p_context IN VARCHAR2,
4853 p_attr_group_id IN NUMBER) IS
4854 select extension_id
4855 from cs_sr_contacts_ext
4856 where incident_id = p_incident_id
4857 and party_id = p_party_id
4858 and contact_type = p_contact_type
4859 and party_role_code = p_party_role_code
4860 and context = p_context
4861 and attr_group_id = p_attr_group_id;
4862
4863
4864 cursor c_get_pr_multi_row_ext_id (p_incident_id IN NUMBER,
4865 p_party_id IN NUMBER,
4866 p_contact_type IN VARCHAR2,
4867 p_party_role_code IN VARCHAR2,
4868 p_context IN VARCHAR2,
4869 p_attr_group_id IN NUMBER) IS
4870
4871 select extension_id
4872 from cs_sr_contacts_ext
4873 where incident_id = p_incident_id
4874 and party_id = p_party_id
4875 and contact_type = p_contact_type
4876 and party_role_code = p_party_role_code
4877 and context = p_context
4878 and attr_group_id = p_attr_group_id
4879 AND extension_id NOT IN (SELECT extension_id
4880 FROM cs_sr_contacts_ext_audit
4881 where incident_id = p_incident_id
4882 and party_id = p_party_id
4883 and contact_type = p_contact_type
4884 and party_role_code = p_party_role_code
4885 and context = p_context
4886 and attr_group_id = p_attr_group_id);
4887
4888 l_sr_ea_new_audit_rec_table Ext_Attr_Audit_Tbl_Type;
4889 l_sr_ea_old_audit_rec_table Ext_Attr_Audit_Tbl_Type;
4890
4891 l_pr_ea_new_audit_rec_table Ext_Attr_Audit_Tbl_Type;
4892 l_pr_ea_old_audit_rec_table Ext_Attr_Audit_Tbl_Type;
4893
4894
4895
4896 BEGIN
4897
4898 IF p_object_name = 'CS_SERVICE_REQUEST' THEN
4899
4900 /*************New Audit Table Check***********/
4901
4902 IF p_sr_ea_new_audit_rec_table.COUNT > 0 THEN
4903
4904 -- pass the incoming record to
4905 l_sr_ea_new_audit_rec_table := p_sr_ea_new_audit_rec_table;
4906
4907 --check if record had extension_id and
4908 --all the primary key identifiers before calling audit
4909 FOR i IN 1..l_sr_ea_new_audit_rec_table.COUNT LOOP
4910 IF l_sr_ea_new_audit_rec_table(i).extension_id IS NULL OR
4911 l_sr_ea_new_audit_rec_table(i).extension_id < 0 THEN
4912 IF l_sr_ea_new_audit_rec_table(i).pk_column_1 IS NOT NULL AND
4913 l_sr_ea_new_audit_rec_table(i).context IS NOT NULL AND
4914 l_sr_ea_new_audit_rec_table(i).attr_group_id IS NOT NULL THEN
4915
4916 -- check if attribute group is multi row
4917 l_is_multi_row := IS_ATTR_GROUP_MULTI_ROW(
4918 p_attr_group_id => l_sr_ea_new_audit_rec_table(i).attr_group_id
4919 ,x_msg_data => x_msg_data
4920 ,x_msg_count => x_msg_count
4921 ,x_return_status => x_return_status);
4922
4923 -- If l_is_multi_row = 'Y' then get
4924 IF l_is_multi_row = 'Y' THEN
4925
4926 -- only one row should be found as the UI will only send one record at a time
4927 OPEN c_get_sr_multi_row_ext_id(l_sr_ea_new_audit_rec_table(i).pk_column_1
4928 ,l_sr_ea_new_audit_rec_table(i).context
4929 ,l_sr_ea_new_audit_rec_table(i).attr_group_id);
4930 FETCH c_get_sr_multi_row_ext_id into l_sr_ea_new_audit_rec_table(i).extension_id;
4931 IF c_get_sr_multi_row_ext_id%NOTFOUND THEN
4932 RETURN;
4933 END IF;
4934 CLOSE c_get_sr_multi_row_ext_id;
4935
4936 ELSE
4937
4938 -- l_is_multi_row = 'N'
4939 -- populate the all the records in the new record
4940 OPEN c_sr_get_ext_id(l_sr_ea_new_audit_rec_table(i).pk_column_1
4941 ,l_sr_ea_new_audit_rec_table(i).context
4942 ,l_sr_ea_new_audit_rec_table(i).attr_group_id) ;
4943 FETCH c_sr_get_ext_id INTO l_sr_ea_new_audit_rec_table(i).extension_id ;
4944 IF c_sr_get_ext_id%NOTFOUND THEN
4945 RETURN;
4946 END IF;
4947 CLOSE c_sr_get_ext_id;
4948
4949
4950 END IF; --multi_row check
4951
4952 ELSE
4953
4954 --composite key not passed
4955 --raise error
4956 --MAYA
4957 null;
4958
4959 END IF; -- If composite key is null;
4960 END IF; -- p_sr_ea_new_audit_rec_table(i).extension_id IS NULL
4961 END LOOP;
4962 END IF; -- p_sr_ea_new_audit_rec_table.COUNT > 0
4963
4964 IF p_sr_ea_old_audit_rec_table.COUNT > 0 THEN
4965
4966 -- pass the incoming record to
4967 l_sr_ea_old_audit_rec_table := p_sr_ea_old_audit_rec_table;
4968
4969 ELSE
4970 INIT_AUDIT_REC(p_count => p_sr_ea_new_audit_rec_table.COUNT
4971 ,p_audit_rec => l_sr_ea_old_audit_rec_table);
4972 END IF; -- p_sr_ea_old_audit_rec_table.COUNT > 0
4973
4974 -- call the audit API
4975 insert_sr_row
4976 ( P_NEW_ext_attrs => l_sr_ea_new_audit_rec_table
4977 , P_OLD_ext_attrs => l_sr_ea_old_audit_rec_table
4978 , P_MODIFIED_BY => p_modified_by
4979 , P_MODIFIED_ON => p_modified_on
4980 , X_RETURN_STATUS => X_RETURN_STATUS
4981 , X_MSG_COUNT => X_MSG_COUNT
4982 , X_MSG_DATA => X_MSG_DATA
4983 ) ;
4984
4985 ELSIF p_object_name = 'CS_PARTY_ROLE' THEN
4986 IF p_sr_ea_new_audit_rec_table.COUNT > 0 THEN
4987 -- pass the incoming record to
4988 l_pr_ea_new_audit_rec_table := p_sr_ea_new_audit_rec_table;
4989
4990 --DBMS_OUTPUT.PUT_LINE('In party role create audit');
4991
4992 --check if record had extension_id and
4993 --all the primary key identifiers before calling audit
4994 FOR i IN 1..l_pr_ea_new_audit_rec_table.COUNT LOOP
4995 IF l_pr_ea_new_audit_rec_table(i).extension_id IS NULL OR
4996 l_pr_ea_new_audit_rec_table(i).extension_id < 0 THEN
4997 IF l_pr_ea_new_audit_rec_table(i).pk_column_1 IS NOT NULL AND
4998 l_pr_ea_new_audit_rec_table(i).pk_column_2 IS NOT NULL AND
4999 l_pr_ea_new_audit_rec_table(i).pk_column_3 IS NOT NULL AND
5000 l_pr_ea_new_audit_rec_table(i).pk_column_4 IS NOT NULL AND
5001 l_pr_ea_new_audit_rec_table(i).context IS NOT NULL AND
5002 l_pr_ea_new_audit_rec_table(i).attr_group_id IS NOT NULL THEN
5003
5004 -- check if attribute group is multi row
5005 l_is_multi_row := IS_ATTR_GROUP_MULTI_ROW(
5006 p_attr_group_id => l_pr_ea_new_audit_rec_table(i).attr_group_id
5007 ,x_msg_data => x_msg_data
5008 ,x_msg_count => x_msg_count
5009 ,x_return_status => x_return_status);
5010
5011 -- If l_is_multi_row = 'Y' then get
5012 IF l_is_multi_row = 'Y' THEN
5013
5014 -- only one row should be found as the UI will only send one record at a time
5015 OPEN c_get_pr_multi_row_ext_id(to_number(l_pr_ea_new_audit_rec_table(i).pk_column_1)
5016 ,to_number(l_pr_ea_new_audit_rec_table(i).pk_column_2)
5017 ,l_pr_ea_new_audit_rec_table(i).pk_column_3
5018 ,l_pr_ea_new_audit_rec_table(i).pk_column_4
5019 ,l_pr_ea_new_audit_rec_table(i).context
5020 ,l_pr_ea_new_audit_rec_table(i).attr_group_id);
5021
5022 FETCH c_get_pr_multi_row_ext_id into l_pr_ea_new_audit_rec_table(i).extension_id;
5023 CLOSE c_get_pr_multi_row_ext_id;
5024
5025 ELSE
5026
5027 -- l_is_multi_row = 'N'
5028 -- populate the all the records in the new record
5029 OPEN c_pr_get_ext_id(to_number(l_pr_ea_new_audit_rec_table(i).pk_column_1)
5030 ,to_number(l_pr_ea_new_audit_rec_table(i).pk_column_2)
5031 ,l_pr_ea_new_audit_rec_table(i).pk_column_3
5032 ,l_pr_ea_new_audit_rec_table(i).pk_column_4
5033 ,l_pr_ea_new_audit_rec_table(i).context
5034 ,l_pr_ea_new_audit_rec_table(i).attr_group_id) ;
5035 FETCH c_pr_get_ext_id INTO l_pr_ea_new_audit_rec_table(i).extension_id ;
5036 CLOSE c_pr_get_ext_id;
5037
5038
5039 END IF; --multi_row check
5040
5041 ELSE
5042
5043 --composite key not passed
5044 --raise error
5045 --MAYA
5046 null;
5047
5048 END IF; -- If composite key is null;
5049 END IF; -- p_pr_ea_new_audit_rec_table(i).extension_id IS NULL
5050
5051 END LOOP;
5052 END IF; -- p_sr_ea_new_audit_rec_table.COUNT > 0
5053
5054 --DBMS_OUTPUT.PUT_LINE('Done checking extension id');
5055
5056 IF p_sr_ea_old_audit_rec_table.COUNT > 0 THEN
5057 -- pass the incoming record to
5058 --DBMS_OUTPUT.PUT_LINE('p_sr_ea_old_audit_rec_table.COUNT'||p_sr_ea_old_audit_rec_table.COUNT);
5059
5060 l_pr_ea_old_audit_rec_table := p_sr_ea_old_audit_rec_table;
5061
5062 ELSE
5063 -- call the INIT AUDIT REC
5064 INIT_AUDIT_REC(p_count => p_sr_ea_new_audit_rec_table.COUNT
5065 ,p_audit_rec => l_pr_ea_old_audit_rec_table);
5066
5067 END IF; -- p_sr_ea_old_audit_rec_table.COUNT > 0
5068
5069 --DBMS_OUTPUT.PUT_LINE('Done checking old rec');
5070
5071 --DBMS_OUTPUT.PUT_LINE('Calling Insert PR Row');
5072 --DBMS_OUTPUT.PUT_LINE('l_pr_ea_new_audit_rec_table.COUNT'||l_pr_ea_new_audit_rec_table.COUNT);
5073 --DBMS_OUTPUT.PUT_LINE('l_pr_ea_old_audit_rec_table.COUNT'||l_pr_ea_old_audit_rec_table.COUNT);
5074
5075 -- call the audit API
5076 insert_pr_row
5077 ( P_NEW_ext_attrs => l_pr_ea_new_audit_rec_table
5078 , P_OLD_ext_attrs => l_pr_ea_old_audit_rec_table
5079 , P_MODIFIED_BY => p_modified_by
5080 , P_MODIFIED_ON => p_modified_on
5081 , X_RETURN_STATUS => X_RETURN_STATUS
5082 , X_MSG_COUNT => X_MSG_COUNT
5083 , X_MSG_DATA => X_MSG_DATA
5084 );
5085
5086 END IF; --object is 'CS_SERVICE_REQUEST' or 'CS_PARTY_ROLE' --MAY NOT BE NEEDED
5087
5088
5089 END;
5090
5091 Procedure Merge_Ext_Attrs_Details
5092 (p_ext_attr_grp_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_GRP_TBL_TYPE
5093 ,p_ext_attr_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE
5094 ,x_ext_grp_attr_tbl OUT NOCOPY EXT_GRP_ATTR_TBL_TYPE
5095 ,x_return_status OUT NOCOPY VARCHAR2
5096 ,x_msg_count OUT NOCOPY NUMBER
5097 ,x_msg_data OUT NOCOPY VARCHAR2) IS
5098
5099 q NUMBER := 1;
5100
5101 BEGIN
5102
5103 -- Loop throught the group table to get the group details..
5104
5105 FOR i IN 1..p_ext_attr_grp_tbl.COUNT
5106 LOOP
5107 -- Loop through the attr table to get all the attributes for the parent group
5108 -- using the row identifier.
5109 FOR j IN 1..p_ext_attr_tbl.COUNT
5110 LOOP
5111 -- Assign the values to the merged table structure
5112
5113 IF p_ext_attr_grp_tbl(i).ROW_IDENTIFIER = p_ext_attr_tbl(j).ROW_IDENTIFIER THEN
5114 x_ext_grp_attr_tbl(q).ROW_IDENTIFIER := p_ext_attr_grp_tbl(i).ROW_IDENTIFIER;
5115 x_ext_grp_attr_tbl(q).ATTR_GROUP_ID := p_ext_attr_grp_tbl(i).ATTR_GROUP_ID;
5116 x_ext_grp_attr_tbl(q).ATTR_GROUP_TYPE := p_ext_attr_grp_tbl(i).ATTR_GROUP_TYPE;
5117 x_ext_grp_attr_tbl(q).ATTR_GROUP_NAME := p_ext_attr_grp_tbl(i).ATTR_GROUP_NAME;
5118 x_ext_grp_attr_tbl(q).ATTR_GROUP_DISP_NAME := p_ext_attr_grp_tbl(i).ATTR_GROUP_DISP_NAME;
5119 x_ext_grp_attr_tbl(q).COLUMN_NAME := p_ext_attr_tbl(j).COLUMN_NAME;
5120 x_ext_grp_attr_tbl(q).ATTR_NAME := p_ext_attr_tbl(j).ATTR_NAME;
5121 x_ext_grp_attr_tbl(q).ATTR_VALUE_STR := p_ext_attr_tbl(j).ATTR_VALUE_STR;
5122 x_ext_grp_attr_tbl(q).ATTR_VALUE_NUM := p_ext_attr_tbl(j).ATTR_VALUE_NUM;
5123 x_ext_grp_attr_tbl(q).ATTR_VALUE_DATE := p_ext_attr_tbl(j).ATTR_VALUE_DATE;
5124 x_ext_grp_attr_tbl(q).ATTR_VALUE_DISPLAY := p_ext_attr_tbl(j).ATTR_VALUE_DISPLAY;
5125
5126 q := q + 1;
5127 END IF ;
5128 END LOOP;
5129 END LOOP;
5130 EXCEPTION
5131 WHEN OTHERS THEN
5132 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5133 FND_MSG_PUB.Count_And_Get
5134 (p_count => x_msg_count,
5135 p_data => x_msg_data);
5136
5137 END Merge_Ext_Attrs_Details;
5138
5139
5140
5141 --------------------------------------------------------------------------------
5142 -- Procedure Name : insert_sr_row
5143 -- Parameters :
5144 -- IN : p_new_ext_attrs Table New ext attr values
5145 -- : p_old_ext_attrs Table old Ext attr values
5146 -- : p_modified_by Identity of user creationg/modifying
5147 -- Ext attrs
5148 -- : p_modified_on Date of Ext Attr creation/update
5149 -- OUT : x_return_status Status of procedure return
5150 -- : x_msg_count Number of error messages
5151 -- : x_msg_data Error description
5152 --
5153 --
5154 -- Description : Procedure to create audit of SR extensible attributes.
5155 --
5156 -- Modification History:
5157 -- Date Name Desc
5158 -- -------- -------- -----------------------------------------------------------
5159 -- 05/05/05 pkesani Created
5160 -- 08/08/05 smisra Modified insert statement and used pk values for
5161 -- incident id
5162 --------------------------------------------------------------------------------
5163 PROCEDURE insert_sr_row
5164 ( P_NEW_ext_attrs IN Ext_Attr_Audit_Tbl_Type
5165 , P_OLD_ext_attrs IN Ext_Attr_Audit_Tbl_Type
5166 , P_MODIFIED_BY IN NUMBER
5167 , P_MODIFIED_ON IN DATE
5168 , X_RETURN_STATUS OUT NOCOPY VARCHAR2
5169 , X_MSG_COUNT OUT NOCOPY NUMBER
5170 , X_MSG_DATA OUT NOCOPY VARCHAR2
5171 ) IS
5172 l_table_index NUMBER;
5173 l_ext_audit_id NUMBER;
5174 l_last_updated_by NUMBER;
5175 l_last_update_date DATE;
5176 l_last_update_login NUMBER;
5177 l_modified_by NUMBER;
5178 l_modified_on DATE;
5179 l_msg_count NUMBER;
5180 l_msg_data VARCHAR2(2000);
5181 l_api_name CONSTANT VARCHAR2(30) := 'insert_sr_row';
5182 l_api_name_full CONSTANT VARCHAR2(61) := 'CS_SR_EXTATTRIBUTES_PVT'||'.'||l_api_name;
5183 BEGIN
5184 x_return_status := FND_API.G_RET_STS_SUCCESS;
5185 l_last_updated_by := FND_GLOBAL.USER_ID;
5186 l_last_update_date := SYSDATE;
5187 l_last_update_login := FND_GLOBAL.LOGIN_ID;
5188
5189 IF P_MODIFIED_BY IS NULL THEN
5190 l_modified_by := FND_GLOBAL.USER_ID;
5191 ELSE
5192 l_modified_by := P_MODIFIED_BY;
5193 END IF;
5194
5195 IF P_MODIFIED_ON IS NULL THEN
5196 l_modified_on := SYSDATE;
5197 ELSE
5198 l_modified_on := P_MODIFIED_ON;
5199 END IF;
5200
5201 --DBMS_OUTPUT.PUT_LINE('Before insert');
5202 IF P_NEW_ext_attrs.count = 0 OR P_OLD_ext_attrs.count = 0 THEN
5203 RETURN;
5204 ELSE
5205 FOR l_table_index in P_NEW_ext_attrs.FIRST..P_NEW_ext_attrs.LAST LOOP
5206
5207 IF P_NEW_ext_attrs.exists(l_table_index) THEN
5208
5209 SELECT CS_INCIDENTS_EXT_AUDIT_S.NEXTVAL INTO l_ext_audit_id FROM dual;
5210 --DBMS_OUTPUT.PUT_LINE('inside for loop:' || to_char(l_ext_audit_id));
5211
5212 --DBMS_OUTPUT.PUT_LINE('P_new_ext_attrs(l_table_index).C_ext_attr1 '||P_new_ext_attrs(l_table_index).C_ext_attr1);
5213 --DBMS_OUTPUT.PUT_LINE('P_new_ext_attrs(l_table_index).C_ext_attr2 '||P_new_ext_attrs(l_table_index).C_ext_attr2);
5214 --DBMS_OUTPUT.PUT_LINE('P_new_ext_attrs(l_table_index).C_ext_attr3 '||P_new_ext_attrs(l_table_index).C_ext_attr3);
5215 --DBMS_OUTPUT.PUT_LINE('P_new_ext_attrs(l_table_index).C_ext_attr4 '||P_new_ext_attrs(l_table_index).C_ext_attr4);
5216
5217 INSERT INTO CS_INCIDENTS_EXT_AUDIT
5218 ( AUDIT_EXTENSION_ID
5219 , EXTENSION_ID
5220 , INCIDENT_ID
5221 , CONTEXT
5222 , ATTR_GROUP_ID
5223 , CREATION_DATE
5224 , CREATED_BY
5225 , LAST_UPDATE_DATE
5226 , LAST_UPDATED_BY
5227 , LAST_UPDATE_LOGIN
5228 , C_EXT_ATTR1
5229 , C_EXT_ATTR2
5230 , C_EXT_ATTR3
5231 , C_EXT_ATTR4
5232 , C_EXT_ATTR5
5233 , C_EXT_ATTR6
5234 , C_EXT_ATTR7
5235 , C_EXT_ATTR8
5236 , C_EXT_ATTR9
5237 , C_EXT_ATTR10
5238 , C_EXT_ATTR11
5239 , C_EXT_ATTR12
5240 , C_EXT_ATTR13
5241 , C_EXT_ATTR14
5242 , C_EXT_ATTR15
5243 , C_EXT_ATTR16
5244 , C_EXT_ATTR17
5245 , C_EXT_ATTR18
5246 , C_EXT_ATTR19
5247 , C_EXT_ATTR20
5248 , C_EXT_ATTR21
5249 , C_EXT_ATTR22
5250 , C_EXT_ATTR23
5251 , C_EXT_ATTR24
5252 , C_EXT_ATTR25
5253 , C_EXT_ATTR26
5254 , C_EXT_ATTR27
5255 , C_EXT_ATTR28
5256 , C_EXT_ATTR29
5257 , C_EXT_ATTR30
5258 , C_EXT_ATTR31
5259 , C_EXT_ATTR32
5260 , C_EXT_ATTR33
5261 , C_EXT_ATTR34
5262 , C_EXT_ATTR35
5263 , C_EXT_ATTR36
5264 , C_EXT_ATTR37
5265 , C_EXT_ATTR38
5266 , C_EXT_ATTR39
5267 , C_EXT_ATTR40
5268 , C_EXT_ATTR41
5269 , C_EXT_ATTR42
5270 , C_EXT_ATTR43
5271 , C_EXT_ATTR44
5272 , C_EXT_ATTR45
5273 , C_EXT_ATTR46
5274 , C_EXT_ATTR47
5275 , C_EXT_ATTR48
5276 , C_EXT_ATTR49
5277 , C_EXT_ATTR50
5278 , OLD_C_EXT_ATTR1
5279 , OLD_C_EXT_ATTR2
5280 , OLD_C_EXT_ATTR3
5281 , OLD_C_EXT_ATTR4
5282 , OLD_C_EXT_ATTR5
5283 , OLD_C_EXT_ATTR6
5284 , OLD_C_EXT_ATTR7
5285 , OLD_C_EXT_ATTR8
5286 , OLD_C_EXT_ATTR9
5287 , OLD_C_EXT_ATTR10
5288 , OLD_C_EXT_ATTR11
5289 , OLD_C_EXT_ATTR12
5290 , OLD_C_EXT_ATTR13
5291 , OLD_C_EXT_ATTR14
5292 , OLD_C_EXT_ATTR15
5293 , OLD_C_EXT_ATTR16
5294 , OLD_C_EXT_ATTR17
5295 , OLD_C_EXT_ATTR18
5296 , OLD_C_EXT_ATTR19
5297 , OLD_C_EXT_ATTR20
5298 , OLD_C_EXT_ATTR21
5299 , OLD_C_EXT_ATTR22
5300 , OLD_C_EXT_ATTR23
5301 , OLD_C_EXT_ATTR24
5302 , OLD_C_EXT_ATTR25
5303 , OLD_C_EXT_ATTR26
5304 , OLD_C_EXT_ATTR27
5305 , OLD_C_EXT_ATTR28
5306 , OLD_C_EXT_ATTR29
5307 , OLD_C_EXT_ATTR30
5308 , OLD_C_EXT_ATTR31
5309 , OLD_C_EXT_ATTR32
5310 , OLD_C_EXT_ATTR33
5311 , OLD_C_EXT_ATTR34
5312 , OLD_C_EXT_ATTR35
5313 , OLD_C_EXT_ATTR36
5314 , OLD_C_EXT_ATTR37
5315 , OLD_C_EXT_ATTR38
5316 , OLD_C_EXT_ATTR39
5317 , OLD_C_EXT_ATTR40
5318 , OLD_C_EXT_ATTR41
5319 , OLD_C_EXT_ATTR42
5320 , OLD_C_EXT_ATTR43
5321 , OLD_C_EXT_ATTR44
5322 , OLD_C_EXT_ATTR45
5323 , OLD_C_EXT_ATTR46
5324 , OLD_C_EXT_ATTR47
5325 , OLD_C_EXT_ATTR48
5326 , OLD_C_EXT_ATTR49
5327 , OLD_C_EXT_ATTR50
5328 , N_EXT_ATTR1
5329 , N_EXT_ATTR2
5330 , N_EXT_ATTR3
5331 , N_EXT_ATTR4
5332 , N_EXT_ATTR5
5333 , N_EXT_ATTR6
5334 , N_EXT_ATTR7
5335 , N_EXT_ATTR8
5336 , N_EXT_ATTR9
5337 , N_EXT_ATTR10
5338 , N_EXT_ATTR11
5339 , N_EXT_ATTR12
5340 , N_EXT_ATTR13
5341 , N_EXT_ATTR14
5342 , N_EXT_ATTR15
5343 , N_EXT_ATTR16
5344 , N_EXT_ATTR17
5345 , N_EXT_ATTR18
5346 , N_EXT_ATTR19
5347 , N_EXT_ATTR20
5348 , N_EXT_ATTR21
5349 , N_EXT_ATTR22
5350 , N_EXT_ATTR23
5351 , N_EXT_ATTR24
5352 , N_EXT_ATTR25
5353 , OLD_N_EXT_ATTR1
5354 , OLD_N_EXT_ATTR2
5355 , OLD_N_EXT_ATTR3
5356 , OLD_N_EXT_ATTR4
5357 , OLD_N_EXT_ATTR5
5358 , OLD_N_EXT_ATTR6
5359 , OLD_N_EXT_ATTR7
5360 , OLD_N_EXT_ATTR8
5361 , OLD_N_EXT_ATTR9
5362 , OLD_N_EXT_ATTR10
5363 , OLD_N_EXT_ATTR11
5364 , OLD_N_EXT_ATTR12
5365 , OLD_N_EXT_ATTR13
5366 , OLD_N_EXT_ATTR14
5367 , OLD_N_EXT_ATTR15
5368 , OLD_N_EXT_ATTR16
5369 , OLD_N_EXT_ATTR17
5370 , OLD_N_EXT_ATTR18
5371 , OLD_N_EXT_ATTR19
5372 , OLD_N_EXT_ATTR20
5373 , OLD_N_EXT_ATTR21
5374 , OLD_N_EXT_ATTR22
5375 , OLD_N_EXT_ATTR23
5376 , OLD_N_EXT_ATTR24
5377 , OLD_N_EXT_ATTR25
5378 , D_EXT_ATTR1
5379 , D_EXT_ATTR2
5380 , D_EXT_ATTR3
5381 , D_EXT_ATTR4
5382 , D_EXT_ATTR5
5383 , D_EXT_ATTR6
5384 , D_EXT_ATTR7
5385 , D_EXT_ATTR8
5386 , D_EXT_ATTR9
5387 , D_EXT_ATTR10
5388 , D_EXT_ATTR11
5389 , D_EXT_ATTR12
5390 , D_EXT_ATTR13
5391 , D_EXT_ATTR14
5392 , D_EXT_ATTR15
5393 , D_EXT_ATTR16
5394 , D_EXT_ATTR17
5395 , D_EXT_ATTR18
5396 , D_EXT_ATTR19
5397 , D_EXT_ATTR20
5398 , D_EXT_ATTR21
5399 , D_EXT_ATTR22
5400 , D_EXT_ATTR23
5401 , D_EXT_ATTR24
5402 , D_EXT_ATTR25
5403 , OLD_D_EXT_ATTR1
5404 , OLD_D_EXT_ATTR2
5405 , OLD_D_EXT_ATTR3
5406 , OLD_D_EXT_ATTR4
5407 , OLD_D_EXT_ATTR5
5408 , OLD_D_EXT_ATTR6
5409 , OLD_D_EXT_ATTR7
5410 , OLD_D_EXT_ATTR8
5411 , OLD_D_EXT_ATTR9
5412 , OLD_D_EXT_ATTR10
5413 , OLD_D_EXT_ATTR11
5414 , OLD_D_EXT_ATTR12
5415 , OLD_D_EXT_ATTR13
5416 , OLD_D_EXT_ATTR14
5417 , OLD_D_EXT_ATTR15
5418 , OLD_D_EXT_ATTR16
5419 , OLD_D_EXT_ATTR17
5420 , OLD_D_EXT_ATTR18
5421 , OLD_D_EXT_ATTR19
5422 , OLD_D_EXT_ATTR20
5423 , OLD_D_EXT_ATTR21
5424 , OLD_D_EXT_ATTR22
5425 , OLD_D_EXT_ATTR23
5426 , OLD_D_EXT_ATTR24
5427 , OLD_D_EXT_ATTR25
5428 , UOM_EXT_ATTR1
5429 , UOM_EXT_ATTR2
5430 , UOM_EXT_ATTR3
5431 , UOM_EXT_ATTR4
5432 , UOM_EXT_ATTR5
5433 , UOM_EXT_ATTR6
5434 , UOM_EXT_ATTR7
5435 , UOM_EXT_ATTR8
5436 , UOM_EXT_ATTR9
5437 , UOM_EXT_ATTR10
5438 , UOM_EXT_ATTR11
5439 , UOM_EXT_ATTR12
5440 , UOM_EXT_ATTR13
5441 , UOM_EXT_ATTR14
5442 , UOM_EXT_ATTR15
5443 , UOM_EXT_ATTR16
5444 , UOM_EXT_ATTR17
5445 , UOM_EXT_ATTR18
5446 , UOM_EXT_ATTR19
5447 , UOM_EXT_ATTR20
5448 , UOM_EXT_ATTR21
5449 , UOM_EXT_ATTR22
5450 , UOM_EXT_ATTR23
5451 , UOM_EXT_ATTR24
5452 , UOM_EXT_ATTR25
5453 , OLD_UOM_EXT_ATTR1
5454 , OLD_UOM_EXT_ATTR2
5455 , OLD_UOM_EXT_ATTR3
5456 , OLD_UOM_EXT_ATTR4
5457 , OLD_UOM_EXT_ATTR5
5458 , OLD_UOM_EXT_ATTR6
5459 , OLD_UOM_EXT_ATTR7
5460 , OLD_UOM_EXT_ATTR8
5461 , OLD_UOM_EXT_ATTR9
5462 , OLD_UOM_EXT_ATTR10
5463 , OLD_UOM_EXT_ATTR11
5464 , OLD_UOM_EXT_ATTR12
5465 , OLD_UOM_EXT_ATTR13
5466 , OLD_UOM_EXT_ATTR14
5467 , OLD_UOM_EXT_ATTR15
5468 , OLD_UOM_EXT_ATTR16
5469 , OLD_UOM_EXT_ATTR17
5470 , OLD_UOM_EXT_ATTR18
5471 , OLD_UOM_EXT_ATTR19
5472 , OLD_UOM_EXT_ATTR20
5473 , OLD_UOM_EXT_ATTR21
5474 , OLD_UOM_EXT_ATTR22
5475 , OLD_UOM_EXT_ATTR23
5476 , OLD_UOM_EXT_ATTR24
5477 , OLD_UOM_EXT_ATTR25
5478 , EXT_ATTR_MODIFIED_ON
5479 , EXT_ATTR_MODIFIED_BY
5480 )
5481 VALUES
5482 ( l_ext_audit_id
5483 , p_new_ext_attrs(l_table_index).extension_ID
5484 , to_number(P_new_ext_attrs(l_table_index).pk_column_1)
5485 , P_new_ext_attrs(l_table_index).context
5486 , P_new_ext_attrs(l_table_index).attr_group_id
5487 , l_last_update_date
5488 , l_last_updated_by
5489 , l_last_update_date
5490 , l_last_updated_by
5491 , l_last_update_login
5492 , P_new_ext_attrs(l_table_index).C_ext_attr1
5493 , P_new_ext_attrs(l_table_index).C_ext_attr2
5494 , P_new_ext_attrs(l_table_index).C_ext_attr3
5495 , P_new_ext_attrs(l_table_index).C_ext_attr4
5496 , P_new_ext_attrs(l_table_index).C_ext_attr5
5497 , P_new_ext_attrs(l_table_index).C_ext_attr6
5498 , P_new_ext_attrs(l_table_index).C_ext_attr7
5499 , P_new_ext_attrs(l_table_index).C_ext_attr8
5500 , P_new_ext_attrs(l_table_index).C_ext_attr9
5501 , P_new_ext_attrs(l_table_index).C_ext_attr10
5502 , P_new_ext_attrs(l_table_index).C_ext_attr11
5503 , P_new_ext_attrs(l_table_index).C_ext_attr12
5504 , P_new_ext_attrs(l_table_index).C_ext_attr13
5505 , P_new_ext_attrs(l_table_index).C_ext_attr14
5506 , P_new_ext_attrs(l_table_index).C_ext_attr15
5507 , P_new_ext_attrs(l_table_index).C_ext_attr16
5508 , P_new_ext_attrs(l_table_index).C_ext_attr17
5509 , P_new_ext_attrs(l_table_index).C_ext_attr18
5510 , P_new_ext_attrs(l_table_index).C_ext_attr19
5511 , P_new_ext_attrs(l_table_index).C_ext_attr20
5512 , P_new_ext_attrs(l_table_index).C_ext_attr21
5513 , P_new_ext_attrs(l_table_index).C_ext_attr22
5514 , P_new_ext_attrs(l_table_index).C_ext_attr23
5515 , P_new_ext_attrs(l_table_index).C_ext_attr24
5516 , P_new_ext_attrs(l_table_index).C_ext_attr25
5517 , P_new_ext_attrs(l_table_index).C_ext_attr26
5518 , P_new_ext_attrs(l_table_index).C_ext_attr27
5519 , P_new_ext_attrs(l_table_index).C_ext_attr28
5520 , P_new_ext_attrs(l_table_index).C_ext_attr29
5521 , P_new_ext_attrs(l_table_index).C_ext_attr30
5522 , P_new_ext_attrs(l_table_index).C_ext_attr31
5523 , P_new_ext_attrs(l_table_index).C_ext_attr32
5524 , P_new_ext_attrs(l_table_index).C_ext_attr33
5525 , P_new_ext_attrs(l_table_index).C_ext_attr34
5526 , P_new_ext_attrs(l_table_index).C_ext_attr35
5527 , P_new_ext_attrs(l_table_index).C_ext_attr36
5528 , P_new_ext_attrs(l_table_index).C_ext_attr37
5529 , P_new_ext_attrs(l_table_index).C_ext_attr38
5530 , P_new_ext_attrs(l_table_index).C_ext_attr39
5531 , P_new_ext_attrs(l_table_index).C_ext_attr40
5532 , P_new_ext_attrs(l_table_index).C_ext_attr41
5533 , P_new_ext_attrs(l_table_index).C_ext_attr42
5534 , P_new_ext_attrs(l_table_index).C_ext_attr43
5535 , P_new_ext_attrs(l_table_index).C_ext_attr44
5536 , P_new_ext_attrs(l_table_index).C_ext_attr45
5537 , P_new_ext_attrs(l_table_index).C_ext_attr46
5538 , P_new_ext_attrs(l_table_index).C_ext_attr47
5539 , P_new_ext_attrs(l_table_index).C_ext_attr48
5540 , P_new_ext_attrs(l_table_index).C_ext_attr49
5541 , P_new_ext_attrs(l_table_index).C_ext_attr50
5542 , P_old_ext_attrs(l_table_index).C_ext_attr1
5543 , P_old_ext_attrs(l_table_index).C_ext_attr2
5544 , P_old_ext_attrs(l_table_index).C_ext_attr3
5545 , P_old_ext_attrs(l_table_index).C_ext_attr4
5546 , P_old_ext_attrs(l_table_index).C_ext_attr5
5547 , P_old_ext_attrs(l_table_index).C_ext_attr6
5548 , P_old_ext_attrs(l_table_index).C_ext_attr7
5549 , P_old_ext_attrs(l_table_index).C_ext_attr8
5550 , P_old_ext_attrs(l_table_index).C_ext_attr9
5551 , P_old_ext_attrs(l_table_index).C_ext_attr10
5552 , P_old_ext_attrs(l_table_index).C_ext_attr11
5553 , P_old_ext_attrs(l_table_index).C_ext_attr12
5554 , P_old_ext_attrs(l_table_index).C_ext_attr13
5555 , P_old_ext_attrs(l_table_index).C_ext_attr14
5556 , P_old_ext_attrs(l_table_index).C_ext_attr15
5557 , P_old_ext_attrs(l_table_index).C_ext_attr16
5558 , P_old_ext_attrs(l_table_index).C_ext_attr17
5559 , P_old_ext_attrs(l_table_index).C_ext_attr18
5560 , P_old_ext_attrs(l_table_index).C_ext_attr19
5561 , P_old_ext_attrs(l_table_index).C_ext_attr20
5562 , P_old_ext_attrs(l_table_index).C_ext_attr21
5563 , P_old_ext_attrs(l_table_index).C_ext_attr22
5564 , P_old_ext_attrs(l_table_index).C_ext_attr23
5565 , P_old_ext_attrs(l_table_index).C_ext_attr24
5566 , P_old_ext_attrs(l_table_index).C_ext_attr25
5567 , P_old_ext_attrs(l_table_index).C_ext_attr26
5568 , P_old_ext_attrs(l_table_index).C_ext_attr27
5569 , P_old_ext_attrs(l_table_index).C_ext_attr28
5570 , P_old_ext_attrs(l_table_index).C_ext_attr29
5571 , P_old_ext_attrs(l_table_index).C_ext_attr30
5572 , P_old_ext_attrs(l_table_index).C_ext_attr31
5573 , P_old_ext_attrs(l_table_index).C_ext_attr32
5574 , P_old_ext_attrs(l_table_index).C_ext_attr33
5575 , P_old_ext_attrs(l_table_index).C_ext_attr34
5576 , P_old_ext_attrs(l_table_index).C_ext_attr35
5577 , P_old_ext_attrs(l_table_index).C_ext_attr36
5578 , P_old_ext_attrs(l_table_index).C_ext_attr37
5579 , P_old_ext_attrs(l_table_index).C_ext_attr38
5580 , P_old_ext_attrs(l_table_index).C_ext_attr39
5581 , P_old_ext_attrs(l_table_index).C_ext_attr40
5582 , P_old_ext_attrs(l_table_index).C_ext_attr41
5583 , P_old_ext_attrs(l_table_index).C_ext_attr42
5584 , P_old_ext_attrs(l_table_index).C_ext_attr43
5585 , P_old_ext_attrs(l_table_index).C_ext_attr44
5586 , P_old_ext_attrs(l_table_index).C_ext_attr45
5587 , P_old_ext_attrs(l_table_index).C_ext_attr46
5588 , P_old_ext_attrs(l_table_index).C_ext_attr47
5589 , P_old_ext_attrs(l_table_index).C_ext_attr48
5590 , P_old_ext_attrs(l_table_index).C_ext_attr49
5591 , P_old_ext_attrs(l_table_index).C_ext_attr50
5592 , P_new_ext_attrs(l_table_index).N_ext_attr1
5593 , P_new_ext_attrs(l_table_index).N_ext_attr2
5594 , P_new_ext_attrs(l_table_index).N_ext_attr3
5595 , P_new_ext_attrs(l_table_index).N_ext_attr4
5596 , P_new_ext_attrs(l_table_index).N_ext_attr5
5597 , P_new_ext_attrs(l_table_index).N_ext_attr6
5598 , P_new_ext_attrs(l_table_index).N_ext_attr7
5599 , P_new_ext_attrs(l_table_index).N_ext_attr8
5600 , P_new_ext_attrs(l_table_index).N_ext_attr9
5601 , P_new_ext_attrs(l_table_index).N_ext_attr10
5602 , P_new_ext_attrs(l_table_index).N_ext_attr11
5603 , P_new_ext_attrs(l_table_index).N_ext_attr12
5604 , P_new_ext_attrs(l_table_index).N_ext_attr13
5605 , P_new_ext_attrs(l_table_index).N_ext_attr14
5606 , P_new_ext_attrs(l_table_index).N_ext_attr15
5607 , P_new_ext_attrs(l_table_index).N_ext_attr16
5608 , P_new_ext_attrs(l_table_index).N_ext_attr17
5609 , P_new_ext_attrs(l_table_index).N_ext_attr18
5610 , P_new_ext_attrs(l_table_index).N_ext_attr19
5611 , P_new_ext_attrs(l_table_index).N_ext_attr20
5612 , P_new_ext_attrs(l_table_index).N_ext_attr21
5613 , P_new_ext_attrs(l_table_index).N_ext_attr22
5614 , P_new_ext_attrs(l_table_index).N_ext_attr23
5615 , P_new_ext_attrs(l_table_index).N_ext_attr24
5616 , P_new_ext_attrs(l_table_index).N_ext_attr25
5617 , P_old_ext_attrs(l_table_index).N_ext_attr1
5618 , P_old_ext_attrs(l_table_index).N_ext_attr2
5619 , P_old_ext_attrs(l_table_index).N_ext_attr3
5620 , P_old_ext_attrs(l_table_index).N_ext_attr4
5621 , P_old_ext_attrs(l_table_index).N_ext_attr5
5622 , P_old_ext_attrs(l_table_index).N_ext_attr6
5623 , P_old_ext_attrs(l_table_index).N_ext_attr7
5624 , P_old_ext_attrs(l_table_index).N_ext_attr8
5625 , P_old_ext_attrs(l_table_index).N_ext_attr9
5626 , P_old_ext_attrs(l_table_index).N_ext_attr10
5627 , P_old_ext_attrs(l_table_index).N_ext_attr11
5628 , P_old_ext_attrs(l_table_index).N_ext_attr12
5629 , P_old_ext_attrs(l_table_index).N_ext_attr13
5630 , P_old_ext_attrs(l_table_index).N_ext_attr14
5631 , P_old_ext_attrs(l_table_index).N_ext_attr15
5632 , P_old_ext_attrs(l_table_index).N_ext_attr16
5633 , P_old_ext_attrs(l_table_index).N_ext_attr17
5634 , P_old_ext_attrs(l_table_index).N_ext_attr18
5635 , P_old_ext_attrs(l_table_index).N_ext_attr19
5636 , P_old_ext_attrs(l_table_index).N_ext_attr20
5637 , P_old_ext_attrs(l_table_index).N_ext_attr21
5638 , P_old_ext_attrs(l_table_index).N_ext_attr22
5639 , P_old_ext_attrs(l_table_index).N_ext_attr23
5640 , P_old_ext_attrs(l_table_index).N_ext_attr24
5641 , P_old_ext_attrs(l_table_index).N_ext_attr25
5642 , P_new_ext_attrs(l_table_index).D_EXT_ATTR1
5643 , P_new_ext_attrs(l_table_index).D_EXT_ATTR2
5644 , P_new_ext_attrs(l_table_index).D_EXT_ATTR3
5645 , P_new_ext_attrs(l_table_index).D_EXT_ATTR4
5646 , P_new_ext_attrs(l_table_index).D_EXT_ATTR5
5647 , P_new_ext_attrs(l_table_index).D_EXT_ATTR6
5648 , P_new_ext_attrs(l_table_index).D_EXT_ATTR7
5649 , P_new_ext_attrs(l_table_index).D_EXT_ATTR8
5650 , P_new_ext_attrs(l_table_index).D_EXT_ATTR9
5651 , P_new_ext_attrs(l_table_index).D_EXT_ATTR10
5652 , P_new_ext_attrs(l_table_index).D_EXT_ATTR11
5653 , P_new_ext_attrs(l_table_index).D_EXT_ATTR12
5654 , P_new_ext_attrs(l_table_index).D_EXT_ATTR13
5655 , P_new_ext_attrs(l_table_index).D_EXT_ATTR14
5656 , P_new_ext_attrs(l_table_index).D_EXT_ATTR15
5657 , P_new_ext_attrs(l_table_index).D_EXT_ATTR16
5658 , P_new_ext_attrs(l_table_index).D_EXT_ATTR17
5659 , P_new_ext_attrs(l_table_index).D_EXT_ATTR18
5660 , P_new_ext_attrs(l_table_index).D_EXT_ATTR19
5661 , P_new_ext_attrs(l_table_index).D_EXT_ATTR20
5662 , P_new_ext_attrs(l_table_index).D_EXT_ATTR21
5663 , P_new_ext_attrs(l_table_index).D_EXT_ATTR22
5664 , P_new_ext_attrs(l_table_index).D_EXT_ATTR23
5665 , P_new_ext_attrs(l_table_index).D_EXT_ATTR24
5666 , P_new_ext_attrs(l_table_index).D_EXT_ATTR25
5667 , P_old_ext_attrs(l_table_index).D_ext_attr1
5668 , P_old_ext_attrs(l_table_index).D_ext_attr2
5669 , P_old_ext_attrs(l_table_index).D_ext_attr3
5670 , P_old_ext_attrs(l_table_index).D_ext_attr4
5671 , P_old_ext_attrs(l_table_index).D_ext_attr5
5672 , P_old_ext_attrs(l_table_index).D_ext_attr6
5673 , P_old_ext_attrs(l_table_index).D_ext_attr7
5674 , P_old_ext_attrs(l_table_index).D_ext_attr8
5675 , P_old_ext_attrs(l_table_index).D_ext_attr9
5676 , P_old_ext_attrs(l_table_index).D_ext_attr10
5677 , P_old_ext_attrs(l_table_index).D_ext_attr11
5678 , P_old_ext_attrs(l_table_index).D_ext_attr12
5679 , P_old_ext_attrs(l_table_index).D_ext_attr13
5680 , P_old_ext_attrs(l_table_index).D_ext_attr14
5681 , P_old_ext_attrs(l_table_index).D_ext_attr15
5682 , P_old_ext_attrs(l_table_index).D_ext_attr16
5683 , P_old_ext_attrs(l_table_index).D_ext_attr17
5684 , P_old_ext_attrs(l_table_index).D_ext_attr18
5685 , P_old_ext_attrs(l_table_index).D_ext_attr19
5686 , P_old_ext_attrs(l_table_index).D_ext_attr20
5687 , P_old_ext_attrs(l_table_index).D_ext_attr21
5688 , P_old_ext_attrs(l_table_index).D_ext_attr22
5689 , P_old_ext_attrs(l_table_index).D_ext_attr23
5690 , P_old_ext_attrs(l_table_index).D_ext_attr24
5691 , P_old_ext_attrs(l_table_index).D_ext_attr25
5692 , P_new_ext_attrs(l_table_index).UOM_ext_attr1
5693 , P_new_ext_attrs(l_table_index).UOM_ext_attr2
5694 , P_new_ext_attrs(l_table_index).UOM_ext_attr3
5695 , P_new_ext_attrs(l_table_index).UOM_ext_attr4
5696 , P_new_ext_attrs(l_table_index).UOM_ext_attr5
5697 , P_new_ext_attrs(l_table_index).UOM_ext_attr6
5698 , P_new_ext_attrs(l_table_index).UOM_ext_attr7
5699 , P_new_ext_attrs(l_table_index).UOM_ext_attr8
5700 , P_new_ext_attrs(l_table_index).UOM_ext_attr9
5701 , P_new_ext_attrs(l_table_index).UOM_ext_attr10
5702 , P_new_ext_attrs(l_table_index).UOM_ext_attr11
5703 , P_new_ext_attrs(l_table_index).UOM_ext_attr12
5704 , P_new_ext_attrs(l_table_index).UOM_ext_attr13
5705 , P_new_ext_attrs(l_table_index).UOM_ext_attr14
5706 , P_new_ext_attrs(l_table_index).UOM_ext_attr15
5707 , P_new_ext_attrs(l_table_index).UOM_ext_attr16
5708 , P_new_ext_attrs(l_table_index).UOM_ext_attr17
5709 , P_new_ext_attrs(l_table_index).UOM_ext_attr18
5710 , P_new_ext_attrs(l_table_index).UOM_ext_attr19
5711 , P_new_ext_attrs(l_table_index).UOM_ext_attr20
5712 , P_new_ext_attrs(l_table_index).UOM_ext_attr21
5713 , P_new_ext_attrs(l_table_index).UOM_ext_attr22
5714 , P_new_ext_attrs(l_table_index).UOM_ext_attr23
5715 , P_new_ext_attrs(l_table_index).UOM_ext_attr24
5716 , P_new_ext_attrs(l_table_index).UOM_ext_attr25
5717 , P_old_ext_attrs(l_table_index).UOM_ext_attr1
5718 , P_old_ext_attrs(l_table_index).UOM_ext_attr2
5719 , P_old_ext_attrs(l_table_index).UOM_ext_attr3
5720 , P_old_ext_attrs(l_table_index).UOM_ext_attr4
5721 , P_old_ext_attrs(l_table_index).UOM_ext_attr5
5722 , P_old_ext_attrs(l_table_index).UOM_ext_attr6
5723 , P_old_ext_attrs(l_table_index).UOM_ext_attr7
5724 , P_old_ext_attrs(l_table_index).UOM_ext_attr8
5725 , P_old_ext_attrs(l_table_index).UOM_ext_attr9
5726 , P_old_ext_attrs(l_table_index).UOM_ext_attr10
5727 , P_old_ext_attrs(l_table_index).UOM_ext_attr11
5728 , P_old_ext_attrs(l_table_index).UOM_ext_attr12
5729 , P_old_ext_attrs(l_table_index).UOM_ext_attr13
5730 , P_old_ext_attrs(l_table_index).UOM_ext_attr14
5731 , P_old_ext_attrs(l_table_index).UOM_ext_attr15
5732 , P_old_ext_attrs(l_table_index).UOM_ext_attr16
5733 , P_old_ext_attrs(l_table_index).UOM_ext_attr17
5734 , P_old_ext_attrs(l_table_index).UOM_ext_attr18
5735 , P_old_ext_attrs(l_table_index).UOM_ext_attr19
5736 , P_old_ext_attrs(l_table_index).UOM_ext_attr20
5737 , P_old_ext_attrs(l_table_index).UOM_ext_attr21
5738 , P_old_ext_attrs(l_table_index).UOM_ext_attr22
5739 , P_old_ext_attrs(l_table_index).UOM_ext_attr23
5740 , P_old_ext_attrs(l_table_index).UOM_ext_attr24
5741 , P_old_ext_attrs(l_table_index).UOM_ext_attr25
5742 , l_modified_on
5743 , l_modified_by
5744 );
5745
5746 --DBMS_OUTPUT.PUT_LINE('inside for loop after insert ');
5747 END IF;
5748 END LOOP;
5749
5750 END IF ; -- no records in the table.
5751
5752
5753 EXCEPTION
5754 WHEN OTHERS THEN
5755 --DBMS_OUTPUT.PUT_LINE('when other ..');
5756 --DBMS_OUTPUT.PUT_LINE(substr(SQLERRM,1,200));
5757 FND_MESSAGE.set_name ('CS', 'CS_API_SR_UNKNOWN_ERROR');
5758 FND_MESSAGE.set_token('P_TEXT','cs_sr_ext_attr_data_pvt.insert_sr_row'||'-'||substr(SQLERRM,1,200));
5759 FND_MSG_PUB.ADD;
5760 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5761
5762 END insert_sr_row;
5763
5764
5765 --------------------------------------------------------------------------------
5766 -- Procedure Name : insert_pr_row
5767 -- Parameters :
5768 -- IN : p_new_ext_attrs Table New ext attr values
5769 -- : p_old_ext_attrs Table old Ext attr values
5770 -- : p_modified_by Identity of user creationg/modifying
5771 -- Ext attrs
5772 -- : p_modified_on Date of Ext Attr creation/update
5773 -- OUT : x_return_status Status of procedure return
5774 -- : x_msg_count Number of error messages
5775 -- : x_msg_data Error description
5776 --
5777 -- Description : Procedure to create audit of party role extensible attributes.
5778 --
5779 -- Modification History:
5780 -- Date Name Desc
5781 -- -------- -------- -----------------------------------------------------------
5782 -- 05/05/05 pkesani Created
5783 -- 08/08/05 smisra Modified insert statement and used pk values for
5784 -- incident id, party id, party type and party role
5785 --------------------------------------------------------------------------------
5786 PROCEDURE insert_pr_row
5787 ( P_NEW_ext_attrs IN Ext_Attr_Audit_Tbl_Type
5788 , P_OLD_ext_attrs IN Ext_Attr_Audit_Tbl_Type
5789 , P_MODIFIED_BY IN NUMBER
5790 , P_MODIFIED_ON IN DATE
5791 , X_RETURN_STATUS OUT NOCOPY VARCHAR2
5792 , X_MSG_COUNT OUT NOCOPY NUMBER
5793 , X_MSG_DATA OUT NOCOPY VARCHAR2
5794 ) IS
5795 l_table_index NUMBER;
5796 l_ext_audit_id NUMBER;
5797 l_last_updated_by NUMBER;
5798 l_last_update_date DATE;
5799 l_last_update_login NUMBER;
5800 l_modified_by NUMBER;
5801 l_modified_on DATE;
5802 l_msg_count NUMBER;
5803 l_msg_data VARCHAR2(2000);
5804 l_api_name CONSTANT VARCHAR2(30) := 'insert_pr_row';
5805 l_api_name_full CONSTANT VARCHAR2(61) := 'CS_SR_EXTATTRIBUTES_PVT'||'.'||l_api_name;
5806 BEGIN
5807 x_return_status := FND_API.G_RET_STS_SUCCESS;
5808
5809
5810 l_last_updated_by := FND_GLOBAL.USER_ID;
5811 l_last_update_login := FND_GLOBAL.LOGIN_ID;
5812 l_last_update_date := SYSDATE;
5813
5814 IF P_MODIFIED_BY IS NULL THEN
5815 l_modified_by := FND_GLOBAL.USER_ID;
5816 ELSE
5817 l_modified_by := P_MODIFIED_BY;
5818 END IF;
5819
5820 IF P_MODIFIED_ON IS NULL THEN
5821 l_modified_on := SYSDATE;
5822 ELSE
5823 l_modified_on := P_MODIFIED_ON;
5824 END IF;
5825
5826 IF P_NEW_ext_attrs.count = 0 OR P_OLD_ext_attrs.count = 0 THEN
5827 RETURN;
5828 ELSE
5829 FOR l_table_index in P_NEW_ext_attrs.FIRST..P_NEW_ext_attrs.LAST LOOP
5830 SELECT CS_SR_CONTACTS_EXT_AUDIT_S.NEXTVAL INTO l_ext_audit_id FROM dual;
5831 --DBMS_OUTPUT.PUT_LINE('inside for loop:' || to_char(l_ext_audit_id));
5832
5833 --DBMS_OUTPUT.PUT_LINE('P_new_ext_attrs(l_table_index).extension_ID'||P_new_ext_attrs(l_table_index).extension_ID);
5834
5835 INSERT INTO CS_SR_CONTACTS_EXT_AUDIT
5836 ( AUDIT_EXTENSION_ID
5837 , EXTENSION_ID
5838 , INCIDENT_ID
5839 , CONTEXT
5840 , ATTR_GROUP_ID
5841 , CREATION_DATE
5842 , CREATED_BY
5843 , LAST_UPDATE_DATE
5844 , LAST_UPDATED_BY
5845 , LAST_UPDATE_LOGIN
5846 , C_EXT_ATTR1
5847 , C_EXT_ATTR2
5848 , C_EXT_ATTR3
5849 , C_EXT_ATTR4
5850 , C_EXT_ATTR5
5851 , C_EXT_ATTR6
5852 , C_EXT_ATTR7
5853 , C_EXT_ATTR8
5854 , C_EXT_ATTR9
5855 , C_EXT_ATTR10
5856 , C_EXT_ATTR11
5857 , C_EXT_ATTR12
5858 , C_EXT_ATTR13
5859 , C_EXT_ATTR14
5860 , C_EXT_ATTR15
5861 , C_EXT_ATTR16
5862 , C_EXT_ATTR17
5863 , C_EXT_ATTR18
5864 , C_EXT_ATTR19
5865 , C_EXT_ATTR20
5866 , C_EXT_ATTR21
5867 , C_EXT_ATTR22
5868 , C_EXT_ATTR23
5869 , C_EXT_ATTR24
5870 , C_EXT_ATTR25
5871 , C_EXT_ATTR26
5872 , C_EXT_ATTR27
5873 , C_EXT_ATTR28
5874 , C_EXT_ATTR29
5875 , C_EXT_ATTR30
5876 , C_EXT_ATTR31
5877 , C_EXT_ATTR32
5878 , C_EXT_ATTR33
5879 , C_EXT_ATTR34
5880 , C_EXT_ATTR35
5881 , C_EXT_ATTR36
5882 , C_EXT_ATTR37
5883 , C_EXT_ATTR38
5884 , C_EXT_ATTR39
5885 , C_EXT_ATTR40
5886 , C_EXT_ATTR41
5887 , C_EXT_ATTR42
5888 , C_EXT_ATTR43
5889 , C_EXT_ATTR44
5890 , C_EXT_ATTR45
5891 , C_EXT_ATTR46
5892 , C_EXT_ATTR47
5893 , C_EXT_ATTR48
5894 , C_EXT_ATTR49
5895 , C_EXT_ATTR50
5896 , OLD_C_EXT_ATTR1
5897 , OLD_C_EXT_ATTR2
5898 , OLD_C_EXT_ATTR3
5899 , OLD_C_EXT_ATTR4
5900 , OLD_C_EXT_ATTR5
5901 , OLD_C_EXT_ATTR6
5902 , OLD_C_EXT_ATTR7
5903 , OLD_C_EXT_ATTR8
5904 , OLD_C_EXT_ATTR9
5905 , OLD_C_EXT_ATTR10
5906 , OLD_C_EXT_ATTR11
5907 , OLD_C_EXT_ATTR12
5908 , OLD_C_EXT_ATTR13
5909 , OLD_C_EXT_ATTR14
5910 , OLD_C_EXT_ATTR15
5911 , OLD_C_EXT_ATTR16
5912 , OLD_C_EXT_ATTR17
5913 , OLD_C_EXT_ATTR18
5914 , OLD_C_EXT_ATTR19
5915 , OLD_C_EXT_ATTR20
5916 , OLD_C_EXT_ATTR21
5917 , OLD_C_EXT_ATTR22
5918 , OLD_C_EXT_ATTR23
5919 , OLD_C_EXT_ATTR24
5920 , OLD_C_EXT_ATTR25
5921 , OLD_C_EXT_ATTR26
5922 , OLD_C_EXT_ATTR27
5923 , OLD_C_EXT_ATTR28
5924 , OLD_C_EXT_ATTR29
5925 , OLD_C_EXT_ATTR30
5926 , OLD_C_EXT_ATTR31
5927 , OLD_C_EXT_ATTR32
5928 , OLD_C_EXT_ATTR33
5929 , OLD_C_EXT_ATTR34
5930 , OLD_C_EXT_ATTR35
5931 , OLD_C_EXT_ATTR36
5932 , OLD_C_EXT_ATTR37
5933 , OLD_C_EXT_ATTR38
5934 , OLD_C_EXT_ATTR39
5935 , OLD_C_EXT_ATTR40
5936 , OLD_C_EXT_ATTR41
5937 , OLD_C_EXT_ATTR42
5938 , OLD_C_EXT_ATTR43
5939 , OLD_C_EXT_ATTR44
5940 , OLD_C_EXT_ATTR45
5941 , OLD_C_EXT_ATTR46
5942 , OLD_C_EXT_ATTR47
5943 , OLD_C_EXT_ATTR48
5944 , OLD_C_EXT_ATTR49
5945 , OLD_C_EXT_ATTR50
5946 , N_EXT_ATTR1
5947 , N_EXT_ATTR2
5948 , N_EXT_ATTR3
5949 , N_EXT_ATTR4
5950 , N_EXT_ATTR5
5951 , N_EXT_ATTR6
5952 , N_EXT_ATTR7
5953 , N_EXT_ATTR8
5954 , N_EXT_ATTR9
5955 , N_EXT_ATTR10
5956 , N_EXT_ATTR11
5957 , N_EXT_ATTR12
5958 , N_EXT_ATTR13
5959 , N_EXT_ATTR14
5960 , N_EXT_ATTR15
5961 , N_EXT_ATTR16
5962 , N_EXT_ATTR17
5963 , N_EXT_ATTR18
5964 , N_EXT_ATTR19
5965 , N_EXT_ATTR20
5966 , N_EXT_ATTR21
5967 , N_EXT_ATTR22
5968 , N_EXT_ATTR23
5969 , N_EXT_ATTR24
5970 , N_EXT_ATTR25
5971 , OLD_N_EXT_ATTR1
5972 , OLD_N_EXT_ATTR2
5973 , OLD_N_EXT_ATTR3
5974 , OLD_N_EXT_ATTR4
5975 , OLD_N_EXT_ATTR5
5976 , OLD_N_EXT_ATTR6
5977 , OLD_N_EXT_ATTR7
5978 , OLD_N_EXT_ATTR8
5979 , OLD_N_EXT_ATTR9
5980 , OLD_N_EXT_ATTR10
5981 , OLD_N_EXT_ATTR11
5982 , OLD_N_EXT_ATTR12
5983 , OLD_N_EXT_ATTR13
5984 , OLD_N_EXT_ATTR14
5985 , OLD_N_EXT_ATTR15
5986 , OLD_N_EXT_ATTR16
5987 , OLD_N_EXT_ATTR17
5988 , OLD_N_EXT_ATTR18
5989 , OLD_N_EXT_ATTR19
5990 , OLD_N_EXT_ATTR20
5991 , OLD_N_EXT_ATTR21
5992 , OLD_N_EXT_ATTR22
5993 , OLD_N_EXT_ATTR23
5994 , OLD_N_EXT_ATTR24
5995 , OLD_N_EXT_ATTR25
5996 , D_EXT_ATTR1
5997 , D_EXT_ATTR2
5998 , D_EXT_ATTR3
5999 , D_EXT_ATTR4
6000 , D_EXT_ATTR5
6001 , D_EXT_ATTR6
6002 , D_EXT_ATTR7
6003 , D_EXT_ATTR8
6004 , D_EXT_ATTR9
6005 , D_EXT_ATTR10
6006 , D_EXT_ATTR11
6007 , D_EXT_ATTR12
6008 , D_EXT_ATTR13
6009 , D_EXT_ATTR14
6010 , D_EXT_ATTR15
6011 , D_EXT_ATTR16
6012 , D_EXT_ATTR17
6013 , D_EXT_ATTR18
6014 , D_EXT_ATTR19
6015 , D_EXT_ATTR20
6016 , D_EXT_ATTR21
6017 , D_EXT_ATTR22
6018 , D_EXT_ATTR23
6019 , D_EXT_ATTR24
6020 , D_EXT_ATTR25
6021 , OLD_D_EXT_ATTR1
6022 , OLD_D_EXT_ATTR2
6023 , OLD_D_EXT_ATTR3
6024 , OLD_D_EXT_ATTR4
6025 , OLD_D_EXT_ATTR5
6026 , OLD_D_EXT_ATTR6
6027 , OLD_D_EXT_ATTR7
6028 , OLD_D_EXT_ATTR8
6029 , OLD_D_EXT_ATTR9
6030 , OLD_D_EXT_ATTR10
6031 , OLD_D_EXT_ATTR11
6032 , OLD_D_EXT_ATTR12
6033 , OLD_D_EXT_ATTR13
6034 , OLD_D_EXT_ATTR14
6035 , OLD_D_EXT_ATTR15
6036 , OLD_D_EXT_ATTR16
6037 , OLD_D_EXT_ATTR17
6038 , OLD_D_EXT_ATTR18
6039 , OLD_D_EXT_ATTR19
6040 , OLD_D_EXT_ATTR20
6041 , OLD_D_EXT_ATTR21
6042 , OLD_D_EXT_ATTR22
6043 , OLD_D_EXT_ATTR23
6044 , OLD_D_EXT_ATTR24
6045 , OLD_D_EXT_ATTR25
6046 , UOM_EXT_ATTR1
6047 , UOM_EXT_ATTR2
6048 , UOM_EXT_ATTR3
6049 , UOM_EXT_ATTR4
6050 , UOM_EXT_ATTR5
6051 , UOM_EXT_ATTR6
6052 , UOM_EXT_ATTR7
6053 , UOM_EXT_ATTR8
6054 , UOM_EXT_ATTR9
6055 , UOM_EXT_ATTR10
6056 , UOM_EXT_ATTR11
6057 , UOM_EXT_ATTR12
6058 , UOM_EXT_ATTR13
6059 , UOM_EXT_ATTR14
6060 , UOM_EXT_ATTR15
6061 , UOM_EXT_ATTR16
6062 , UOM_EXT_ATTR17
6063 , UOM_EXT_ATTR18
6064 , UOM_EXT_ATTR19
6065 , UOM_EXT_ATTR20
6066 , UOM_EXT_ATTR21
6067 , UOM_EXT_ATTR22
6068 , UOM_EXT_ATTR23
6069 , UOM_EXT_ATTR24
6070 , UOM_EXT_ATTR25
6071 , OLD_UOM_EXT_ATTR1
6072 , OLD_UOM_EXT_ATTR2
6073 , OLD_UOM_EXT_ATTR3
6074 , OLD_UOM_EXT_ATTR4
6075 , OLD_UOM_EXT_ATTR5
6076 , OLD_UOM_EXT_ATTR6
6077 , OLD_UOM_EXT_ATTR7
6078 , OLD_UOM_EXT_ATTR8
6079 , OLD_UOM_EXT_ATTR9
6080 , OLD_UOM_EXT_ATTR10
6081 , OLD_UOM_EXT_ATTR11
6082 , OLD_UOM_EXT_ATTR12
6083 , OLD_UOM_EXT_ATTR13
6084 , OLD_UOM_EXT_ATTR14
6085 , OLD_UOM_EXT_ATTR15
6086 , OLD_UOM_EXT_ATTR16
6087 , OLD_UOM_EXT_ATTR17
6088 , OLD_UOM_EXT_ATTR18
6089 , OLD_UOM_EXT_ATTR19
6090 , OLD_UOM_EXT_ATTR20
6091 , OLD_UOM_EXT_ATTR21
6092 , OLD_UOM_EXT_ATTR22
6093 , OLD_UOM_EXT_ATTR23
6094 , OLD_UOM_EXT_ATTR24
6095 , OLD_UOM_EXT_ATTR25
6096 , PARTY_ID
6097 , OLD_PARTY_ID
6098 , CONTACT_TYPE
6099 , PARTY_ROLE_CODE
6100 , EXT_ATTR_MODIFIED_ON
6101 , EXT_ATTR_MODIFIED_BY
6102 )
6103 VALUES
6104 ( l_ext_audit_id
6105 , P_new_ext_attrs(l_table_index).extension_ID
6106 , TO_NUMBER(p_new_ext_attrs(l_table_index).pk_column_1)
6107 , P_new_ext_attrs(l_table_index).context
6108 , P_new_ext_attrs(l_table_index).attr_group_id
6109 , l_last_update_date
6110 , l_last_updated_by
6111 , l_last_update_date
6112 , l_last_updated_by
6113 , l_last_update_login
6114 , P_new_ext_attrs(l_table_index).C_ext_attr1
6115 , P_new_ext_attrs(l_table_index).C_ext_attr2
6116 , P_new_ext_attrs(l_table_index).C_ext_attr3
6117 , P_new_ext_attrs(l_table_index).C_ext_attr4
6118 , P_new_ext_attrs(l_table_index).C_ext_attr5
6119 , P_new_ext_attrs(l_table_index).C_ext_attr6
6120 , P_new_ext_attrs(l_table_index).C_ext_attr7
6121 , P_new_ext_attrs(l_table_index).C_ext_attr8
6122 , P_new_ext_attrs(l_table_index).C_ext_attr9
6123 , P_new_ext_attrs(l_table_index).C_ext_attr10
6124 , P_new_ext_attrs(l_table_index).C_ext_attr11
6125 , P_new_ext_attrs(l_table_index).C_ext_attr12
6126 , P_new_ext_attrs(l_table_index).C_ext_attr13
6127 , P_new_ext_attrs(l_table_index).C_ext_attr14
6128 , P_new_ext_attrs(l_table_index).C_ext_attr15
6129 , P_new_ext_attrs(l_table_index).C_ext_attr16
6130 , P_new_ext_attrs(l_table_index).C_ext_attr17
6131 , P_new_ext_attrs(l_table_index).C_ext_attr18
6132 , P_new_ext_attrs(l_table_index).C_ext_attr19
6133 , P_new_ext_attrs(l_table_index).C_ext_attr20
6134 , P_new_ext_attrs(l_table_index).C_ext_attr21
6135 , P_new_ext_attrs(l_table_index).C_ext_attr22
6136 , P_new_ext_attrs(l_table_index).C_ext_attr23
6137 , P_new_ext_attrs(l_table_index).C_ext_attr24
6138 , P_new_ext_attrs(l_table_index).C_ext_attr25
6139 , P_new_ext_attrs(l_table_index).C_ext_attr26
6140 , P_new_ext_attrs(l_table_index).C_ext_attr27
6141 , P_new_ext_attrs(l_table_index).C_ext_attr28
6142 , P_new_ext_attrs(l_table_index).C_ext_attr29
6143 , P_new_ext_attrs(l_table_index).C_ext_attr30
6144 , P_new_ext_attrs(l_table_index).C_ext_attr31
6145 , P_new_ext_attrs(l_table_index).C_ext_attr32
6146 , P_new_ext_attrs(l_table_index).C_ext_attr33
6147 , P_new_ext_attrs(l_table_index).C_ext_attr34
6148 , P_new_ext_attrs(l_table_index).C_ext_attr35
6149 , P_new_ext_attrs(l_table_index).C_ext_attr36
6150 , P_new_ext_attrs(l_table_index).C_ext_attr37
6151 , P_new_ext_attrs(l_table_index).C_ext_attr38
6152 , P_new_ext_attrs(l_table_index).C_ext_attr39
6153 , P_new_ext_attrs(l_table_index).C_ext_attr40
6154 , P_new_ext_attrs(l_table_index).C_ext_attr41
6155 , P_new_ext_attrs(l_table_index).C_ext_attr42
6156 , P_new_ext_attrs(l_table_index).C_ext_attr43
6157 , P_new_ext_attrs(l_table_index).C_ext_attr44
6158 , P_new_ext_attrs(l_table_index).C_ext_attr45
6159 , P_new_ext_attrs(l_table_index).C_ext_attr46
6160 , P_new_ext_attrs(l_table_index).C_ext_attr47
6161 , P_new_ext_attrs(l_table_index).C_ext_attr48
6162 , P_new_ext_attrs(l_table_index).C_ext_attr49
6163 , P_new_ext_attrs(l_table_index).C_ext_attr50
6164 , P_old_ext_attrs(l_table_index).C_ext_attr1
6165 , P_old_ext_attrs(l_table_index).C_ext_attr2
6166 , P_old_ext_attrs(l_table_index).C_ext_attr3
6167 , P_old_ext_attrs(l_table_index).C_ext_attr4
6168 , P_old_ext_attrs(l_table_index).C_ext_attr5
6169 , P_old_ext_attrs(l_table_index).C_ext_attr6
6170 , P_old_ext_attrs(l_table_index).C_ext_attr7
6171 , P_old_ext_attrs(l_table_index).C_ext_attr8
6172 , P_old_ext_attrs(l_table_index).C_ext_attr9
6173 , P_old_ext_attrs(l_table_index).C_ext_attr10
6174 , P_old_ext_attrs(l_table_index).C_ext_attr11
6175 , P_old_ext_attrs(l_table_index).C_ext_attr12
6176 , P_old_ext_attrs(l_table_index).C_ext_attr13
6177 , P_old_ext_attrs(l_table_index).C_ext_attr14
6178 , P_old_ext_attrs(l_table_index).C_ext_attr15
6179 , P_old_ext_attrs(l_table_index).C_ext_attr16
6180 , P_old_ext_attrs(l_table_index).C_ext_attr17
6181 , P_old_ext_attrs(l_table_index).C_ext_attr18
6182 , P_old_ext_attrs(l_table_index).C_ext_attr19
6183 , P_old_ext_attrs(l_table_index).C_ext_attr20
6184 , P_old_ext_attrs(l_table_index).C_ext_attr21
6185 , P_old_ext_attrs(l_table_index).C_ext_attr22
6186 , P_old_ext_attrs(l_table_index).C_ext_attr23
6187 , P_old_ext_attrs(l_table_index).C_ext_attr24
6188 , P_old_ext_attrs(l_table_index).C_ext_attr25
6189 , P_old_ext_attrs(l_table_index).C_ext_attr26
6190 , P_old_ext_attrs(l_table_index).C_ext_attr27
6191 , P_old_ext_attrs(l_table_index).C_ext_attr28
6192 , P_old_ext_attrs(l_table_index).C_ext_attr29
6193 , P_old_ext_attrs(l_table_index).C_ext_attr30
6194 , P_old_ext_attrs(l_table_index).C_ext_attr31
6195 , P_old_ext_attrs(l_table_index).C_ext_attr32
6196 , P_old_ext_attrs(l_table_index).C_ext_attr33
6197 , P_old_ext_attrs(l_table_index).C_ext_attr34
6198 , P_old_ext_attrs(l_table_index).C_ext_attr35
6199 , P_old_ext_attrs(l_table_index).C_ext_attr36
6200 , P_old_ext_attrs(l_table_index).C_ext_attr37
6201 , P_old_ext_attrs(l_table_index).C_ext_attr38
6202 , P_old_ext_attrs(l_table_index).C_ext_attr39
6203 , P_old_ext_attrs(l_table_index).C_ext_attr40
6204 , P_old_ext_attrs(l_table_index).C_ext_attr41
6205 , P_old_ext_attrs(l_table_index).C_ext_attr42
6206 , P_old_ext_attrs(l_table_index).C_ext_attr43
6207 , P_old_ext_attrs(l_table_index).C_ext_attr44
6208 , P_old_ext_attrs(l_table_index).C_ext_attr45
6209 , P_old_ext_attrs(l_table_index).C_ext_attr46
6210 , P_old_ext_attrs(l_table_index).C_ext_attr47
6211 , P_old_ext_attrs(l_table_index).C_ext_attr48
6212 , P_old_ext_attrs(l_table_index).C_ext_attr49
6213 , P_old_ext_attrs(l_table_index).C_ext_attr50
6214 , P_new_ext_attrs(l_table_index).N_ext_attr1
6215 , P_new_ext_attrs(l_table_index).N_ext_attr2
6216 , P_new_ext_attrs(l_table_index).N_ext_attr3
6217 , P_new_ext_attrs(l_table_index).N_ext_attr4
6218 , P_new_ext_attrs(l_table_index).N_ext_attr5
6219 , P_new_ext_attrs(l_table_index).N_ext_attr6
6220 , P_new_ext_attrs(l_table_index).N_ext_attr7
6221 , P_new_ext_attrs(l_table_index).N_ext_attr8
6222 , P_new_ext_attrs(l_table_index).N_ext_attr9
6223 , P_new_ext_attrs(l_table_index).N_ext_attr10
6224 , P_new_ext_attrs(l_table_index).N_ext_attr11
6225 , P_new_ext_attrs(l_table_index).N_ext_attr12
6226 , P_new_ext_attrs(l_table_index).N_ext_attr13
6227 , P_new_ext_attrs(l_table_index).N_ext_attr14
6228 , P_new_ext_attrs(l_table_index).N_ext_attr15
6229 , P_new_ext_attrs(l_table_index).N_ext_attr16
6230 , P_new_ext_attrs(l_table_index).N_ext_attr17
6231 , P_new_ext_attrs(l_table_index).N_ext_attr18
6232 , P_new_ext_attrs(l_table_index).N_ext_attr19
6233 , P_new_ext_attrs(l_table_index).N_ext_attr20
6234 , P_new_ext_attrs(l_table_index).N_ext_attr21
6235 , P_new_ext_attrs(l_table_index).N_ext_attr22
6236 , P_new_ext_attrs(l_table_index).N_ext_attr23
6237 , P_new_ext_attrs(l_table_index).N_ext_attr24
6238 , P_new_ext_attrs(l_table_index).N_ext_attr25
6239 , P_old_ext_attrs(l_table_index).N_ext_attr1
6240 , P_old_ext_attrs(l_table_index).N_ext_attr2
6241 , P_old_ext_attrs(l_table_index).N_ext_attr3
6242 , P_old_ext_attrs(l_table_index).N_ext_attr4
6243 , P_old_ext_attrs(l_table_index).N_ext_attr5
6244 , P_old_ext_attrs(l_table_index).N_ext_attr6
6245 , P_old_ext_attrs(l_table_index).N_ext_attr7
6246 , P_old_ext_attrs(l_table_index).N_ext_attr8
6247 , P_old_ext_attrs(l_table_index).N_ext_attr9
6248 , P_old_ext_attrs(l_table_index).N_ext_attr10
6249 , P_old_ext_attrs(l_table_index).N_ext_attr11
6250 , P_old_ext_attrs(l_table_index).N_ext_attr12
6251 , P_old_ext_attrs(l_table_index).N_ext_attr13
6252 , P_old_ext_attrs(l_table_index).N_ext_attr14
6253 , P_old_ext_attrs(l_table_index).N_ext_attr15
6254 , P_old_ext_attrs(l_table_index).N_ext_attr16
6255 , P_old_ext_attrs(l_table_index).N_ext_attr17
6256 , P_old_ext_attrs(l_table_index).N_ext_attr18
6257 , P_old_ext_attrs(l_table_index).N_ext_attr19
6258 , P_old_ext_attrs(l_table_index).N_ext_attr20
6259 , P_old_ext_attrs(l_table_index).N_ext_attr21
6260 , P_old_ext_attrs(l_table_index).N_ext_attr22
6261 , P_old_ext_attrs(l_table_index).N_ext_attr23
6262 , P_old_ext_attrs(l_table_index).N_ext_attr24
6263 , P_old_ext_attrs(l_table_index).N_ext_attr25
6264 , P_new_ext_attrs(l_table_index).D_EXT_ATTR1
6265 , P_new_ext_attrs(l_table_index).D_EXT_ATTR2
6266 , P_new_ext_attrs(l_table_index).D_EXT_ATTR3
6267 , P_new_ext_attrs(l_table_index).D_EXT_ATTR4
6268 , P_new_ext_attrs(l_table_index).D_EXT_ATTR5
6269 , P_new_ext_attrs(l_table_index).D_EXT_ATTR6
6270 , P_new_ext_attrs(l_table_index).D_EXT_ATTR7
6271 , P_new_ext_attrs(l_table_index).D_EXT_ATTR8
6272 , P_new_ext_attrs(l_table_index).D_EXT_ATTR9
6273 , P_new_ext_attrs(l_table_index).D_EXT_ATTR10
6274 , P_new_ext_attrs(l_table_index).D_EXT_ATTR11
6275 , P_new_ext_attrs(l_table_index).D_EXT_ATTR12
6276 , P_new_ext_attrs(l_table_index).D_EXT_ATTR13
6277 , P_new_ext_attrs(l_table_index).D_EXT_ATTR14
6278 , P_new_ext_attrs(l_table_index).D_EXT_ATTR15
6279 , P_new_ext_attrs(l_table_index).D_EXT_ATTR16
6280 , P_new_ext_attrs(l_table_index).D_EXT_ATTR17
6281 , P_new_ext_attrs(l_table_index).D_EXT_ATTR18
6282 , P_new_ext_attrs(l_table_index).D_EXT_ATTR19
6283 , P_new_ext_attrs(l_table_index).D_EXT_ATTR20
6284 , P_new_ext_attrs(l_table_index).D_EXT_ATTR21
6285 , P_new_ext_attrs(l_table_index).D_EXT_ATTR22
6286 , P_new_ext_attrs(l_table_index).D_EXT_ATTR23
6287 , P_new_ext_attrs(l_table_index).D_EXT_ATTR24
6288 , P_new_ext_attrs(l_table_index).D_EXT_ATTR25
6289 , P_old_ext_attrs(l_table_index).D_ext_attr1
6290 , P_old_ext_attrs(l_table_index).D_ext_attr2
6291 , P_old_ext_attrs(l_table_index).D_ext_attr3
6292 , P_old_ext_attrs(l_table_index).D_ext_attr4
6293 , P_old_ext_attrs(l_table_index).D_ext_attr5
6294 , P_old_ext_attrs(l_table_index).D_ext_attr6
6295 , P_old_ext_attrs(l_table_index).D_ext_attr7
6296 , P_old_ext_attrs(l_table_index).D_ext_attr8
6297 , P_old_ext_attrs(l_table_index).D_ext_attr9
6298 , P_old_ext_attrs(l_table_index).D_ext_attr10
6299 , P_old_ext_attrs(l_table_index).D_ext_attr11
6300 , P_old_ext_attrs(l_table_index).D_ext_attr12
6301 , P_old_ext_attrs(l_table_index).D_ext_attr13
6302 , P_old_ext_attrs(l_table_index).D_ext_attr14
6303 , P_old_ext_attrs(l_table_index).D_ext_attr15
6304 , P_old_ext_attrs(l_table_index).D_ext_attr16
6305 , P_old_ext_attrs(l_table_index).D_ext_attr17
6306 , P_old_ext_attrs(l_table_index).D_ext_attr18
6307 , P_old_ext_attrs(l_table_index).D_ext_attr19
6308 , P_old_ext_attrs(l_table_index).D_ext_attr20
6309 , P_old_ext_attrs(l_table_index).D_ext_attr21
6310 , P_old_ext_attrs(l_table_index).D_ext_attr22
6311 , P_old_ext_attrs(l_table_index).D_ext_attr23
6312 , P_old_ext_attrs(l_table_index).D_ext_attr24
6313 , P_old_ext_attrs(l_table_index).D_ext_attr25
6314 , P_new_ext_attrs(l_table_index).UOM_ext_attr1
6315 , P_new_ext_attrs(l_table_index).UOM_ext_attr2
6316 , P_new_ext_attrs(l_table_index).UOM_ext_attr3
6317 , P_new_ext_attrs(l_table_index).UOM_ext_attr4
6318 , P_new_ext_attrs(l_table_index).UOM_ext_attr5
6319 , P_new_ext_attrs(l_table_index).UOM_ext_attr6
6320 , P_new_ext_attrs(l_table_index).UOM_ext_attr7
6321 , P_new_ext_attrs(l_table_index).UOM_ext_attr8
6322 , P_new_ext_attrs(l_table_index).UOM_ext_attr9
6323 , P_new_ext_attrs(l_table_index).UOM_ext_attr10
6324 , P_new_ext_attrs(l_table_index).UOM_ext_attr11
6325 , P_new_ext_attrs(l_table_index).UOM_ext_attr12
6326 , P_new_ext_attrs(l_table_index).UOM_ext_attr13
6327 , P_new_ext_attrs(l_table_index).UOM_ext_attr14
6328 , P_new_ext_attrs(l_table_index).UOM_ext_attr15
6329 , P_new_ext_attrs(l_table_index).UOM_ext_attr16
6330 , P_new_ext_attrs(l_table_index).UOM_ext_attr17
6331 , P_new_ext_attrs(l_table_index).UOM_ext_attr18
6332 , P_new_ext_attrs(l_table_index).UOM_ext_attr19
6333 , P_new_ext_attrs(l_table_index).UOM_ext_attr20
6334 , P_new_ext_attrs(l_table_index).UOM_ext_attr21
6335 , P_new_ext_attrs(l_table_index).UOM_ext_attr22
6336 , P_new_ext_attrs(l_table_index).UOM_ext_attr23
6337 , P_new_ext_attrs(l_table_index).UOM_ext_attr24
6338 , P_new_ext_attrs(l_table_index).UOM_ext_attr25
6339 , P_old_ext_attrs(l_table_index).UOM_ext_attr1
6340 , P_old_ext_attrs(l_table_index).UOM_ext_attr2
6341 , P_old_ext_attrs(l_table_index).UOM_ext_attr3
6342 , P_old_ext_attrs(l_table_index).UOM_ext_attr4
6343 , P_old_ext_attrs(l_table_index).UOM_ext_attr5
6344 , P_old_ext_attrs(l_table_index).UOM_ext_attr6
6345 , P_old_ext_attrs(l_table_index).UOM_ext_attr7
6346 , P_old_ext_attrs(l_table_index).UOM_ext_attr8
6347 , P_old_ext_attrs(l_table_index).UOM_ext_attr9
6348 , P_old_ext_attrs(l_table_index).UOM_ext_attr10
6349 , P_old_ext_attrs(l_table_index).UOM_ext_attr11
6350 , P_old_ext_attrs(l_table_index).UOM_ext_attr12
6351 , P_old_ext_attrs(l_table_index).UOM_ext_attr13
6352 , P_old_ext_attrs(l_table_index).UOM_ext_attr14
6353 , P_old_ext_attrs(l_table_index).UOM_ext_attr15
6354 , P_old_ext_attrs(l_table_index).UOM_ext_attr16
6355 , P_old_ext_attrs(l_table_index).UOM_ext_attr17
6356 , P_old_ext_attrs(l_table_index).UOM_ext_attr18
6357 , P_old_ext_attrs(l_table_index).UOM_ext_attr19
6358 , P_old_ext_attrs(l_table_index).UOM_ext_attr20
6359 , P_old_ext_attrs(l_table_index).UOM_ext_attr21
6360 , P_old_ext_attrs(l_table_index).UOM_ext_attr22
6361 , P_old_ext_attrs(l_table_index).UOM_ext_attr23
6362 , P_old_ext_attrs(l_table_index).UOM_ext_attr24
6363 , P_old_ext_attrs(l_table_index).UOM_ext_attr25
6364 , TO_NUMBER(P_new_ext_attrs(l_table_index).pk_column_2)
6365 , TO_NUMBER(P_old_ext_attrs(l_table_index).pk_column_2)
6366 , P_new_ext_attrs(l_table_index).pk_column_3
6367 , P_new_ext_attrs(l_table_index).pk_column_4
6368 , l_modified_on
6369 , l_modified_by
6370 );
6371
6372 END LOOP;
6373
6374 END IF ; -- no records in the table.
6375
6376
6377 EXCEPTION
6378 WHEN OTHERS THEN
6379 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6380 FND_MESSAGE.set_name ('CS', 'CS_API_SR_UNKNOWN_ERROR');
6381 FND_MESSAGE.set_token('P_TEXT','cs_sr_ext_attr_data_pvt.insert_sr_row'||'-'||substr(SQLERRM,1,200));
6382 FND_MSG_PUB.ADD;
6383 FND_MSG_PUB.Count_And_Get
6384 ( p_count => x_msg_count
6385 , p_data => x_msg_data
6386 );
6387
6388 END insert_pr_row;
6389
6390 PROCEDURE GET_MULTI_ROW_UNIQUE_KEY(p_attr_group_name IN VARCHAR2
6391 ,p_attr_group_type IN VARCHAR2
6392 ,p_application_id IN NUMBER
6393 ,x_attr_name OUT NOCOPY VARCHAR2
6394 ,x_database_column OUT NOCOPY VARCHAR2) IS
6395
6396 Cursor c_get_unique_key (p_attr_group_name IN NUMBER,
6397 p_attr_group_type IN NUMBER,
6398 p_application_id IN NUMBER) IS
6399 select attr_name, database_column
6400 from ego_attrs_v
6401 where attr_group_name = p_attr_group_name
6402 and attr_group_type = p_attr_group_type
6403 and application_id = p_application_id
6404 and unique_key_flag = 'Y';
6405
6406 BEGIN
6407
6408 OPEN c_get_unique_key (p_attr_group_name
6409 ,p_attr_group_type
6410 ,p_application_id);
6411 FETCH c_get_unique_key INTO x_attr_name, x_database_column;
6412 CLOSE c_get_unique_key;
6413
6414 EXCEPTION
6415
6416 WHEN OTHERS THEN
6417 --MAYA NEED TO CODE
6418 null;
6419
6420 END GET_MULTI_ROW_UNIQUE_KEY;
6421
6422 PROCEDURE INIT_AUDIT_REC(p_count IN NUMBER,
6423 p_audit_rec IN OUT NOCOPY Ext_Attr_Audit_Tbl_Type) IS
6424
6425
6426 BEGIN
6427
6428 FOR i IN 1 .. p_count LOOP
6429
6430 p_audit_rec(i) := NULL;
6431
6432 END LOOP;
6433
6434 END INIT_AUDIT_REC;
6435
6436
6437 -- -----------------------------------------------------------------------------
6438 -- Procedure Name : Log_EGO_EXT_Parameters
6439 -- Parameters :
6440 -- IN :
6441 -- OUT :
6442 --
6443 -- Description : Procedure to LOG the in parameters of PVT SR Ext Attrs procedures
6444 --
6445 --
6446 -- Modification History:
6447 -- Date Name Desc
6448 -- -------- -------- -----------------------------------------------------------
6449 -- 11/08/05 mviswana Created
6450 -- -----------------------------------------------------------------------------
6451 PROCEDURE Log_EGO_Ext_PVT_Parameters(
6452 p_ext_attr_grp_tbl IN EGO_USER_ATTR_ROW_TABLE
6453 ,p_ext_attr_tbl IN EGO_USER_ATTR_DATA_TABLE)
6454
6455 IS
6456
6457 l_api_name CONSTANT VARCHAR2(30) := 'Get_SR_Ext_Attrs';
6458 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
6459 l_log_module CONSTANT VARCHAR2(255) := 'cs.plsql.' || l_api_name_full || '.';
6460 l_attr_grp_index BINARY_INTEGER;
6461 l_attr_index BINARY_INTEGER;
6462
6463 BEGIN
6464
6465 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
6466 -- For Attribute Group
6467 l_attr_grp_index := p_ext_attr_grp_tbl.FIRST;
6468 WHILE l_attr_grp_index IS NOT NULL LOOP
6469
6470 FND_LOG.String
6471 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6472 , 'row_identifier :' || p_ext_attr_grp_tbl(l_attr_grp_index).row_identifier
6473 );
6474
6475 FND_LOG.String
6476 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6477 , 'attr_group_id :' || p_ext_attr_grp_tbl(l_attr_grp_index).ATTR_GROUP_ID
6478 );
6479
6480 FND_LOG.String
6481 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6482 , 'attr_group_app_id :' || p_ext_attr_grp_tbl(l_attr_grp_index).ATTR_GROUP_APP_ID
6483 );
6484
6485 FND_LOG.String
6486 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6487 , 'attr_group_type :' || p_ext_attr_grp_tbl(l_attr_grp_index).ATTR_GROUP_TYPE
6488 );
6489
6490 FND_LOG.String
6491 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6492 , 'attr_group_name :' || p_ext_attr_grp_tbl(l_attr_grp_index).ATTR_GROUP_NAME
6493 );
6494
6495 FND_LOG.String
6496 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6497 , 'data_level_1 :' || p_ext_attr_grp_tbl(l_attr_grp_index).DATA_LEVEL_1
6498 );
6499
6500 FND_LOG.String
6501 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6502 , 'data_level_2 :' || p_ext_attr_grp_tbl(l_attr_grp_index).DATA_LEVEL_2
6503 );
6504
6505 FND_LOG.String
6506 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6507 , 'data_level_3 :' || p_ext_attr_grp_tbl(l_attr_grp_index).DATA_LEVEL_3
6508 );
6509
6510 FND_LOG.String
6511 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6512 , 'transaction_type :' || p_ext_attr_grp_tbl(l_attr_grp_index).TRANSACTION_TYPE
6513 );
6514
6515 END LOOP;
6516
6517 l_attr_index := p_ext_attr_tbl.FIRST;
6518 WHILE l_attr_index IS NOT NULL LOOP
6519
6520 FND_LOG.String
6521 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6522 , 'row_identifier :' || p_ext_attr_tbl(l_attr_index).row_identifier
6523 );
6524
6525 FND_LOG.String
6526 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6527 , 'attr_name :' || p_ext_attr_tbl(l_attr_index).ATTR_NAME
6528 );
6529
6530 FND_LOG.String
6531 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6532 , 'attr_value_str :' || p_ext_attr_tbl(l_attr_index).ATTR_VALUE_STR
6533 );
6534
6535 FND_LOG.String
6536 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6537 , 'attr_value_num :' || p_ext_attr_tbl(l_attr_index).ATTR_VALUE_NUM
6538 );
6539
6540 FND_LOG.String
6541 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6542 , 'attr_value_date :' || p_ext_attr_tbl(l_attr_index).ATTR_VALUE_DATE
6543 );
6544
6545 FND_LOG.String
6546 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6547 , 'attr_value_display :' || p_ext_attr_tbl(l_attr_index).ATTR_DISP_VALUE
6548 );
6549
6550 FND_LOG.String
6551 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6552 , 'attr_uom :' || p_ext_attr_tbl(l_attr_index).ATTR_UNIT_OF_MEASURE
6553 );
6554
6555 FND_LOG.String
6556 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6557 , 'attr_row_id :' || p_ext_attr_tbl(l_attr_index).USER_ROW_IDENTIFIER
6558 );
6559
6560 END LOOP;
6561
6562 END IF;
6563 END;
6564
6565
6566 -- -----------------------------------------------------------------------------
6567 -- Procedure Name : Log_EXT_PVT_Parameters
6568 -- Parameters :
6569 -- IN :
6570 -- OUT :
6571 --
6572 -- Description : Procedure to LOG the in parameters of PVT SR Ext Attrs procedures
6573 --
6574 --
6575 -- Modification History:
6576 -- Date Name Desc
6577 -- -------- -------- -----------------------------------------------------------
6578 -- 11/08/05 mviswana Created
6579 -- -----------------------------------------------------------------------------
6580 PROCEDURE Log_EXT_PVT_Parameters (
6581 p_ext_attr_grp_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_GRP_TBL_TYPE
6582 ,p_ext_attr_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE )
6583 IS
6584
6585 l_api_name CONSTANT VARCHAR2(30) := 'Process_SR_Ext_Attrs';
6586 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
6587 l_log_module CONSTANT VARCHAR2(255) := 'cs.plsql.' || l_api_name_full || '.';
6588 l_attr_grp_index BINARY_INTEGER;
6589 l_attr_index BINARY_INTEGER;
6590
6591 BEGIN
6592
6593 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
6594
6595 -- For Attribute Group
6596 l_attr_grp_index := p_ext_attr_grp_tbl.FIRST;
6597 WHILE l_attr_grp_index IS NOT NULL LOOP
6598
6599 FND_LOG.String
6600 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6601 , 'row_identifier :' || p_ext_attr_grp_tbl(l_attr_grp_index).row_identifier
6602 );
6603
6604 FND_LOG.String
6605 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6606 , 'pk_column_1 :' || p_ext_attr_grp_tbl(l_attr_grp_index).pk_column_1
6607 );
6608
6609 FND_LOG.String
6610 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6611 , 'pk_column_2 :' || p_ext_attr_grp_tbl(l_attr_grp_index).pk_column_2
6612 );
6613
6614 FND_LOG.String
6615 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6616 , 'pk_column_3 :' || p_ext_attr_grp_tbl(l_attr_grp_index).pk_column_3
6617 );
6618
6619 FND_LOG.String
6620 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6621 , 'pk_column_4 :' || p_ext_attr_grp_tbl(l_attr_grp_index).pk_column_4
6622 );
6623
6624 FND_LOG.String
6625 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6626 , 'pk_column_5 :' || p_ext_attr_grp_tbl(l_attr_grp_index).pk_column_5
6627 );
6628
6629 FND_LOG.String
6630 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6631 , 'context :' || p_ext_attr_grp_tbl(l_attr_grp_index).context
6632 );
6633
6634 FND_LOG.String
6635 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6636 , 'object_name :' || p_ext_attr_grp_tbl(l_attr_grp_index).object_name
6637 );
6638
6639 FND_LOG.String
6640 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6641 , 'attr_group_id :' || p_ext_attr_grp_tbl(l_attr_grp_index).attr_group_id
6642 );
6643
6644 FND_LOG.String
6645 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6646 , 'attr_group_app_id :' || p_ext_attr_grp_tbl(l_attr_grp_index).attr_group_app_id
6647 );
6648
6649 FND_LOG.String
6650 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6651 , 'attr_group_type :' || p_ext_attr_grp_tbl(l_attr_grp_index).attr_group_type
6652 );
6653
6654 FND_LOG.String
6655 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6656 , 'attr_group_name :' || p_ext_attr_grp_tbl(l_attr_grp_index).attr_group_name
6657 );
6658
6659 FND_LOG.String
6660 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6661 , 'attr_group_disp_name :' || p_ext_attr_grp_tbl(l_attr_grp_index).attr_group_disp_name
6662 );
6663
6664 FND_LOG.String
6665 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6666 , 'mapping_req :' || p_ext_attr_grp_tbl(l_attr_grp_index).mapping_req
6667 );
6668
6669 FND_LOG.String
6670 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6671 , 'operation :' || p_ext_attr_grp_tbl(l_attr_grp_index).operation
6672 );
6673 l_attr_grp_index := p_ext_attr_grp_tbl.NEXT(l_attr_grp_index);
6674 END LOOP;
6675
6676 -- For Attribute
6677 l_attr_index := p_ext_attr_tbl.FIRST;
6678 WHILE l_attr_index IS NOT NULL LOOP
6679
6680 FND_LOG.String
6681 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6682 , 'row_identifier :' || p_ext_attr_tbl(l_attr_index).row_identifier
6683 );
6684
6685 FND_LOG.String
6686 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6687 , 'column_name :' || p_ext_attr_tbl(l_attr_index).column_name
6688 );
6689
6690 FND_LOG.String
6691 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6692 , 'attr_name :' || p_ext_attr_tbl(l_attr_index).attr_name
6693 );
6694
6695 FND_LOG.String
6696 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6697 , 'attr_disp_name :' || p_ext_attr_tbl(l_attr_index).attr_disp_name
6698 );
6699
6700
6701 FND_LOG.String
6702 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6703 , 'attr_value_str :' || p_ext_attr_tbl(l_attr_index).attr_value_str
6704 );
6705
6706 FND_LOG.String
6707 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6708 , 'attr_value_num :' || p_ext_attr_tbl(l_attr_index).attr_value_num
6709 );
6710
6711
6712 FND_LOG.String
6713 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6714 , 'attr_value_date :' || p_ext_attr_tbl(l_attr_index).attr_value_date
6715 );
6716
6717
6718 FND_LOG.String
6719 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6720 , 'attr_value_display :' || p_ext_attr_tbl(l_attr_index).attr_value_display
6721 );
6722
6723
6724 FND_LOG.String
6725 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6726 , 'attr_unit_of_measure :' || p_ext_attr_tbl(l_attr_index).attr_unit_of_measure
6727 );
6728
6729 l_attr_index := p_ext_attr_tbl.NEXT(l_attr_index);
6730
6731 END LOOP;
6732 END IF;
6733
6734
6735 END;
6736 -- -----------------------------------------------------------------------------
6737 -- Procedure Name : delete_old_context
6738 -- Parameter :
6739 -- IN : p_pk_column_1 primary key column # 1
6740 -- : p_context Extensible attribute context. This is
6741 -- value of context being overwritten
6742 -- OUT : x_return_status Indicates success or error condition
6743 -- encountered by the procedure
6744 -- : x_msg_data Error message
6745 -- : x_msg_count Number of error messages
6746 -- : x_errorcode Error code returned by PLM API
6747 -- : x_failed_row_id_list List of row identifers that failed
6748 -- PLM processing
6749 -- Description : This procedure takes incident id and Extensible attribute
6750 -- context and deletes extensible attribute record
6751 --
6752 -- Modification History
6753 -- Date Name Description
6754 -- -------- -------- -----------------------------------------------------------
6755 -- 09/29/05 smisra Created
6756 -- -------- -------- -----------------------------------------------------------
6757 PROCEDURE delete_old_context
6758 ( p_pk_column_1 IN NUMBER
6759 , p_context IN NUMBER
6760 , x_failed_row_id_list OUT NOCOPY VARCHAR2
6761 , x_return_status OUT NOCOPY VARCHAR2
6762 , x_errorcode OUT NOCOPY NUMBER
6763 , x_msg_count OUT NOCOPY NUMBER
6764 , x_msg_data OUT NOCOPY VARCHAR2
6765 ) IS
6766 --
6767 l_pk_name_value_pair EGO_COL_NAME_VALUE_PAIR_ARRAY;
6768 l_class_code_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY;
6769 l_user_privileges_on_object EGO_VARCHAR_TBL_TYPE;
6770 l_user_attr_data_table EGO_USER_ATTR_DATA_TABLE;
6771 l_user_attr_row_table EGO_USER_ATTR_ROW_TABLE;
6772 l_count NUMBER;
6773 --
6774 CURSOR c_get_old_context_value
6775 ( p_incident_id IN NUMBER
6776 , p_context IN NUMBER
6777 ) IS
6778 SELECT
6779 attr_group_id
6780 FROM cs_incidents_ext
6781 WHERE incident_id = p_incident_id
6782 AND context = p_context
6783 ;
6784 --
6785 BEGIN
6786 l_count := 0;
6787
6788 --DBMS_OUTPUT.PUT_LINE('Delete Old Context');
6789
6790 --get all the values in the database for the old context
6791 FOR v_get_old_context_value IN c_get_old_context_value
6792 ( p_pk_column_1
6793 , p_context
6794 )
6795 LOOP
6796 --DBMS_OUTPUT.PUT_LINE('v_get_old_context_value.attr_group_id'||v_get_old_context_value.attr_group_id);
6797
6798 l_count := l_count + 1;
6799 --set the primary key identifiers to pass to PLM
6800 --populating the EGO_COL_NAME_VALUE_PAIR_ARRAY Array for passing primary key to PLM
6801 l_pk_name_value_pair := EGO_COL_NAME_VALUE_PAIR_ARRAY
6802 ( EGO_COL_NAME_VALUE_PAIR_OBJ
6803 ( 'INCIDENT_ID'
6804 , p_pk_column_1
6805 )
6806 );
6807
6808 --set the context to pass to PLM only SR_TYPE_ID
6809 --populate the EGO_COL_NAME_VALUE_PAIR_ARRAY Array for passing the context.
6810 l_class_code_name_value_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY
6811 ( EGO_COL_NAME_VALUE_PAIR_OBJ
6812 ( 'CONTEXT'
6813 , p_context
6814 )
6815 );
6816
6817 --Instanciate a new EGO_USER_ATTR_ROW_OBJ (only once)
6818 IF l_user_attr_row_table IS NULL
6819 THEN
6820 l_user_attr_row_table := EGO_USER_ATTR_ROW_TABLE();
6821 END IF;
6822
6823 --Extend the object to add value it it
6824 l_user_attr_row_table.EXTEND();
6825 /*
6826 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ
6827 ( l_count
6828 , v_get_old_context_value.attr_group_id
6829 , NULL
6830 , NULL
6831 , NULL
6832 , 'GENERIC_LEVEL'
6833 , NULL
6834 , NULL
6835 , EGO_USER_ATTRS_DATA_PVT.G_DELETE_MODE
6836 );
6837 */
6838
6839 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Row_Object(l_count, v_get_old_context_value.attr_group_id,
6840 NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_DELETE_MODE);
6841 END LOOP;
6842 -- Instantiate the attribute table once
6843 l_user_attr_data_table := EGO_USER_ATTR_DATA_TABLE();
6844
6845 --DBMS_OUTPUT.PUT_LINE('Calling to delete data, user attr row table count:'|| l_user_attr_row_table.count);
6846
6847 --Call PLM for deleting the old data
6848 EGO_USER_ATTRS_DATA_PUB.Process_User_Attrs_Data
6849 ( p_api_version => 1
6850 , p_object_name => 'CS_SERVICE_REQUEST'
6851 , p_attributes_row_table => l_user_attr_row_table
6852 , p_attributes_data_table => l_user_attr_data_table
6853 , p_pk_column_name_value_pairs => l_pk_name_value_pair
6854 , p_class_code_name_value_pairs => l_class_code_name_value_pairs
6855 , p_user_privileges_on_object => l_user_privileges_on_object
6856 , p_entity_id => NULL
6857 , p_entity_index => NULL
6858 , p_entity_code => NULL
6859 , p_debug_level => 3
6860 , p_init_error_handler => FND_API.G_TRUE
6861 , p_write_to_concurrent_log => FND_API.G_TRUE
6862 , p_init_fnd_msg_list => FND_API.G_FALSE
6863 , p_log_errors => FND_API.G_TRUE
6864 , p_add_errors_to_fnd_stack => FND_API.G_TRUE
6865 , p_commit => FND_API.G_FALSE
6866 , x_failed_row_id_list => x_failed_row_id_list
6867 , x_return_status => x_return_status
6868 , x_errorcode => x_errorcode
6869 , x_msg_count => x_msg_count
6870 , x_msg_data => x_msg_data
6871 );
6872
6873 --
6874 EXCEPTION
6875 WHEN OTHERS THEN
6876 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6877 END;
6878
6879
6880
6881
6882 -------------------------------------------------------------------------------
6883 -- Procedure Name : Populate_Ext_Attr_Audit_Tbl
6884 -- Parameters :
6885 -- IN : P_EXTENSION_ID
6886 -- OUT : X_EXT_ATTRS_TBL
6887 --
6888 -- Description : Procedure to populate ext. attr. audit table structure for a given extension_id.
6889 --
6890 -- Modification History:
6891 -- Date Name Desc
6892 -------- -------- --------------------------------------------------------------
6893 -- 11/21/2005 spusegao Created
6894 --------------------------------------------------------------------------------
6895 PROCEDURE Populate_Ext_Attr_Audit_Tbl
6896 ( P_EXTENSION_ID IN NUMBER
6897 , X_EXT_ATTRS_TBL OUT NOCOPY Ext_Attr_Audit_Tbl_Type
6898 , X_RETURN_STATUS OUT NOCOPY VARCHAR2
6899 , X_MSG_COUNT OUT NOCOPY NUMBER
6900 , X_MSG_DATA OUT NOCOPY VARCHAR2) IS
6901
6902 -- Cursor to get the ext.attrs. details for the passed extension_id.
6903
6904 CURSOR c_get_ext_attrs IS
6905 SELECT *
6906 FROM cs_sr_contacts_EXT
6907 WHERE extension_Id = p_extension_id;
6908
6909 i NUMBER := 0 ;
6910
6911 BEGIN
6912 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
6913
6914 -- Get all the ext attrs records for passed extension_id
6915
6916 FOR c_get_ext_attrs_rec IN c_get_ext_attrs
6917 LOOP
6918 i := 1 ;
6919
6920 X_EXT_ATTRS_TBL(i).EXTENSION_ID := c_get_ext_attrs_rec.EXTENSION_ID ;
6921 X_EXT_ATTRS_TBL(i).PK_COLUMN_1 := c_get_ext_attrs_rec.INCIDENT_ID ;
6922 X_EXT_ATTRS_TBL(i).PK_COLUMN_2 := c_get_ext_attrs_rec.PARTY_ID ;
6923 X_EXT_ATTRS_TBL(i).PK_COLUMN_3 := c_get_ext_attrs_rec.CONTACT_TYPE ;
6924 X_EXT_ATTRS_TBL(i).PK_COLUMN_4 := c_get_ext_attrs_rec.PARTY_ROLE_CODE;
6925 X_EXT_ATTRS_TBL(i).CONTEXT := c_get_ext_attrs_rec.CONTEXT ;
6926 X_EXT_ATTRS_TBL(i).ATTR_GROUP_ID := c_get_ext_attrs_rec.ATTR_GROUP_ID ;
6927 X_EXT_ATTRS_TBL(i).C_EXT_ATTR1 := c_get_ext_attrs_rec.C_EXT_ATTR1 ;
6928 X_EXT_ATTRS_TBL(i).C_EXT_ATTR2 := c_get_ext_attrs_rec.C_EXT_ATTR2 ;
6929 X_EXT_ATTRS_TBL(i).C_EXT_ATTR3 := c_get_ext_attrs_rec.C_EXT_ATTR3 ;
6930 X_EXT_ATTRS_TBL(i).C_EXT_ATTR4 := c_get_ext_attrs_rec.C_EXT_ATTR4 ;
6931 X_EXT_ATTRS_TBL(i).C_EXT_ATTR5 := c_get_ext_attrs_rec.C_EXT_ATTR5 ;
6932 X_EXT_ATTRS_TBL(i).C_EXT_ATTR6 := c_get_ext_attrs_rec.C_EXT_ATTR6 ;
6933 X_EXT_ATTRS_TBL(i).C_EXT_ATTR7 := c_get_ext_attrs_rec.C_EXT_ATTR7 ;
6934 X_EXT_ATTRS_TBL(i).C_EXT_ATTR8 := c_get_ext_attrs_rec.C_EXT_ATTR8 ;
6935 X_EXT_ATTRS_TBL(i).C_EXT_ATTR9 := c_get_ext_attrs_rec.C_EXT_ATTR9 ;
6936 X_EXT_ATTRS_TBL(i).C_EXT_ATTR10 := c_get_ext_attrs_rec.C_EXT_ATTR10 ;
6937 X_EXT_ATTRS_TBL(i).C_EXT_ATTR11 := c_get_ext_attrs_rec.C_EXT_ATTR11 ;
6938 X_EXT_ATTRS_TBL(i).C_EXT_ATTR12 := c_get_ext_attrs_rec.C_EXT_ATTR12 ;
6939 X_EXT_ATTRS_TBL(i).C_EXT_ATTR13 := c_get_ext_attrs_rec.C_EXT_ATTR13 ;
6940 X_EXT_ATTRS_TBL(i).C_EXT_ATTR14 := c_get_ext_attrs_rec.C_EXT_ATTR14 ;
6941 X_EXT_ATTRS_TBL(i).C_EXT_ATTR15 := c_get_ext_attrs_rec.C_EXT_ATTR15 ;
6942 X_EXT_ATTRS_TBL(i).C_EXT_ATTR16 := c_get_ext_attrs_rec.C_EXT_ATTR16 ;
6943 X_EXT_ATTRS_TBL(i).C_EXT_ATTR17 := c_get_ext_attrs_rec.C_EXT_ATTR17 ;
6944 X_EXT_ATTRS_TBL(i).C_EXT_ATTR18 := c_get_ext_attrs_rec.C_EXT_ATTR18 ;
6945 X_EXT_ATTRS_TBL(i).C_EXT_ATTR19 := c_get_ext_attrs_rec.C_EXT_ATTR19 ;
6946 X_EXT_ATTRS_TBL(i).C_EXT_ATTR20 := c_get_ext_attrs_rec.C_EXT_ATTR20 ;
6947 X_EXT_ATTRS_TBL(i).C_EXT_ATTR21 := c_get_ext_attrs_rec.C_EXT_ATTR21 ;
6948 X_EXT_ATTRS_TBL(i).C_EXT_ATTR22 := c_get_ext_attrs_rec.C_EXT_ATTR22 ;
6949 X_EXT_ATTRS_TBL(i).C_EXT_ATTR23 := c_get_ext_attrs_rec.C_EXT_ATTR23 ;
6950 X_EXT_ATTRS_TBL(i).C_EXT_ATTR24 := c_get_ext_attrs_rec.C_EXT_ATTR24 ;
6951 X_EXT_ATTRS_TBL(i).C_EXT_ATTR25 := c_get_ext_attrs_rec.C_EXT_ATTR25 ;
6952 X_EXT_ATTRS_TBL(i).C_EXT_ATTR26 := c_get_ext_attrs_rec.C_EXT_ATTR26 ;
6953 X_EXT_ATTRS_TBL(i).C_EXT_ATTR27 := c_get_ext_attrs_rec.C_EXT_ATTR27 ;
6954 X_EXT_ATTRS_TBL(i).C_EXT_ATTR28 := c_get_ext_attrs_rec.C_EXT_ATTR28 ;
6955 X_EXT_ATTRS_TBL(i).C_EXT_ATTR29 := c_get_ext_attrs_rec.C_EXT_ATTR29 ;
6956 X_EXT_ATTRS_TBL(i).C_EXT_ATTR30 := c_get_ext_attrs_rec.C_EXT_ATTR30 ;
6957 X_EXT_ATTRS_TBL(i).C_EXT_ATTR31 := c_get_ext_attrs_rec.C_EXT_ATTR31 ;
6958 X_EXT_ATTRS_TBL(i).C_EXT_ATTR32 := c_get_ext_attrs_rec.C_EXT_ATTR32 ;
6959 X_EXT_ATTRS_TBL(i).C_EXT_ATTR33 := c_get_ext_attrs_rec.C_EXT_ATTR33 ;
6960 X_EXT_ATTRS_TBL(i).C_EXT_ATTR34 := c_get_ext_attrs_rec.C_EXT_ATTR34 ;
6961 X_EXT_ATTRS_TBL(i).C_EXT_ATTR35 := c_get_ext_attrs_rec.C_EXT_ATTR35 ;
6962 X_EXT_ATTRS_TBL(i).C_EXT_ATTR36 := c_get_ext_attrs_rec.C_EXT_ATTR36 ;
6963 X_EXT_ATTRS_TBL(i).C_EXT_ATTR37 := c_get_ext_attrs_rec.C_EXT_ATTR37 ;
6964 X_EXT_ATTRS_TBL(i).C_EXT_ATTR38 := c_get_ext_attrs_rec.C_EXT_ATTR38 ;
6965 X_EXT_ATTRS_TBL(i).C_EXT_ATTR39 := c_get_ext_attrs_rec.C_EXT_ATTR39 ;
6966 X_EXT_ATTRS_TBL(i).C_EXT_ATTR40 := c_get_ext_attrs_rec.C_EXT_ATTR40 ;
6967 X_EXT_ATTRS_TBL(i).C_EXT_ATTR41 := c_get_ext_attrs_rec.C_EXT_ATTR41 ;
6968 X_EXT_ATTRS_TBL(i).C_EXT_ATTR42 := c_get_ext_attrs_rec.C_EXT_ATTR42 ;
6969 X_EXT_ATTRS_TBL(i).C_EXT_ATTR43 := c_get_ext_attrs_rec.C_EXT_ATTR43 ;
6970 X_EXT_ATTRS_TBL(i).C_EXT_ATTR44 := c_get_ext_attrs_rec.C_EXT_ATTR44 ;
6971 X_EXT_ATTRS_TBL(i).C_EXT_ATTR45 := c_get_ext_attrs_rec.C_EXT_ATTR45 ;
6972 X_EXT_ATTRS_TBL(i).C_EXT_ATTR46 := c_get_ext_attrs_rec.C_EXT_ATTR46 ;
6973 X_EXT_ATTRS_TBL(i).C_EXT_ATTR47 := c_get_ext_attrs_rec.C_EXT_ATTR47 ;
6974 X_EXT_ATTRS_TBL(i).C_EXT_ATTR48 := c_get_ext_attrs_rec.C_EXT_ATTR48 ;
6975 X_EXT_ATTRS_TBL(i).C_EXT_ATTR49 := c_get_ext_attrs_rec.C_EXT_ATTR49 ;
6976 X_EXT_ATTRS_TBL(i).C_EXT_ATTR50 := c_get_ext_attrs_rec.C_EXT_ATTR50 ;
6977 X_EXT_ATTRS_TBL(i).N_EXT_ATTR1 := c_get_ext_attrs_rec.N_EXT_ATTR1 ;
6978 X_EXT_ATTRS_TBL(i).N_EXT_ATTR2 := c_get_ext_attrs_rec.N_EXT_ATTR2 ;
6979 X_EXT_ATTRS_TBL(i).N_EXT_ATTR3 := c_get_ext_attrs_rec.N_EXT_ATTR3 ;
6980 X_EXT_ATTRS_TBL(i).N_EXT_ATTR4 := c_get_ext_attrs_rec.N_EXT_ATTR4 ;
6981 X_EXT_ATTRS_TBL(i).N_EXT_ATTR5 := c_get_ext_attrs_rec.N_EXT_ATTR5 ;
6982 X_EXT_ATTRS_TBL(i).N_EXT_ATTR6 := c_get_ext_attrs_rec.N_EXT_ATTR6 ;
6983 X_EXT_ATTRS_TBL(i).N_EXT_ATTR7 := c_get_ext_attrs_rec.N_EXT_ATTR7 ;
6984 X_EXT_ATTRS_TBL(i).N_EXT_ATTR8 := c_get_ext_attrs_rec.N_EXT_ATTR8 ;
6985 X_EXT_ATTRS_TBL(i).N_EXT_ATTR9 := c_get_ext_attrs_rec.N_EXT_ATTR9 ;
6986 X_EXT_ATTRS_TBL(i).N_EXT_ATTR10 := c_get_ext_attrs_rec.N_EXT_ATTR10 ;
6987 X_EXT_ATTRS_TBL(i).N_EXT_ATTR11 := c_get_ext_attrs_rec.N_EXT_ATTR11 ;
6988 X_EXT_ATTRS_TBL(i).N_EXT_ATTR12 := c_get_ext_attrs_rec.N_EXT_ATTR12 ;
6989 X_EXT_ATTRS_TBL(i).N_EXT_ATTR13 := c_get_ext_attrs_rec.N_EXT_ATTR13 ;
6990 X_EXT_ATTRS_TBL(i).N_EXT_ATTR14 := c_get_ext_attrs_rec.N_EXT_ATTR14 ;
6991 X_EXT_ATTRS_TBL(i).N_EXT_ATTR15 := c_get_ext_attrs_rec.N_EXT_ATTR15 ;
6992 X_EXT_ATTRS_TBL(i).N_EXT_ATTR16 := c_get_ext_attrs_rec.N_EXT_ATTR16 ;
6993 X_EXT_ATTRS_TBL(i).N_EXT_ATTR17 := c_get_ext_attrs_rec.N_EXT_ATTR17 ;
6994 X_EXT_ATTRS_TBL(i).N_EXT_ATTR18 := c_get_ext_attrs_rec.N_EXT_ATTR18 ;
6995 X_EXT_ATTRS_TBL(i).N_EXT_ATTR19 := c_get_ext_attrs_rec.N_EXT_ATTR19 ;
6996 X_EXT_ATTRS_TBL(i).N_EXT_ATTR20 := c_get_ext_attrs_rec.N_EXT_ATTR20 ;
6997 X_EXT_ATTRS_TBL(i).N_EXT_ATTR21 := c_get_ext_attrs_rec.N_EXT_ATTR21 ;
6998 X_EXT_ATTRS_TBL(i).N_EXT_ATTR22 := c_get_ext_attrs_rec.N_EXT_ATTR22 ;
6999 X_EXT_ATTRS_TBL(i).N_EXT_ATTR23 := c_get_ext_attrs_rec.N_EXT_ATTR23 ;
7000 X_EXT_ATTRS_TBL(i).N_EXT_ATTR24 := c_get_ext_attrs_rec.N_EXT_ATTR24 ;
7001 X_EXT_ATTRS_TBL(i).N_EXT_ATTR25 := c_get_ext_attrs_rec.N_EXT_ATTR25 ;
7002 X_EXT_ATTRS_TBL(i).D_EXT_ATTR1 := c_get_ext_attrs_rec.D_EXT_ATTR1 ;
7003 X_EXT_ATTRS_TBL(i).D_EXT_ATTR2 := c_get_ext_attrs_rec.D_EXT_ATTR2 ;
7004 X_EXT_ATTRS_TBL(i).D_EXT_ATTR3 := c_get_ext_attrs_rec.D_EXT_ATTR3 ;
7005 X_EXT_ATTRS_TBL(i).D_EXT_ATTR4 := c_get_ext_attrs_rec.D_EXT_ATTR4 ;
7006 X_EXT_ATTRS_TBL(i).D_EXT_ATTR5 := c_get_ext_attrs_rec.D_EXT_ATTR5 ;
7007 X_EXT_ATTRS_TBL(i).D_EXT_ATTR6 := c_get_ext_attrs_rec.D_EXT_ATTR6 ;
7008 X_EXT_ATTRS_TBL(i).D_EXT_ATTR7 := c_get_ext_attrs_rec.D_EXT_ATTR7 ;
7009 X_EXT_ATTRS_TBL(i).D_EXT_ATTR8 := c_get_ext_attrs_rec.D_EXT_ATTR8 ;
7010 X_EXT_ATTRS_TBL(i).D_EXT_ATTR9 := c_get_ext_attrs_rec.D_EXT_ATTR9 ;
7011 X_EXT_ATTRS_TBL(i).D_EXT_ATTR10 := c_get_ext_attrs_rec.D_EXT_ATTR10 ;
7012 X_EXT_ATTRS_TBL(i).D_EXT_ATTR11 := c_get_ext_attrs_rec.D_EXT_ATTR11 ;
7013 X_EXT_ATTRS_TBL(i).D_EXT_ATTR12 := c_get_ext_attrs_rec.D_EXT_ATTR12 ;
7014 X_EXT_ATTRS_TBL(i).D_EXT_ATTR13 := c_get_ext_attrs_rec.D_EXT_ATTR13 ;
7015 X_EXT_ATTRS_TBL(i).D_EXT_ATTR14 := c_get_ext_attrs_rec.D_EXT_ATTR14 ;
7016 X_EXT_ATTRS_TBL(i).D_EXT_ATTR15 := c_get_ext_attrs_rec.D_EXT_ATTR15 ;
7017 X_EXT_ATTRS_TBL(i).D_EXT_ATTR16 := c_get_ext_attrs_rec.D_EXT_ATTR16 ;
7018 X_EXT_ATTRS_TBL(i).D_EXT_ATTR17 := c_get_ext_attrs_rec.D_EXT_ATTR17 ;
7019 X_EXT_ATTRS_TBL(i).D_EXT_ATTR18 := c_get_ext_attrs_rec.D_EXT_ATTR18 ;
7020 X_EXT_ATTRS_TBL(i).D_EXT_ATTR19 := c_get_ext_attrs_rec.D_EXT_ATTR19 ;
7021 X_EXT_ATTRS_TBL(i).D_EXT_ATTR20 := c_get_ext_attrs_rec.D_EXT_ATTR20 ;
7022 X_EXT_ATTRS_TBL(i).D_EXT_ATTR21 := c_get_ext_attrs_rec.D_EXT_ATTR21 ;
7023 X_EXT_ATTRS_TBL(i).D_EXT_ATTR22 := c_get_ext_attrs_rec.D_EXT_ATTR22 ;
7024 X_EXT_ATTRS_TBL(i).D_EXT_ATTR23 := c_get_ext_attrs_rec.D_EXT_ATTR23 ;
7025 X_EXT_ATTRS_TBL(i).D_EXT_ATTR24 := c_get_ext_attrs_rec.D_EXT_ATTR24 ;
7026 X_EXT_ATTRS_TBL(i).D_EXT_ATTR25 := c_get_ext_attrs_rec.D_EXT_ATTR25 ;
7027 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR1 := c_get_ext_attrs_rec.UOM_EXT_ATTR1 ;
7028 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR2 := c_get_ext_attrs_rec.UOM_EXT_ATTR2 ;
7029 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR3 := c_get_ext_attrs_rec.UOM_EXT_ATTR3 ;
7030 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR4 := c_get_ext_attrs_rec.UOM_EXT_ATTR4 ;
7031 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR5 := c_get_ext_attrs_rec.UOM_EXT_ATTR5 ;
7032 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR6 := c_get_ext_attrs_rec.UOM_EXT_ATTR6 ;
7033 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR7 := c_get_ext_attrs_rec.UOM_EXT_ATTR7 ;
7034 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR8 := c_get_ext_attrs_rec.UOM_EXT_ATTR8 ;
7035 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR9 := c_get_ext_attrs_rec.UOM_EXT_ATTR9 ;
7036 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR10 := c_get_ext_attrs_rec.UOM_EXT_ATTR10 ;
7037 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR11 := c_get_ext_attrs_rec.UOM_EXT_ATTR11 ;
7038 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR12 := c_get_ext_attrs_rec.UOM_EXT_ATTR12 ;
7039 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR13 := c_get_ext_attrs_rec.UOM_EXT_ATTR13 ;
7040 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR14 := c_get_ext_attrs_rec.UOM_EXT_ATTR14 ;
7041 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR15 := c_get_ext_attrs_rec.UOM_EXT_ATTR15 ;
7042 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR16 := c_get_ext_attrs_rec.UOM_EXT_ATTR16 ;
7043 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR17 := c_get_ext_attrs_rec.UOM_EXT_ATTR17 ;
7044 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR18 := c_get_ext_attrs_rec.UOM_EXT_ATTR18 ;
7045 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR19 := c_get_ext_attrs_rec.UOM_EXT_ATTR19 ;
7046 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR20 := c_get_ext_attrs_rec.UOM_EXT_ATTR20 ;
7047 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR21 := c_get_ext_attrs_rec.UOM_EXT_ATTR21 ;
7048 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR22 := c_get_ext_attrs_rec.UOM_EXT_ATTR22 ;
7049 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR23 := c_get_ext_attrs_rec.UOM_EXT_ATTR23 ;
7050 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR24 := c_get_ext_attrs_rec.UOM_EXT_ATTR24 ;
7051 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR25 := c_get_ext_attrs_rec.UOM_EXT_ATTR25 ;
7052
7053 i := i + 1 ;
7054
7055 END LOOP;
7056
7057 EXCEPTION
7058 WHEN no_data_found THEN
7059 CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg
7060 (p_token_an => 'Populate_Ext_Attr_Audit_Tbl',
7061 p_token_v => TO_CHAR(P_EXTENSION_ID),
7062 p_token_p => 'P_EXTENSION_ID' ,
7063 p_table_name => 'CS_SR_CONTACTX_EXT',
7064 p_column_name => 'EXTENSION_ID');
7065
7066 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7067
7068 WHEN OTHERS THEN
7069 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7070
7071 END Populate_Ext_Attr_Audit_Tbl;
7072
7073 END CS_SR_EXTATTRIBUTES_PVT;