[Home] [Help]
PACKAGE BODY: APPS.WIP_EAM_WORKREQUEST_PUB
Source
1 PACKAGE BODY WIP_EAM_WORKREQUEST_PUB AS
2 /* $Header: WIPPWRPB.pls 120.1.12020000.2 2012/07/18 07:47:28 ankohli ship $ */
3 -- Start of comments
4 -- API name : WIP_EAM_WORKREQUEST_PUB
5 -- Type : Public
6 -- Function :
7 -- Pre-reqs : None.
8 -- Parameters :
9 -- OUT x_return_status OUT VARCHAR2(1)
10 -- x_msg_count OUT NUMBER
11 -- x_msg_data OUT VARCHAR2(2000)
12 --
13 -- Version Current version 1.0 Himal Karmacharya
14 --
15 -- Notes : Note text
16 --
17 -- End of comments
18
19
20 G_PKG_NAME CONSTANT VARCHAR2(30) :='WIP_EAM_WORKREQUEST_PUB';
21 procedure work_request_import
22 (
23 p_api_version in NUMBER := 1.0,
24 p_init_msg_list in VARCHAR2 := FND_API.G_FALSE,
25 p_commit in VARCHAR2 := FND_API.G_TRUE,
26 p_validation_level in NUMBER := FND_API.G_VALID_LEVEL_FULL,
27 p_mode in VARCHAR2,
28 p_work_request_rec in WIP_EAM_WORK_REQUESTS%ROWTYPE,
29 p_request_log in VARCHAR2,
30 p_user_id in NUMBER,
31 x_work_request_id out NOCOPY NUMBER,
32 x_return_status out NOCOPY VARCHAR2,
36 is
33 x_msg_count out NOCOPY NUMBER,
34 x_msg_data out NOCOPY VARCHAR2
35 )
37
38 l_stmt_num NUMBER := 0;
39
40 l_return_flag BOOLEAN;
41 l_return_status VARCHAR2(50);
42 l_msg_count NUMBER;
43 l_msg_data VARCHAR2(200); --bug 14049495
44 l_request_id NUMBER;
45 l_status_id NUMBER;
46
47 l_api_version constant number := 1.0;
48 l_api_name constant varchar2(30) := 'work_request_import';
49 l_calling_function varchar2(50);
50 l_error_message VARCHAR2(200);
51 l_resultout VARCHAR2(1);
52
53 BEGIN
54 -- Standard Start of API savepoint
55 SAVEPOINT work_request_import_pvt;
56
57 l_stmt_num := 10;
58
59 -- Standard call to check for call compatibility.
60 IF NOT fnd_api.compatible_api_call(
61 l_api_version
62 ,p_api_version
63 ,l_api_name
64 ,g_pkg_name) THEN
65 RAISE fnd_api.g_exc_unexpected_error;
66 END IF;
67
68 l_stmt_num := 20;
69
70 -- Initialize message list if p_init_msg_list is set to TRUE.
71 IF fnd_api.to_boolean(p_init_msg_list) THEN
72 fnd_msg_pub.initialize;
73 END IF;
74
75 l_stmt_num := 30;
76
77 -- Initialize API return status to success
78 x_return_status := fnd_api.g_ret_sts_success;
79
80 -- call validate api
81 WIP_EAM_WORKREQUEST_PVT.validate_work_request (
82 p_api_version => p_api_version,
83 p_init_msg_list => p_init_msg_list,
84 p_mode => p_mode,
85 p_org_id => p_work_request_rec.organization_id,
86 p_request_id => p_work_request_rec.work_request_id,
87 p_asset_group_id => p_work_request_rec.asset_group,
88 p_asset_number => p_work_request_rec.asset_number,
89 p_priority_id => p_work_request_rec.work_request_priority_id,
90 p_status_id => p_work_request_rec.work_request_status_id,
91 p_request_by_date => p_work_request_rec.expected_resolution_date,
92 p_request_log => p_request_log,
93 p_owning_dept_id => p_work_request_rec.work_request_owning_dept,
94 p_user_id => p_user_id,
95 p_work_request_type_id => p_work_request_rec.work_request_type_id,
96 p_maintenance_object_type => p_work_request_rec.maintenance_object_type,
97 p_maintenance_object_id => p_work_request_rec.maintenance_object_id,
98 p_eam_linear_id => p_work_request_rec.eam_linear_location_id,
99 p_attribute_category => p_work_request_rec.attribute_category,
100 p_attribute1 => p_work_request_rec.attribute1,
101 p_attribute2 => p_work_request_rec.attribute2,
102 p_attribute3 => p_work_request_rec.attribute3,
103 p_attribute4 => p_work_request_rec.attribute4,
104 p_attribute5 => p_work_request_rec.attribute5,
105 p_attribute6 => p_work_request_rec.attribute6,
106 p_attribute7 => p_work_request_rec.attribute7,
107 p_attribute8 => p_work_request_rec.attribute8,
108 p_attribute9 => p_work_request_rec.attribute9,
109 p_attribute10 => p_work_request_rec.attribute10,
110 p_attribute11 => p_work_request_rec.attribute11,
111 p_attribute12 => p_work_request_rec.attribute12,
112 p_attribute13 => p_work_request_rec.attribute13,
113 p_attribute14 => p_work_request_rec.attribute14,
114 p_attribute15 => p_work_request_rec.attribute15,
115 p_created_for => p_work_request_rec.created_for,
116 p_phone_number => p_work_request_rec.phone_number,
117 p_email => p_work_request_rec.e_mail,
118 p_contact_preference => p_work_request_rec.contact_preference,
119 p_notify_originator => p_work_request_rec.notify_originator,
120 x_return_flag => l_return_flag,
121 x_return_status => l_return_status,
122 x_msg_count => l_msg_count,
123 x_msg_data => l_msg_data
124 );
125
126
127 l_stmt_num := 40;
128
129 IF l_return_flag THEN
130
131 IF p_mode = 'CREATE' THEN
132
133 WIP_EAM_WORKREQUEST_PVT.create_and_approve (
134 p_api_version => p_api_version,
135 p_init_msg_list => p_init_msg_list,
136 p_commit => p_commit,
137 p_validation_level => p_validation_level,
138 p_org_id => p_work_request_rec.organization_id,
139 p_asset_group_id => p_work_request_rec.asset_group,
140 p_asset_number => p_work_request_rec.asset_number,
141 p_priority_id => p_work_request_rec.work_request_priority_id,
142 p_request_by_date => p_work_request_rec.expected_resolution_date,
143 p_request_log => p_request_log,
144 p_owning_dept_id => p_work_request_rec.work_request_owning_dept,
145 p_user_id => p_user_id,
146 p_work_request_type_id => p_work_request_rec.work_request_type_id,
147 p_maintenance_object_type => p_work_request_rec.maintenance_object_type,
148 p_maintenance_object_id => p_work_request_rec.maintenance_object_id,
149 p_eam_linear_id => p_work_request_rec.eam_linear_location_id,
150 p_expected_resolution_date => p_work_request_rec.expected_resolution_date,
151 p_created_for => p_work_request_rec.created_for,
152 p_phone_number => p_work_request_rec.phone_number,
153 p_email => p_work_request_rec.e_mail,
154 p_contact_preference => p_work_request_rec.contact_preference,
158 p_attribute2 => p_work_request_rec.attribute2,
155 p_notify_originator => p_work_request_rec.notify_originator,
156 p_attribute_category => p_work_request_rec.attribute_category,
157 p_attribute1 => p_work_request_rec.attribute1,
159 p_attribute3 => p_work_request_rec.attribute3,
160 p_attribute4 => p_work_request_rec.attribute4,
161 p_attribute5 => p_work_request_rec.attribute5,
162 p_attribute6 => p_work_request_rec.attribute6,
163 p_attribute7 => p_work_request_rec.attribute7,
164 p_attribute8 => p_work_request_rec.attribute8,
165 p_attribute9 => p_work_request_rec.attribute9,
166 p_attribute10 => p_work_request_rec.attribute10,
167 p_attribute11 => p_work_request_rec.attribute11,
168 p_attribute12 => p_work_request_rec.attribute12,
169 p_attribute13 => p_work_request_rec.attribute13,
170 p_attribute14 => p_work_request_rec.attribute14,
171 p_attribute15 => p_work_request_rec.attribute15,
172 x_work_request_id => l_request_id,
173 x_resultout => l_resultout,
174 x_error_message => l_error_message,
175 x_return_status => l_return_status,
176 x_msg_count => l_msg_count,
177 x_msg_data => l_msg_data
178 );
179 x_work_request_id := l_request_id;
180
181 ELSIF p_mode = 'UPDATE' THEN
182
183 /*WIP_EAM_WORKREQUEST_PVT.update_work_request (
184 p_api_version => p_api_version,
185 p_init_msg_list => p_init_msg_list,
186 p_commit => p_commit,
187 p_validation_level => p_validation_level,
188 p_org_id => decode(p_work_request_rec.organization_id,null,organization_id,p_work_request_rec.organization_id),
189 p_asset_group_id => decode(p_work_request_rec.asset_group,null,asset_group,p_work_request_rec.asset_group),
190 p_asset_number => decode(p_work_request_rec.asset_number,asset_number,p_work_request_rec.asset_number),
191 p_request_id => p_work_request_rec.work_request_id,
192 p_status_id => decode(p_work_request_rec.work_request_status_id,null,work_request_status_id,p_work_request_rec.work_request_status_id),
193 p_priority_id => decode(p_work_request_rec.work_request_priority_id,null,work_request_priority_id,p_work_request_rec.priority_id),
194 p_request_by_date => decode(p_work_request_rec.expected_resolution_date,null,expected_resolution_date,p_work_request_rec.expected_resolution_date),
195 p_request_log => decode(p_request_log,null,description,p_request_log),
196 p_work_request_type_id => decode(p_work_request_rec.work_request_type_id,null,work_request_type_id,p_work_request_rec.work_request_type_id),
197 p_owning_dept_id => decode(p_work_request_rec.work_request_owning_dept,null,work_request_owning_dept,p_work_request_rec.work_request_owning_dept),
198 p_created_for => decode(p_work_request_rec.created_for,null,created_for,p_work_request_rec.created_for),
199 p_phone_number => decode(p_work_request_rec.phone_number,null,p_phone_number,p_work_request_rec.phone_number),
200 p_email => decode(p_work_request_rec.e_mail,null,e_mail,p_work_request_rec.e_mail),
201 p_contact_preference => decode(p_work_request_rec.contact_preference,null,contact_preference,p_work_request_rec.contact_preference),
202 p_notify_originator => decode(p_work_request_rec.notify_originator,null,notify_originator,p_work_request_rec.notify_originator),
203 p_attribute_category => decode(p_work_request_rec.attribute_category,null,attribute_category,p_work_request_rec.attribute_category),
204 p_attribute1 => decode(p_work_request_rec.attribute1, NULL, ATTRIBUTE1, p_work_request_rec.attribute1),
205 p_attribute2 => decode(p_work_request_rec.attribute2, NULL, ATTRIBUTE2, p_work_request_rec.attribute2),
206 p_attribute3 => decode(p_work_request_rec.attribute3, NULL, ATTRIBUTE3, p_work_request_rec.attribute3),
207 p_attribute4 => decode(p_work_request_rec.attribute4, NULL, ATTRIBUTE4, p_work_request_rec.attribute4),
208 p_attribute5 => decode(p_work_request_rec.attribute5, NULL, ATTRIBUTE5, p_work_request_rec.attribute5),
209 p_attribute6 => decode(p_work_request_rec.attribute6, NULL, ATTRIBUTE6, p_work_request_rec.attribute6),
210 p_attribute7 => decode(p_work_request_rec.attribute7, NULL, ATTRIBUTE7, p_work_request_rec.attribute7),
211 p_attribute8 => decode(p_work_request_rec.attribute8, NULL, ATTRIBUTE8, p_work_request_rec.attribute8),
212 p_attribute9 => decode(p_work_request_rec.attribute9, NULL, ATTRIBUTE9, p_work_request_rec.attribute9),
213 p_attribute10 => decode(p_work_request_rec.attribute10, NULL, ATTRIBUTE10, p_work_request_rec.attribute10),
214 p_attribute11 => decode(p_work_request_rec.attribute11, NULL, ATTRIBUTE11, p_work_request_rec.attribute11),
215 p_attribute12 => decode(p_work_request_rec.attribute12, NULL, ATTRIBUTE12, p_work_request_rec.attribute12),
216 p_attribute13 => decode(p_work_request_rec.attribute13, NULL, ATTRIBUTE13, p_work_request_rec.attribute13),
217 p_attribute14 => decode(p_work_request_rec.attribute14, NULL, ATTRIBUTE14, p_work_request_rec.attribute14),
218 p_attribute15 => decode(p_work_request_rec.attribute15, NULL, ATTRIBUTE15, p_work_request_rec.attribute15),
219 x_return_status => l_return_status,
220 x_msg_count => l_msg_count,
221 x_msg_data => l_msg_data
222 );*/
223 WIP_EAM_WORKREQUEST_PVT.update_work_request (
224 p_api_version => p_api_version,
225 p_init_msg_list => p_init_msg_list,
226 p_commit => p_commit,
227 p_validation_level => p_validation_level,
228 p_org_id => p_work_request_rec.organization_id,
229 p_asset_group_id => p_work_request_rec.asset_group,
230 p_asset_number => p_work_request_rec.asset_number,
231 p_request_id => p_work_request_rec.work_request_id,
232 p_status_id => p_work_request_rec.work_request_status_id,
233 p_priority_id => p_work_request_rec.work_request_priority_id,
234 p_request_by_date => p_work_request_rec.expected_resolution_date,
235 p_request_log => p_request_log,
236 p_work_request_type_id => p_work_request_rec.work_request_type_id,
237 p_eam_linear_id => p_work_request_rec.eam_linear_location_id,
238 p_owning_dept_id => p_work_request_rec.work_request_owning_dept,
239 p_user_id => p_user_id,
240 p_created_for => p_work_request_rec.created_for,
241 p_phone_number => p_work_request_rec.phone_number,
242 p_email => p_work_request_rec.e_mail,
243 p_contact_preference => p_work_request_rec.contact_preference,
244 p_notify_originator => p_work_request_rec.notify_originator,
245 p_attribute_category => p_work_request_rec.attribute_category,
246 p_attribute1 => p_work_request_rec.attribute1,
247 p_attribute2 => p_work_request_rec.attribute2,
248 p_attribute3 => p_work_request_rec.attribute3,
249 p_attribute4 => p_work_request_rec.attribute4,
250 p_attribute5 => p_work_request_rec.attribute5,
251 p_attribute6 => p_work_request_rec.attribute6,
252 p_attribute7 => p_work_request_rec.attribute7,
253 p_attribute8 => p_work_request_rec.attribute8,
254 p_attribute9 => p_work_request_rec.attribute9,
255 p_attribute10 => p_work_request_rec.attribute10,
256 p_attribute11 => p_work_request_rec.attribute11,
257 p_attribute12 => p_work_request_rec.attribute12,
258 p_attribute13 => p_work_request_rec.attribute13,
259 p_attribute14 => p_work_request_rec.attribute14,
260 p_attribute15 => p_work_request_rec.attribute15,
261 p_from_public_api => 'Y',
262 x_return_status => l_return_status,
263 x_msg_count => l_msg_count,
264 x_msg_data => l_msg_data
265 );
266 x_work_request_id := p_work_request_rec.work_request_id;
267
268 END IF;
269
270 x_msg_count := l_msg_count;
271 x_msg_data := l_msg_data;
272 ELSE
273 x_msg_count := l_msg_count;
274 x_msg_data := l_msg_data;
275 END IF;
276
277 -- raise an error flag if any of the called procedures fails
278 IF l_return_status = 'E' THEN
279 RAISE FND_API.g_exc_error;
280 ELSIF l_return_status = 'U' THEN
281 RAISE FND_API.g_exc_unexpected_error;
282 END IF;
283
284 IF fnd_api.to_boolean(p_commit) THEN
285 COMMIT WORK;
286 END IF;
287
288 EXCEPTION
289 WHEN fnd_api.g_exc_error THEN
290 ROLLBACK TO work_request_import_pvt;
291 x_return_status := fnd_api.g_ret_sts_error;
292 fnd_msg_pub.count_and_get(
293 p_encoded => fnd_api.g_false
294 ,p_count => x_msg_count
295 ,p_data => x_msg_data);
296 WHEN fnd_api.g_exc_unexpected_error THEN
297 ROLLBACK TO work_request_import_pvt;
298 x_return_status := fnd_api.g_ret_sts_unexp_error;
299 fnd_msg_pub.count_and_get(
300 p_encoded => fnd_api.g_false
301 ,p_count => x_msg_count
302 ,p_data => x_msg_data);
303 WHEN OTHERS THEN
304 ROLLBACK TO work_request_import_pvt;
305 x_return_status := fnd_api.g_ret_sts_unexp_error;
306 IF fnd_msg_pub.check_msg_level(
307 fnd_msg_pub.g_msg_lvl_unexp_error) THEN
308 fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name||'('||l_stmt_num||')');
309 END IF;
310 fnd_msg_pub.count_and_get(
311 p_encoded => fnd_api.g_false
312 ,p_count => x_msg_count
313 ,p_data => x_msg_data);
314
315 end work_request_import;
316
317 end;