[Home] [Help]
PACKAGE BODY: APPS.WIP_EAM_WORKREQUEST_PUB
Source
1 PACKAGE BODY WIP_EAM_WORKREQUEST_PUB AS
2 /* $Header: WIPPWRPB.pls 120.1 2005/06/15 17:16:11 appldev $ */
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,
33 x_msg_count out NOCOPY NUMBER,
34 x_msg_data out NOCOPY VARCHAR2
35 )
36 is
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(50);
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_work_request_type_id => p_work_request_rec.work_request_type_id,
95 p_maintenance_object_type => p_work_request_rec.maintenance_object_type,
96 p_maintenance_object_id => p_work_request_rec.maintenance_object_id,
97 p_eam_linear_id => p_work_request_rec.eam_linear_location_id,
98 p_attribute_category => p_work_request_rec.attribute_category,
99 p_attribute1 => p_work_request_rec.attribute1,
100 p_attribute2 => p_work_request_rec.attribute2,
101 p_attribute3 => p_work_request_rec.attribute3,
102 p_attribute4 => p_work_request_rec.attribute4,
103 p_attribute5 => p_work_request_rec.attribute5,
104 p_attribute6 => p_work_request_rec.attribute6,
105 p_attribute7 => p_work_request_rec.attribute7,
106 p_attribute8 => p_work_request_rec.attribute8,
107 p_attribute9 => p_work_request_rec.attribute9,
108 p_attribute10 => p_work_request_rec.attribute10,
109 p_attribute11 => p_work_request_rec.attribute11,
110 p_attribute12 => p_work_request_rec.attribute12,
111 p_attribute13 => p_work_request_rec.attribute13,
112 p_attribute14 => p_work_request_rec.attribute14,
113 p_attribute15 => p_work_request_rec.attribute15,
114 p_created_for => p_work_request_rec.created_for,
115 p_phone_number => p_work_request_rec.phone_number,
116 p_email => p_work_request_rec.e_mail,
117 p_contact_preference => p_work_request_rec.contact_preference,
118 p_notify_originator => p_work_request_rec.notify_originator,
119 x_return_flag => l_return_flag,
120 x_return_status => l_return_status,
121 x_msg_count => l_msg_count,
122 x_msg_data => l_msg_data
123 );
124
125
126 l_stmt_num := 40;
127
128 IF l_return_flag THEN
129
130 IF p_mode = 'CREATE' THEN
131
132 WIP_EAM_WORKREQUEST_PVT.create_and_approve (
133 p_api_version => p_api_version,
134 p_init_msg_list => p_init_msg_list,
135 p_commit => p_commit,
136 p_validation_level => p_validation_level,
137 p_org_id => p_work_request_rec.organization_id,
138 p_asset_group_id => p_work_request_rec.asset_group,
139 p_asset_number => p_work_request_rec.asset_number,
140 p_priority_id => p_work_request_rec.work_request_priority_id,
141 p_request_by_date => p_work_request_rec.expected_resolution_date,
142 p_request_log => p_request_log,
143 p_owning_dept_id => p_work_request_rec.work_request_owning_dept,
144 p_user_id => p_user_id,
145 p_work_request_type_id => p_work_request_rec.work_request_type_id,
146 p_maintenance_object_type => p_work_request_rec.maintenance_object_type,
147 p_maintenance_object_id => p_work_request_rec.maintenance_object_id,
148 p_eam_linear_id => p_work_request_rec.eam_linear_location_id,
149 p_expected_resolution_date => p_work_request_rec.expected_resolution_date,
150 p_created_for => p_work_request_rec.created_for,
151 p_phone_number => p_work_request_rec.phone_number,
152 p_email => p_work_request_rec.e_mail,
153 p_contact_preference => p_work_request_rec.contact_preference,
154 p_notify_originator => p_work_request_rec.notify_originator,
155 p_attribute_category => p_work_request_rec.attribute_category,
156 p_attribute1 => p_work_request_rec.attribute1,
157 p_attribute2 => p_work_request_rec.attribute2,
158 p_attribute3 => p_work_request_rec.attribute3,
159 p_attribute4 => p_work_request_rec.attribute4,
160 p_attribute5 => p_work_request_rec.attribute5,
161 p_attribute6 => p_work_request_rec.attribute6,
162 p_attribute7 => p_work_request_rec.attribute7,
163 p_attribute8 => p_work_request_rec.attribute8,
164 p_attribute9 => p_work_request_rec.attribute9,
165 p_attribute10 => p_work_request_rec.attribute10,
166 p_attribute11 => p_work_request_rec.attribute11,
167 p_attribute12 => p_work_request_rec.attribute12,
168 p_attribute13 => p_work_request_rec.attribute13,
169 p_attribute14 => p_work_request_rec.attribute14,
170 p_attribute15 => p_work_request_rec.attribute15,
171 x_work_request_id => l_request_id,
172 x_resultout => l_resultout,
173 x_error_message => l_error_message,
174 x_return_status => l_return_status,
175 x_msg_count => l_msg_count,
176 x_msg_data => l_msg_data
177 );
178 x_work_request_id := l_request_id;
179
180 ELSIF p_mode = 'UPDATE' THEN
181
182 /*WIP_EAM_WORKREQUEST_PVT.update_work_request (
183 p_api_version => p_api_version,
184 p_init_msg_list => p_init_msg_list,
185 p_commit => p_commit,
186 p_validation_level => p_validation_level,
187 p_org_id => decode(p_work_request_rec.organization_id,null,organization_id,p_work_request_rec.organization_id),
188 p_asset_group_id => decode(p_work_request_rec.asset_group,null,asset_group,p_work_request_rec.asset_group),
189 p_asset_number => decode(p_work_request_rec.asset_number,asset_number,p_work_request_rec.asset_number),
190 p_request_id => p_work_request_rec.work_request_id,
191 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),
192 p_priority_id => decode(p_work_request_rec.work_request_priority_id,null,work_request_priority_id,p_work_request_rec.priority_id),
193 p_request_by_date => decode(p_work_request_rec.expected_resolution_date,null,expected_resolution_date,p_work_request_rec.expected_resolution_date),
194 p_request_log => decode(p_request_log,null,description,p_request_log),
195 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),
196 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),
197 p_created_for => decode(p_work_request_rec.created_for,null,created_for,p_work_request_rec.created_for),
198 p_phone_number => decode(p_work_request_rec.phone_number,null,p_phone_number,p_work_request_rec.phone_number),
199 p_email => decode(p_work_request_rec.e_mail,null,e_mail,p_work_request_rec.e_mail),
200 p_contact_preference => decode(p_work_request_rec.contact_preference,null,contact_preference,p_work_request_rec.contact_preference),
201 p_notify_originator => decode(p_work_request_rec.notify_originator,null,notify_originator,p_work_request_rec.notify_originator),
202 p_attribute_category => decode(p_work_request_rec.attribute_category,null,attribute_category,p_work_request_rec.attribute_category),
203 p_attribute1 => decode(p_work_request_rec.attribute1, NULL, ATTRIBUTE1, p_work_request_rec.attribute1),
204 p_attribute2 => decode(p_work_request_rec.attribute2, NULL, ATTRIBUTE2, p_work_request_rec.attribute2),
205 p_attribute3 => decode(p_work_request_rec.attribute3, NULL, ATTRIBUTE3, p_work_request_rec.attribute3),
206 p_attribute4 => decode(p_work_request_rec.attribute4, NULL, ATTRIBUTE4, p_work_request_rec.attribute4),
207 p_attribute5 => decode(p_work_request_rec.attribute5, NULL, ATTRIBUTE5, p_work_request_rec.attribute5),
208 p_attribute6 => decode(p_work_request_rec.attribute6, NULL, ATTRIBUTE6, p_work_request_rec.attribute6),
209 p_attribute7 => decode(p_work_request_rec.attribute7, NULL, ATTRIBUTE7, p_work_request_rec.attribute7),
210 p_attribute8 => decode(p_work_request_rec.attribute8, NULL, ATTRIBUTE8, p_work_request_rec.attribute8),
211 p_attribute9 => decode(p_work_request_rec.attribute9, NULL, ATTRIBUTE9, p_work_request_rec.attribute9),
212 p_attribute10 => decode(p_work_request_rec.attribute10, NULL, ATTRIBUTE10, p_work_request_rec.attribute10),
213 p_attribute11 => decode(p_work_request_rec.attribute11, NULL, ATTRIBUTE11, p_work_request_rec.attribute11),
214 p_attribute12 => decode(p_work_request_rec.attribute12, NULL, ATTRIBUTE12, p_work_request_rec.attribute12),
215 p_attribute13 => decode(p_work_request_rec.attribute13, NULL, ATTRIBUTE13, p_work_request_rec.attribute13),
216 p_attribute14 => decode(p_work_request_rec.attribute14, NULL, ATTRIBUTE14, p_work_request_rec.attribute14),
217 p_attribute15 => decode(p_work_request_rec.attribute15, NULL, ATTRIBUTE15, p_work_request_rec.attribute15),
218 x_return_status => l_return_status,
219 x_msg_count => l_msg_count,
220 x_msg_data => l_msg_data
221 );*/
222 WIP_EAM_WORKREQUEST_PVT.update_work_request (
223 p_api_version => p_api_version,
224 p_init_msg_list => p_init_msg_list,
225 p_commit => p_commit,
226 p_validation_level => p_validation_level,
227 p_org_id => p_work_request_rec.organization_id,
228 p_asset_group_id => p_work_request_rec.asset_group,
229 p_asset_number => p_work_request_rec.asset_number,
230 p_request_id => p_work_request_rec.work_request_id,
231 p_status_id => p_work_request_rec.work_request_status_id,
232 p_priority_id => p_work_request_rec.work_request_priority_id,
233 p_request_by_date => p_work_request_rec.expected_resolution_date,
234 p_request_log => p_request_log,
235 p_work_request_type_id => p_work_request_rec.work_request_type_id,
236 p_eam_linear_id => p_work_request_rec.eam_linear_location_id,
237 p_owning_dept_id => p_work_request_rec.work_request_owning_dept,
238 p_created_for => p_work_request_rec.created_for,
239 p_phone_number => p_work_request_rec.phone_number,
240 p_email => p_work_request_rec.e_mail,
241 p_contact_preference => p_work_request_rec.contact_preference,
242 p_notify_originator => p_work_request_rec.notify_originator,
243 p_attribute_category => p_work_request_rec.attribute_category,
244 p_attribute1 => p_work_request_rec.attribute1,
245 p_attribute2 => p_work_request_rec.attribute2,
246 p_attribute3 => p_work_request_rec.attribute3,
247 p_attribute4 => p_work_request_rec.attribute4,
248 p_attribute5 => p_work_request_rec.attribute5,
249 p_attribute6 => p_work_request_rec.attribute6,
250 p_attribute7 => p_work_request_rec.attribute7,
251 p_attribute8 => p_work_request_rec.attribute8,
252 p_attribute9 => p_work_request_rec.attribute9,
253 p_attribute10 => p_work_request_rec.attribute10,
254 p_attribute11 => p_work_request_rec.attribute11,
255 p_attribute12 => p_work_request_rec.attribute12,
256 p_attribute13 => p_work_request_rec.attribute13,
257 p_attribute14 => p_work_request_rec.attribute14,
258 p_attribute15 => p_work_request_rec.attribute15,
259 p_from_public_api => 'Y',
260 x_return_status => l_return_status,
261 x_msg_count => l_msg_count,
262 x_msg_data => l_msg_data
263 );
264 x_work_request_id := p_work_request_rec.work_request_id;
265
266 END IF;
267
268 x_msg_count := l_msg_count;
269 x_msg_data := l_msg_data;
270 ELSE
271 x_msg_count := l_msg_count;
272 x_msg_data := l_msg_data;
273 END IF;
274
275 -- raise an error flag if any of the called procedures fails
276 IF l_return_status = 'E' THEN
277 RAISE FND_API.g_exc_error;
278 ELSIF l_return_status = 'U' THEN
279 RAISE FND_API.g_exc_unexpected_error;
280 END IF;
281
282 IF fnd_api.to_boolean(p_commit) THEN
283 COMMIT WORK;
284 END IF;
285
286 EXCEPTION
287 WHEN fnd_api.g_exc_error THEN
288 ROLLBACK TO work_request_import_pvt;
289 x_return_status := fnd_api.g_ret_sts_error;
290 fnd_msg_pub.count_and_get(
291 p_encoded => fnd_api.g_false
292 ,p_count => x_msg_count
293 ,p_data => x_msg_data);
294 WHEN fnd_api.g_exc_unexpected_error THEN
295 ROLLBACK TO work_request_import_pvt;
296 x_return_status := fnd_api.g_ret_sts_unexp_error;
297 fnd_msg_pub.count_and_get(
298 p_encoded => fnd_api.g_false
299 ,p_count => x_msg_count
300 ,p_data => x_msg_data);
301 WHEN OTHERS THEN
302 ROLLBACK TO work_request_import_pvt;
303 x_return_status := fnd_api.g_ret_sts_unexp_error;
304 IF fnd_msg_pub.check_msg_level(
305 fnd_msg_pub.g_msg_lvl_unexp_error) THEN
306 fnd_msg_pub.add_exc_msg(g_pkg_name, l_api_name||'('||l_stmt_num||')');
307 END IF;
308 fnd_msg_pub.count_and_get(
309 p_encoded => fnd_api.g_false
310 ,p_count => x_msg_count
311 ,p_data => x_msg_data);
312
313 end work_request_import;
314
315 end;