DBA Data[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;