[Home] [Help]
PACKAGE BODY: APPS.BIV_SR_PKG
Source
1 PACKAGE BODY biv_sr_pkg AS
2 -- $Header: bivupdtb.pls 115.0 2003/02/05 21:18:30 smisra noship $ */
3 procedure update_service_request(
4 p_sr_id number,
5 p_status_id number,
6 p_severity_id number,
7 p_owner_id number,
8 p_owner_group_id number,
9 p_note_type varchar2,
10 p_note_status varchar2,
11 p_note varchar2,
12 p_vrsn_no number,
13 p_error out nocopy varchar2) as
14 l_service_request_rec CS_ServiceRequest_PVT.service_request_rec_type;
15 l_owner_id number;
16 l_return_status VARCHAR2(1);
17 l_msg_count NUMBER ;
18 l_msg_data VARCHAR2(2000);
19 l_msg_index_out NUMBER;
20 l_request_id NUMBER;
21 l_request_number VARCHAR2(64);
22 l_interaction_id NUMBER;
23 l_object_version_number NUMBER;
24
25 l_notes CS_SERVICEREQUEST_PVT.notes_table;
26 l_contacts CS_SERVICEREQUEST_PVT.contacts_table;
27
28 l_last_update_date date;
29
30 l_itemkey VARCHAR2(240);
31 l_return_status_wkflw VARCHAR2(1) ;
32
33 l_workflow_process_id NUMBER ;
34 begin
35 biv_core_pkg.biv_debug('owner' || to_char(p_owner_id),
36 'SR_UPDT');
37 biv_core_pkg.biv_debug('group' || to_char(p_owner_group_id),
38 'SR_UPDT');
39 l_owner_id := p_owner_id;
40 if (p_owner_id = 0) then l_owner_id := null;
41 end if;
42 biv_core_pkg.biv_debug('before init rec','SR_UPDT');
43 CS_ServiceRequest_PVT.initialize_rec(l_service_request_rec);
44 l_request_id := p_sr_id ;
45 /* when update jsp passed version number, delete this
46 statement */
47 if (p_vrsn_no is null) then
48 SELECT object_version_number
49 INTO l_object_version_number
50 FROM CS_INCIDENTS_ALL_B
51 WHERE incident_id = l_request_id;
52 end if;
53
54 l_last_update_date := SYSDATE;
55
56 l_service_request_rec.status_id := p_status_id ;
57 l_service_request_rec.severity_id := p_severity_id ;
58 l_service_request_rec.owner_id := l_owner_id ;
59 biv_version_specific_pkg.set_update_program(
60 l_service_request_rec);
61 if (p_owner_group_id is not null) then
62 l_service_request_rec.owner_group_id := p_owner_group_id;
63 end if;
64
65 if (p_note is not null) then
66 l_notes(1).note_type := p_note_TYpe ;
67 l_notes(1).note := p_note ;
68 l_notes(1).note_detail := p_note ;
69 end if;
70
71 biv_core_pkg.biv_debug('before update SR','SR_UPDT');
72 CS_ServiceRequest_PVT.Update_ServiceRequest
73 (p_api_version => 3.0,
74 p_validation_level => fnd_api.g_valid_level_full,
75 p_commit => fnd_api.g_true,
76 p_init_msg_list => fnd_api.g_true,
77 x_return_status => l_return_status,
78 p_request_id => l_request_id,
79 x_msg_count => l_msg_count,
80 x_msg_data => l_msg_data,
81 p_last_updated_by => fnd_global.user_id,
82 p_last_update_date => l_last_update_date,
83 p_service_request_rec => l_service_request_rec,
84 p_notes => l_notes,
85 p_contacts => l_contacts,
86 p_object_version_number => l_object_version_number,
87 x_interaction_id => l_interaction_id,
88 x_workflow_process_id => l_workflow_process_id);
89 biv_core_pkg.biv_debug('after update SR','SR_UPDT');
90
91 /*
92 dbms_output.put_line('no of Errors:' ||to_char(l_msg_count));
93 dbms_output.put_line(substr(l_msg_data,1,250));
94 dbms_output.put_line(substr(l_msg_data,250,250));
95 */
96 p_error := null;
97 IF (FND_MSG_PUB.Count_Msg > 1) THEN
98 --Display all the error messages
99 FOR j in 1..FND_MSG_PUB.Count_Msg LOOP
100 FND_MSG_PUB.Get(p_msg_index=>j,
101 p_encoded=>'F',
102 p_data=>l_msg_data,
103 p_msg_index_out=>l_msg_index_out);
104 -- DBMS_OUTPUT.PUT_LINE(l_msg_data);
105 p_error := p_error || ' ' || l_msg_data;
106 END LOOP;
107 ELSE
108 --Only one error
109 FND_MSG_PUB.Get(p_msg_index=>1,
110 p_encoded=>'F',
111 p_data=>l_msg_data,
112 p_msg_index_out=>l_msg_index_out);
113 --DBMS_OUTPUT.PUT_LINE(l_msg_data);
114 p_error := l_msg_data;
115
116 END IF;
117 end;
118 end;