[Home] [Help]
PACKAGE BODY: APPS.CS_SR_EXTATTRIBUTES_PVT
Source
1 PACKAGE BODY CS_SR_EXTATTRIBUTES_PVT AS
2 /* $Header: csvextb.pls 120.39.12010000.6 2010/06/16 06:07:24 sanjrao 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 -- Fix for bug 8714809 by selecting only unique record from extensible table to
3924 -- avoid duplicacy when multi row records are created. Sanjana Rao, 05-aug-2009
3925
3926 cursor c_get_sr_ext_attr(p_incident_id IN NUMBER) IS
3927 SELECT distinct attr_group_id
3928 FROM cs_incidents_ext
3929 WHERE incident_id = p_incident_id;
3930
3931
3932 cursor c_get_pr_ext_attr(p_incident_id IN NUMBER) IS
3933 SELECT distinct attr_group_id,party_id,contact_type,party_role_code
3934 FROM cs_sr_contacts_ext
3935 WHERE incident_id = p_incident_id;
3936
3937 CURSOR c_get_attr(p_application_id IN NUMBER
3938 ,p_attr_group_type IN VARCHAR2
3939 ,p_attr_group_name IN VARCHAR2)IS
3940 SELECT APPLICATION_ID,
3941 ATTR_GROUP_TYPE,
3942 ATTR_GROUP_NAME,
3943 attr_name,
3944 attr_display_name,
3945 database_column
3946 FROM ego_attrs_v
3947 WHERE application_id = p_application_id
3948 AND attr_group_type = p_attr_group_type
3949 AND attr_group_name = p_attr_group_name
3950 AND enabled_flag = 'Y'
3951 order by sequence;
3952
3953 Cursor c_get_attr_group_disp_name(p_attr_group_id IN NUMBER) IS
3954 select ATTR_GROUP_DISP_NAME
3955 from ego_attr_groups_v
3956 where attr_group_id = p_attr_group_id;
3957
3958 Cursor c_get_sr_pks(p_ext_id IN NUMBER)IS
3959 SELECT incident_id, context
3960 FROM cs_incidents_ext
3961 WHERE extension_id = p_ext_id;
3962
3963 Cursor c_get_pr_pks(p_ext_id IN NUMBER)IS
3964 SELECT incident_id, party_id, contact_type, party_role_code, context
3965 FROM cs_sr_contacts_ext
3966 WHERE extension_id = p_ext_id;
3967
3968
3969 l_pk_col_name_value_pair EGO_COL_NAME_VALUE_PAIR_ARRAY;
3970 l_attr_group_request_table EGO_ATTR_GROUP_REQUEST_TABLE;
3971 l_attributes_row_table EGO_USER_ATTR_ROW_TABLE;
3972 l_attributes_data_table EGO_USER_ATTR_DATA_TABLE;
3973 l_user_privileges_on_object EGO_VARCHAR_TBL_TYPE;
3974 l_return_status VARCHAR2(1);
3975 l_errorcode NUMBER;
3976 l_msg_count NUMBER;
3977 l_msg_data VARCHAR2(4000);
3978 l_msg VARCHAR2(4000);
3979 l_errm VARCHAR2(4000);
3980 l_attr VARCHAR2(1000);
3981
3982 l_application_id NUMBER;
3983 l_attr_group_type VARCHAR2(30);
3984 l_attr_group_name VARCHAR2(80);
3985 l_first boolean;
3986 l_internal_name_str VARCHAR2(2000) := '';
3987 l_count NUMBER := 0;
3988 l_count_1 NUMBER := 0;
3989
3990
3991 l_api_version constant number := 1.0;
3992 l_api_name constant varchar2(30) := 'Get_SR_Ext_Attrs';
3993 l_api_name_full constant varchar2(61) := g_pkg_name || '.' || l_api_name;
3994 l_log_module constant varchar2(255) := 'cs.plsql.' || l_api_name_full || '.';
3995
3996 l_incident_id NUMBER;
3997 l_party_id NUMBER;
3998 l_contact_type VARCHAR2(30);
3999 l_party_role_code VARCHAR2(30);
4000 l_context NUMBER;
4001 l_pr_context VARCHAR2(30);
4002
4003 l_record_exists VARCHAR2(1) := 'N';
4004 --
4005 --This table will hold the extended attributes information
4006 --
4007 TYPE EXT_ATTRIBUTE_REC IS RECORD
4008 ( APPLICATION_ID NUMBER
4009 ,ATTR_GROUP_TYPE VARCHAR2(30)
4010 ,ATTR_GROUP_NAME VARCHAR2(30)
4011 ,ATTR_DISPLAY_NAME VARCHAR2(80)
4012 ,ATTR_NAME VARCHAR2(30)
4013 ,DATABASE_COLUMN VARCHAR2(30));
4014
4015 TYPE EXT_ATTRIBUTE_TBL IS TABLE OF EXT_ATTRIBUTE_REC INDEX BY BINARY_INTEGER;
4016 l_ext_attr_tbl EXT_ATTRIBUTE_TBL;
4017
4018
4019 BEGIN
4020
4021 SAVEPOINT Get_SR_Ext_Attrs;
4022
4023 --DBMS_OUTPUT.PUT_LINE('In Get_SR API');
4024
4025 -- Standard call to check for call compatibility.
4026 IF NOT FND_API.Compatible_API_Call (l_api_version,
4027 p_api_version,
4028 l_api_name,
4029 G_PKG_NAME) THEN
4030 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4031 END IF;
4032
4033 -- Initialize message list if p_init_msg_list is set to TRUE.
4034 IF FND_API.to_Boolean(p_init_msg_list) THEN
4035 FND_MSG_PUB.initialize;
4036 END IF;
4037
4038 -- Initialize API return status to SUCCESS
4039 x_return_status := FND_API.G_RET_STS_SUCCESS;
4040
4041 ---------------------- FND Logging -----------------------------------
4042 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
4043 THEN
4044 FND_LOG.String
4045 ( FND_LOG.level_procedure , L_LOG_MODULE || 'start'
4046 , 'Inside ' || L_API_NAME_FULL || ', called with parameters below:'
4047 );
4048 FND_LOG.String
4049 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4050 , 'p_api_version:' || p_api_version
4051 );
4052 FND_LOG.String
4053 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4054 , 'p_init_msg_list:' || p_init_msg_list
4055 );
4056 FND_LOG.String
4057 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4058 , 'p_commit:' || p_commit
4059 );
4060
4061 FND_LOG.String
4062 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4063 , 'p_incident_id:' || p_commit
4064 );
4065
4066 FND_LOG.String
4067 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4068 , 'p_incident_id:' || p_incident_id
4069 );
4070
4071 FND_LOG.String
4072 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4073 , 'p_object_name:' || p_object_name
4074 );
4075
4076 END IF;
4077
4078 --DBMS_OUTPUT.PUT_LINE('Validating incident_id');
4079 --validate the incident_id passed
4080 IF p_incident_id IS NOT NULL THEN
4081 --p_incident_id is passed
4082 --Validate the pk_column_1 that is coming in
4083 OPEN c_check_incident_id;
4084 FETCH c_check_incident_id INTO l_incident_id;
4085 CLOSE c_check_incident_id;
4086
4087 IF l_incident_id IS NULL THEN
4088 --raise error
4089 CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg(
4090 p_token_an => l_api_name_full
4091 ,p_token_v => p_incident_id
4092 ,p_token_p => 'P_INCIDENT_ID');
4093 RAISE FND_API.G_EXC_ERROR;
4094 END IF;
4095
4096 --DBMS_OUTPUT.PUT_LINE ('Pass pk1 validation');
4097
4098 ELSE
4099 --raise error
4100 CS_ServiceRequest_UTIL.Add_Missing_Param_Msg(
4101 p_token_an => l_api_name_full
4102 ,p_token_mp => 'P_INCIDENT_ID');
4103 RAISE FND_API.G_EXC_ERROR;
4104
4105 END IF;
4106
4107 -- Added FND_LOG
4108 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4109 FND_LOG.String
4110 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4111 , 'Incident Passed is Valid :'
4112 || p_incident_id
4113 );
4114 END IF;
4115
4116 IF p_object_name = 'CS_SERVICE_REQUEST' THEN
4117
4118
4119 --DBMS_OUTPUT.PUT_LINE('object is CS_SR');
4120
4121 FOR v_get_sr_ext_attr IN c_get_sr_ext_attr(p_incident_id) LOOP
4122
4123 --set l_record_exists to 'y'
4124 l_record_exists := 'Y';
4125
4126 -- Added FND_LOG
4127 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4128 FND_LOG.String
4129 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4130 , 'Service Request Extensible Attributes exist for Incident passed :'
4131 );
4132 END IF;
4133
4134 --populate the primary key array
4135 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)));
4136
4137 --DBMS_OUTPUT.PUT_LINE('populated pk array');
4138
4139 --get the attribute group information
4140 IF v_get_sr_ext_attr.attr_group_id IS NOT NULL then
4141 --get the attribute group type name and appl id
4142 Get_Attr_Group_Metadata(
4143 p_attr_group_id => v_get_sr_ext_attr.attr_group_id
4144 ,x_application_id => l_application_id
4145 ,x_attr_group_type => l_attr_group_type
4146 ,x_attr_group_name => l_attr_group_name);
4147
4148 -- Added FND_LOG
4149 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4150 FND_LOG.String
4151 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4152 , 'Attribute Group Metadata -> Application ID :'
4153 || l_application_id
4154 );
4155 END IF;
4156
4157 -- Added FND_LOG
4158 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4159 FND_LOG.String
4160 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4161 , 'Attribute Group Metadata -> Attribute Group Type :'
4162 || l_attr_group_type
4163 );
4164 END IF;
4165
4166 -- Added FND_LOG
4167 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4168 FND_LOG.String
4169 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4170 , 'Attribute Group Metadata -> Attribute Group Name :'
4171 || l_attr_group_name
4172 );
4173 END IF;
4174
4175 --DBMS_OUTPUT.PUT_LINE('Got Attr Metadata');
4176
4177
4178 --get attribute metadata for the attribute group
4179 IF l_application_id IS NOT NULL AND
4180 l_attr_group_type IS NOT NULL AND
4181 l_attr_group_name IS NOT NULL THEN
4182
4183
4184 FOR v_get_attr in c_get_attr(l_application_id
4185 ,l_attr_group_type
4186 ,l_attr_group_name)
4187 LOOP
4188
4189 l_count := l_count + 1;
4190 l_ext_attr_tbl(l_count).application_id := v_get_attr.application_id;
4191 l_ext_attr_tbl(l_count).attr_group_type := v_get_attr.attr_group_type;
4192 l_ext_attr_tbl(l_count).attr_group_name := v_get_attr.attr_group_name;
4193 l_ext_attr_tbl(l_count).attr_name := v_get_attr.attr_name;
4194 l_ext_attr_tbl(l_count).attr_display_name := v_get_attr.attr_display_name;
4195 l_ext_attr_tbl(l_count).database_column := v_get_attr.database_column;
4196
4197
4198 END LOOP;
4199
4200 --DBMS_OUTPUT.PUT_LINE('populated att table');
4201 l_first := true;
4202 l_internal_name_str := '';
4203
4204 FOR i in l_ext_attr_tbl.first..l_ext_attr_tbl.last LOOP
4205
4206 IF l_ext_attr_tbl(i).attr_group_name = l_attr_group_name THEN
4207 IF l_first = true then
4208 l_first := false;
4209 ELSE
4210 l_internal_name_str := l_internal_name_str || ',';
4211 END IF;
4212
4213 l_internal_name_str := l_internal_name_str || l_ext_attr_tbl(i).attr_name;
4214 END IF;
4215
4216 END LOOP;
4217
4218 --DBMS_OUTPUT.PUT_LINE('constructed string');
4219 --DBMS_OUTPUT.PUT_LINE('constructed string: '||l_internal_name_str);
4220
4221 -- Added FND_LOG
4222 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4223 FND_LOG.String
4224 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4225 , 'Attribute String to Pass to PLM :'
4226 || l_internal_name_str
4227 );
4228 END IF;
4229
4230
4231 ELSE
4232 -- Raise error
4233 --composite key missing
4234 FND_MESSAGE.SET_NAME('CS', 'CS_API_SR_EXTATTR_COMP_KEY_REQ');
4235 FND_MESSAGE.SET_TOKEN('API_NAME', l_api_name);
4236 FND_MSG_PUB.ADD;
4237 RAISE FND_API.G_EXC_ERROR;
4238 END IF; -- composite key end if
4239
4240
4241 --populate the attribute group request table to pass to PLM
4242 IF (l_attr_group_request_table IS NULL) THEN
4243 l_attr_group_request_table := EGO_ATTR_GROUP_REQUEST_TABLE();
4244 END IF;
4245
4246 --DBMS_OUTPUT.PUT_LINE('Initialized PLM Obj');
4247 --Extend the object to add value it it
4248 l_attr_group_request_table.EXTEND();
4249 -- l_attr_group_request_table(l_attr_group_request_table.LAST) := EGO_ATTR_GROUP_REQUEST_OBJ
4250 --- (v_get_sr_ext_attr.attr_group_id, l_application_id,
4251 --- l_attr_group_type,l_attr_group_name,'GENERIC_LEVEL', NULL, NULL, l_internal_name_str);
4252 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,
4253 l_attr_group_type,l_attr_group_name,'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, l_internal_name_str);
4254 --DBMS_OUTPUT.PUT_LINE('Extended PLM Onj');
4255 --DBMS_OUTPUT.PUT_LINE('l_attr_group_request_table'||l_attr_group_request_table.COUNT);
4256
4257 ELSE
4258 --attribute group is null
4259 --raise error
4260 FND_MESSAGE.SET_NAME('CS', 'CS_API_SR_EXT_ATTR_GROUP_REQ');
4261 FND_MESSAGE.SET_TOKEN('API_NAME', l_api_name);
4262 FND_MSG_PUB.ADD;
4263 RAISE FND_API.G_EXC_ERROR;
4264 END IF; --v_get_sr_ext_attr.attr_group_id IS NOT NULL
4265
4266 END LOOP;
4267
4268 IF l_record_exists <> 'Y' THEN
4269 --no count for that incident was found in the table
4270 --do not call PLM
4271
4272 -- Added FND_LOG
4273 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4274 FND_LOG.String
4275 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4276 , 'No Service Request Extensible Attributes data exists for this Incident'
4277 );
4278 END IF;
4279 RETURN;
4280 END IF;
4281
4282 --DBMS_OUTPUT.PUT_LINE('Calling PLM API');
4283 --intialize the user_privs_on_object
4284 l_user_privileges_on_object := EGO_VARCHAR_TBL_TYPE();
4285 l_user_privileges_on_object.EXTEND();
4286 --Call PLM Get_User_Attrs_Data API
4287
4288 -- Added FND_LOG
4289 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4290 FND_LOG.String
4291 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4292 , 'Calling PLM Get User Attrs Data API'
4293 );
4294 END IF;
4295
4296
4297
4298 EGO_USER_ATTRS_DATA_PUB.Get_User_Attrs_Data(
4299 p_api_version => 1.0
4300 ,p_object_name => 'CS_SERVICE_REQUEST'
4301 ,p_pk_column_name_value_pairs => l_pk_col_name_value_pair
4302 ,p_attr_group_request_table => l_attr_group_request_table
4303 ,p_user_privileges_on_object => l_user_privileges_on_object
4304 ,p_entity_id => NULL
4305 ,p_entity_index => NULL
4306 ,p_entity_code => NULL
4307 ,p_debug_level => 3
4308 ,p_init_error_handler => NULL
4309 ,p_init_fnd_msg_list => p_init_msg_list
4310 ,p_add_errors_to_fnd_stack => NULL
4311 ,p_commit => p_commit
4312 ,x_attributes_row_table => l_attributes_row_table
4313 ,x_attributes_data_table => l_attributes_data_table
4314 ,x_return_status => x_return_status
4315 ,x_errorcode => l_errorcode
4316 ,x_msg_count => x_msg_count
4317 ,x_msg_data => x_msg_data );
4318
4319 --DBMS_OUTPUT.PUT_LINE( 'x_msg_data'||x_msg_data);
4320
4321 -- Added FND_LOG
4322 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4323 FND_LOG.String
4324 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4325 , 'PLM get User Attrs Data return status :'
4326 || x_return_status
4327 );
4328 END IF;
4329
4330 -- Added FND_LOG
4331 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4332 FND_LOG.String
4333 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4334 , 'PLM get User Attrs Data msg data :'
4335 || x_msg_data
4336 );
4337 END IF;
4338
4339
4340 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4341 FND_MESSAGE.Set_Name('CS', 'CS_API_GET_SR_EXT_ATTR_WARNING');
4342 FND_MSG_PUB.Add;
4343 RAISE FND_API.G_EXC_ERROR;
4344 END IF;
4345
4346 --populate the out parameters with the value returned from PLM
4347 --initialize counter := 0
4348 l_count := 0;
4349 l_count_1 := 0;
4350
4351 --DBMS_OUTPUT.PUT_LINE('l_attributes_row_table'||l_attributes_row_table.COUNT);
4352 --DBMS_OUTPUT.PUT_LINE('l_attributes_data_table'||l_attributes_data_table.COUNT);
4353
4354 IF l_attributes_row_table.COUNT > 0 THEN
4355 FOR i IN l_attributes_row_table.FIRST .. l_attributes_row_table.LAST LOOP
4356
4357 IF l_attributes_row_table.EXISTS(i) THEN
4358
4359 l_count := l_count + 1;
4360
4361 x_ext_attr_grp_tbl(l_count).row_identifier := l_attributes_row_table(i).row_identifier;
4362
4363
4364 --get the pks for the extension id
4365 OPEN c_get_sr_pks(p_ext_id => x_ext_attr_grp_tbl(l_count).row_identifier);
4366 FETCH c_get_sr_pks into l_incident_id, l_context;
4367 CLOSE c_get_sr_pks;
4368
4369 IF l_incident_id IS NULL THEN
4370 x_ext_attr_grp_tbl(l_count).pk_column_1 := null;
4371 ELSE
4372 x_ext_attr_grp_tbl(l_count).pk_column_1 := l_incident_id;
4373 END IF;
4374
4375 x_ext_attr_grp_tbl(l_count).pk_column_2 := null;
4376 x_ext_attr_grp_tbl(l_count).pk_column_3 := null;
4377 x_ext_attr_grp_tbl(l_count).pk_column_4 := null;
4378 x_ext_attr_grp_tbl(l_count).pk_column_5 := null;
4379
4380 IF l_context IS NULL THEN
4381 x_ext_attr_grp_tbl(l_count).context := null;
4382 ELSE
4383 x_ext_attr_grp_tbl(l_count).context := to_char(l_context);
4384 END IF;
4385
4386 x_ext_attr_grp_tbl(l_count).object_name := 'CS_SERVICE_REQUEST';
4387 x_ext_attr_grp_tbl(l_count).attr_group_id := l_attributes_row_table(i).attr_group_id;
4388 x_ext_attr_grp_tbl(l_count).attr_group_app_id := l_attributes_row_table(i).attr_group_app_id;
4389 x_ext_attr_grp_tbl(l_count).attr_group_type := l_attributes_row_table(i).attr_group_type;
4390 x_ext_attr_grp_tbl(l_count).attr_group_name := l_attributes_row_table(i).attr_group_name;
4391 x_ext_attr_grp_tbl(l_count).mapping_req := 'N';
4392 x_ext_attr_grp_tbl(l_count).operation := 'GET';
4393
4394
4395 --get the dislay name for the attribute group
4396
4397 OPEN c_get_attr_group_disp_name(x_ext_attr_grp_tbl(l_count).attr_group_id);
4398 FETCH c_get_attr_group_disp_name INTO x_ext_attr_grp_tbl(l_count).attr_group_disp_name;
4399 CLOSE c_get_attr_group_disp_name;
4400
4401 --DBMS_OUTPUT.PUT_LINE('x_ext_attr_grp_tbl(l_count).row_identifier'||x_ext_attr_grp_tbl(l_count).row_identifier);
4402 --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);
4403
4404 -- loop through the attributes table and then populate the attributes record for the attribute group
4405
4406 --DBMS_OUTPUT.PUT_LINE('l_attributes_data_table.COUNT'||l_attributes_data_table.COUNT);
4407
4408 FOR j IN l_attributes_data_table.FIRST .. l_attributes_data_table.LAST LOOP
4409
4410 IF l_attributes_data_table.EXISTS(j) THEN
4411
4412 IF l_attributes_row_table(i).row_identifier = l_attributes_data_table(j).row_identifier THEN
4413
4414 l_count_1 := l_count_1 + 1;
4415
4416 -- match found populate the out parameter for the attribute table
4417 x_ext_attr_tbl(l_count_1).row_identifier := l_attributes_data_table(j).row_identifier;
4418 x_ext_attr_tbl(l_count_1).attr_name := l_attributes_data_table(j).attr_name;
4419 x_ext_attr_tbl(l_count_1).attr_value_str := l_attributes_data_table(j).attr_value_str;
4420 x_ext_attr_tbl(l_count_1).attr_value_num := l_attributes_data_table(j).attr_value_num;
4421 x_ext_attr_tbl(l_count_1).attr_value_date := l_attributes_data_table(j).attr_value_date;
4422 x_ext_attr_tbl(l_count_1).attr_value_display := l_attributes_data_table(j).attr_disp_value;
4423 x_ext_attr_tbl(l_count_1).attr_unit_of_measure := l_attributes_data_table(j).attr_unit_of_measure;
4424
4425 --DBMS_OUTPUT.PUT_LINE('x_ext_attr_tbl(l_count_1).row_identifier'||x_ext_attr_tbl(l_count_1).row_identifier);
4426 --DBMS_OUTPUT.PUT_LINE('x_ext_attr_tbl(l_count_1).attr_name'||x_ext_attr_tbl(l_count_1).attr_name);
4427
4428 --get the database column_name and display name for the attribute
4429 FOR k IN l_ext_attr_tbl.FIRST .. l_ext_attr_tbl.LAST LOOP
4430
4431 IF l_ext_attr_tbl.EXISTS(k) THEN
4432
4433 IF l_attributes_row_table(i).attr_group_app_id = l_ext_attr_tbl(k).application_id AND
4434 l_attributes_row_table(i).attr_group_type = l_ext_attr_tbl(k).attr_group_type AND
4435 l_attributes_row_table(i).attr_group_name = l_ext_attr_tbl(k).attr_group_name AND
4436 l_attributes_data_table(j).attr_name = l_ext_attr_tbl(k).attr_name THEN
4437
4438 x_ext_attr_tbl(l_count_1).column_name := l_ext_attr_tbl(k).database_column;
4439 x_ext_attr_tbl(l_count_1).attr_disp_name := l_ext_attr_tbl(k).attr_display_name;
4440
4441 --DBMS_OUTPUT.PUT_LINE('x_ext_attr_tbl(l_count_1).attr_disp_name'||x_ext_attr_tbl(l_count_1).attr_disp_name);
4442 --DBMS_OUTPUT.PUT_LINE(' x_ext_attr_tbl(l_count_1).column_name'|| x_ext_attr_tbl(l_count_1).column_name);
4443 END IF;
4444 END IF;
4445 END LOOP;
4446 END IF;
4447 END IF;
4448 END LOOP;
4449 END IF;
4450 END LOOP;
4451
4452 --DBMS_OUTPUT.PUT_LINE('x_ext_attr_tbl.COUNT'||x_ext_attr_tbl.count);
4453 --DBMS_OUTPUT.PUT_LINE('x_ext_attr_grp_tbl.COUNT'||x_ext_attr_grp_tbl.COUNT);
4454
4455
4456 END IF ; -- l_attributes_row_table.COUNT IS NOT NULL
4457
4458
4459 ELSIF p_object_name = 'CS_PARTY_ROLE' THEN
4460
4461 FOR v_get_pr_ext_attr IN c_get_pr_ext_attr(p_incident_id) LOOP
4462
4463 --set l_record_exists to 'y'
4464 l_record_exists := 'Y';
4465
4466 -- Added FND_LOG
4467 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4468 FND_LOG.String
4469 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4470 , 'Party Role Extensible Attributes exist for Incident passed :'
4471 );
4472 END IF;
4473
4474 --populate the primary key array
4475 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)),
4476 EGO_COL_NAME_VALUE_PAIR_OBJ('PARTY_ID', to_char(v_get_pr_ext_attr.party_id)),
4477 EGO_COL_NAME_VALUE_PAIR_OBJ('CONTACT_TYPE', v_get_pr_ext_attr.contact_type),
4478 EGO_COL_NAME_VALUE_PAIR_OBJ('PARTY_ROLE_CODE', v_get_pr_ext_attr.party_role_code));
4479
4480 --get the attribute group information
4481 IF v_get_pr_ext_attr.attr_group_id IS NOT NULL then
4482 --get the attribute group type name and appl id
4483 Get_Attr_Group_Metadata(
4484 p_attr_group_id => v_get_pr_ext_attr.attr_group_id
4485 ,x_application_id => l_application_id
4486 ,x_attr_group_type => l_attr_group_type
4487 ,x_attr_group_name => l_attr_group_name);
4488
4489 -- Added FND_LOG
4490 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4491 FND_LOG.String
4492 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4493 , 'Attribute Group Metadata -> Application ID :'
4494 || l_application_id
4495 );
4496 END IF;
4497
4498 -- Added FND_LOG
4499 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4500 FND_LOG.String
4501 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4502 , 'Attribute Group Metadata -> Attribute Group Type :'
4503 || l_attr_group_type
4504 );
4505 END IF;
4506
4507 -- Added FND_LOG
4508 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4509 FND_LOG.String
4510 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4511 , 'Attribute Group Metadata -> Attribute Group Name :'
4512 || l_attr_group_name
4513 );
4514 END IF;
4515
4516
4517 --get attribute metadata for the attribute group
4518 IF l_application_id IS NOT NULL AND
4519 l_attr_group_type IS NOT NULL AND
4520 l_attr_group_name IS NOT NULL THEN
4521
4522
4523 FOR v_get_attr in c_get_attr(l_application_id
4524 ,l_attr_group_type
4525 ,l_attr_group_name) LOOP
4526
4527 l_count := l_count + 1;
4528 l_ext_attr_tbl(l_count).application_id := v_get_attr.application_id;
4529 l_ext_attr_tbl(l_count).attr_group_type := v_get_attr.attr_group_type;
4530 l_ext_attr_tbl(l_count).attr_group_name := v_get_attr.attr_group_name;
4531 l_ext_attr_tbl(l_count).attr_name := v_get_attr.attr_name;
4532 l_ext_attr_tbl(l_count).attr_display_name := v_get_attr.attr_display_name;
4533 l_ext_attr_tbl(l_count).database_column := v_get_attr.database_column;
4534
4535 END LOOP;
4536
4537 l_first := true;
4538 l_internal_name_str := '';
4539
4540 FOR i in l_ext_attr_tbl.first..l_ext_attr_tbl.last LOOP
4541
4542 IF l_first = true then
4543 l_first := false;
4544 ELSE
4545 l_internal_name_str := l_internal_name_str || ',';
4546 END IF;
4547
4548 l_internal_name_str := l_internal_name_str || l_ext_attr_tbl(i).attr_name;
4549
4550 END LOOP;
4551
4552 -- Added FND_LOG
4553 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4554 FND_LOG.String
4555 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4556 , 'Attribute String to Pass to PLM :'
4557 || l_internal_name_str
4558 );
4559 END IF;
4560
4561
4562 ELSE
4563 -- Raise error
4564 --composite key missing
4565 -- MAYA need to add
4566 FND_MESSAGE.SET_NAME('CS', 'CS_API_SR_EXTATTR_COMP_KEY_REQ');
4567 FND_MESSAGE.SET_TOKEN('API_NAME', l_api_name);
4568 FND_MSG_PUB.ADD;
4569 RAISE FND_API.G_EXC_ERROR;
4570 END IF; -- composite key end if
4571
4572
4573 --populate the attribute group request table to pass to PLM
4574 IF (l_attr_group_request_table IS NULL) THEN
4575 l_attr_group_request_table := EGO_ATTR_GROUP_REQUEST_TABLE();
4576 END IF;
4577
4578
4579 --Extend the object to add value it it
4580 -- l_attr_group_request_table.EXTEND();
4581 -- l_attr_group_request_table(l_attr_group_request_table.LAST) := EGO_ATTR_GROUP_REQUEST_OBJ
4582 -- (v_get_pr_ext_attr.attr_group_id, l_application_id,
4583 -- l_attr_group_type,l_attr_group_name,'PARTY_ROLE_LEVEL', NULL, NULL, l_internal_name_str);
4584 l_attr_group_request_table(l_attr_group_request_table.LAST) := EGO_USER_ATTRS_DATA_PUB.Build_Attr_Group_Request_Obj
4585 (v_get_pr_ext_attr.attr_group_id, l_application_id,
4586 l_attr_group_type,l_attr_group_name,'PARTY_ROLE_LEVEL', NULL, NULL,NULL,NULL,NULL, l_internal_name_str);
4587 ELSE
4588 --attribute group is null
4589 --raise error
4590 FND_MESSAGE.SET_NAME('CS', 'CS_API_SR_EXT_ATTR_GROUP_REQ');
4591 FND_MESSAGE.SET_TOKEN('API_NAME', l_api_name);
4592 FND_MSG_PUB.ADD;
4593 RAISE FND_API.G_EXC_ERROR;
4594
4595 END IF; --v_get_pr_ext_attr.attr_group_id IS NOT NULL
4596
4597 END LOOP;
4598
4599 IF l_record_exists <> 'Y' THEN
4600 --no count for that incident was found in the table
4601 --do not call PLM
4602 -- Added FND_LOG
4603 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4604 FND_LOG.String
4605 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4606 , 'No Party Role Extensible Attributes exist for Incident passed :'
4607 );
4608 END IF;
4609 RETURN;
4610 END IF;
4611
4612 -- Added FND_LOG
4613 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4614 FND_LOG.String
4615 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4616 , 'Calling PLM Get User Attrs Data API :'
4617 );
4618 END IF;
4619
4620 --Call PLM Get_User_Attrs_Data API
4621 EGO_USER_ATTRS_DATA_PUB.Get_User_Attrs_Data(
4622 p_api_version => 1.0
4623 ,p_object_name => 'CS_PARTY_ROLE'
4624 ,p_pk_column_name_value_pairs => l_pk_col_name_value_pair
4625 ,p_attr_group_request_table => l_attr_group_request_table
4626 ,p_user_privileges_on_object => NULL
4627 ,p_entity_id => NULL
4628 ,p_entity_index => NULL
4629 ,p_entity_code => NULL
4630 ,p_debug_level => 3
4631 ,p_init_error_handler => NULL
4632 ,p_init_fnd_msg_list => p_init_msg_list
4633 ,p_add_errors_to_fnd_stack => NULL
4634 ,p_commit => p_commit
4635 ,x_attributes_row_table => l_attributes_row_table
4636 ,x_attributes_data_table => l_attributes_data_table
4637 ,x_return_status => x_return_status
4638 ,x_errorcode => l_errorcode
4639 ,x_msg_count => x_msg_count
4640 ,x_msg_data => x_msg_data);
4641
4642 -- Added FND_LOG
4643 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4644 FND_LOG.String
4645 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4646 , 'PLM get User Attrs Data return status :'
4647 || x_return_status
4648 );
4649 END IF;
4650
4651 -- Added FND_LOG
4652 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
4653 FND_LOG.String
4654 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
4655 , 'PLM get User Attrs Data msg data :'
4656 || x_msg_data
4657 );
4658 END IF;
4659
4660 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4661 FND_MESSAGE.Set_Name('CS', 'CS_API_GET_SR_EXT_ATTR_WARNING');
4662 FND_MSG_PUB.Add;
4663 RAISE FND_API.G_EXC_ERROR;
4664 END IF;
4665
4666 --populate the out parameters with the value returned from PLM
4667 --initialize counter := 0
4668 l_count := 0;
4669 l_count_1 := 0;
4670
4671 IF l_attributes_row_table.COUNT > 0 THEN
4672 FOR i IN l_attributes_row_table.FIRST .. l_attributes_row_table.LAST LOOP
4673
4674 IF l_attributes_row_table.EXISTS(i) THEN
4675
4676 l_count := l_count + 1;
4677 x_ext_attr_grp_tbl(l_count).row_identifier := l_attributes_row_table(i).row_identifier;
4678
4679 --get the pks for the extension id
4680 OPEN c_get_pr_pks(p_ext_id =>x_ext_attr_grp_tbl(l_count).row_identifier);
4681 FETCH c_get_pr_pks into l_incident_id, l_party_id, l_contact_type, l_party_role_code, l_pr_context;
4682 CLOSE c_get_pr_pks;
4683
4684 IF l_incident_id IS NULL THEN
4685 x_ext_attr_grp_tbl(l_count).pk_column_1 := null;
4686 ELSE
4687 x_ext_attr_grp_tbl(l_count).pk_column_1 := l_incident_id;
4688 END IF;
4689
4690 IF l_party_id IS NULL THEN
4691 x_ext_attr_grp_tbl(l_count).pk_column_2 := null;
4692 ELSE
4693 x_ext_attr_grp_tbl(l_count).pk_column_2 := l_party_id;
4694 END IF;
4695
4696 IF l_contact_type IS NULL THEN
4697 x_ext_attr_grp_tbl(l_count).pk_column_3 := null;
4698 ELSE
4699 x_ext_attr_grp_tbl(l_count).pk_column_3 := l_contact_type;
4700 END IF;
4701
4702 IF l_party_role_code IS NULL THEN
4703 x_ext_attr_grp_tbl(l_count).pk_column_4 := null;
4704 ELSE
4705 x_ext_attr_grp_tbl(l_count).pk_column_4 := l_party_role_code;
4706 END IF;
4707
4708 x_ext_attr_grp_tbl(l_count).pk_column_5 := null;
4709
4710 IF l_pr_context IS NULL THEN
4711 x_ext_attr_grp_tbl(l_count).context := null;
4712 ELSE
4713 x_ext_attr_grp_tbl(l_count).context := l_pr_context;
4714 END IF;
4715
4716 x_ext_attr_grp_tbl(l_count).attr_group_id := l_attributes_row_table(i).attr_group_id;
4717 x_ext_attr_grp_tbl(l_count).attr_group_app_id := l_attributes_row_table(i).attr_group_app_id;
4718 x_ext_attr_grp_tbl(l_count).attr_group_type := l_attributes_row_table(i).attr_group_type;
4719 x_ext_attr_grp_tbl(l_count).attr_group_name := l_attributes_row_table(i).attr_group_name;
4720 x_ext_attr_grp_tbl(l_count).mapping_req := 'N';
4721 x_ext_attr_grp_tbl(l_count).operation := 'GET';
4722
4723 --get the dislay name for the attribute group
4724 OPEN c_get_attr_group_disp_name(x_ext_attr_grp_tbl(l_count).attr_group_id);
4725 FETCH c_get_attr_group_disp_name INTO x_ext_attr_grp_tbl(l_count).attr_group_disp_name;
4726 CLOSE c_get_attr_group_disp_name;
4727
4728 -- loop through the attributes table and then populate the attributes record for the attribute group
4729 FOR j IN l_attributes_data_table.FIRST .. l_attributes_data_table.LAST LOOP
4730
4731 IF l_attributes_data_table.EXISTS(j) THEN
4732
4733
4734 IF l_attributes_row_table(i).row_identifier = l_attributes_data_table(j).row_identifier THEN
4735 l_count_1 := l_count_1 + 1;
4736 -- match found populate the out parameter for the attribute table
4737 x_ext_attr_tbl(l_count_1).row_identifier := l_attributes_data_table(j).row_identifier;
4738 x_ext_attr_tbl(l_count_1).attr_name := l_attributes_data_table(j).attr_name;
4739 x_ext_attr_tbl(l_count_1).attr_value_str := l_attributes_data_table(j).attr_value_str;
4740 x_ext_attr_tbl(l_count_1).attr_value_num := l_attributes_data_table(j).attr_value_num;
4741 x_ext_attr_tbl(l_count_1).attr_value_date := l_attributes_data_table(j).attr_value_date;
4742 x_ext_attr_tbl(l_count_1).attr_value_display := l_attributes_data_table(j).attr_disp_value;
4743 x_ext_attr_tbl(l_count_1).attr_unit_of_measure := l_attributes_data_table(j).attr_unit_of_measure;
4744
4745
4746
4747 --get the database column_name and display name for the attribute
4748 FOR k IN l_ext_attr_tbl.FIRST .. l_ext_attr_tbl.LAST LOOP
4749
4750 IF l_ext_attr_tbl.EXISTS(k) THEN
4751
4752 IF l_attributes_row_table(i).attr_group_app_id = l_ext_attr_tbl(k).application_id AND
4753 l_attributes_row_table(i).attr_group_type = l_ext_attr_tbl(k).attr_group_type AND
4754 l_attributes_row_table(i).attr_group_name = l_ext_attr_tbl(k).attr_group_name AND
4755 l_attributes_data_table(j).attr_name = l_ext_attr_tbl(k).attr_name THEN
4756
4757 x_ext_attr_tbl(l_count_1).column_name := l_ext_attr_tbl(k).database_column;
4758 x_ext_attr_tbl(l_count_1).attr_disp_name := l_ext_attr_tbl(k).attr_display_name;
4759
4760 END IF;
4761 END IF;
4762 END LOOP;
4763 END IF;
4764 END IF;
4765 END LOOP;
4766 END IF;
4767 END LOOP;
4768 END IF ; -- l_attributes_row_table.COUNT IS NOT NULL
4769
4770 END IF;
4771
4772 ---------------------- FND Logging -----------------------------------
4773 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
4774 THEN
4775
4776 -- --------------------------------------------------------------------------
4777 -- This procedure Logs the extensible attributes table.
4778 -- --------------------------------------------------------------------------
4779 Log_EXT_PVT_Parameters
4780 ( p_ext_attr_grp_tbl => x_ext_attr_grp_tbl
4781 ,p_ext_attr_tbl => x_ext_attr_tbl
4782 );
4783
4784 Log_EGO_Ext_PVT_Parameters(
4785 p_ext_attr_grp_tbl => l_attributes_row_table
4786 ,p_ext_attr_tbl => l_attributes_data_table);
4787
4788 END IF;
4789
4790 EXCEPTION
4791 WHEN FND_API.G_EXC_ERROR THEN
4792 x_return_status := FND_API.G_RET_STS_ERROR;
4793 FND_MSG_PUB.Count_And_Get
4794 ( p_count => x_msg_count,
4795 p_data => x_msg_data
4796 );
4797 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4798 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4799 FND_MSG_PUB.Count_And_Get
4800 ( p_count => x_msg_count,
4801 p_data => x_msg_data
4802 );
4803
4804 WHEN OTHERS THEN
4805 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4806 FND_MESSAGE.Set_Name('CS', 'CS_GET_SR_EXT_ATTR_FAIL');
4807 FND_MESSAGE.Set_Token('API_NAME', L_API_NAME_FULL);
4808 FND_MESSAGE.Set_Token('ERROR', SQLERRM);
4809 FND_MSG_PUB.ADD;
4810
4811 END;
4812
4813 PROCEDURE Create_Ext_Attr_Audit(
4814 p_sr_ea_new_audit_rec_table IN Ext_Attr_Audit_Tbl_Type
4815 ,p_sr_ea_old_audit_rec_table IN Ext_Attr_Audit_Tbl_Type
4816 ,p_object_name IN VARCHAR2
4817 ,p_modified_by IN NUMBER := FND_GLOBAL.USER_ID
4818 ,p_modified_on IN DATE := SYSDATE
4819 ,x_return_status OUT NOCOPY VARCHAR2
4820 ,x_msg_count OUT NOCOPY NUMBER
4821 ,x_msg_data OUT NOCOPY VARCHAR2
4822 ) IS
4823
4824 l_is_multi_row VARCHAR2(1);
4825
4826 Cursor c_sr_get_ext_id(p_incident_id IN NUMBER,
4827 p_context IN NUMBER,
4828 p_attr_group_id IN NUMBER) IS
4829 select extension_id from cs_incidents_ext
4830 where incident_id = p_incident_id
4831 and context = p_context
4832 and attr_group_id = p_attr_group_id;
4833
4834
4835 cursor c_get_sr_multi_row_ext_id (p_incident_id IN NUMBER
4836 ,p_context IN NUMBER
4837 ,p_attr_group_id IN NUMBER) IS
4838
4839 SELECT extension_id
4840 FROM cs_incidents_ext
4841 WHERE incident_id = p_incident_id
4842 AND context = p_context
4843 AND attr_group_id = p_attr_group_id
4844 AND extension_id NOT IN (SELECT extension_id
4845 FROM cs_incidents_ext_audit
4846 WHERE incident_id = p_incident_id
4847 AND context = p_context
4848 AND attr_group_id = p_attr_group_id);
4849
4850 Cursor c_pr_get_ext_id(p_incident_id IN NUMBER,
4851 p_party_id IN NUMBER,
4852 p_contact_type IN VARCHAR2,
4853 p_party_role_code IN VARCHAR2,
4854 p_context IN VARCHAR2,
4855 p_attr_group_id IN NUMBER) IS
4856 select extension_id
4857 from cs_sr_contacts_ext
4858 where incident_id = p_incident_id
4859 and party_id = p_party_id
4860 and contact_type = p_contact_type
4861 and party_role_code = p_party_role_code
4862 and context = p_context
4863 and attr_group_id = p_attr_group_id;
4864
4865
4866 cursor c_get_pr_multi_row_ext_id (p_incident_id IN NUMBER,
4867 p_party_id IN NUMBER,
4868 p_contact_type IN VARCHAR2,
4869 p_party_role_code IN VARCHAR2,
4870 p_context IN VARCHAR2,
4871 p_attr_group_id IN NUMBER) IS
4872
4873 select extension_id
4874 from cs_sr_contacts_ext
4875 where incident_id = p_incident_id
4876 and party_id = p_party_id
4877 and contact_type = p_contact_type
4878 and party_role_code = p_party_role_code
4879 and context = p_context
4880 and attr_group_id = p_attr_group_id
4881 AND extension_id NOT IN (SELECT extension_id
4882 FROM cs_sr_contacts_ext_audit
4883 where incident_id = p_incident_id
4884 and party_id = p_party_id
4885 and contact_type = p_contact_type
4886 and party_role_code = p_party_role_code
4887 and context = p_context
4888 and attr_group_id = p_attr_group_id);
4889
4890 l_sr_ea_new_audit_rec_table Ext_Attr_Audit_Tbl_Type;
4891 l_sr_ea_old_audit_rec_table Ext_Attr_Audit_Tbl_Type;
4892
4893 l_pr_ea_new_audit_rec_table Ext_Attr_Audit_Tbl_Type;
4894 l_pr_ea_old_audit_rec_table Ext_Attr_Audit_Tbl_Type;
4895
4896
4897
4898 BEGIN
4899
4900 IF p_object_name = 'CS_SERVICE_REQUEST' THEN
4901
4902 /*************New Audit Table Check***********/
4903
4904 IF p_sr_ea_new_audit_rec_table.COUNT > 0 THEN
4905
4906 -- pass the incoming record to
4907 l_sr_ea_new_audit_rec_table := p_sr_ea_new_audit_rec_table;
4908
4909 --check if record had extension_id and
4910 --all the primary key identifiers before calling audit
4911 FOR i IN 1..l_sr_ea_new_audit_rec_table.COUNT LOOP
4912 IF l_sr_ea_new_audit_rec_table(i).extension_id IS NULL OR
4913 l_sr_ea_new_audit_rec_table(i).extension_id < 0 THEN
4914 IF l_sr_ea_new_audit_rec_table(i).pk_column_1 IS NOT NULL AND
4915 l_sr_ea_new_audit_rec_table(i).context IS NOT NULL AND
4916 l_sr_ea_new_audit_rec_table(i).attr_group_id IS NOT NULL THEN
4917
4918 -- check if attribute group is multi row
4919 l_is_multi_row := IS_ATTR_GROUP_MULTI_ROW(
4920 p_attr_group_id => l_sr_ea_new_audit_rec_table(i).attr_group_id
4921 ,x_msg_data => x_msg_data
4922 ,x_msg_count => x_msg_count
4923 ,x_return_status => x_return_status);
4924
4925 -- If l_is_multi_row = 'Y' then get
4926 IF l_is_multi_row = 'Y' THEN
4927
4928 -- only one row should be found as the UI will only send one record at a time
4929 OPEN c_get_sr_multi_row_ext_id(l_sr_ea_new_audit_rec_table(i).pk_column_1
4930 ,l_sr_ea_new_audit_rec_table(i).context
4931 ,l_sr_ea_new_audit_rec_table(i).attr_group_id);
4932 FETCH c_get_sr_multi_row_ext_id into l_sr_ea_new_audit_rec_table(i).extension_id;
4933 IF c_get_sr_multi_row_ext_id%NOTFOUND THEN
4934 RETURN;
4935 END IF;
4936 CLOSE c_get_sr_multi_row_ext_id;
4937
4938 ELSE
4939
4940 -- l_is_multi_row = 'N'
4941 -- populate the all the records in the new record
4942 OPEN c_sr_get_ext_id(l_sr_ea_new_audit_rec_table(i).pk_column_1
4943 ,l_sr_ea_new_audit_rec_table(i).context
4944 ,l_sr_ea_new_audit_rec_table(i).attr_group_id) ;
4945 FETCH c_sr_get_ext_id INTO l_sr_ea_new_audit_rec_table(i).extension_id ;
4946 IF c_sr_get_ext_id%NOTFOUND THEN
4947 RETURN;
4948 END IF;
4949 CLOSE c_sr_get_ext_id;
4950
4951
4952 END IF; --multi_row check
4953
4954 ELSE
4955
4956 --composite key not passed
4957 --raise error
4958 --MAYA
4959 null;
4960
4961 END IF; -- If composite key is null;
4962 END IF; -- p_sr_ea_new_audit_rec_table(i).extension_id IS NULL
4963 END LOOP;
4964 END IF; -- p_sr_ea_new_audit_rec_table.COUNT > 0
4965
4966 IF p_sr_ea_old_audit_rec_table.COUNT > 0 THEN
4967
4968 -- pass the incoming record to
4969 l_sr_ea_old_audit_rec_table := p_sr_ea_old_audit_rec_table;
4970
4971 ELSE
4972 INIT_AUDIT_REC(p_count => p_sr_ea_new_audit_rec_table.COUNT
4973 ,p_audit_rec => l_sr_ea_old_audit_rec_table);
4974 END IF; -- p_sr_ea_old_audit_rec_table.COUNT > 0
4975
4976 -- call the audit API
4977 insert_sr_row
4978 ( P_NEW_ext_attrs => l_sr_ea_new_audit_rec_table
4979 , P_OLD_ext_attrs => l_sr_ea_old_audit_rec_table
4980 , P_MODIFIED_BY => p_modified_by
4981 , P_MODIFIED_ON => p_modified_on
4982 , X_RETURN_STATUS => X_RETURN_STATUS
4983 , X_MSG_COUNT => X_MSG_COUNT
4984 , X_MSG_DATA => X_MSG_DATA
4985 ) ;
4986
4987 ELSIF p_object_name = 'CS_PARTY_ROLE' THEN
4988 IF p_sr_ea_new_audit_rec_table.COUNT > 0 THEN
4989 -- pass the incoming record to
4990 l_pr_ea_new_audit_rec_table := p_sr_ea_new_audit_rec_table;
4991
4992 --DBMS_OUTPUT.PUT_LINE('In party role create audit');
4993
4994 --check if record had extension_id and
4995 --all the primary key identifiers before calling audit
4996 FOR i IN 1..l_pr_ea_new_audit_rec_table.COUNT LOOP
4997 IF l_pr_ea_new_audit_rec_table(i).extension_id IS NULL OR
4998 l_pr_ea_new_audit_rec_table(i).extension_id < 0 THEN
4999 IF l_pr_ea_new_audit_rec_table(i).pk_column_1 IS NOT NULL AND
5000 l_pr_ea_new_audit_rec_table(i).pk_column_2 IS NOT NULL AND
5001 l_pr_ea_new_audit_rec_table(i).pk_column_3 IS NOT NULL AND
5002 l_pr_ea_new_audit_rec_table(i).pk_column_4 IS NOT NULL AND
5003 l_pr_ea_new_audit_rec_table(i).context IS NOT NULL AND
5004 l_pr_ea_new_audit_rec_table(i).attr_group_id IS NOT NULL THEN
5005
5006 -- check if attribute group is multi row
5007 l_is_multi_row := IS_ATTR_GROUP_MULTI_ROW(
5008 p_attr_group_id => l_pr_ea_new_audit_rec_table(i).attr_group_id
5009 ,x_msg_data => x_msg_data
5010 ,x_msg_count => x_msg_count
5011 ,x_return_status => x_return_status);
5012
5013 -- If l_is_multi_row = 'Y' then get
5014 IF l_is_multi_row = 'Y' THEN
5015
5016 -- only one row should be found as the UI will only send one record at a time
5017 OPEN c_get_pr_multi_row_ext_id(to_number(l_pr_ea_new_audit_rec_table(i).pk_column_1)
5018 ,to_number(l_pr_ea_new_audit_rec_table(i).pk_column_2)
5019 ,l_pr_ea_new_audit_rec_table(i).pk_column_3
5020 ,l_pr_ea_new_audit_rec_table(i).pk_column_4
5021 ,l_pr_ea_new_audit_rec_table(i).context
5022 ,l_pr_ea_new_audit_rec_table(i).attr_group_id);
5023
5024 FETCH c_get_pr_multi_row_ext_id into l_pr_ea_new_audit_rec_table(i).extension_id;
5025 CLOSE c_get_pr_multi_row_ext_id;
5026
5027 ELSE
5028
5029 -- l_is_multi_row = 'N'
5030 -- populate the all the records in the new record
5031 OPEN c_pr_get_ext_id(to_number(l_pr_ea_new_audit_rec_table(i).pk_column_1)
5032 ,to_number(l_pr_ea_new_audit_rec_table(i).pk_column_2)
5033 ,l_pr_ea_new_audit_rec_table(i).pk_column_3
5034 ,l_pr_ea_new_audit_rec_table(i).pk_column_4
5035 ,l_pr_ea_new_audit_rec_table(i).context
5036 ,l_pr_ea_new_audit_rec_table(i).attr_group_id) ;
5037 FETCH c_pr_get_ext_id INTO l_pr_ea_new_audit_rec_table(i).extension_id ;
5038 CLOSE c_pr_get_ext_id;
5039
5040
5041 END IF; --multi_row check
5042
5043 ELSE
5044
5045 --composite key not passed
5046 --raise error
5047 --MAYA
5048 null;
5049
5050 END IF; -- If composite key is null;
5051 END IF; -- p_pr_ea_new_audit_rec_table(i).extension_id IS NULL
5052
5053 END LOOP;
5054 END IF; -- p_sr_ea_new_audit_rec_table.COUNT > 0
5055
5056 --DBMS_OUTPUT.PUT_LINE('Done checking extension id');
5057
5058 IF p_sr_ea_old_audit_rec_table.COUNT > 0 THEN
5059 -- pass the incoming record to
5060 --DBMS_OUTPUT.PUT_LINE('p_sr_ea_old_audit_rec_table.COUNT'||p_sr_ea_old_audit_rec_table.COUNT);
5061
5062 l_pr_ea_old_audit_rec_table := p_sr_ea_old_audit_rec_table;
5063
5064 ELSE
5065 -- call the INIT AUDIT REC
5066 INIT_AUDIT_REC(p_count => p_sr_ea_new_audit_rec_table.COUNT
5067 ,p_audit_rec => l_pr_ea_old_audit_rec_table);
5068
5069 END IF; -- p_sr_ea_old_audit_rec_table.COUNT > 0
5070
5071 --DBMS_OUTPUT.PUT_LINE('Done checking old rec');
5072
5073 --DBMS_OUTPUT.PUT_LINE('Calling Insert PR Row');
5074 --DBMS_OUTPUT.PUT_LINE('l_pr_ea_new_audit_rec_table.COUNT'||l_pr_ea_new_audit_rec_table.COUNT);
5075 --DBMS_OUTPUT.PUT_LINE('l_pr_ea_old_audit_rec_table.COUNT'||l_pr_ea_old_audit_rec_table.COUNT);
5076
5077 -- call the audit API
5078 insert_pr_row
5079 ( P_NEW_ext_attrs => l_pr_ea_new_audit_rec_table
5080 , P_OLD_ext_attrs => l_pr_ea_old_audit_rec_table
5081 , P_MODIFIED_BY => p_modified_by
5082 , P_MODIFIED_ON => p_modified_on
5083 , X_RETURN_STATUS => X_RETURN_STATUS
5084 , X_MSG_COUNT => X_MSG_COUNT
5085 , X_MSG_DATA => X_MSG_DATA
5086 );
5087
5088 END IF; --object is 'CS_SERVICE_REQUEST' or 'CS_PARTY_ROLE' --MAY NOT BE NEEDED
5089
5090
5091 END;
5092
5093 Procedure Merge_Ext_Attrs_Details
5094 (p_ext_attr_grp_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_GRP_TBL_TYPE
5095 ,p_ext_attr_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE
5096 ,x_ext_grp_attr_tbl OUT NOCOPY EXT_GRP_ATTR_TBL_TYPE
5097 ,x_return_status OUT NOCOPY VARCHAR2
5098 ,x_msg_count OUT NOCOPY NUMBER
5099 ,x_msg_data OUT NOCOPY VARCHAR2) IS
5100
5101 q NUMBER := 1;
5102
5103 BEGIN
5104
5105 -- Loop throught the group table to get the group details..
5106
5107 FOR i IN 1..p_ext_attr_grp_tbl.COUNT
5108 LOOP
5109 -- Loop through the attr table to get all the attributes for the parent group
5110 -- using the row identifier.
5111 FOR j IN 1..p_ext_attr_tbl.COUNT
5112 LOOP
5113 -- Assign the values to the merged table structure
5114
5115 IF p_ext_attr_grp_tbl(i).ROW_IDENTIFIER = p_ext_attr_tbl(j).ROW_IDENTIFIER THEN
5116 x_ext_grp_attr_tbl(q).ROW_IDENTIFIER := p_ext_attr_grp_tbl(i).ROW_IDENTIFIER;
5117 x_ext_grp_attr_tbl(q).ATTR_GROUP_ID := p_ext_attr_grp_tbl(i).ATTR_GROUP_ID;
5118 x_ext_grp_attr_tbl(q).ATTR_GROUP_TYPE := p_ext_attr_grp_tbl(i).ATTR_GROUP_TYPE;
5119 x_ext_grp_attr_tbl(q).ATTR_GROUP_NAME := p_ext_attr_grp_tbl(i).ATTR_GROUP_NAME;
5120 x_ext_grp_attr_tbl(q).ATTR_GROUP_DISP_NAME := p_ext_attr_grp_tbl(i).ATTR_GROUP_DISP_NAME;
5121 x_ext_grp_attr_tbl(q).COLUMN_NAME := p_ext_attr_tbl(j).COLUMN_NAME;
5122 x_ext_grp_attr_tbl(q).ATTR_NAME := p_ext_attr_tbl(j).ATTR_NAME;
5123 x_ext_grp_attr_tbl(q).ATTR_VALUE_STR := p_ext_attr_tbl(j).ATTR_VALUE_STR;
5124 x_ext_grp_attr_tbl(q).ATTR_VALUE_NUM := p_ext_attr_tbl(j).ATTR_VALUE_NUM;
5125 x_ext_grp_attr_tbl(q).ATTR_VALUE_DATE := p_ext_attr_tbl(j).ATTR_VALUE_DATE;
5126 x_ext_grp_attr_tbl(q).ATTR_VALUE_DISPLAY := p_ext_attr_tbl(j).ATTR_VALUE_DISPLAY;
5127
5128 q := q + 1;
5129 END IF ;
5130 END LOOP;
5131 END LOOP;
5132 EXCEPTION
5133 WHEN OTHERS THEN
5134 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5135 FND_MSG_PUB.Count_And_Get
5136 (p_count => x_msg_count,
5137 p_data => x_msg_data);
5138
5139 END Merge_Ext_Attrs_Details;
5140
5141
5142
5143 --------------------------------------------------------------------------------
5144 -- Procedure Name : insert_sr_row
5145 -- Parameters :
5146 -- IN : p_new_ext_attrs Table New ext attr values
5147 -- : p_old_ext_attrs Table old Ext attr values
5148 -- : p_modified_by Identity of user creationg/modifying
5149 -- Ext attrs
5150 -- : p_modified_on Date of Ext Attr creation/update
5151 -- OUT : x_return_status Status of procedure return
5152 -- : x_msg_count Number of error messages
5153 -- : x_msg_data Error description
5154 --
5155 --
5156 -- Description : Procedure to create audit of SR extensible attributes.
5157 --
5158 -- Modification History:
5159 -- Date Name Desc
5160 -- -------- -------- -----------------------------------------------------------
5161 -- 05/05/05 pkesani Created
5162 -- 08/08/05 smisra Modified insert statement and used pk values for
5163 -- incident id
5164 --------------------------------------------------------------------------------
5165 PROCEDURE insert_sr_row
5166 ( P_NEW_ext_attrs IN Ext_Attr_Audit_Tbl_Type
5167 , P_OLD_ext_attrs IN Ext_Attr_Audit_Tbl_Type
5168 , P_MODIFIED_BY IN NUMBER
5169 , P_MODIFIED_ON IN DATE
5170 , X_RETURN_STATUS OUT NOCOPY VARCHAR2
5171 , X_MSG_COUNT OUT NOCOPY NUMBER
5172 , X_MSG_DATA OUT NOCOPY VARCHAR2
5173 ) IS
5174 l_table_index NUMBER;
5175 l_ext_audit_id NUMBER;
5176 l_last_updated_by NUMBER;
5177 l_last_update_date DATE;
5178 l_last_update_login NUMBER;
5179 l_modified_by NUMBER;
5180 l_modified_on DATE;
5181 l_msg_count NUMBER;
5182 l_msg_data VARCHAR2(2000);
5183 l_api_name CONSTANT VARCHAR2(30) := 'insert_sr_row';
5184 l_api_name_full CONSTANT VARCHAR2(61) := 'CS_SR_EXTATTRIBUTES_PVT'||'.'||l_api_name;
5185 l_incident_id number;
5186 BEGIN
5187 x_return_status := FND_API.G_RET_STS_SUCCESS;
5188 l_last_updated_by := FND_GLOBAL.USER_ID;
5189 l_last_update_date := SYSDATE;
5190 l_last_update_login := FND_GLOBAL.LOGIN_ID;
5191
5192 IF P_MODIFIED_BY IS NULL THEN
5193 l_modified_by := FND_GLOBAL.USER_ID;
5194 ELSE
5195 l_modified_by := P_MODIFIED_BY;
5196 END IF;
5197
5198 IF P_MODIFIED_ON IS NULL THEN
5199 l_modified_on := SYSDATE;
5200 ELSE
5201 l_modified_on := P_MODIFIED_ON;
5202 END IF;
5203
5204 --DBMS_OUTPUT.PUT_LINE('Before insert');
5205 IF P_NEW_ext_attrs.count = 0 OR P_OLD_ext_attrs.count = 0 THEN
5206 RETURN;
5207 ELSE
5208 FOR l_table_index in P_NEW_ext_attrs.FIRST..P_NEW_ext_attrs.LAST LOOP
5209
5210 IF P_NEW_ext_attrs.exists(l_table_index) THEN
5211
5212 -- Update the cs header table whenver an extensible attribute is created
5213 -- Fix by Sanjana Rao 08-jan-2010 for bug 9125600
5214 If nvl(l_incident_id,-1)<>to_number(P_new_ext_attrs(l_table_index).pk_column_1) then
5215 l_incident_id:=to_number(P_new_ext_attrs(l_table_index).pk_column_1);
5216 update cs_incidents_all_b
5217 set last_update_date=l_modified_on,
5218 last_updated_by=l_modified_by,
5219 last_update_login=l_last_update_login
5220 where incident_id=l_incident_id;
5221 end if;
5222
5223 SELECT CS_INCIDENTS_EXT_AUDIT_S.NEXTVAL INTO l_ext_audit_id FROM dual;
5224 --DBMS_OUTPUT.PUT_LINE('inside for loop:' || to_char(l_ext_audit_id));
5225
5226 --DBMS_OUTPUT.PUT_LINE('P_new_ext_attrs(l_table_index).C_ext_attr1 '||P_new_ext_attrs(l_table_index).C_ext_attr1);
5227 --DBMS_OUTPUT.PUT_LINE('P_new_ext_attrs(l_table_index).C_ext_attr2 '||P_new_ext_attrs(l_table_index).C_ext_attr2);
5228 --DBMS_OUTPUT.PUT_LINE('P_new_ext_attrs(l_table_index).C_ext_attr3 '||P_new_ext_attrs(l_table_index).C_ext_attr3);
5229 --DBMS_OUTPUT.PUT_LINE('P_new_ext_attrs(l_table_index).C_ext_attr4 '||P_new_ext_attrs(l_table_index).C_ext_attr4);
5230
5231 INSERT INTO CS_INCIDENTS_EXT_AUDIT
5232 ( AUDIT_EXTENSION_ID
5233 , EXTENSION_ID
5234 , INCIDENT_ID
5235 , CONTEXT
5236 , ATTR_GROUP_ID
5237 , CREATION_DATE
5238 , CREATED_BY
5239 , LAST_UPDATE_DATE
5240 , LAST_UPDATED_BY
5241 , LAST_UPDATE_LOGIN
5242 , C_EXT_ATTR1
5243 , C_EXT_ATTR2
5244 , C_EXT_ATTR3
5245 , C_EXT_ATTR4
5246 , C_EXT_ATTR5
5247 , C_EXT_ATTR6
5248 , C_EXT_ATTR7
5249 , C_EXT_ATTR8
5250 , C_EXT_ATTR9
5251 , C_EXT_ATTR10
5252 , C_EXT_ATTR11
5253 , C_EXT_ATTR12
5254 , C_EXT_ATTR13
5255 , C_EXT_ATTR14
5256 , C_EXT_ATTR15
5257 , C_EXT_ATTR16
5258 , C_EXT_ATTR17
5259 , C_EXT_ATTR18
5260 , C_EXT_ATTR19
5261 , C_EXT_ATTR20
5262 , C_EXT_ATTR21
5263 , C_EXT_ATTR22
5264 , C_EXT_ATTR23
5265 , C_EXT_ATTR24
5266 , C_EXT_ATTR25
5267 , C_EXT_ATTR26
5268 , C_EXT_ATTR27
5269 , C_EXT_ATTR28
5270 , C_EXT_ATTR29
5271 , C_EXT_ATTR30
5272 , C_EXT_ATTR31
5273 , C_EXT_ATTR32
5274 , C_EXT_ATTR33
5275 , C_EXT_ATTR34
5276 , C_EXT_ATTR35
5277 , C_EXT_ATTR36
5278 , C_EXT_ATTR37
5279 , C_EXT_ATTR38
5280 , C_EXT_ATTR39
5281 , C_EXT_ATTR40
5282 , C_EXT_ATTR41
5283 , C_EXT_ATTR42
5284 , C_EXT_ATTR43
5285 , C_EXT_ATTR44
5286 , C_EXT_ATTR45
5287 , C_EXT_ATTR46
5288 , C_EXT_ATTR47
5289 , C_EXT_ATTR48
5290 , C_EXT_ATTR49
5291 , C_EXT_ATTR50
5292 , OLD_C_EXT_ATTR1
5293 , OLD_C_EXT_ATTR2
5294 , OLD_C_EXT_ATTR3
5295 , OLD_C_EXT_ATTR4
5296 , OLD_C_EXT_ATTR5
5297 , OLD_C_EXT_ATTR6
5298 , OLD_C_EXT_ATTR7
5299 , OLD_C_EXT_ATTR8
5300 , OLD_C_EXT_ATTR9
5301 , OLD_C_EXT_ATTR10
5302 , OLD_C_EXT_ATTR11
5303 , OLD_C_EXT_ATTR12
5304 , OLD_C_EXT_ATTR13
5305 , OLD_C_EXT_ATTR14
5306 , OLD_C_EXT_ATTR15
5307 , OLD_C_EXT_ATTR16
5308 , OLD_C_EXT_ATTR17
5309 , OLD_C_EXT_ATTR18
5310 , OLD_C_EXT_ATTR19
5311 , OLD_C_EXT_ATTR20
5312 , OLD_C_EXT_ATTR21
5313 , OLD_C_EXT_ATTR22
5314 , OLD_C_EXT_ATTR23
5315 , OLD_C_EXT_ATTR24
5316 , OLD_C_EXT_ATTR25
5317 , OLD_C_EXT_ATTR26
5318 , OLD_C_EXT_ATTR27
5319 , OLD_C_EXT_ATTR28
5320 , OLD_C_EXT_ATTR29
5321 , OLD_C_EXT_ATTR30
5322 , OLD_C_EXT_ATTR31
5323 , OLD_C_EXT_ATTR32
5324 , OLD_C_EXT_ATTR33
5325 , OLD_C_EXT_ATTR34
5326 , OLD_C_EXT_ATTR35
5327 , OLD_C_EXT_ATTR36
5328 , OLD_C_EXT_ATTR37
5329 , OLD_C_EXT_ATTR38
5330 , OLD_C_EXT_ATTR39
5331 , OLD_C_EXT_ATTR40
5332 , OLD_C_EXT_ATTR41
5333 , OLD_C_EXT_ATTR42
5334 , OLD_C_EXT_ATTR43
5335 , OLD_C_EXT_ATTR44
5336 , OLD_C_EXT_ATTR45
5337 , OLD_C_EXT_ATTR46
5338 , OLD_C_EXT_ATTR47
5339 , OLD_C_EXT_ATTR48
5340 , OLD_C_EXT_ATTR49
5341 , OLD_C_EXT_ATTR50
5342 , N_EXT_ATTR1
5343 , N_EXT_ATTR2
5344 , N_EXT_ATTR3
5345 , N_EXT_ATTR4
5346 , N_EXT_ATTR5
5347 , N_EXT_ATTR6
5348 , N_EXT_ATTR7
5349 , N_EXT_ATTR8
5350 , N_EXT_ATTR9
5351 , N_EXT_ATTR10
5352 , N_EXT_ATTR11
5353 , N_EXT_ATTR12
5354 , N_EXT_ATTR13
5355 , N_EXT_ATTR14
5356 , N_EXT_ATTR15
5357 , N_EXT_ATTR16
5358 , N_EXT_ATTR17
5359 , N_EXT_ATTR18
5360 , N_EXT_ATTR19
5361 , N_EXT_ATTR20
5362 , N_EXT_ATTR21
5363 , N_EXT_ATTR22
5364 , N_EXT_ATTR23
5365 , N_EXT_ATTR24
5366 , N_EXT_ATTR25
5367 , OLD_N_EXT_ATTR1
5368 , OLD_N_EXT_ATTR2
5369 , OLD_N_EXT_ATTR3
5370 , OLD_N_EXT_ATTR4
5371 , OLD_N_EXT_ATTR5
5372 , OLD_N_EXT_ATTR6
5373 , OLD_N_EXT_ATTR7
5374 , OLD_N_EXT_ATTR8
5375 , OLD_N_EXT_ATTR9
5376 , OLD_N_EXT_ATTR10
5377 , OLD_N_EXT_ATTR11
5378 , OLD_N_EXT_ATTR12
5379 , OLD_N_EXT_ATTR13
5380 , OLD_N_EXT_ATTR14
5381 , OLD_N_EXT_ATTR15
5382 , OLD_N_EXT_ATTR16
5383 , OLD_N_EXT_ATTR17
5384 , OLD_N_EXT_ATTR18
5385 , OLD_N_EXT_ATTR19
5386 , OLD_N_EXT_ATTR20
5387 , OLD_N_EXT_ATTR21
5388 , OLD_N_EXT_ATTR22
5389 , OLD_N_EXT_ATTR23
5390 , OLD_N_EXT_ATTR24
5391 , OLD_N_EXT_ATTR25
5392 , D_EXT_ATTR1
5393 , D_EXT_ATTR2
5394 , D_EXT_ATTR3
5395 , D_EXT_ATTR4
5396 , D_EXT_ATTR5
5397 , D_EXT_ATTR6
5398 , D_EXT_ATTR7
5399 , D_EXT_ATTR8
5400 , D_EXT_ATTR9
5401 , D_EXT_ATTR10
5402 , D_EXT_ATTR11
5403 , D_EXT_ATTR12
5404 , D_EXT_ATTR13
5405 , D_EXT_ATTR14
5406 , D_EXT_ATTR15
5407 , D_EXT_ATTR16
5408 , D_EXT_ATTR17
5409 , D_EXT_ATTR18
5410 , D_EXT_ATTR19
5411 , D_EXT_ATTR20
5412 , D_EXT_ATTR21
5413 , D_EXT_ATTR22
5414 , D_EXT_ATTR23
5415 , D_EXT_ATTR24
5416 , D_EXT_ATTR25
5417 , OLD_D_EXT_ATTR1
5418 , OLD_D_EXT_ATTR2
5419 , OLD_D_EXT_ATTR3
5420 , OLD_D_EXT_ATTR4
5421 , OLD_D_EXT_ATTR5
5422 , OLD_D_EXT_ATTR6
5423 , OLD_D_EXT_ATTR7
5424 , OLD_D_EXT_ATTR8
5425 , OLD_D_EXT_ATTR9
5426 , OLD_D_EXT_ATTR10
5427 , OLD_D_EXT_ATTR11
5428 , OLD_D_EXT_ATTR12
5429 , OLD_D_EXT_ATTR13
5430 , OLD_D_EXT_ATTR14
5431 , OLD_D_EXT_ATTR15
5432 , OLD_D_EXT_ATTR16
5433 , OLD_D_EXT_ATTR17
5434 , OLD_D_EXT_ATTR18
5435 , OLD_D_EXT_ATTR19
5436 , OLD_D_EXT_ATTR20
5437 , OLD_D_EXT_ATTR21
5438 , OLD_D_EXT_ATTR22
5439 , OLD_D_EXT_ATTR23
5440 , OLD_D_EXT_ATTR24
5441 , OLD_D_EXT_ATTR25
5442 , UOM_EXT_ATTR1
5443 , UOM_EXT_ATTR2
5444 , UOM_EXT_ATTR3
5445 , UOM_EXT_ATTR4
5446 , UOM_EXT_ATTR5
5447 , UOM_EXT_ATTR6
5448 , UOM_EXT_ATTR7
5449 , UOM_EXT_ATTR8
5450 , UOM_EXT_ATTR9
5451 , UOM_EXT_ATTR10
5452 , UOM_EXT_ATTR11
5453 , UOM_EXT_ATTR12
5454 , UOM_EXT_ATTR13
5455 , UOM_EXT_ATTR14
5456 , UOM_EXT_ATTR15
5457 , UOM_EXT_ATTR16
5458 , UOM_EXT_ATTR17
5459 , UOM_EXT_ATTR18
5460 , UOM_EXT_ATTR19
5461 , UOM_EXT_ATTR20
5462 , UOM_EXT_ATTR21
5463 , UOM_EXT_ATTR22
5464 , UOM_EXT_ATTR23
5465 , UOM_EXT_ATTR24
5466 , UOM_EXT_ATTR25
5467 , OLD_UOM_EXT_ATTR1
5468 , OLD_UOM_EXT_ATTR2
5469 , OLD_UOM_EXT_ATTR3
5470 , OLD_UOM_EXT_ATTR4
5471 , OLD_UOM_EXT_ATTR5
5472 , OLD_UOM_EXT_ATTR6
5473 , OLD_UOM_EXT_ATTR7
5474 , OLD_UOM_EXT_ATTR8
5475 , OLD_UOM_EXT_ATTR9
5476 , OLD_UOM_EXT_ATTR10
5477 , OLD_UOM_EXT_ATTR11
5478 , OLD_UOM_EXT_ATTR12
5479 , OLD_UOM_EXT_ATTR13
5480 , OLD_UOM_EXT_ATTR14
5481 , OLD_UOM_EXT_ATTR15
5482 , OLD_UOM_EXT_ATTR16
5483 , OLD_UOM_EXT_ATTR17
5484 , OLD_UOM_EXT_ATTR18
5485 , OLD_UOM_EXT_ATTR19
5486 , OLD_UOM_EXT_ATTR20
5487 , OLD_UOM_EXT_ATTR21
5488 , OLD_UOM_EXT_ATTR22
5489 , OLD_UOM_EXT_ATTR23
5490 , OLD_UOM_EXT_ATTR24
5491 , OLD_UOM_EXT_ATTR25
5492 , EXT_ATTR_MODIFIED_ON
5493 , EXT_ATTR_MODIFIED_BY
5494 )
5495 VALUES
5496 ( l_ext_audit_id
5497 , p_new_ext_attrs(l_table_index).extension_ID
5498 , to_number(P_new_ext_attrs(l_table_index).pk_column_1)
5499 , P_new_ext_attrs(l_table_index).context
5500 , P_new_ext_attrs(l_table_index).attr_group_id
5501 , l_last_update_date
5502 , l_last_updated_by
5503 , l_last_update_date
5504 , l_last_updated_by
5505 , l_last_update_login
5506 , P_new_ext_attrs(l_table_index).C_ext_attr1
5507 , P_new_ext_attrs(l_table_index).C_ext_attr2
5508 , P_new_ext_attrs(l_table_index).C_ext_attr3
5509 , P_new_ext_attrs(l_table_index).C_ext_attr4
5510 , P_new_ext_attrs(l_table_index).C_ext_attr5
5511 , P_new_ext_attrs(l_table_index).C_ext_attr6
5512 , P_new_ext_attrs(l_table_index).C_ext_attr7
5513 , P_new_ext_attrs(l_table_index).C_ext_attr8
5514 , P_new_ext_attrs(l_table_index).C_ext_attr9
5515 , P_new_ext_attrs(l_table_index).C_ext_attr10
5516 , P_new_ext_attrs(l_table_index).C_ext_attr11
5517 , P_new_ext_attrs(l_table_index).C_ext_attr12
5518 , P_new_ext_attrs(l_table_index).C_ext_attr13
5519 , P_new_ext_attrs(l_table_index).C_ext_attr14
5520 , P_new_ext_attrs(l_table_index).C_ext_attr15
5521 , P_new_ext_attrs(l_table_index).C_ext_attr16
5522 , P_new_ext_attrs(l_table_index).C_ext_attr17
5523 , P_new_ext_attrs(l_table_index).C_ext_attr18
5524 , P_new_ext_attrs(l_table_index).C_ext_attr19
5525 , P_new_ext_attrs(l_table_index).C_ext_attr20
5526 , P_new_ext_attrs(l_table_index).C_ext_attr21
5527 , P_new_ext_attrs(l_table_index).C_ext_attr22
5528 , P_new_ext_attrs(l_table_index).C_ext_attr23
5529 , P_new_ext_attrs(l_table_index).C_ext_attr24
5530 , P_new_ext_attrs(l_table_index).C_ext_attr25
5531 , P_new_ext_attrs(l_table_index).C_ext_attr26
5532 , P_new_ext_attrs(l_table_index).C_ext_attr27
5533 , P_new_ext_attrs(l_table_index).C_ext_attr28
5534 , P_new_ext_attrs(l_table_index).C_ext_attr29
5535 , P_new_ext_attrs(l_table_index).C_ext_attr30
5536 , P_new_ext_attrs(l_table_index).C_ext_attr31
5537 , P_new_ext_attrs(l_table_index).C_ext_attr32
5538 , P_new_ext_attrs(l_table_index).C_ext_attr33
5539 , P_new_ext_attrs(l_table_index).C_ext_attr34
5540 , P_new_ext_attrs(l_table_index).C_ext_attr35
5541 , P_new_ext_attrs(l_table_index).C_ext_attr36
5542 , P_new_ext_attrs(l_table_index).C_ext_attr37
5543 , P_new_ext_attrs(l_table_index).C_ext_attr38
5544 , P_new_ext_attrs(l_table_index).C_ext_attr39
5545 , P_new_ext_attrs(l_table_index).C_ext_attr40
5546 , P_new_ext_attrs(l_table_index).C_ext_attr41
5547 , P_new_ext_attrs(l_table_index).C_ext_attr42
5548 , P_new_ext_attrs(l_table_index).C_ext_attr43
5549 , P_new_ext_attrs(l_table_index).C_ext_attr44
5550 , P_new_ext_attrs(l_table_index).C_ext_attr45
5551 , P_new_ext_attrs(l_table_index).C_ext_attr46
5552 , P_new_ext_attrs(l_table_index).C_ext_attr47
5553 , P_new_ext_attrs(l_table_index).C_ext_attr48
5554 , P_new_ext_attrs(l_table_index).C_ext_attr49
5555 , P_new_ext_attrs(l_table_index).C_ext_attr50
5556 , P_old_ext_attrs(l_table_index).C_ext_attr1
5557 , P_old_ext_attrs(l_table_index).C_ext_attr2
5558 , P_old_ext_attrs(l_table_index).C_ext_attr3
5559 , P_old_ext_attrs(l_table_index).C_ext_attr4
5560 , P_old_ext_attrs(l_table_index).C_ext_attr5
5561 , P_old_ext_attrs(l_table_index).C_ext_attr6
5562 , P_old_ext_attrs(l_table_index).C_ext_attr7
5563 , P_old_ext_attrs(l_table_index).C_ext_attr8
5564 , P_old_ext_attrs(l_table_index).C_ext_attr9
5565 , P_old_ext_attrs(l_table_index).C_ext_attr10
5566 , P_old_ext_attrs(l_table_index).C_ext_attr11
5567 , P_old_ext_attrs(l_table_index).C_ext_attr12
5568 , P_old_ext_attrs(l_table_index).C_ext_attr13
5569 , P_old_ext_attrs(l_table_index).C_ext_attr14
5570 , P_old_ext_attrs(l_table_index).C_ext_attr15
5571 , P_old_ext_attrs(l_table_index).C_ext_attr16
5572 , P_old_ext_attrs(l_table_index).C_ext_attr17
5573 , P_old_ext_attrs(l_table_index).C_ext_attr18
5574 , P_old_ext_attrs(l_table_index).C_ext_attr19
5575 , P_old_ext_attrs(l_table_index).C_ext_attr20
5576 , P_old_ext_attrs(l_table_index).C_ext_attr21
5577 , P_old_ext_attrs(l_table_index).C_ext_attr22
5578 , P_old_ext_attrs(l_table_index).C_ext_attr23
5579 , P_old_ext_attrs(l_table_index).C_ext_attr24
5580 , P_old_ext_attrs(l_table_index).C_ext_attr25
5581 , P_old_ext_attrs(l_table_index).C_ext_attr26
5582 , P_old_ext_attrs(l_table_index).C_ext_attr27
5583 , P_old_ext_attrs(l_table_index).C_ext_attr28
5584 , P_old_ext_attrs(l_table_index).C_ext_attr29
5585 , P_old_ext_attrs(l_table_index).C_ext_attr30
5586 , P_old_ext_attrs(l_table_index).C_ext_attr31
5587 , P_old_ext_attrs(l_table_index).C_ext_attr32
5588 , P_old_ext_attrs(l_table_index).C_ext_attr33
5589 , P_old_ext_attrs(l_table_index).C_ext_attr34
5590 , P_old_ext_attrs(l_table_index).C_ext_attr35
5591 , P_old_ext_attrs(l_table_index).C_ext_attr36
5592 , P_old_ext_attrs(l_table_index).C_ext_attr37
5593 , P_old_ext_attrs(l_table_index).C_ext_attr38
5594 , P_old_ext_attrs(l_table_index).C_ext_attr39
5595 , P_old_ext_attrs(l_table_index).C_ext_attr40
5596 , P_old_ext_attrs(l_table_index).C_ext_attr41
5597 , P_old_ext_attrs(l_table_index).C_ext_attr42
5598 , P_old_ext_attrs(l_table_index).C_ext_attr43
5599 , P_old_ext_attrs(l_table_index).C_ext_attr44
5600 , P_old_ext_attrs(l_table_index).C_ext_attr45
5601 , P_old_ext_attrs(l_table_index).C_ext_attr46
5602 , P_old_ext_attrs(l_table_index).C_ext_attr47
5603 , P_old_ext_attrs(l_table_index).C_ext_attr48
5604 , P_old_ext_attrs(l_table_index).C_ext_attr49
5605 , P_old_ext_attrs(l_table_index).C_ext_attr50
5606 , P_new_ext_attrs(l_table_index).N_ext_attr1
5607 , P_new_ext_attrs(l_table_index).N_ext_attr2
5608 , P_new_ext_attrs(l_table_index).N_ext_attr3
5609 , P_new_ext_attrs(l_table_index).N_ext_attr4
5610 , P_new_ext_attrs(l_table_index).N_ext_attr5
5611 , P_new_ext_attrs(l_table_index).N_ext_attr6
5612 , P_new_ext_attrs(l_table_index).N_ext_attr7
5613 , P_new_ext_attrs(l_table_index).N_ext_attr8
5614 , P_new_ext_attrs(l_table_index).N_ext_attr9
5615 , P_new_ext_attrs(l_table_index).N_ext_attr10
5616 , P_new_ext_attrs(l_table_index).N_ext_attr11
5617 , P_new_ext_attrs(l_table_index).N_ext_attr12
5618 , P_new_ext_attrs(l_table_index).N_ext_attr13
5619 , P_new_ext_attrs(l_table_index).N_ext_attr14
5620 , P_new_ext_attrs(l_table_index).N_ext_attr15
5621 , P_new_ext_attrs(l_table_index).N_ext_attr16
5622 , P_new_ext_attrs(l_table_index).N_ext_attr17
5623 , P_new_ext_attrs(l_table_index).N_ext_attr18
5624 , P_new_ext_attrs(l_table_index).N_ext_attr19
5625 , P_new_ext_attrs(l_table_index).N_ext_attr20
5626 , P_new_ext_attrs(l_table_index).N_ext_attr21
5627 , P_new_ext_attrs(l_table_index).N_ext_attr22
5628 , P_new_ext_attrs(l_table_index).N_ext_attr23
5629 , P_new_ext_attrs(l_table_index).N_ext_attr24
5630 , P_new_ext_attrs(l_table_index).N_ext_attr25
5631 , P_old_ext_attrs(l_table_index).N_ext_attr1
5632 , P_old_ext_attrs(l_table_index).N_ext_attr2
5633 , P_old_ext_attrs(l_table_index).N_ext_attr3
5634 , P_old_ext_attrs(l_table_index).N_ext_attr4
5635 , P_old_ext_attrs(l_table_index).N_ext_attr5
5636 , P_old_ext_attrs(l_table_index).N_ext_attr6
5637 , P_old_ext_attrs(l_table_index).N_ext_attr7
5638 , P_old_ext_attrs(l_table_index).N_ext_attr8
5639 , P_old_ext_attrs(l_table_index).N_ext_attr9
5640 , P_old_ext_attrs(l_table_index).N_ext_attr10
5641 , P_old_ext_attrs(l_table_index).N_ext_attr11
5642 , P_old_ext_attrs(l_table_index).N_ext_attr12
5643 , P_old_ext_attrs(l_table_index).N_ext_attr13
5644 , P_old_ext_attrs(l_table_index).N_ext_attr14
5645 , P_old_ext_attrs(l_table_index).N_ext_attr15
5646 , P_old_ext_attrs(l_table_index).N_ext_attr16
5647 , P_old_ext_attrs(l_table_index).N_ext_attr17
5648 , P_old_ext_attrs(l_table_index).N_ext_attr18
5649 , P_old_ext_attrs(l_table_index).N_ext_attr19
5650 , P_old_ext_attrs(l_table_index).N_ext_attr20
5651 , P_old_ext_attrs(l_table_index).N_ext_attr21
5652 , P_old_ext_attrs(l_table_index).N_ext_attr22
5653 , P_old_ext_attrs(l_table_index).N_ext_attr23
5654 , P_old_ext_attrs(l_table_index).N_ext_attr24
5655 , P_old_ext_attrs(l_table_index).N_ext_attr25
5656 , P_new_ext_attrs(l_table_index).D_EXT_ATTR1
5657 , P_new_ext_attrs(l_table_index).D_EXT_ATTR2
5658 , P_new_ext_attrs(l_table_index).D_EXT_ATTR3
5659 , P_new_ext_attrs(l_table_index).D_EXT_ATTR4
5660 , P_new_ext_attrs(l_table_index).D_EXT_ATTR5
5661 , P_new_ext_attrs(l_table_index).D_EXT_ATTR6
5662 , P_new_ext_attrs(l_table_index).D_EXT_ATTR7
5663 , P_new_ext_attrs(l_table_index).D_EXT_ATTR8
5664 , P_new_ext_attrs(l_table_index).D_EXT_ATTR9
5665 , P_new_ext_attrs(l_table_index).D_EXT_ATTR10
5666 , P_new_ext_attrs(l_table_index).D_EXT_ATTR11
5667 , P_new_ext_attrs(l_table_index).D_EXT_ATTR12
5668 , P_new_ext_attrs(l_table_index).D_EXT_ATTR13
5669 , P_new_ext_attrs(l_table_index).D_EXT_ATTR14
5670 , P_new_ext_attrs(l_table_index).D_EXT_ATTR15
5671 , P_new_ext_attrs(l_table_index).D_EXT_ATTR16
5672 , P_new_ext_attrs(l_table_index).D_EXT_ATTR17
5673 , P_new_ext_attrs(l_table_index).D_EXT_ATTR18
5674 , P_new_ext_attrs(l_table_index).D_EXT_ATTR19
5675 , P_new_ext_attrs(l_table_index).D_EXT_ATTR20
5676 , P_new_ext_attrs(l_table_index).D_EXT_ATTR21
5677 , P_new_ext_attrs(l_table_index).D_EXT_ATTR22
5678 , P_new_ext_attrs(l_table_index).D_EXT_ATTR23
5679 , P_new_ext_attrs(l_table_index).D_EXT_ATTR24
5680 , P_new_ext_attrs(l_table_index).D_EXT_ATTR25
5681 , P_old_ext_attrs(l_table_index).D_ext_attr1
5682 , P_old_ext_attrs(l_table_index).D_ext_attr2
5683 , P_old_ext_attrs(l_table_index).D_ext_attr3
5684 , P_old_ext_attrs(l_table_index).D_ext_attr4
5685 , P_old_ext_attrs(l_table_index).D_ext_attr5
5686 , P_old_ext_attrs(l_table_index).D_ext_attr6
5687 , P_old_ext_attrs(l_table_index).D_ext_attr7
5688 , P_old_ext_attrs(l_table_index).D_ext_attr8
5689 , P_old_ext_attrs(l_table_index).D_ext_attr9
5690 , P_old_ext_attrs(l_table_index).D_ext_attr10
5691 , P_old_ext_attrs(l_table_index).D_ext_attr11
5692 , P_old_ext_attrs(l_table_index).D_ext_attr12
5693 , P_old_ext_attrs(l_table_index).D_ext_attr13
5694 , P_old_ext_attrs(l_table_index).D_ext_attr14
5695 , P_old_ext_attrs(l_table_index).D_ext_attr15
5696 , P_old_ext_attrs(l_table_index).D_ext_attr16
5697 , P_old_ext_attrs(l_table_index).D_ext_attr17
5698 , P_old_ext_attrs(l_table_index).D_ext_attr18
5699 , P_old_ext_attrs(l_table_index).D_ext_attr19
5700 , P_old_ext_attrs(l_table_index).D_ext_attr20
5701 , P_old_ext_attrs(l_table_index).D_ext_attr21
5702 , P_old_ext_attrs(l_table_index).D_ext_attr22
5703 , P_old_ext_attrs(l_table_index).D_ext_attr23
5704 , P_old_ext_attrs(l_table_index).D_ext_attr24
5705 , P_old_ext_attrs(l_table_index).D_ext_attr25
5706 , P_new_ext_attrs(l_table_index).UOM_ext_attr1
5707 , P_new_ext_attrs(l_table_index).UOM_ext_attr2
5708 , P_new_ext_attrs(l_table_index).UOM_ext_attr3
5709 , P_new_ext_attrs(l_table_index).UOM_ext_attr4
5710 , P_new_ext_attrs(l_table_index).UOM_ext_attr5
5711 , P_new_ext_attrs(l_table_index).UOM_ext_attr6
5712 , P_new_ext_attrs(l_table_index).UOM_ext_attr7
5713 , P_new_ext_attrs(l_table_index).UOM_ext_attr8
5714 , P_new_ext_attrs(l_table_index).UOM_ext_attr9
5715 , P_new_ext_attrs(l_table_index).UOM_ext_attr10
5716 , P_new_ext_attrs(l_table_index).UOM_ext_attr11
5717 , P_new_ext_attrs(l_table_index).UOM_ext_attr12
5718 , P_new_ext_attrs(l_table_index).UOM_ext_attr13
5719 , P_new_ext_attrs(l_table_index).UOM_ext_attr14
5720 , P_new_ext_attrs(l_table_index).UOM_ext_attr15
5721 , P_new_ext_attrs(l_table_index).UOM_ext_attr16
5722 , P_new_ext_attrs(l_table_index).UOM_ext_attr17
5723 , P_new_ext_attrs(l_table_index).UOM_ext_attr18
5724 , P_new_ext_attrs(l_table_index).UOM_ext_attr19
5725 , P_new_ext_attrs(l_table_index).UOM_ext_attr20
5726 , P_new_ext_attrs(l_table_index).UOM_ext_attr21
5727 , P_new_ext_attrs(l_table_index).UOM_ext_attr22
5728 , P_new_ext_attrs(l_table_index).UOM_ext_attr23
5729 , P_new_ext_attrs(l_table_index).UOM_ext_attr24
5730 , P_new_ext_attrs(l_table_index).UOM_ext_attr25
5731 , P_old_ext_attrs(l_table_index).UOM_ext_attr1
5732 , P_old_ext_attrs(l_table_index).UOM_ext_attr2
5733 , P_old_ext_attrs(l_table_index).UOM_ext_attr3
5734 , P_old_ext_attrs(l_table_index).UOM_ext_attr4
5735 , P_old_ext_attrs(l_table_index).UOM_ext_attr5
5736 , P_old_ext_attrs(l_table_index).UOM_ext_attr6
5737 , P_old_ext_attrs(l_table_index).UOM_ext_attr7
5738 , P_old_ext_attrs(l_table_index).UOM_ext_attr8
5739 , P_old_ext_attrs(l_table_index).UOM_ext_attr9
5740 , P_old_ext_attrs(l_table_index).UOM_ext_attr10
5741 , P_old_ext_attrs(l_table_index).UOM_ext_attr11
5742 , P_old_ext_attrs(l_table_index).UOM_ext_attr12
5743 , P_old_ext_attrs(l_table_index).UOM_ext_attr13
5744 , P_old_ext_attrs(l_table_index).UOM_ext_attr14
5745 , P_old_ext_attrs(l_table_index).UOM_ext_attr15
5746 , P_old_ext_attrs(l_table_index).UOM_ext_attr16
5747 , P_old_ext_attrs(l_table_index).UOM_ext_attr17
5748 , P_old_ext_attrs(l_table_index).UOM_ext_attr18
5749 , P_old_ext_attrs(l_table_index).UOM_ext_attr19
5750 , P_old_ext_attrs(l_table_index).UOM_ext_attr20
5751 , P_old_ext_attrs(l_table_index).UOM_ext_attr21
5752 , P_old_ext_attrs(l_table_index).UOM_ext_attr22
5753 , P_old_ext_attrs(l_table_index).UOM_ext_attr23
5754 , P_old_ext_attrs(l_table_index).UOM_ext_attr24
5755 , P_old_ext_attrs(l_table_index).UOM_ext_attr25
5756 , l_modified_on
5757 , l_modified_by
5758 );
5759
5760 --DBMS_OUTPUT.PUT_LINE('inside for loop after insert ');
5761 END IF;
5762 END LOOP;
5763
5764 END IF ; -- no records in the table.
5765
5766
5767 EXCEPTION
5768 WHEN OTHERS THEN
5769 --DBMS_OUTPUT.PUT_LINE('when other ..');
5770 --DBMS_OUTPUT.PUT_LINE(substr(SQLERRM,1,200));
5771 FND_MESSAGE.set_name ('CS', 'CS_API_SR_UNKNOWN_ERROR');
5772 FND_MESSAGE.set_token('P_TEXT','cs_sr_ext_attr_data_pvt.insert_sr_row'||'-'||substr(SQLERRM,1,200));
5773 FND_MSG_PUB.ADD;
5774 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5775
5776 END insert_sr_row;
5777
5778
5779 --------------------------------------------------------------------------------
5780 -- Procedure Name : insert_pr_row
5781 -- Parameters :
5782 -- IN : p_new_ext_attrs Table New ext attr values
5783 -- : p_old_ext_attrs Table old Ext attr values
5784 -- : p_modified_by Identity of user creationg/modifying
5785 -- Ext attrs
5786 -- : p_modified_on Date of Ext Attr creation/update
5787 -- OUT : x_return_status Status of procedure return
5788 -- : x_msg_count Number of error messages
5789 -- : x_msg_data Error description
5790 --
5791 -- Description : Procedure to create audit of party role extensible attributes.
5792 --
5793 -- Modification History:
5794 -- Date Name Desc
5795 -- -------- -------- -----------------------------------------------------------
5796 -- 05/05/05 pkesani Created
5797 -- 08/08/05 smisra Modified insert statement and used pk values for
5798 -- incident id, party id, party type and party role
5799 --------------------------------------------------------------------------------
5800 PROCEDURE insert_pr_row
5801 ( P_NEW_ext_attrs IN Ext_Attr_Audit_Tbl_Type
5802 , P_OLD_ext_attrs IN Ext_Attr_Audit_Tbl_Type
5803 , P_MODIFIED_BY IN NUMBER
5804 , P_MODIFIED_ON IN DATE
5805 , X_RETURN_STATUS OUT NOCOPY VARCHAR2
5806 , X_MSG_COUNT OUT NOCOPY NUMBER
5807 , X_MSG_DATA OUT NOCOPY VARCHAR2
5808 ) IS
5809 l_table_index NUMBER;
5810 l_ext_audit_id NUMBER;
5811 l_last_updated_by NUMBER;
5812 l_last_update_date DATE;
5813 l_last_update_login NUMBER;
5814 l_modified_by NUMBER;
5815 l_modified_on DATE;
5816 l_msg_count NUMBER;
5817 l_msg_data VARCHAR2(2000);
5818 l_api_name CONSTANT VARCHAR2(30) := 'insert_pr_row';
5819 l_api_name_full CONSTANT VARCHAR2(61) := 'CS_SR_EXTATTRIBUTES_PVT'||'.'||l_api_name;
5820 l_incident_id number;
5821 BEGIN
5822 x_return_status := FND_API.G_RET_STS_SUCCESS;
5823
5824
5825 l_last_updated_by := FND_GLOBAL.USER_ID;
5826 l_last_update_login := FND_GLOBAL.LOGIN_ID;
5827 l_last_update_date := SYSDATE;
5828
5829 IF P_MODIFIED_BY IS NULL THEN
5830 l_modified_by := FND_GLOBAL.USER_ID;
5831 ELSE
5832 l_modified_by := P_MODIFIED_BY;
5833 END IF;
5834
5835 IF P_MODIFIED_ON IS NULL THEN
5836 l_modified_on := SYSDATE;
5837 ELSE
5838 l_modified_on := P_MODIFIED_ON;
5839 END IF;
5840
5841 IF P_NEW_ext_attrs.count = 0 OR P_OLD_ext_attrs.count = 0 THEN
5842 RETURN;
5843 ELSE
5844 FOR l_table_index in P_NEW_ext_attrs.FIRST..P_NEW_ext_attrs.LAST LOOP
5845
5846 -- Update the cs header table whenver an extensible attribute is created
5847 -- Fix by Sanjana Rao , 08-jan-2010 for bug 9125600
5848 If nvl(l_incident_id,-1)<>to_number(P_new_ext_attrs(l_table_index).pk_column_1) then
5849 l_incident_id:=to_number(P_new_ext_attrs(l_table_index).pk_column_1);
5850 update cs_incidents_all_b
5851 set last_update_date=l_modified_on,
5852 last_updated_by=l_modified_by,
5853 last_update_login=l_last_update_login
5854 where incident_id=l_incident_id;
5855 end if;
5856
5857 SELECT CS_SR_CONTACTS_EXT_AUDIT_S.NEXTVAL INTO l_ext_audit_id FROM dual;
5858 --DBMS_OUTPUT.PUT_LINE('inside for loop:' || to_char(l_ext_audit_id));
5859
5860 --DBMS_OUTPUT.PUT_LINE('P_new_ext_attrs(l_table_index).extension_ID'||P_new_ext_attrs(l_table_index).extension_ID);
5861
5862 INSERT INTO CS_SR_CONTACTS_EXT_AUDIT
5863 ( AUDIT_EXTENSION_ID
5864 , EXTENSION_ID
5865 , INCIDENT_ID
5866 , CONTEXT
5867 , ATTR_GROUP_ID
5868 , CREATION_DATE
5869 , CREATED_BY
5870 , LAST_UPDATE_DATE
5871 , LAST_UPDATED_BY
5872 , LAST_UPDATE_LOGIN
5873 , C_EXT_ATTR1
5874 , C_EXT_ATTR2
5875 , C_EXT_ATTR3
5876 , C_EXT_ATTR4
5877 , C_EXT_ATTR5
5878 , C_EXT_ATTR6
5879 , C_EXT_ATTR7
5880 , C_EXT_ATTR8
5881 , C_EXT_ATTR9
5882 , C_EXT_ATTR10
5883 , C_EXT_ATTR11
5884 , C_EXT_ATTR12
5885 , C_EXT_ATTR13
5886 , C_EXT_ATTR14
5887 , C_EXT_ATTR15
5888 , C_EXT_ATTR16
5889 , C_EXT_ATTR17
5890 , C_EXT_ATTR18
5891 , C_EXT_ATTR19
5892 , C_EXT_ATTR20
5893 , C_EXT_ATTR21
5894 , C_EXT_ATTR22
5895 , C_EXT_ATTR23
5896 , C_EXT_ATTR24
5897 , C_EXT_ATTR25
5898 , C_EXT_ATTR26
5899 , C_EXT_ATTR27
5900 , C_EXT_ATTR28
5901 , C_EXT_ATTR29
5902 , C_EXT_ATTR30
5903 , C_EXT_ATTR31
5904 , C_EXT_ATTR32
5905 , C_EXT_ATTR33
5906 , C_EXT_ATTR34
5907 , C_EXT_ATTR35
5908 , C_EXT_ATTR36
5909 , C_EXT_ATTR37
5910 , C_EXT_ATTR38
5911 , C_EXT_ATTR39
5912 , C_EXT_ATTR40
5913 , C_EXT_ATTR41
5914 , C_EXT_ATTR42
5915 , C_EXT_ATTR43
5916 , C_EXT_ATTR44
5917 , C_EXT_ATTR45
5918 , C_EXT_ATTR46
5919 , C_EXT_ATTR47
5920 , C_EXT_ATTR48
5921 , C_EXT_ATTR49
5922 , C_EXT_ATTR50
5923 , OLD_C_EXT_ATTR1
5924 , OLD_C_EXT_ATTR2
5925 , OLD_C_EXT_ATTR3
5926 , OLD_C_EXT_ATTR4
5927 , OLD_C_EXT_ATTR5
5928 , OLD_C_EXT_ATTR6
5929 , OLD_C_EXT_ATTR7
5930 , OLD_C_EXT_ATTR8
5931 , OLD_C_EXT_ATTR9
5932 , OLD_C_EXT_ATTR10
5933 , OLD_C_EXT_ATTR11
5934 , OLD_C_EXT_ATTR12
5935 , OLD_C_EXT_ATTR13
5936 , OLD_C_EXT_ATTR14
5937 , OLD_C_EXT_ATTR15
5938 , OLD_C_EXT_ATTR16
5939 , OLD_C_EXT_ATTR17
5940 , OLD_C_EXT_ATTR18
5941 , OLD_C_EXT_ATTR19
5942 , OLD_C_EXT_ATTR20
5943 , OLD_C_EXT_ATTR21
5944 , OLD_C_EXT_ATTR22
5945 , OLD_C_EXT_ATTR23
5946 , OLD_C_EXT_ATTR24
5947 , OLD_C_EXT_ATTR25
5948 , OLD_C_EXT_ATTR26
5949 , OLD_C_EXT_ATTR27
5950 , OLD_C_EXT_ATTR28
5951 , OLD_C_EXT_ATTR29
5952 , OLD_C_EXT_ATTR30
5953 , OLD_C_EXT_ATTR31
5954 , OLD_C_EXT_ATTR32
5955 , OLD_C_EXT_ATTR33
5956 , OLD_C_EXT_ATTR34
5957 , OLD_C_EXT_ATTR35
5958 , OLD_C_EXT_ATTR36
5959 , OLD_C_EXT_ATTR37
5960 , OLD_C_EXT_ATTR38
5961 , OLD_C_EXT_ATTR39
5962 , OLD_C_EXT_ATTR40
5963 , OLD_C_EXT_ATTR41
5964 , OLD_C_EXT_ATTR42
5965 , OLD_C_EXT_ATTR43
5966 , OLD_C_EXT_ATTR44
5967 , OLD_C_EXT_ATTR45
5968 , OLD_C_EXT_ATTR46
5969 , OLD_C_EXT_ATTR47
5970 , OLD_C_EXT_ATTR48
5971 , OLD_C_EXT_ATTR49
5972 , OLD_C_EXT_ATTR50
5973 , N_EXT_ATTR1
5974 , N_EXT_ATTR2
5975 , N_EXT_ATTR3
5976 , N_EXT_ATTR4
5977 , N_EXT_ATTR5
5978 , N_EXT_ATTR6
5979 , N_EXT_ATTR7
5980 , N_EXT_ATTR8
5981 , N_EXT_ATTR9
5982 , N_EXT_ATTR10
5983 , N_EXT_ATTR11
5984 , N_EXT_ATTR12
5985 , N_EXT_ATTR13
5986 , N_EXT_ATTR14
5987 , N_EXT_ATTR15
5988 , N_EXT_ATTR16
5989 , N_EXT_ATTR17
5990 , N_EXT_ATTR18
5991 , N_EXT_ATTR19
5992 , N_EXT_ATTR20
5993 , N_EXT_ATTR21
5994 , N_EXT_ATTR22
5995 , N_EXT_ATTR23
5996 , N_EXT_ATTR24
5997 , N_EXT_ATTR25
5998 , OLD_N_EXT_ATTR1
5999 , OLD_N_EXT_ATTR2
6000 , OLD_N_EXT_ATTR3
6001 , OLD_N_EXT_ATTR4
6002 , OLD_N_EXT_ATTR5
6003 , OLD_N_EXT_ATTR6
6004 , OLD_N_EXT_ATTR7
6005 , OLD_N_EXT_ATTR8
6006 , OLD_N_EXT_ATTR9
6007 , OLD_N_EXT_ATTR10
6008 , OLD_N_EXT_ATTR11
6009 , OLD_N_EXT_ATTR12
6010 , OLD_N_EXT_ATTR13
6011 , OLD_N_EXT_ATTR14
6012 , OLD_N_EXT_ATTR15
6013 , OLD_N_EXT_ATTR16
6014 , OLD_N_EXT_ATTR17
6015 , OLD_N_EXT_ATTR18
6016 , OLD_N_EXT_ATTR19
6017 , OLD_N_EXT_ATTR20
6018 , OLD_N_EXT_ATTR21
6019 , OLD_N_EXT_ATTR22
6020 , OLD_N_EXT_ATTR23
6021 , OLD_N_EXT_ATTR24
6022 , OLD_N_EXT_ATTR25
6023 , D_EXT_ATTR1
6024 , D_EXT_ATTR2
6025 , D_EXT_ATTR3
6026 , D_EXT_ATTR4
6027 , D_EXT_ATTR5
6028 , D_EXT_ATTR6
6029 , D_EXT_ATTR7
6030 , D_EXT_ATTR8
6031 , D_EXT_ATTR9
6032 , D_EXT_ATTR10
6033 , D_EXT_ATTR11
6034 , D_EXT_ATTR12
6035 , D_EXT_ATTR13
6036 , D_EXT_ATTR14
6037 , D_EXT_ATTR15
6038 , D_EXT_ATTR16
6039 , D_EXT_ATTR17
6040 , D_EXT_ATTR18
6041 , D_EXT_ATTR19
6042 , D_EXT_ATTR20
6043 , D_EXT_ATTR21
6044 , D_EXT_ATTR22
6045 , D_EXT_ATTR23
6046 , D_EXT_ATTR24
6047 , D_EXT_ATTR25
6048 , OLD_D_EXT_ATTR1
6049 , OLD_D_EXT_ATTR2
6050 , OLD_D_EXT_ATTR3
6051 , OLD_D_EXT_ATTR4
6052 , OLD_D_EXT_ATTR5
6053 , OLD_D_EXT_ATTR6
6054 , OLD_D_EXT_ATTR7
6055 , OLD_D_EXT_ATTR8
6056 , OLD_D_EXT_ATTR9
6057 , OLD_D_EXT_ATTR10
6058 , OLD_D_EXT_ATTR11
6059 , OLD_D_EXT_ATTR12
6060 , OLD_D_EXT_ATTR13
6061 , OLD_D_EXT_ATTR14
6062 , OLD_D_EXT_ATTR15
6063 , OLD_D_EXT_ATTR16
6064 , OLD_D_EXT_ATTR17
6065 , OLD_D_EXT_ATTR18
6066 , OLD_D_EXT_ATTR19
6067 , OLD_D_EXT_ATTR20
6068 , OLD_D_EXT_ATTR21
6069 , OLD_D_EXT_ATTR22
6070 , OLD_D_EXT_ATTR23
6071 , OLD_D_EXT_ATTR24
6072 , OLD_D_EXT_ATTR25
6073 , UOM_EXT_ATTR1
6074 , UOM_EXT_ATTR2
6075 , UOM_EXT_ATTR3
6076 , UOM_EXT_ATTR4
6077 , UOM_EXT_ATTR5
6078 , UOM_EXT_ATTR6
6079 , UOM_EXT_ATTR7
6080 , UOM_EXT_ATTR8
6081 , UOM_EXT_ATTR9
6082 , UOM_EXT_ATTR10
6083 , UOM_EXT_ATTR11
6084 , UOM_EXT_ATTR12
6085 , UOM_EXT_ATTR13
6086 , UOM_EXT_ATTR14
6087 , UOM_EXT_ATTR15
6088 , UOM_EXT_ATTR16
6089 , UOM_EXT_ATTR17
6090 , UOM_EXT_ATTR18
6091 , UOM_EXT_ATTR19
6092 , UOM_EXT_ATTR20
6093 , UOM_EXT_ATTR21
6094 , UOM_EXT_ATTR22
6095 , UOM_EXT_ATTR23
6096 , UOM_EXT_ATTR24
6097 , UOM_EXT_ATTR25
6098 , OLD_UOM_EXT_ATTR1
6099 , OLD_UOM_EXT_ATTR2
6100 , OLD_UOM_EXT_ATTR3
6101 , OLD_UOM_EXT_ATTR4
6102 , OLD_UOM_EXT_ATTR5
6103 , OLD_UOM_EXT_ATTR6
6104 , OLD_UOM_EXT_ATTR7
6105 , OLD_UOM_EXT_ATTR8
6106 , OLD_UOM_EXT_ATTR9
6107 , OLD_UOM_EXT_ATTR10
6108 , OLD_UOM_EXT_ATTR11
6109 , OLD_UOM_EXT_ATTR12
6110 , OLD_UOM_EXT_ATTR13
6111 , OLD_UOM_EXT_ATTR14
6112 , OLD_UOM_EXT_ATTR15
6113 , OLD_UOM_EXT_ATTR16
6114 , OLD_UOM_EXT_ATTR17
6115 , OLD_UOM_EXT_ATTR18
6116 , OLD_UOM_EXT_ATTR19
6117 , OLD_UOM_EXT_ATTR20
6118 , OLD_UOM_EXT_ATTR21
6119 , OLD_UOM_EXT_ATTR22
6120 , OLD_UOM_EXT_ATTR23
6121 , OLD_UOM_EXT_ATTR24
6122 , OLD_UOM_EXT_ATTR25
6123 , PARTY_ID
6124 , OLD_PARTY_ID
6125 , CONTACT_TYPE
6126 , PARTY_ROLE_CODE
6127 , EXT_ATTR_MODIFIED_ON
6128 , EXT_ATTR_MODIFIED_BY
6129 )
6130 VALUES
6131 ( l_ext_audit_id
6132 , P_new_ext_attrs(l_table_index).extension_ID
6133 , TO_NUMBER(p_new_ext_attrs(l_table_index).pk_column_1)
6134 , P_new_ext_attrs(l_table_index).context
6135 , P_new_ext_attrs(l_table_index).attr_group_id
6136 , l_last_update_date
6137 , l_last_updated_by
6138 , l_last_update_date
6139 , l_last_updated_by
6140 , l_last_update_login
6141 , P_new_ext_attrs(l_table_index).C_ext_attr1
6142 , P_new_ext_attrs(l_table_index).C_ext_attr2
6143 , P_new_ext_attrs(l_table_index).C_ext_attr3
6144 , P_new_ext_attrs(l_table_index).C_ext_attr4
6145 , P_new_ext_attrs(l_table_index).C_ext_attr5
6146 , P_new_ext_attrs(l_table_index).C_ext_attr6
6147 , P_new_ext_attrs(l_table_index).C_ext_attr7
6148 , P_new_ext_attrs(l_table_index).C_ext_attr8
6149 , P_new_ext_attrs(l_table_index).C_ext_attr9
6150 , P_new_ext_attrs(l_table_index).C_ext_attr10
6151 , P_new_ext_attrs(l_table_index).C_ext_attr11
6152 , P_new_ext_attrs(l_table_index).C_ext_attr12
6153 , P_new_ext_attrs(l_table_index).C_ext_attr13
6154 , P_new_ext_attrs(l_table_index).C_ext_attr14
6155 , P_new_ext_attrs(l_table_index).C_ext_attr15
6156 , P_new_ext_attrs(l_table_index).C_ext_attr16
6157 , P_new_ext_attrs(l_table_index).C_ext_attr17
6158 , P_new_ext_attrs(l_table_index).C_ext_attr18
6159 , P_new_ext_attrs(l_table_index).C_ext_attr19
6160 , P_new_ext_attrs(l_table_index).C_ext_attr20
6161 , P_new_ext_attrs(l_table_index).C_ext_attr21
6162 , P_new_ext_attrs(l_table_index).C_ext_attr22
6163 , P_new_ext_attrs(l_table_index).C_ext_attr23
6164 , P_new_ext_attrs(l_table_index).C_ext_attr24
6165 , P_new_ext_attrs(l_table_index).C_ext_attr25
6166 , P_new_ext_attrs(l_table_index).C_ext_attr26
6167 , P_new_ext_attrs(l_table_index).C_ext_attr27
6168 , P_new_ext_attrs(l_table_index).C_ext_attr28
6169 , P_new_ext_attrs(l_table_index).C_ext_attr29
6170 , P_new_ext_attrs(l_table_index).C_ext_attr30
6171 , P_new_ext_attrs(l_table_index).C_ext_attr31
6172 , P_new_ext_attrs(l_table_index).C_ext_attr32
6173 , P_new_ext_attrs(l_table_index).C_ext_attr33
6174 , P_new_ext_attrs(l_table_index).C_ext_attr34
6175 , P_new_ext_attrs(l_table_index).C_ext_attr35
6176 , P_new_ext_attrs(l_table_index).C_ext_attr36
6177 , P_new_ext_attrs(l_table_index).C_ext_attr37
6178 , P_new_ext_attrs(l_table_index).C_ext_attr38
6179 , P_new_ext_attrs(l_table_index).C_ext_attr39
6180 , P_new_ext_attrs(l_table_index).C_ext_attr40
6181 , P_new_ext_attrs(l_table_index).C_ext_attr41
6182 , P_new_ext_attrs(l_table_index).C_ext_attr42
6183 , P_new_ext_attrs(l_table_index).C_ext_attr43
6184 , P_new_ext_attrs(l_table_index).C_ext_attr44
6185 , P_new_ext_attrs(l_table_index).C_ext_attr45
6186 , P_new_ext_attrs(l_table_index).C_ext_attr46
6187 , P_new_ext_attrs(l_table_index).C_ext_attr47
6188 , P_new_ext_attrs(l_table_index).C_ext_attr48
6189 , P_new_ext_attrs(l_table_index).C_ext_attr49
6190 , P_new_ext_attrs(l_table_index).C_ext_attr50
6191 , P_old_ext_attrs(l_table_index).C_ext_attr1
6192 , P_old_ext_attrs(l_table_index).C_ext_attr2
6193 , P_old_ext_attrs(l_table_index).C_ext_attr3
6194 , P_old_ext_attrs(l_table_index).C_ext_attr4
6195 , P_old_ext_attrs(l_table_index).C_ext_attr5
6196 , P_old_ext_attrs(l_table_index).C_ext_attr6
6197 , P_old_ext_attrs(l_table_index).C_ext_attr7
6198 , P_old_ext_attrs(l_table_index).C_ext_attr8
6199 , P_old_ext_attrs(l_table_index).C_ext_attr9
6200 , P_old_ext_attrs(l_table_index).C_ext_attr10
6201 , P_old_ext_attrs(l_table_index).C_ext_attr11
6202 , P_old_ext_attrs(l_table_index).C_ext_attr12
6203 , P_old_ext_attrs(l_table_index).C_ext_attr13
6204 , P_old_ext_attrs(l_table_index).C_ext_attr14
6205 , P_old_ext_attrs(l_table_index).C_ext_attr15
6206 , P_old_ext_attrs(l_table_index).C_ext_attr16
6207 , P_old_ext_attrs(l_table_index).C_ext_attr17
6208 , P_old_ext_attrs(l_table_index).C_ext_attr18
6209 , P_old_ext_attrs(l_table_index).C_ext_attr19
6210 , P_old_ext_attrs(l_table_index).C_ext_attr20
6211 , P_old_ext_attrs(l_table_index).C_ext_attr21
6212 , P_old_ext_attrs(l_table_index).C_ext_attr22
6213 , P_old_ext_attrs(l_table_index).C_ext_attr23
6214 , P_old_ext_attrs(l_table_index).C_ext_attr24
6215 , P_old_ext_attrs(l_table_index).C_ext_attr25
6216 , P_old_ext_attrs(l_table_index).C_ext_attr26
6217 , P_old_ext_attrs(l_table_index).C_ext_attr27
6218 , P_old_ext_attrs(l_table_index).C_ext_attr28
6219 , P_old_ext_attrs(l_table_index).C_ext_attr29
6220 , P_old_ext_attrs(l_table_index).C_ext_attr30
6221 , P_old_ext_attrs(l_table_index).C_ext_attr31
6222 , P_old_ext_attrs(l_table_index).C_ext_attr32
6223 , P_old_ext_attrs(l_table_index).C_ext_attr33
6224 , P_old_ext_attrs(l_table_index).C_ext_attr34
6225 , P_old_ext_attrs(l_table_index).C_ext_attr35
6226 , P_old_ext_attrs(l_table_index).C_ext_attr36
6227 , P_old_ext_attrs(l_table_index).C_ext_attr37
6228 , P_old_ext_attrs(l_table_index).C_ext_attr38
6229 , P_old_ext_attrs(l_table_index).C_ext_attr39
6230 , P_old_ext_attrs(l_table_index).C_ext_attr40
6231 , P_old_ext_attrs(l_table_index).C_ext_attr41
6232 , P_old_ext_attrs(l_table_index).C_ext_attr42
6233 , P_old_ext_attrs(l_table_index).C_ext_attr43
6234 , P_old_ext_attrs(l_table_index).C_ext_attr44
6235 , P_old_ext_attrs(l_table_index).C_ext_attr45
6236 , P_old_ext_attrs(l_table_index).C_ext_attr46
6237 , P_old_ext_attrs(l_table_index).C_ext_attr47
6238 , P_old_ext_attrs(l_table_index).C_ext_attr48
6239 , P_old_ext_attrs(l_table_index).C_ext_attr49
6240 , P_old_ext_attrs(l_table_index).C_ext_attr50
6241 , P_new_ext_attrs(l_table_index).N_ext_attr1
6242 , P_new_ext_attrs(l_table_index).N_ext_attr2
6243 , P_new_ext_attrs(l_table_index).N_ext_attr3
6244 , P_new_ext_attrs(l_table_index).N_ext_attr4
6245 , P_new_ext_attrs(l_table_index).N_ext_attr5
6246 , P_new_ext_attrs(l_table_index).N_ext_attr6
6247 , P_new_ext_attrs(l_table_index).N_ext_attr7
6248 , P_new_ext_attrs(l_table_index).N_ext_attr8
6249 , P_new_ext_attrs(l_table_index).N_ext_attr9
6250 , P_new_ext_attrs(l_table_index).N_ext_attr10
6251 , P_new_ext_attrs(l_table_index).N_ext_attr11
6252 , P_new_ext_attrs(l_table_index).N_ext_attr12
6253 , P_new_ext_attrs(l_table_index).N_ext_attr13
6254 , P_new_ext_attrs(l_table_index).N_ext_attr14
6255 , P_new_ext_attrs(l_table_index).N_ext_attr15
6256 , P_new_ext_attrs(l_table_index).N_ext_attr16
6257 , P_new_ext_attrs(l_table_index).N_ext_attr17
6258 , P_new_ext_attrs(l_table_index).N_ext_attr18
6259 , P_new_ext_attrs(l_table_index).N_ext_attr19
6260 , P_new_ext_attrs(l_table_index).N_ext_attr20
6261 , P_new_ext_attrs(l_table_index).N_ext_attr21
6262 , P_new_ext_attrs(l_table_index).N_ext_attr22
6263 , P_new_ext_attrs(l_table_index).N_ext_attr23
6264 , P_new_ext_attrs(l_table_index).N_ext_attr24
6265 , P_new_ext_attrs(l_table_index).N_ext_attr25
6266 , P_old_ext_attrs(l_table_index).N_ext_attr1
6267 , P_old_ext_attrs(l_table_index).N_ext_attr2
6268 , P_old_ext_attrs(l_table_index).N_ext_attr3
6269 , P_old_ext_attrs(l_table_index).N_ext_attr4
6270 , P_old_ext_attrs(l_table_index).N_ext_attr5
6271 , P_old_ext_attrs(l_table_index).N_ext_attr6
6272 , P_old_ext_attrs(l_table_index).N_ext_attr7
6273 , P_old_ext_attrs(l_table_index).N_ext_attr8
6274 , P_old_ext_attrs(l_table_index).N_ext_attr9
6275 , P_old_ext_attrs(l_table_index).N_ext_attr10
6276 , P_old_ext_attrs(l_table_index).N_ext_attr11
6277 , P_old_ext_attrs(l_table_index).N_ext_attr12
6278 , P_old_ext_attrs(l_table_index).N_ext_attr13
6279 , P_old_ext_attrs(l_table_index).N_ext_attr14
6280 , P_old_ext_attrs(l_table_index).N_ext_attr15
6281 , P_old_ext_attrs(l_table_index).N_ext_attr16
6282 , P_old_ext_attrs(l_table_index).N_ext_attr17
6283 , P_old_ext_attrs(l_table_index).N_ext_attr18
6284 , P_old_ext_attrs(l_table_index).N_ext_attr19
6285 , P_old_ext_attrs(l_table_index).N_ext_attr20
6286 , P_old_ext_attrs(l_table_index).N_ext_attr21
6287 , P_old_ext_attrs(l_table_index).N_ext_attr22
6288 , P_old_ext_attrs(l_table_index).N_ext_attr23
6289 , P_old_ext_attrs(l_table_index).N_ext_attr24
6290 , P_old_ext_attrs(l_table_index).N_ext_attr25
6291 , P_new_ext_attrs(l_table_index).D_EXT_ATTR1
6292 , P_new_ext_attrs(l_table_index).D_EXT_ATTR2
6293 , P_new_ext_attrs(l_table_index).D_EXT_ATTR3
6294 , P_new_ext_attrs(l_table_index).D_EXT_ATTR4
6295 , P_new_ext_attrs(l_table_index).D_EXT_ATTR5
6296 , P_new_ext_attrs(l_table_index).D_EXT_ATTR6
6297 , P_new_ext_attrs(l_table_index).D_EXT_ATTR7
6298 , P_new_ext_attrs(l_table_index).D_EXT_ATTR8
6299 , P_new_ext_attrs(l_table_index).D_EXT_ATTR9
6300 , P_new_ext_attrs(l_table_index).D_EXT_ATTR10
6301 , P_new_ext_attrs(l_table_index).D_EXT_ATTR11
6302 , P_new_ext_attrs(l_table_index).D_EXT_ATTR12
6303 , P_new_ext_attrs(l_table_index).D_EXT_ATTR13
6304 , P_new_ext_attrs(l_table_index).D_EXT_ATTR14
6305 , P_new_ext_attrs(l_table_index).D_EXT_ATTR15
6306 , P_new_ext_attrs(l_table_index).D_EXT_ATTR16
6307 , P_new_ext_attrs(l_table_index).D_EXT_ATTR17
6308 , P_new_ext_attrs(l_table_index).D_EXT_ATTR18
6309 , P_new_ext_attrs(l_table_index).D_EXT_ATTR19
6310 , P_new_ext_attrs(l_table_index).D_EXT_ATTR20
6311 , P_new_ext_attrs(l_table_index).D_EXT_ATTR21
6312 , P_new_ext_attrs(l_table_index).D_EXT_ATTR22
6313 , P_new_ext_attrs(l_table_index).D_EXT_ATTR23
6314 , P_new_ext_attrs(l_table_index).D_EXT_ATTR24
6315 , P_new_ext_attrs(l_table_index).D_EXT_ATTR25
6316 , P_old_ext_attrs(l_table_index).D_ext_attr1
6317 , P_old_ext_attrs(l_table_index).D_ext_attr2
6318 , P_old_ext_attrs(l_table_index).D_ext_attr3
6319 , P_old_ext_attrs(l_table_index).D_ext_attr4
6320 , P_old_ext_attrs(l_table_index).D_ext_attr5
6321 , P_old_ext_attrs(l_table_index).D_ext_attr6
6322 , P_old_ext_attrs(l_table_index).D_ext_attr7
6323 , P_old_ext_attrs(l_table_index).D_ext_attr8
6324 , P_old_ext_attrs(l_table_index).D_ext_attr9
6325 , P_old_ext_attrs(l_table_index).D_ext_attr10
6326 , P_old_ext_attrs(l_table_index).D_ext_attr11
6327 , P_old_ext_attrs(l_table_index).D_ext_attr12
6328 , P_old_ext_attrs(l_table_index).D_ext_attr13
6329 , P_old_ext_attrs(l_table_index).D_ext_attr14
6330 , P_old_ext_attrs(l_table_index).D_ext_attr15
6331 , P_old_ext_attrs(l_table_index).D_ext_attr16
6332 , P_old_ext_attrs(l_table_index).D_ext_attr17
6333 , P_old_ext_attrs(l_table_index).D_ext_attr18
6334 , P_old_ext_attrs(l_table_index).D_ext_attr19
6335 , P_old_ext_attrs(l_table_index).D_ext_attr20
6336 , P_old_ext_attrs(l_table_index).D_ext_attr21
6337 , P_old_ext_attrs(l_table_index).D_ext_attr22
6338 , P_old_ext_attrs(l_table_index).D_ext_attr23
6339 , P_old_ext_attrs(l_table_index).D_ext_attr24
6340 , P_old_ext_attrs(l_table_index).D_ext_attr25
6341 , P_new_ext_attrs(l_table_index).UOM_ext_attr1
6342 , P_new_ext_attrs(l_table_index).UOM_ext_attr2
6343 , P_new_ext_attrs(l_table_index).UOM_ext_attr3
6344 , P_new_ext_attrs(l_table_index).UOM_ext_attr4
6345 , P_new_ext_attrs(l_table_index).UOM_ext_attr5
6346 , P_new_ext_attrs(l_table_index).UOM_ext_attr6
6347 , P_new_ext_attrs(l_table_index).UOM_ext_attr7
6348 , P_new_ext_attrs(l_table_index).UOM_ext_attr8
6349 , P_new_ext_attrs(l_table_index).UOM_ext_attr9
6350 , P_new_ext_attrs(l_table_index).UOM_ext_attr10
6351 , P_new_ext_attrs(l_table_index).UOM_ext_attr11
6352 , P_new_ext_attrs(l_table_index).UOM_ext_attr12
6353 , P_new_ext_attrs(l_table_index).UOM_ext_attr13
6354 , P_new_ext_attrs(l_table_index).UOM_ext_attr14
6355 , P_new_ext_attrs(l_table_index).UOM_ext_attr15
6356 , P_new_ext_attrs(l_table_index).UOM_ext_attr16
6357 , P_new_ext_attrs(l_table_index).UOM_ext_attr17
6358 , P_new_ext_attrs(l_table_index).UOM_ext_attr18
6359 , P_new_ext_attrs(l_table_index).UOM_ext_attr19
6360 , P_new_ext_attrs(l_table_index).UOM_ext_attr20
6361 , P_new_ext_attrs(l_table_index).UOM_ext_attr21
6362 , P_new_ext_attrs(l_table_index).UOM_ext_attr22
6363 , P_new_ext_attrs(l_table_index).UOM_ext_attr23
6364 , P_new_ext_attrs(l_table_index).UOM_ext_attr24
6365 , P_new_ext_attrs(l_table_index).UOM_ext_attr25
6366 , P_old_ext_attrs(l_table_index).UOM_ext_attr1
6367 , P_old_ext_attrs(l_table_index).UOM_ext_attr2
6368 , P_old_ext_attrs(l_table_index).UOM_ext_attr3
6369 , P_old_ext_attrs(l_table_index).UOM_ext_attr4
6370 , P_old_ext_attrs(l_table_index).UOM_ext_attr5
6371 , P_old_ext_attrs(l_table_index).UOM_ext_attr6
6372 , P_old_ext_attrs(l_table_index).UOM_ext_attr7
6373 , P_old_ext_attrs(l_table_index).UOM_ext_attr8
6374 , P_old_ext_attrs(l_table_index).UOM_ext_attr9
6375 , P_old_ext_attrs(l_table_index).UOM_ext_attr10
6376 , P_old_ext_attrs(l_table_index).UOM_ext_attr11
6377 , P_old_ext_attrs(l_table_index).UOM_ext_attr12
6378 , P_old_ext_attrs(l_table_index).UOM_ext_attr13
6379 , P_old_ext_attrs(l_table_index).UOM_ext_attr14
6380 , P_old_ext_attrs(l_table_index).UOM_ext_attr15
6381 , P_old_ext_attrs(l_table_index).UOM_ext_attr16
6382 , P_old_ext_attrs(l_table_index).UOM_ext_attr17
6383 , P_old_ext_attrs(l_table_index).UOM_ext_attr18
6384 , P_old_ext_attrs(l_table_index).UOM_ext_attr19
6385 , P_old_ext_attrs(l_table_index).UOM_ext_attr20
6386 , P_old_ext_attrs(l_table_index).UOM_ext_attr21
6387 , P_old_ext_attrs(l_table_index).UOM_ext_attr22
6388 , P_old_ext_attrs(l_table_index).UOM_ext_attr23
6389 , P_old_ext_attrs(l_table_index).UOM_ext_attr24
6390 , P_old_ext_attrs(l_table_index).UOM_ext_attr25
6391 , TO_NUMBER(P_new_ext_attrs(l_table_index).pk_column_2)
6392 , TO_NUMBER(P_old_ext_attrs(l_table_index).pk_column_2)
6393 , P_new_ext_attrs(l_table_index).pk_column_3
6394 , P_new_ext_attrs(l_table_index).pk_column_4
6395 , l_modified_on
6396 , l_modified_by
6397 );
6398
6399 END LOOP;
6400
6401 END IF ; -- no records in the table.
6402
6403
6404 EXCEPTION
6405 WHEN OTHERS THEN
6406 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6407 FND_MESSAGE.set_name ('CS', 'CS_API_SR_UNKNOWN_ERROR');
6408 FND_MESSAGE.set_token('P_TEXT','cs_sr_ext_attr_data_pvt.insert_sr_row'||'-'||substr(SQLERRM,1,200));
6409 FND_MSG_PUB.ADD;
6410 FND_MSG_PUB.Count_And_Get
6411 ( p_count => x_msg_count
6412 , p_data => x_msg_data
6413 );
6414
6415 END insert_pr_row;
6416
6417 PROCEDURE GET_MULTI_ROW_UNIQUE_KEY(p_attr_group_name IN VARCHAR2
6418 ,p_attr_group_type IN VARCHAR2
6419 ,p_application_id IN NUMBER
6420 ,x_attr_name OUT NOCOPY VARCHAR2
6421 ,x_database_column OUT NOCOPY VARCHAR2) IS
6422
6423 Cursor c_get_unique_key (p_attr_group_name IN NUMBER,
6424 p_attr_group_type IN NUMBER,
6425 p_application_id IN NUMBER) IS
6426 select attr_name, database_column
6427 from ego_attrs_v
6428 where attr_group_name = p_attr_group_name
6429 and attr_group_type = p_attr_group_type
6430 and application_id = p_application_id
6431 and unique_key_flag = 'Y';
6432
6433 BEGIN
6434
6435 OPEN c_get_unique_key (p_attr_group_name
6436 ,p_attr_group_type
6437 ,p_application_id);
6438 FETCH c_get_unique_key INTO x_attr_name, x_database_column;
6439 CLOSE c_get_unique_key;
6440
6441 EXCEPTION
6442
6443 WHEN OTHERS THEN
6444 --MAYA NEED TO CODE
6445 null;
6446
6447 END GET_MULTI_ROW_UNIQUE_KEY;
6448
6449 PROCEDURE INIT_AUDIT_REC(p_count IN NUMBER,
6450 p_audit_rec IN OUT NOCOPY Ext_Attr_Audit_Tbl_Type) IS
6451
6452
6453 BEGIN
6454
6455 FOR i IN 1 .. p_count LOOP
6456
6457 p_audit_rec(i) := NULL;
6458
6459 END LOOP;
6460
6461 END INIT_AUDIT_REC;
6462
6463
6464 -- -----------------------------------------------------------------------------
6465 -- Procedure Name : Log_EGO_EXT_Parameters
6466 -- Parameters :
6467 -- IN :
6468 -- OUT :
6469 --
6470 -- Description : Procedure to LOG the in parameters of PVT SR Ext Attrs procedures
6471 --
6472 --
6473 -- Modification History:
6474 -- Date Name Desc
6475 -- -------- -------- -----------------------------------------------------------
6476 -- 11/08/05 mviswana Created
6477 -- -----------------------------------------------------------------------------
6478 PROCEDURE Log_EGO_Ext_PVT_Parameters(
6479 p_ext_attr_grp_tbl IN EGO_USER_ATTR_ROW_TABLE
6480 ,p_ext_attr_tbl IN EGO_USER_ATTR_DATA_TABLE)
6481
6482 IS
6483
6484 l_api_name CONSTANT VARCHAR2(30) := 'Get_SR_Ext_Attrs';
6485 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
6486 l_log_module CONSTANT VARCHAR2(255) := 'cs.plsql.' || l_api_name_full || '.';
6487 l_attr_grp_index BINARY_INTEGER;
6488 l_attr_index BINARY_INTEGER;
6489
6490 BEGIN
6491
6492 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
6493 -- For Attribute Group
6494 l_attr_grp_index := p_ext_attr_grp_tbl.FIRST;
6495 WHILE l_attr_grp_index IS NOT NULL LOOP
6496
6497 FND_LOG.String
6498 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6499 , 'row_identifier :' || p_ext_attr_grp_tbl(l_attr_grp_index).row_identifier
6500 );
6501
6502 FND_LOG.String
6503 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6504 , 'attr_group_id :' || p_ext_attr_grp_tbl(l_attr_grp_index).ATTR_GROUP_ID
6505 );
6506
6507 FND_LOG.String
6508 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6509 , 'attr_group_app_id :' || p_ext_attr_grp_tbl(l_attr_grp_index).ATTR_GROUP_APP_ID
6510 );
6511
6512 FND_LOG.String
6513 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6514 , 'attr_group_type :' || p_ext_attr_grp_tbl(l_attr_grp_index).ATTR_GROUP_TYPE
6515 );
6516
6517 FND_LOG.String
6518 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6519 , 'attr_group_name :' || p_ext_attr_grp_tbl(l_attr_grp_index).ATTR_GROUP_NAME
6520 );
6521
6522 FND_LOG.String
6523 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6524 , 'data_level_1 :' || p_ext_attr_grp_tbl(l_attr_grp_index).DATA_LEVEL_1
6525 );
6526
6527 FND_LOG.String
6528 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6529 , 'data_level_2 :' || p_ext_attr_grp_tbl(l_attr_grp_index).DATA_LEVEL_2
6530 );
6531
6532 FND_LOG.String
6533 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6534 , 'data_level_3 :' || p_ext_attr_grp_tbl(l_attr_grp_index).DATA_LEVEL_3
6535 );
6536
6537 FND_LOG.String
6538 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6539 , 'transaction_type :' || p_ext_attr_grp_tbl(l_attr_grp_index).TRANSACTION_TYPE
6540 );
6541
6542 END LOOP;
6543
6544 l_attr_index := p_ext_attr_tbl.FIRST;
6545 WHILE l_attr_index IS NOT NULL LOOP
6546
6547 FND_LOG.String
6548 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6549 , 'row_identifier :' || p_ext_attr_tbl(l_attr_index).row_identifier
6550 );
6551
6552 FND_LOG.String
6553 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6554 , 'attr_name :' || p_ext_attr_tbl(l_attr_index).ATTR_NAME
6555 );
6556
6557 FND_LOG.String
6558 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6559 , 'attr_value_str :' || p_ext_attr_tbl(l_attr_index).ATTR_VALUE_STR
6560 );
6561
6562 FND_LOG.String
6563 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6564 , 'attr_value_num :' || p_ext_attr_tbl(l_attr_index).ATTR_VALUE_NUM
6565 );
6566
6567 FND_LOG.String
6568 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6569 , 'attr_value_date :' || p_ext_attr_tbl(l_attr_index).ATTR_VALUE_DATE
6570 );
6571
6572 FND_LOG.String
6573 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6574 , 'attr_value_display :' || p_ext_attr_tbl(l_attr_index).ATTR_DISP_VALUE
6575 );
6576
6577 FND_LOG.String
6578 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6579 , 'attr_uom :' || p_ext_attr_tbl(l_attr_index).ATTR_UNIT_OF_MEASURE
6580 );
6581
6582 FND_LOG.String
6583 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6584 , 'attr_row_id :' || p_ext_attr_tbl(l_attr_index).USER_ROW_IDENTIFIER
6585 );
6586
6587 END LOOP;
6588
6589 END IF;
6590 END;
6591
6592
6593 -- -----------------------------------------------------------------------------
6594 -- Procedure Name : Log_EXT_PVT_Parameters
6595 -- Parameters :
6596 -- IN :
6597 -- OUT :
6598 --
6599 -- Description : Procedure to LOG the in parameters of PVT SR Ext Attrs procedures
6600 --
6601 --
6602 -- Modification History:
6603 -- Date Name Desc
6604 -- -------- -------- -----------------------------------------------------------
6605 -- 11/08/05 mviswana Created
6606 -- -----------------------------------------------------------------------------
6607 PROCEDURE Log_EXT_PVT_Parameters (
6608 p_ext_attr_grp_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_GRP_TBL_TYPE
6609 ,p_ext_attr_tbl IN CS_ServiceRequest_PUB.EXT_ATTR_TBL_TYPE )
6610 IS
6611
6612 l_api_name CONSTANT VARCHAR2(30) := 'Process_SR_Ext_Attrs';
6613 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
6614 l_log_module CONSTANT VARCHAR2(255) := 'cs.plsql.' || l_api_name_full || '.';
6615 l_attr_grp_index BINARY_INTEGER;
6616 l_attr_index BINARY_INTEGER;
6617
6618 BEGIN
6619
6620 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level THEN
6621
6622 -- For Attribute Group
6623 l_attr_grp_index := p_ext_attr_grp_tbl.FIRST;
6624 WHILE l_attr_grp_index IS NOT NULL LOOP
6625
6626 FND_LOG.String
6627 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6628 , 'row_identifier :' || p_ext_attr_grp_tbl(l_attr_grp_index).row_identifier
6629 );
6630
6631 FND_LOG.String
6632 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6633 , 'pk_column_1 :' || p_ext_attr_grp_tbl(l_attr_grp_index).pk_column_1
6634 );
6635
6636 FND_LOG.String
6637 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6638 , 'pk_column_2 :' || p_ext_attr_grp_tbl(l_attr_grp_index).pk_column_2
6639 );
6640
6641 FND_LOG.String
6642 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6643 , 'pk_column_3 :' || p_ext_attr_grp_tbl(l_attr_grp_index).pk_column_3
6644 );
6645
6646 FND_LOG.String
6647 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6648 , 'pk_column_4 :' || p_ext_attr_grp_tbl(l_attr_grp_index).pk_column_4
6649 );
6650
6651 FND_LOG.String
6652 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6653 , 'pk_column_5 :' || p_ext_attr_grp_tbl(l_attr_grp_index).pk_column_5
6654 );
6655
6656 FND_LOG.String
6657 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6658 , 'context :' || p_ext_attr_grp_tbl(l_attr_grp_index).context
6659 );
6660
6661 FND_LOG.String
6662 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6663 , 'object_name :' || p_ext_attr_grp_tbl(l_attr_grp_index).object_name
6664 );
6665
6666 FND_LOG.String
6667 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6668 , 'attr_group_id :' || p_ext_attr_grp_tbl(l_attr_grp_index).attr_group_id
6669 );
6670
6671 FND_LOG.String
6672 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6673 , 'attr_group_app_id :' || p_ext_attr_grp_tbl(l_attr_grp_index).attr_group_app_id
6674 );
6675
6676 FND_LOG.String
6677 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6678 , 'attr_group_type :' || p_ext_attr_grp_tbl(l_attr_grp_index).attr_group_type
6679 );
6680
6681 FND_LOG.String
6682 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6683 , 'attr_group_name :' || p_ext_attr_grp_tbl(l_attr_grp_index).attr_group_name
6684 );
6685
6686 FND_LOG.String
6687 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6688 , 'attr_group_disp_name :' || p_ext_attr_grp_tbl(l_attr_grp_index).attr_group_disp_name
6689 );
6690
6691 FND_LOG.String
6692 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6693 , 'mapping_req :' || p_ext_attr_grp_tbl(l_attr_grp_index).mapping_req
6694 );
6695
6696 FND_LOG.String
6697 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6698 , 'operation :' || p_ext_attr_grp_tbl(l_attr_grp_index).operation
6699 );
6700 l_attr_grp_index := p_ext_attr_grp_tbl.NEXT(l_attr_grp_index);
6701 END LOOP;
6702
6703 -- For Attribute
6704 l_attr_index := p_ext_attr_tbl.FIRST;
6705 WHILE l_attr_index IS NOT NULL LOOP
6706
6707 FND_LOG.String
6708 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6709 , 'row_identifier :' || p_ext_attr_tbl(l_attr_index).row_identifier
6710 );
6711
6712 FND_LOG.String
6713 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6714 , 'column_name :' || p_ext_attr_tbl(l_attr_index).column_name
6715 );
6716
6717 FND_LOG.String
6718 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6719 , 'attr_name :' || p_ext_attr_tbl(l_attr_index).attr_name
6720 );
6721
6722 FND_LOG.String
6723 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6724 , 'attr_disp_name :' || p_ext_attr_tbl(l_attr_index).attr_disp_name
6725 );
6726
6727
6728 FND_LOG.String
6729 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6730 , 'attr_value_str :' || p_ext_attr_tbl(l_attr_index).attr_value_str
6731 );
6732
6733 FND_LOG.String
6734 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6735 , 'attr_value_num :' || p_ext_attr_tbl(l_attr_index).attr_value_num
6736 );
6737
6738
6739 FND_LOG.String
6740 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6741 , 'attr_value_date :' || p_ext_attr_tbl(l_attr_index).attr_value_date
6742 );
6743
6744
6745 FND_LOG.String
6746 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6747 , 'attr_value_display :' || p_ext_attr_tbl(l_attr_index).attr_value_display
6748 );
6749
6750
6751 FND_LOG.String
6752 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
6753 , 'attr_unit_of_measure :' || p_ext_attr_tbl(l_attr_index).attr_unit_of_measure
6754 );
6755
6756 l_attr_index := p_ext_attr_tbl.NEXT(l_attr_index);
6757
6758 END LOOP;
6759 END IF;
6760
6761
6762 END;
6763 -- -----------------------------------------------------------------------------
6764 -- Procedure Name : delete_old_context
6765 -- Parameter :
6766 -- IN : p_pk_column_1 primary key column # 1
6767 -- : p_context Extensible attribute context. This is
6768 -- value of context being overwritten
6769 -- OUT : x_return_status Indicates success or error condition
6770 -- encountered by the procedure
6771 -- : x_msg_data Error message
6772 -- : x_msg_count Number of error messages
6773 -- : x_errorcode Error code returned by PLM API
6774 -- : x_failed_row_id_list List of row identifers that failed
6775 -- PLM processing
6776 -- Description : This procedure takes incident id and Extensible attribute
6777 -- context and deletes extensible attribute record
6778 --
6779 -- Modification History
6780 -- Date Name Description
6781 -- -------- -------- -----------------------------------------------------------
6782 -- 09/29/05 smisra Created
6783 -- -------- -------- -----------------------------------------------------------
6784 PROCEDURE delete_old_context
6785 ( p_pk_column_1 IN NUMBER
6786 , p_context IN NUMBER
6787 , x_failed_row_id_list OUT NOCOPY VARCHAR2
6788 , x_return_status OUT NOCOPY VARCHAR2
6789 , x_errorcode OUT NOCOPY NUMBER
6790 , x_msg_count OUT NOCOPY NUMBER
6791 , x_msg_data OUT NOCOPY VARCHAR2
6792 ) IS
6793 --
6794 l_pk_name_value_pair EGO_COL_NAME_VALUE_PAIR_ARRAY;
6795 l_class_code_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY;
6796 l_user_privileges_on_object EGO_VARCHAR_TBL_TYPE;
6797 l_user_attr_data_table EGO_USER_ATTR_DATA_TABLE;
6798 l_user_attr_row_table EGO_USER_ATTR_ROW_TABLE;
6799 l_count NUMBER;
6800 --
6801 CURSOR c_get_old_context_value
6802 ( p_incident_id IN NUMBER
6803 , p_context IN NUMBER
6804 ) IS
6805 SELECT
6806 attr_group_id
6807 FROM cs_incidents_ext
6808 WHERE incident_id = p_incident_id
6809 AND context = p_context
6810 ;
6811 --
6812 BEGIN
6813 l_count := 0;
6814
6815 --DBMS_OUTPUT.PUT_LINE('Delete Old Context');
6816
6817 --get all the values in the database for the old context
6818 FOR v_get_old_context_value IN c_get_old_context_value
6819 ( p_pk_column_1
6820 , p_context
6821 )
6822 LOOP
6823 --DBMS_OUTPUT.PUT_LINE('v_get_old_context_value.attr_group_id'||v_get_old_context_value.attr_group_id);
6824
6825 l_count := l_count + 1;
6826 --set the primary key identifiers to pass to PLM
6827 --populating the EGO_COL_NAME_VALUE_PAIR_ARRAY Array for passing primary key to PLM
6828 l_pk_name_value_pair := EGO_COL_NAME_VALUE_PAIR_ARRAY
6829 ( EGO_COL_NAME_VALUE_PAIR_OBJ
6830 ( 'INCIDENT_ID'
6831 , p_pk_column_1
6832 )
6833 );
6834
6835 --set the context to pass to PLM only SR_TYPE_ID
6836 --populate the EGO_COL_NAME_VALUE_PAIR_ARRAY Array for passing the context.
6837 l_class_code_name_value_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY
6838 ( EGO_COL_NAME_VALUE_PAIR_OBJ
6839 ( 'CONTEXT'
6840 , p_context
6841 )
6842 );
6843
6844 --Instanciate a new EGO_USER_ATTR_ROW_OBJ (only once)
6845 IF l_user_attr_row_table IS NULL
6846 THEN
6847 l_user_attr_row_table := EGO_USER_ATTR_ROW_TABLE();
6848 END IF;
6849
6850 --Extend the object to add value it it
6851 l_user_attr_row_table.EXTEND();
6852 /*
6853 l_user_attr_row_table(l_user_attr_row_table.LAST) := EGO_USER_ATTR_ROW_OBJ
6854 ( l_count
6855 , v_get_old_context_value.attr_group_id
6856 , NULL
6857 , NULL
6858 , NULL
6859 , 'GENERIC_LEVEL'
6860 , NULL
6861 , NULL
6862 , EGO_USER_ATTRS_DATA_PVT.G_DELETE_MODE
6863 );
6864 */
6865
6866 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,
6867 NULL,NULL,NULL,'GENERIC_LEVEL', NULL, NULL,NULL,NULL,NULL, EGO_USER_ATTRS_DATA_PVT.G_DELETE_MODE);
6868 END LOOP;
6869 -- Instantiate the attribute table once
6870 l_user_attr_data_table := EGO_USER_ATTR_DATA_TABLE();
6871
6872 --DBMS_OUTPUT.PUT_LINE('Calling to delete data, user attr row table count:'|| l_user_attr_row_table.count);
6873
6874 --Call PLM for deleting the old data
6875 EGO_USER_ATTRS_DATA_PUB.Process_User_Attrs_Data
6876 ( p_api_version => 1
6877 , p_object_name => 'CS_SERVICE_REQUEST'
6878 , p_attributes_row_table => l_user_attr_row_table
6879 , p_attributes_data_table => l_user_attr_data_table
6880 , p_pk_column_name_value_pairs => l_pk_name_value_pair
6881 , p_class_code_name_value_pairs => l_class_code_name_value_pairs
6882 , p_user_privileges_on_object => l_user_privileges_on_object
6883 , p_entity_id => NULL
6884 , p_entity_index => NULL
6885 , p_entity_code => NULL
6886 , p_debug_level => 3
6887 , p_init_error_handler => FND_API.G_TRUE
6888 , p_write_to_concurrent_log => FND_API.G_TRUE
6889 , p_init_fnd_msg_list => FND_API.G_FALSE
6890 , p_log_errors => FND_API.G_TRUE
6891 , p_add_errors_to_fnd_stack => FND_API.G_TRUE
6892 , p_commit => FND_API.G_FALSE
6893 , x_failed_row_id_list => x_failed_row_id_list
6894 , x_return_status => x_return_status
6895 , x_errorcode => x_errorcode
6896 , x_msg_count => x_msg_count
6897 , x_msg_data => x_msg_data
6898 );
6899
6900 --
6901 EXCEPTION
6902 WHEN OTHERS THEN
6903 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6904 END;
6905
6906
6907
6908
6909 -------------------------------------------------------------------------------
6910 -- Procedure Name : Populate_Ext_Attr_Audit_Tbl
6911 -- Parameters :
6912 -- IN : P_EXTENSION_ID
6913 -- OUT : X_EXT_ATTRS_TBL
6914 --
6915 -- Description : Procedure to populate ext. attr. audit table structure for a given extension_id.
6916 --
6917 -- Modification History:
6918 -- Date Name Desc
6919 -------- -------- --------------------------------------------------------------
6920 -- 11/21/2005 spusegao Created
6921 --------------------------------------------------------------------------------
6922 PROCEDURE Populate_Ext_Attr_Audit_Tbl
6923 ( P_EXTENSION_ID IN NUMBER
6924 , X_EXT_ATTRS_TBL OUT NOCOPY Ext_Attr_Audit_Tbl_Type
6925 , X_RETURN_STATUS OUT NOCOPY VARCHAR2
6926 , X_MSG_COUNT OUT NOCOPY NUMBER
6927 , X_MSG_DATA OUT NOCOPY VARCHAR2) IS
6928
6929 -- Cursor to get the ext.attrs. details for the passed extension_id.
6930
6931 CURSOR c_get_ext_attrs IS
6932 SELECT *
6933 FROM cs_sr_contacts_EXT
6934 WHERE extension_Id = p_extension_id;
6935
6936 i NUMBER := 0 ;
6937
6938 BEGIN
6939 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
6940
6941 -- Get all the ext attrs records for passed extension_id
6942
6943 FOR c_get_ext_attrs_rec IN c_get_ext_attrs
6944 LOOP
6945 i := 1 ;
6946
6947 X_EXT_ATTRS_TBL(i).EXTENSION_ID := c_get_ext_attrs_rec.EXTENSION_ID ;
6948 X_EXT_ATTRS_TBL(i).PK_COLUMN_1 := c_get_ext_attrs_rec.INCIDENT_ID ;
6949 X_EXT_ATTRS_TBL(i).PK_COLUMN_2 := c_get_ext_attrs_rec.PARTY_ID ;
6950 X_EXT_ATTRS_TBL(i).PK_COLUMN_3 := c_get_ext_attrs_rec.CONTACT_TYPE ;
6951 X_EXT_ATTRS_TBL(i).PK_COLUMN_4 := c_get_ext_attrs_rec.PARTY_ROLE_CODE;
6952 X_EXT_ATTRS_TBL(i).CONTEXT := c_get_ext_attrs_rec.CONTEXT ;
6953 X_EXT_ATTRS_TBL(i).ATTR_GROUP_ID := c_get_ext_attrs_rec.ATTR_GROUP_ID ;
6954 X_EXT_ATTRS_TBL(i).C_EXT_ATTR1 := c_get_ext_attrs_rec.C_EXT_ATTR1 ;
6955 X_EXT_ATTRS_TBL(i).C_EXT_ATTR2 := c_get_ext_attrs_rec.C_EXT_ATTR2 ;
6956 X_EXT_ATTRS_TBL(i).C_EXT_ATTR3 := c_get_ext_attrs_rec.C_EXT_ATTR3 ;
6957 X_EXT_ATTRS_TBL(i).C_EXT_ATTR4 := c_get_ext_attrs_rec.C_EXT_ATTR4 ;
6958 X_EXT_ATTRS_TBL(i).C_EXT_ATTR5 := c_get_ext_attrs_rec.C_EXT_ATTR5 ;
6959 X_EXT_ATTRS_TBL(i).C_EXT_ATTR6 := c_get_ext_attrs_rec.C_EXT_ATTR6 ;
6960 X_EXT_ATTRS_TBL(i).C_EXT_ATTR7 := c_get_ext_attrs_rec.C_EXT_ATTR7 ;
6961 X_EXT_ATTRS_TBL(i).C_EXT_ATTR8 := c_get_ext_attrs_rec.C_EXT_ATTR8 ;
6962 X_EXT_ATTRS_TBL(i).C_EXT_ATTR9 := c_get_ext_attrs_rec.C_EXT_ATTR9 ;
6963 X_EXT_ATTRS_TBL(i).C_EXT_ATTR10 := c_get_ext_attrs_rec.C_EXT_ATTR10 ;
6964 X_EXT_ATTRS_TBL(i).C_EXT_ATTR11 := c_get_ext_attrs_rec.C_EXT_ATTR11 ;
6965 X_EXT_ATTRS_TBL(i).C_EXT_ATTR12 := c_get_ext_attrs_rec.C_EXT_ATTR12 ;
6966 X_EXT_ATTRS_TBL(i).C_EXT_ATTR13 := c_get_ext_attrs_rec.C_EXT_ATTR13 ;
6967 X_EXT_ATTRS_TBL(i).C_EXT_ATTR14 := c_get_ext_attrs_rec.C_EXT_ATTR14 ;
6968 X_EXT_ATTRS_TBL(i).C_EXT_ATTR15 := c_get_ext_attrs_rec.C_EXT_ATTR15 ;
6969 X_EXT_ATTRS_TBL(i).C_EXT_ATTR16 := c_get_ext_attrs_rec.C_EXT_ATTR16 ;
6970 X_EXT_ATTRS_TBL(i).C_EXT_ATTR17 := c_get_ext_attrs_rec.C_EXT_ATTR17 ;
6971 X_EXT_ATTRS_TBL(i).C_EXT_ATTR18 := c_get_ext_attrs_rec.C_EXT_ATTR18 ;
6972 X_EXT_ATTRS_TBL(i).C_EXT_ATTR19 := c_get_ext_attrs_rec.C_EXT_ATTR19 ;
6973 X_EXT_ATTRS_TBL(i).C_EXT_ATTR20 := c_get_ext_attrs_rec.C_EXT_ATTR20 ;
6974 X_EXT_ATTRS_TBL(i).C_EXT_ATTR21 := c_get_ext_attrs_rec.C_EXT_ATTR21 ;
6975 X_EXT_ATTRS_TBL(i).C_EXT_ATTR22 := c_get_ext_attrs_rec.C_EXT_ATTR22 ;
6976 X_EXT_ATTRS_TBL(i).C_EXT_ATTR23 := c_get_ext_attrs_rec.C_EXT_ATTR23 ;
6977 X_EXT_ATTRS_TBL(i).C_EXT_ATTR24 := c_get_ext_attrs_rec.C_EXT_ATTR24 ;
6978 X_EXT_ATTRS_TBL(i).C_EXT_ATTR25 := c_get_ext_attrs_rec.C_EXT_ATTR25 ;
6979 X_EXT_ATTRS_TBL(i).C_EXT_ATTR26 := c_get_ext_attrs_rec.C_EXT_ATTR26 ;
6980 X_EXT_ATTRS_TBL(i).C_EXT_ATTR27 := c_get_ext_attrs_rec.C_EXT_ATTR27 ;
6981 X_EXT_ATTRS_TBL(i).C_EXT_ATTR28 := c_get_ext_attrs_rec.C_EXT_ATTR28 ;
6982 X_EXT_ATTRS_TBL(i).C_EXT_ATTR29 := c_get_ext_attrs_rec.C_EXT_ATTR29 ;
6983 X_EXT_ATTRS_TBL(i).C_EXT_ATTR30 := c_get_ext_attrs_rec.C_EXT_ATTR30 ;
6984 X_EXT_ATTRS_TBL(i).C_EXT_ATTR31 := c_get_ext_attrs_rec.C_EXT_ATTR31 ;
6985 X_EXT_ATTRS_TBL(i).C_EXT_ATTR32 := c_get_ext_attrs_rec.C_EXT_ATTR32 ;
6986 X_EXT_ATTRS_TBL(i).C_EXT_ATTR33 := c_get_ext_attrs_rec.C_EXT_ATTR33 ;
6987 X_EXT_ATTRS_TBL(i).C_EXT_ATTR34 := c_get_ext_attrs_rec.C_EXT_ATTR34 ;
6988 X_EXT_ATTRS_TBL(i).C_EXT_ATTR35 := c_get_ext_attrs_rec.C_EXT_ATTR35 ;
6989 X_EXT_ATTRS_TBL(i).C_EXT_ATTR36 := c_get_ext_attrs_rec.C_EXT_ATTR36 ;
6990 X_EXT_ATTRS_TBL(i).C_EXT_ATTR37 := c_get_ext_attrs_rec.C_EXT_ATTR37 ;
6991 X_EXT_ATTRS_TBL(i).C_EXT_ATTR38 := c_get_ext_attrs_rec.C_EXT_ATTR38 ;
6992 X_EXT_ATTRS_TBL(i).C_EXT_ATTR39 := c_get_ext_attrs_rec.C_EXT_ATTR39 ;
6993 X_EXT_ATTRS_TBL(i).C_EXT_ATTR40 := c_get_ext_attrs_rec.C_EXT_ATTR40 ;
6994 X_EXT_ATTRS_TBL(i).C_EXT_ATTR41 := c_get_ext_attrs_rec.C_EXT_ATTR41 ;
6995 X_EXT_ATTRS_TBL(i).C_EXT_ATTR42 := c_get_ext_attrs_rec.C_EXT_ATTR42 ;
6996 X_EXT_ATTRS_TBL(i).C_EXT_ATTR43 := c_get_ext_attrs_rec.C_EXT_ATTR43 ;
6997 X_EXT_ATTRS_TBL(i).C_EXT_ATTR44 := c_get_ext_attrs_rec.C_EXT_ATTR44 ;
6998 X_EXT_ATTRS_TBL(i).C_EXT_ATTR45 := c_get_ext_attrs_rec.C_EXT_ATTR45 ;
6999 X_EXT_ATTRS_TBL(i).C_EXT_ATTR46 := c_get_ext_attrs_rec.C_EXT_ATTR46 ;
7000 X_EXT_ATTRS_TBL(i).C_EXT_ATTR47 := c_get_ext_attrs_rec.C_EXT_ATTR47 ;
7001 X_EXT_ATTRS_TBL(i).C_EXT_ATTR48 := c_get_ext_attrs_rec.C_EXT_ATTR48 ;
7002 X_EXT_ATTRS_TBL(i).C_EXT_ATTR49 := c_get_ext_attrs_rec.C_EXT_ATTR49 ;
7003 X_EXT_ATTRS_TBL(i).C_EXT_ATTR50 := c_get_ext_attrs_rec.C_EXT_ATTR50 ;
7004 X_EXT_ATTRS_TBL(i).N_EXT_ATTR1 := c_get_ext_attrs_rec.N_EXT_ATTR1 ;
7005 X_EXT_ATTRS_TBL(i).N_EXT_ATTR2 := c_get_ext_attrs_rec.N_EXT_ATTR2 ;
7006 X_EXT_ATTRS_TBL(i).N_EXT_ATTR3 := c_get_ext_attrs_rec.N_EXT_ATTR3 ;
7007 X_EXT_ATTRS_TBL(i).N_EXT_ATTR4 := c_get_ext_attrs_rec.N_EXT_ATTR4 ;
7008 X_EXT_ATTRS_TBL(i).N_EXT_ATTR5 := c_get_ext_attrs_rec.N_EXT_ATTR5 ;
7009 X_EXT_ATTRS_TBL(i).N_EXT_ATTR6 := c_get_ext_attrs_rec.N_EXT_ATTR6 ;
7010 X_EXT_ATTRS_TBL(i).N_EXT_ATTR7 := c_get_ext_attrs_rec.N_EXT_ATTR7 ;
7011 X_EXT_ATTRS_TBL(i).N_EXT_ATTR8 := c_get_ext_attrs_rec.N_EXT_ATTR8 ;
7012 X_EXT_ATTRS_TBL(i).N_EXT_ATTR9 := c_get_ext_attrs_rec.N_EXT_ATTR9 ;
7013 X_EXT_ATTRS_TBL(i).N_EXT_ATTR10 := c_get_ext_attrs_rec.N_EXT_ATTR10 ;
7014 X_EXT_ATTRS_TBL(i).N_EXT_ATTR11 := c_get_ext_attrs_rec.N_EXT_ATTR11 ;
7015 X_EXT_ATTRS_TBL(i).N_EXT_ATTR12 := c_get_ext_attrs_rec.N_EXT_ATTR12 ;
7016 X_EXT_ATTRS_TBL(i).N_EXT_ATTR13 := c_get_ext_attrs_rec.N_EXT_ATTR13 ;
7017 X_EXT_ATTRS_TBL(i).N_EXT_ATTR14 := c_get_ext_attrs_rec.N_EXT_ATTR14 ;
7018 X_EXT_ATTRS_TBL(i).N_EXT_ATTR15 := c_get_ext_attrs_rec.N_EXT_ATTR15 ;
7019 X_EXT_ATTRS_TBL(i).N_EXT_ATTR16 := c_get_ext_attrs_rec.N_EXT_ATTR16 ;
7020 X_EXT_ATTRS_TBL(i).N_EXT_ATTR17 := c_get_ext_attrs_rec.N_EXT_ATTR17 ;
7021 X_EXT_ATTRS_TBL(i).N_EXT_ATTR18 := c_get_ext_attrs_rec.N_EXT_ATTR18 ;
7022 X_EXT_ATTRS_TBL(i).N_EXT_ATTR19 := c_get_ext_attrs_rec.N_EXT_ATTR19 ;
7023 X_EXT_ATTRS_TBL(i).N_EXT_ATTR20 := c_get_ext_attrs_rec.N_EXT_ATTR20 ;
7024 X_EXT_ATTRS_TBL(i).N_EXT_ATTR21 := c_get_ext_attrs_rec.N_EXT_ATTR21 ;
7025 X_EXT_ATTRS_TBL(i).N_EXT_ATTR22 := c_get_ext_attrs_rec.N_EXT_ATTR22 ;
7026 X_EXT_ATTRS_TBL(i).N_EXT_ATTR23 := c_get_ext_attrs_rec.N_EXT_ATTR23 ;
7027 X_EXT_ATTRS_TBL(i).N_EXT_ATTR24 := c_get_ext_attrs_rec.N_EXT_ATTR24 ;
7028 X_EXT_ATTRS_TBL(i).N_EXT_ATTR25 := c_get_ext_attrs_rec.N_EXT_ATTR25 ;
7029 X_EXT_ATTRS_TBL(i).D_EXT_ATTR1 := c_get_ext_attrs_rec.D_EXT_ATTR1 ;
7030 X_EXT_ATTRS_TBL(i).D_EXT_ATTR2 := c_get_ext_attrs_rec.D_EXT_ATTR2 ;
7031 X_EXT_ATTRS_TBL(i).D_EXT_ATTR3 := c_get_ext_attrs_rec.D_EXT_ATTR3 ;
7032 X_EXT_ATTRS_TBL(i).D_EXT_ATTR4 := c_get_ext_attrs_rec.D_EXT_ATTR4 ;
7033 X_EXT_ATTRS_TBL(i).D_EXT_ATTR5 := c_get_ext_attrs_rec.D_EXT_ATTR5 ;
7034 X_EXT_ATTRS_TBL(i).D_EXT_ATTR6 := c_get_ext_attrs_rec.D_EXT_ATTR6 ;
7035 X_EXT_ATTRS_TBL(i).D_EXT_ATTR7 := c_get_ext_attrs_rec.D_EXT_ATTR7 ;
7036 X_EXT_ATTRS_TBL(i).D_EXT_ATTR8 := c_get_ext_attrs_rec.D_EXT_ATTR8 ;
7037 X_EXT_ATTRS_TBL(i).D_EXT_ATTR9 := c_get_ext_attrs_rec.D_EXT_ATTR9 ;
7038 X_EXT_ATTRS_TBL(i).D_EXT_ATTR10 := c_get_ext_attrs_rec.D_EXT_ATTR10 ;
7039 X_EXT_ATTRS_TBL(i).D_EXT_ATTR11 := c_get_ext_attrs_rec.D_EXT_ATTR11 ;
7040 X_EXT_ATTRS_TBL(i).D_EXT_ATTR12 := c_get_ext_attrs_rec.D_EXT_ATTR12 ;
7041 X_EXT_ATTRS_TBL(i).D_EXT_ATTR13 := c_get_ext_attrs_rec.D_EXT_ATTR13 ;
7042 X_EXT_ATTRS_TBL(i).D_EXT_ATTR14 := c_get_ext_attrs_rec.D_EXT_ATTR14 ;
7043 X_EXT_ATTRS_TBL(i).D_EXT_ATTR15 := c_get_ext_attrs_rec.D_EXT_ATTR15 ;
7044 X_EXT_ATTRS_TBL(i).D_EXT_ATTR16 := c_get_ext_attrs_rec.D_EXT_ATTR16 ;
7045 X_EXT_ATTRS_TBL(i).D_EXT_ATTR17 := c_get_ext_attrs_rec.D_EXT_ATTR17 ;
7046 X_EXT_ATTRS_TBL(i).D_EXT_ATTR18 := c_get_ext_attrs_rec.D_EXT_ATTR18 ;
7047 X_EXT_ATTRS_TBL(i).D_EXT_ATTR19 := c_get_ext_attrs_rec.D_EXT_ATTR19 ;
7048 X_EXT_ATTRS_TBL(i).D_EXT_ATTR20 := c_get_ext_attrs_rec.D_EXT_ATTR20 ;
7049 X_EXT_ATTRS_TBL(i).D_EXT_ATTR21 := c_get_ext_attrs_rec.D_EXT_ATTR21 ;
7050 X_EXT_ATTRS_TBL(i).D_EXT_ATTR22 := c_get_ext_attrs_rec.D_EXT_ATTR22 ;
7051 X_EXT_ATTRS_TBL(i).D_EXT_ATTR23 := c_get_ext_attrs_rec.D_EXT_ATTR23 ;
7052 X_EXT_ATTRS_TBL(i).D_EXT_ATTR24 := c_get_ext_attrs_rec.D_EXT_ATTR24 ;
7053 X_EXT_ATTRS_TBL(i).D_EXT_ATTR25 := c_get_ext_attrs_rec.D_EXT_ATTR25 ;
7054 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR1 := c_get_ext_attrs_rec.UOM_EXT_ATTR1 ;
7055 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR2 := c_get_ext_attrs_rec.UOM_EXT_ATTR2 ;
7056 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR3 := c_get_ext_attrs_rec.UOM_EXT_ATTR3 ;
7057 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR4 := c_get_ext_attrs_rec.UOM_EXT_ATTR4 ;
7058 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR5 := c_get_ext_attrs_rec.UOM_EXT_ATTR5 ;
7059 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR6 := c_get_ext_attrs_rec.UOM_EXT_ATTR6 ;
7060 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR7 := c_get_ext_attrs_rec.UOM_EXT_ATTR7 ;
7061 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR8 := c_get_ext_attrs_rec.UOM_EXT_ATTR8 ;
7062 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR9 := c_get_ext_attrs_rec.UOM_EXT_ATTR9 ;
7063 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR10 := c_get_ext_attrs_rec.UOM_EXT_ATTR10 ;
7064 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR11 := c_get_ext_attrs_rec.UOM_EXT_ATTR11 ;
7065 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR12 := c_get_ext_attrs_rec.UOM_EXT_ATTR12 ;
7066 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR13 := c_get_ext_attrs_rec.UOM_EXT_ATTR13 ;
7067 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR14 := c_get_ext_attrs_rec.UOM_EXT_ATTR14 ;
7068 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR15 := c_get_ext_attrs_rec.UOM_EXT_ATTR15 ;
7069 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR16 := c_get_ext_attrs_rec.UOM_EXT_ATTR16 ;
7070 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR17 := c_get_ext_attrs_rec.UOM_EXT_ATTR17 ;
7071 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR18 := c_get_ext_attrs_rec.UOM_EXT_ATTR18 ;
7072 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR19 := c_get_ext_attrs_rec.UOM_EXT_ATTR19 ;
7073 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR20 := c_get_ext_attrs_rec.UOM_EXT_ATTR20 ;
7074 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR21 := c_get_ext_attrs_rec.UOM_EXT_ATTR21 ;
7075 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR22 := c_get_ext_attrs_rec.UOM_EXT_ATTR22 ;
7076 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR23 := c_get_ext_attrs_rec.UOM_EXT_ATTR23 ;
7077 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR24 := c_get_ext_attrs_rec.UOM_EXT_ATTR24 ;
7078 X_EXT_ATTRS_TBL(i).UOM_EXT_ATTR25 := c_get_ext_attrs_rec.UOM_EXT_ATTR25 ;
7079
7080 i := i + 1 ;
7081
7082 END LOOP;
7083
7084 EXCEPTION
7085 WHEN no_data_found THEN
7086 CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg
7087 (p_token_an => 'Populate_Ext_Attr_Audit_Tbl',
7088 p_token_v => TO_CHAR(P_EXTENSION_ID),
7089 p_token_p => 'P_EXTENSION_ID' ,
7090 p_table_name => 'CS_SR_CONTACTX_EXT',
7091 p_column_name => 'EXTENSION_ID');
7092
7093 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7094
7095 WHEN OTHERS THEN
7096 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7097
7098 END Populate_Ext_Attr_Audit_Tbl;
7099
7100 END CS_SR_EXTATTRIBUTES_PVT;