[Home] [Help]
PACKAGE BODY: APPS.CSD_REPAIRS_GRP
Source
1 PACKAGE BODY CSD_REPAIRS_GRP as
2 /* $Header: csdgdrab.pls 120.7.12010000.3 2010/05/06 01:28:00 takwong ship $ */
3 --
4 -- Package name : CSD_REPAIRS_GRP
5 -- Purpose : This package contains routines called by Repairs form.
6 -- History :
7 -- Version Date Name Description
8 -- 115.0 12/28/99 pkdas Created.
9 -- 115.1 01/18/00 pkdas
10 -- 115.2 01/25/00 pkdas Assigned l_repair_line_id to out parameter in Insert_From_Form
11 -- 115.3 02/21/00 pkdas Changed the name of the procedure Insert_From_Form
12 -- to Create_Repairs and Update_From_Form to Update_Repairs.
13 -- Added p_REPAIR_LINE_ID and p_REPAIR_NUMBER as IN
14 -- parameters in the Create_Repairs procedure.
15 -- Added standard OUT parameter in the Create_Repairs
16 -- and Update_Repairs procedures. Added default values
17 -- to the parameters.
18 -- 115.4 02/29/00 pkdas Changed the procedure name
19 -- Create_Repairs -> Create_Repair_Order
20 -- Update_Repairs -> Update_Repair_Order
21 -- 115.5 05/10/00 pkdas Made changes to Update_Status procedure
22 -- 115.6 11/30/01 travi Added Auto_Process_Rma, Object_Version_Number and Repair_Mode cols
23 -- 115.6 01/04/02 travi Added Object_Version_Number to update_approval_status
24 -- and update_status procedure
25 -- 115.7 01/14/02 travi Added Item_Revision column
26 -- 115.8 02/06/02 travi Added Object_Version_Numbe column to validate_and_write call
27 -- 115.9 05/16/02 travi Added Update_Group_Approval_Status and Update_Group_Reject_Status procedures
28 -- 115.28 08/06/02 saupadhy Default input parameters for procedures were made consistent in package specifica
29 -- -tion and body. To fix bug 2497692
30 -- NOTE :
31 --
32 G_PKG_NAME CONSTANT VARCHAR2(30) := 'CSD_REPAIRS_GRP';
33 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csdgdrab.pls';
34 g_debug NUMBER := csd_gen_utility_pvt.g_debug_level;
35 --
36 PROCEDURE Create_Repair_Order(
37 p_Init_Msg_List IN VARCHAR2 := 'F',
38 p_Commit IN VARCHAR2 := 'F',
39 p_REPAIR_LINE_ID IN NUMBER,
40 p_REPAIR_NUMBER IN VARCHAR2,
41 p_INCIDENT_ID IN NUMBER,
42 p_INVENTORY_ITEM_ID IN NUMBER,
43 p_CUSTOMER_PRODUCT_ID IN NUMBER,
44 p_UNIT_OF_MEASURE IN VARCHAR2,
45 p_REPAIR_TYPE_ID IN NUMBER,
46 -- RESOURCE_GROUP Added by Vijay 10/28/2004
47 p_RESOURCE_GROUP IN NUMBER,
48 p_RESOURCE_ID IN NUMBER,
49 p_PROJECT_ID IN NUMBER,
50 p_TASK_ID IN NUMBER,
51 p_UNIT_NUMBER IN VARCHAR2,
52 p_CONTRACT_LINE_ID IN NUMBER,
53 p_AUTO_PROCESS_RMA IN VARCHAR2,
54 p_REPAIR_MODE IN VARCHAR2,
55 p_OBJECT_VERSION_NUMBER IN NUMBER,
56 p_ITEM_REVISION IN VARCHAR2,
57 p_INSTANCE_ID IN NUMBER,
58 p_STATUS IN VARCHAR2 := 'O',
59 p_STATUS_REASON_CODE IN VARCHAR2,
60 p_DATE_CLOSED IN DATE,
61 p_APPROVAL_REQUIRED_FLAG IN VARCHAR2,
62 p_APPROVAL_STATUS IN VARCHAR2,
63 p_SERIAL_NUMBER IN VARCHAR2,
64 p_PROMISE_DATE IN DATE,
65 p_ATTRIBUTE_CATEGORY IN VARCHAR2,
66 p_ATTRIBUTE1 IN VARCHAR2,
67 p_ATTRIBUTE2 IN VARCHAR2,
68 p_ATTRIBUTE3 IN VARCHAR2,
69 p_ATTRIBUTE4 IN VARCHAR2,
70 p_ATTRIBUTE5 IN VARCHAR2,
71 p_ATTRIBUTE6 IN VARCHAR2,
72 p_ATTRIBUTE7 IN VARCHAR2,
73 p_ATTRIBUTE8 IN VARCHAR2,
74 p_ATTRIBUTE9 IN VARCHAR2,
75 p_ATTRIBUTE10 IN VARCHAR2,
76 p_ATTRIBUTE11 IN VARCHAR2,
77 p_ATTRIBUTE12 IN VARCHAR2,
78 p_ATTRIBUTE13 IN VARCHAR2,
79 p_ATTRIBUTE14 IN VARCHAR2,
80 p_ATTRIBUTE15 IN VARCHAR2,
81 -- additional DFF attributes, subhat(bug#7497907).
82 P_ATTRIBUTE16 IN VARCHAR2 ,
83 P_ATTRIBUTE17 IN VARCHAR2 ,
84 P_ATTRIBUTE18 IN VARCHAR2 ,
85 P_ATTRIBUTE19 IN VARCHAR2 ,
86 P_ATTRIBUTE20 IN VARCHAR2 ,
87 P_ATTRIBUTE21 IN VARCHAR2 ,
88 P_ATTRIBUTE22 IN VARCHAR2 ,
89 P_ATTRIBUTE23 IN VARCHAR2 ,
90 P_ATTRIBUTE24 IN VARCHAR2 ,
91 P_ATTRIBUTE25 IN VARCHAR2 ,
92 P_ATTRIBUTE26 IN VARCHAR2 ,
93 P_ATTRIBUTE27 IN VARCHAR2 ,
94 P_ATTRIBUTE28 IN VARCHAR2 ,
95 P_ATTRIBUTE29 IN VARCHAR2 ,
96 P_ATTRIBUTE30 IN VARCHAR2 ,
97 p_QUANTITY IN NUMBER := 1,
98 p_QUANTITY_IN_WIP IN NUMBER,
99 p_QUANTITY_RCVD IN NUMBER,
100 p_QUANTITY_SHIPPED IN NUMBER,
101 p_CURRENCY_CODE IN VARCHAR2,
102 p_DEFAULT_PO_NUM IN VARCHAR2 := null,
103 p_REPAIR_GROUP_ID IN NUMBER,
104 p_RO_TXN_STATUS IN VARCHAR2,
105 p_ORDER_LINE_ID IN NUMBER,
106 p_ORIGINAL_SOURCE_REFERENCE IN VARCHAR2,
107 p_ORIGINAL_SOURCE_HEADER_ID IN NUMBER,
108 p_ORIGINAL_SOURCE_LINE_ID IN NUMBER,
109 p_PRICE_LIST_HEADER_ID IN NUMBER,
110 p_INVENTORY_ORG_ID IN NUMBER,
111 p_PROBLEM_DESCRIPTION IN VARCHAR2, -- swai: bug 4666344
112 p_RO_PRIORITY_CODE IN VARCHAR2, -- swai: R12
113 -- g_miss_date means default resolve_by_date during ro creation
114 -- null means do not default resolve_by_date during ro creation
115 p_RESOLVE_BY_DATE IN DATE, -- rfieldma, bug 5355051, defaulted to g_miss_date in spec
116 p_BULLETIN_CHECK_DATE IN DATE,-- := FND_API.G_MISS_DATE,
117 p_ESCALATION_CODE IN VARCHAR2, -- := FND_API.G_MISS_CHAR,
118 p_RO_WARRANTY_STATUS_CODE IN VARCHAR2,
119 x_repair_line_id OUT NOCOPY NUMBER,
120 x_repair_number OUT NOCOPY VARCHAR2,
121 x_return_status OUT NOCOPY VARCHAR2,
122 x_msg_count OUT NOCOPY NUMBER,
123 x_msg_data OUT NOCOPY VARCHAR2
124 )
125 IS
126 --
127 l_api_name CONSTANT VARCHAR2(30) := 'Create_Repair_Order';
128 l_repln_rec csd_repairs_pub.repln_rec_type;
129 --
130 begin
131 --
132 -- Standard Start of API savepoint
133 SAVEPOINT CREATE_REPAIR_ORDER_GRP;
134 --
135 -- Initialize message list if p_init_msg_list is set to TRUE.
136 IF FND_API.to_Boolean(p_init_msg_list)
137 THEN
138 FND_MSG_PUB.initialize;
139 END IF;
140 -- Initialize API return status to success
141 x_return_status := FND_API.G_RET_STS_SUCCESS;
142 --
143 -- API body
144 --
145 if (g_debug) > 0 then
146 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Create_Repair_Order before CSD_REPAIRS_UTIL.Convert_to_Repln_Rec_Type');
147 end if;
148 CSD_REPAIRS_UTIL.Convert_to_Repln_Rec_Type
149 (p_repair_number => p_repair_number,
150 p_incident_id => p_incident_id,
151 p_inventory_item_id => p_inventory_item_id,
152 p_customer_product_id => p_customer_product_id,
153 p_unit_of_measure => p_unit_of_measure,
154 p_repair_type_id => p_repair_type_id,
155 -- RESOURCE_GROUP Added by Vijay 10/28/2004
156 p_resource_group => p_resource_group,
157 p_resource_id => p_resource_id,
158 p_project_id => p_project_id,
159 p_task_id => p_task_id,
160 p_unit_number => p_unit_number, -- rfieldma, prj integration
161 p_contract_line_id => p_contract_line_id,
162 p_auto_process_rma => p_auto_process_rma,
163 p_repair_mode => p_repair_mode,
164 p_object_version_number => p_object_version_number,
165 p_item_revision => p_item_revision,
166 p_instance_id => p_instance_id,
167 p_status => p_status,
168 p_status_reason_code => p_status_reason_code,
169 p_date_closed => p_date_closed,
170 p_approval_required_flag => p_approval_required_flag,
171 p_approval_status => p_approval_status,
172 p_serial_number => p_serial_number,
173 p_promise_date => p_promise_date,
174 p_attribute_category => p_attribute_category,
175 p_attribute1 => p_attribute1,
176 p_attribute2 => p_attribute2,
177 p_attribute3 => p_attribute3,
178 p_attribute4 => p_attribute4,
179 p_attribute5 => p_attribute5,
180 p_attribute6 => p_attribute6,
181 p_attribute7 => p_attribute7,
182 p_attribute8 => p_attribute8,
183 p_attribute9 => p_attribute9,
184 p_attribute10 => p_attribute10,
185 p_attribute11 => p_attribute11,
186 p_attribute12 => p_attribute12,
187 p_attribute13 => p_attribute13,
188 p_attribute14 => p_attribute14,
189 p_attribute15 => p_attribute15,
190 -- additional DFF attributes, subhat(bug#7497907)
191 p_attribute16 => p_attribute16,
192 p_attribute17 => p_attribute17,
193 p_attribute18 => p_attribute18,
194 p_attribute19 => p_attribute19,
195 p_attribute20 => p_attribute20,
196 p_attribute21 => p_attribute21,
197 p_attribute22 => p_attribute22,
198 p_attribute23 => p_attribute23,
199 p_attribute24 => p_attribute24,
200 p_attribute25 => p_attribute25,
201 p_attribute26 => p_attribute26,
202 p_attribute27 => p_attribute27,
203 p_attribute28 => p_attribute28,
204 p_attribute29 => p_attribute29,
205 p_attribute30 => p_attribute30,
206 p_quantity => p_quantity,
207 p_quantity_in_wip => p_quantity_in_wip,
208 p_quantity_rcvd => p_quantity_rcvd,
209 p_quantity_shipped => p_quantity_shipped,
210 p_currency_code => p_currency_code,
211 p_default_po_num => p_default_po_num,
212 p_repair_group_id => p_repair_group_id,
213 p_ro_txn_status => p_ro_txn_status,
214 p_order_line_id => p_order_line_id,
215 p_original_source_reference => p_original_source_reference,
216 p_original_source_header_id => p_original_source_header_id,
217 p_original_source_line_id => p_original_source_line_id,
218 p_price_list_header_id => p_price_list_header_id,
219 p_inventory_org_id => p_inventory_org_id,
220 p_problem_description => p_problem_description, -- swai: bug 4666344
221 p_ro_priority_code => p_ro_priority_code, -- swai: R12
222 p_resolve_by_date => p_resolve_by_date, -- rfieldma: 5355051
223 p_bulletin_check_date => p_bulletin_check_date,
224 p_escalation_code => p_escalation_code,
225 p_ro_warranty_status_code => p_ro_warranty_status_code,
226 x_Repln_Rec => l_Repln_Rec);
227 --
228 if (g_debug > 0) then
229 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Create_Repair_Order before CSD_REPAIRS_PVT.Create_Repair_Order');
230 end if;
231 -- travi fix to create call from RO not to validate for Group_id
232 l_Repln_Rec.REPAIR_GROUP_ID := null;
233
234 CSD_REPAIRS_PVT.Create_Repair_Order
235 (p_API_version_number => 1.0,
236 p_init_msg_list => p_init_msg_list,
237 p_commit => p_commit,
238 p_validation_level => null,
239 p_repair_line_id => p_repair_line_id,
240 p_Repln_Rec => l_Repln_Rec,
241 x_repair_line_id => x_repair_line_id,
242 x_repair_number => x_repair_number,
243 x_return_status => x_return_status,
244 x_msg_count => x_msg_count,
245 x_msg_data => x_msg_data
246 );
247 --
248 -- Check return status from the above procedure call
249 IF not (x_return_status = FND_API.G_RET_STS_SUCCESS) then
250 ROLLBACK TO CREATE_REPAIR_ORDER_GRP;
251 return;
252 END IF;
253 --
254 -- End of API body.
255 --
256 -- Standard check for p_commit
257 IF FND_API.to_Boolean(p_commit)
258 THEN
259 COMMIT WORK;
260 END IF;
261 -- Standard call to get message count and if count is 1, get message info.
262 FND_MSG_PUB.Count_And_Get
263 (p_count => x_msg_count,
264 p_data => x_msg_data
265 );
266 --
267 EXCEPTION
268 WHEN FND_API.G_EXC_ERROR THEN
269 JTF_PLSQL_API.HANDLE_EXCEPTIONS
270 (P_API_NAME => L_API_NAME
271 ,P_PKG_NAME => G_PKG_NAME
272 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
273 ,P_PACKAGE_TYPE => '_GRP'
274 ,X_MSG_COUNT => X_MSG_COUNT
275 ,X_MSG_DATA => X_MSG_DATA
276 ,X_RETURN_STATUS => X_RETURN_STATUS);
277 -- RAISE;
278 --
279 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
280 JTF_PLSQL_API.HANDLE_EXCEPTIONS
281 (P_API_NAME => L_API_NAME
282 ,P_PKG_NAME => G_PKG_NAME
283 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
284 ,P_PACKAGE_TYPE => '_GRP'
285 ,X_MSG_COUNT => X_MSG_COUNT
286 ,X_MSG_DATA => X_MSG_DATA
287 ,X_RETURN_STATUS => X_RETURN_STATUS);
288 -- RAISE;
289 --
290 WHEN OTHERS THEN
291 JTF_PLSQL_API.HANDLE_EXCEPTIONS
292 (P_API_NAME => L_API_NAME
293 ,P_PKG_NAME => G_PKG_NAME
294 ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
295 ,P_PACKAGE_TYPE => '_GRP'
296 ,X_MSG_COUNT => X_MSG_COUNT
297 ,X_MSG_DATA => X_MSG_DATA
298 ,X_RETURN_STATUS => X_RETURN_STATUS);
299 -- RAISE;
300 --
301 End Create_Repair_Order;
302
303 PROCEDURE Update_Repair_Order(
304 p_Init_Msg_List IN VARCHAR2 := 'F',
305 p_Commit IN VARCHAR2 := 'F',
306 p_REPAIR_LINE_ID IN NUMBER,
307 p_REPAIR_NUMBER IN VARCHAR2,
308 p_INCIDENT_ID IN NUMBER,
309 p_INVENTORY_ITEM_ID IN NUMBER,
310 p_CUSTOMER_PRODUCT_ID IN NUMBER,
311 p_UNIT_OF_MEASURE IN VARCHAR2,
312 p_REPAIR_TYPE_ID IN NUMBER,
313 -- RESOURCE_GROUP Added by Vijay 10/28/2004
314 p_RESOURCE_GROUP IN NUMBER,
315 p_RESOURCE_ID IN NUMBER,
316 p_PROJECT_ID IN NUMBER,
317 p_TASK_ID IN NUMBER,
318 p_UNIT_NUMBER IN VARCHAR2, -- rfieldma, prj integration
319 p_CONTRACT_LINE_ID IN NUMBER,
320 p_AUTO_PROCESS_RMA IN VARCHAR2,
321 p_REPAIR_MODE IN VARCHAR2,
322 p_OBJECT_VERSION_NUMBER IN NUMBER,
323 p_ITEM_REVISION IN VARCHAR2,
324 p_INSTANCE_ID IN NUMBER,
325 p_STATUS IN VARCHAR2,
326 p_STATUS_REASON_CODE IN VARCHAR2,
327 p_DATE_CLOSED IN DATE,
328 p_APPROVAL_REQUIRED_FLAG IN VARCHAR2,
329 p_APPROVAL_STATUS IN VARCHAR2,
330 p_SERIAL_NUMBER IN VARCHAR2,
331 p_PROMISE_DATE IN DATE,
332 p_ATTRIBUTE_CATEGORY IN VARCHAR2,
333 p_ATTRIBUTE1 IN VARCHAR2,
334 p_ATTRIBUTE2 IN VARCHAR2,
335 p_ATTRIBUTE3 IN VARCHAR2,
336 p_ATTRIBUTE4 IN VARCHAR2,
337 p_ATTRIBUTE5 IN VARCHAR2,
338 p_ATTRIBUTE6 IN VARCHAR2,
339 p_ATTRIBUTE7 IN VARCHAR2,
340 p_ATTRIBUTE8 IN VARCHAR2,
341 p_ATTRIBUTE9 IN VARCHAR2,
342 p_ATTRIBUTE10 IN VARCHAR2,
343 p_ATTRIBUTE11 IN VARCHAR2,
344 p_ATTRIBUTE12 IN VARCHAR2,
345 p_ATTRIBUTE13 IN VARCHAR2,
346 p_ATTRIBUTE14 IN VARCHAR2,
347 p_ATTRIBUTE15 IN VARCHAR2,
348 -- additional DFF attributes, subhat(bug#7497907).
349 P_ATTRIBUTE16 IN VARCHAR2 ,
350 P_ATTRIBUTE17 IN VARCHAR2 ,
351 P_ATTRIBUTE18 IN VARCHAR2 ,
352 P_ATTRIBUTE19 IN VARCHAR2 ,
353 P_ATTRIBUTE20 IN VARCHAR2 ,
354 P_ATTRIBUTE21 IN VARCHAR2 ,
355 P_ATTRIBUTE22 IN VARCHAR2 ,
356 P_ATTRIBUTE23 IN VARCHAR2 ,
357 P_ATTRIBUTE24 IN VARCHAR2 ,
358 P_ATTRIBUTE25 IN VARCHAR2 ,
359 P_ATTRIBUTE26 IN VARCHAR2 ,
360 P_ATTRIBUTE27 IN VARCHAR2 ,
361 P_ATTRIBUTE28 IN VARCHAR2 ,
362 P_ATTRIBUTE29 IN VARCHAR2 ,
363 P_ATTRIBUTE30 IN VARCHAR2 ,
364 p_QUANTITY IN NUMBER,
365 p_QUANTITY_IN_WIP IN NUMBER,
366 p_QUANTITY_RCVD IN NUMBER,
367 p_QUANTITY_SHIPPED IN NUMBER,
368 p_CURRENCY_CODE IN VARCHAR2,
369 p_DEFAULT_PO_NUM IN VARCHAR2 := null,
370 p_REPAIR_GROUP_ID IN NUMBER,
371 p_RO_TXN_STATUS IN VARCHAR2,
372 p_ORDER_LINE_ID IN NUMBER,
373 p_ORIGINAL_SOURCE_REFERENCE IN VARCHAR2,
374 p_ORIGINAL_SOURCE_HEADER_ID IN NUMBER,
375 p_ORIGINAL_SOURCE_LINE_ID IN NUMBER,
376 p_PRICE_LIST_HEADER_ID IN NUMBER,
377 p_PROBLEM_DESCRIPTION IN VARCHAR2, -- swai: bug 4666344
378 p_RO_PRIORITY_CODE IN VARCHAR2, -- swai: R12
379 -- g_miss_date means keep field in table handler
380 -- null means clear field in table handler
381 p_RESOLVE_BY_DATE IN DATE, -- rfieldma, bug 5355051, defaulted to g_miss_date in spec
382 p_BULLETIN_CHECK_DATE IN DATE, -- := FND_API.G_MISS_DATE,
383 p_ESCALATION_CODE IN VARCHAR2, -- := FND_API.G_MISS_CHAR,
384 p_RO_WARRANTY_STATUS_CODE IN VARCHAR2,
385 x_return_status OUT NOCOPY VARCHAR2,
386 x_msg_count OUT NOCOPY NUMBER,
387 x_msg_data OUT NOCOPY VARCHAR2
388 )
389 IS
390 --
391 l_api_name CONSTANT VARCHAR2(30) := 'Update_Repair_Order';
392 l_repln_rec csd_repairs_pub.repln_rec_type;
393 --
394 begin
395 --
396 -- Standard Start of API savepoint
397 SAVEPOINT UPDATE_REPAIR_ORDER_GRP;
398 --
399 -- Initialize message list if p_init_msg_list is set to TRUE.
400 IF FND_API.to_Boolean( p_init_msg_list )
401 THEN
402 FND_MSG_PUB.initialize;
403 END IF;
404 -- Initialize API return status to success
405 x_return_status := FND_API.G_RET_STS_SUCCESS;
406 --
407 -- API body
408 --
409 if (g_debug > 0 ) then
410 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Repair_Order before CSD_REPAIRS_UTIL.Convert_to_Repln_Rec_Type');
411 end if;
412 CSD_REPAIRS_UTIL.Convert_to_Repln_Rec_Type
413 (p_repair_number => p_repair_number,
414 p_incident_id => p_incident_id,
415 p_inventory_item_id => p_inventory_item_id,
416 p_customer_product_id => p_customer_product_id,
417 p_unit_of_measure => p_unit_of_measure,
418 p_repair_type_id => p_repair_type_id,
419 p_resource_group => p_resource_group,
420 p_resource_id => p_resource_id,
421 p_project_id => p_project_id,
422 p_task_id => p_task_id,
423 p_unit_number => p_unit_number, -- rfieldma, prj integration
424 p_contract_line_id => p_contract_line_id,
425 p_auto_process_rma => p_auto_process_rma,
426 p_repair_mode => p_repair_mode,
427 p_object_version_number => p_object_version_number,
428 p_item_revision => p_item_revision,
429 p_instance_id => p_instance_id,
430 p_status => p_status,
431 p_status_reason_code => p_status_reason_code,
432 p_date_closed => p_date_closed,
433 p_approval_required_flag => p_approval_required_flag,
434 p_approval_status => p_approval_status,
435 p_serial_number => p_serial_number,
436 p_promise_date => p_promise_date,
437 p_attribute_category => p_attribute_category,
438 p_attribute1 => p_attribute1,
439 p_attribute2 => p_attribute2,
440 p_attribute3 => p_attribute3,
441 p_attribute4 => p_attribute4,
442 p_attribute5 => p_attribute5,
443 p_attribute6 => p_attribute6,
444 p_attribute7 => p_attribute7,
445 p_attribute8 => p_attribute8,
446 p_attribute9 => p_attribute9,
447 p_attribute10 => p_attribute10,
448 p_attribute11 => p_attribute11,
449 p_attribute12 => p_attribute12,
450 p_attribute13 => p_attribute13,
451 p_attribute14 => p_attribute14,
452 p_attribute15 => p_attribute15,
453 -- additional DFF attributes, subhat(bug#7497907)
454 p_attribute16 => p_attribute16,
455 p_attribute17 => p_attribute17,
456 p_attribute18 => p_attribute18,
457 p_attribute19 => p_attribute19,
458 p_attribute20 => p_attribute20,
459 p_attribute21 => p_attribute21,
460 p_attribute22 => p_attribute22,
461 p_attribute23 => p_attribute23,
462 p_attribute24 => p_attribute24,
463 p_attribute25 => p_attribute25,
464 p_attribute26 => p_attribute26,
465 p_attribute27 => p_attribute27,
466 p_attribute28 => p_attribute28,
467 p_attribute29 => p_attribute29,
468 p_attribute30 => p_attribute30,
469 p_quantity => p_quantity,
470 p_quantity_in_wip => p_quantity_in_wip,
471 p_quantity_rcvd => p_quantity_rcvd,
472 p_quantity_shipped => p_quantity_shipped,
473 p_currency_code => p_currency_code,
474 p_default_po_num => p_default_po_num,
475 p_repair_group_id => p_repair_group_id,
476 p_ro_txn_status => p_ro_txn_status,
477 p_order_line_id => p_order_line_id,
478 p_original_source_reference => p_original_source_reference,
479 p_original_source_header_id => p_original_source_header_id,
480 p_original_source_line_id => p_original_source_line_id,
481 p_price_list_header_id => p_price_list_header_id,
482 p_problem_description => p_problem_description, -- swai: bug 4666344
483 p_ro_priority_code => p_ro_priority_code, -- swai: R12
484 p_resolve_by_date => p_resolve_by_date, -- rfieldma: 5355051
485 p_bulletin_check_date => p_bulletin_check_date,
486 p_escalation_code => p_escalation_code,
487 p_ro_warranty_status_code => p_ro_warranty_status_code,
488 x_Repln_Rec => l_Repln_Rec);
489 --
490 if (g_debug > 0) then
491 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Repair_Order before CSD_REPAIRS_PUB.Update_Repair_Order');
492 end if;
493 CSD_REPAIRS_PUB.Update_Repair_Order
494 (p_API_version_number => 1.0,
495 p_init_msg_list => p_init_msg_list,
496 p_commit => p_commit,
497 p_repair_line_id => p_repair_line_id,
498 p_Repln_Rec => l_Repln_Rec,
499 x_return_status => x_return_status,
500 x_msg_count => x_msg_count,
501 x_msg_data => x_msg_data
502 );
503 --
504 -- Check return status from the above procedure call
505 IF not (x_return_status = FND_API.G_RET_STS_SUCCESS) then
506 ROLLBACK TO UPDATE_REPAIR_ORDER_GRP;
507 return;
508 END IF;
509 --
510 -- End of API body.
511 --
512 -- Standard check for p_commit
513 IF FND_API.to_Boolean( p_commit )
514 THEN
515 COMMIT WORK;
516 END IF;
517 -- Standard call to get message count and if count is 1, get message info.
518 FND_MSG_PUB.Count_And_Get
519 (p_count => x_msg_count,
520 p_data => x_msg_data
521 );
522 --
523 EXCEPTION
524 WHEN FND_API.G_EXC_ERROR THEN
525 JTF_PLSQL_API.HANDLE_EXCEPTIONS
526 (P_API_NAME => L_API_NAME
527 ,P_PKG_NAME => G_PKG_NAME
528 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
529 ,P_PACKAGE_TYPE => '_GRP'
530 ,X_MSG_COUNT => X_MSG_COUNT
531 ,X_MSG_DATA => X_MSG_DATA
532 ,X_RETURN_STATUS => X_RETURN_STATUS);
533 -- RAISE;
534 --
535 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
536 JTF_PLSQL_API.HANDLE_EXCEPTIONS
537 (P_API_NAME => L_API_NAME
538 ,P_PKG_NAME => G_PKG_NAME
539 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
540 ,P_PACKAGE_TYPE => '_GRP'
541 ,X_MSG_COUNT => X_MSG_COUNT
542 ,X_MSG_DATA => X_MSG_DATA
543 ,X_RETURN_STATUS => X_RETURN_STATUS);
544 -- RAISE;
545 --
546 WHEN OTHERS THEN
547 JTF_PLSQL_API.HANDLE_EXCEPTIONS
548 (P_API_NAME => L_API_NAME
549 ,P_PKG_NAME => G_PKG_NAME
550 ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
551 ,P_PACKAGE_TYPE => '_GRP'
552 ,X_MSG_COUNT => X_MSG_COUNT
553 ,X_MSG_DATA => X_MSG_DATA
554 ,X_RETURN_STATUS => X_RETURN_STATUS);
555 -- RAISE;
556 --
557 End Update_Repair_Order;
558
559 -- travi 01/04/02 change
560 Procedure Update_Approval_Status(
561 p_repair_line_id IN NUMBER,
562 p_new_approval_status IN VARCHAR2,
563 p_old_approval_status IN VARCHAR2,
564 p_quantity IN NUMBER,
565 p_org_contact_id IN NUMBER,
566 p_reason IN VARCHAR2,
567 p_object_version_number IN OUT NOCOPY NUMBER,
568 x_return_status OUT NOCOPY VARCHAR2,
569 x_msg_count OUT NOCOPY NUMBER,
570 x_msg_data OUT NOCOPY VARCHAR2
571 )
572 IS
573 -- CONSTANTS --
574 lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
575 lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
576 lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
577 lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
578 lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
579 lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
580 lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
581 lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_repairs_grp.update_approval_status';
582 --
583 l_api_name CONSTANT VARCHAR2(30) := 'Update_Approval_Status';
584 l_repln_rec CSD_REPAIRS_PUB.repln_rec_type;
585 l_repair_history_id number;
586 l_event_code varchar2(30);
587 -- swai 11.5.10 new variables
588 l_return_status varchar2(1);
589 l_estimate_total number;
590 -- end swai 11.5.10
591
592
593 --
594 BEGIN
595 --
596 -- Standard Start of API savepoint
597 SAVEPOINT UPDATE_APPROVAL_STATUS_GRP;
598 --
599 -- Initialize API return status to success
600 x_return_status := FND_API.G_RET_STS_SUCCESS;
601 --
602 -- API Body
603 --
604 if (lc_proc_level >= lc_debug_level) then
605 FND_LOG.STRING(lc_proc_level, lc_mod_name,
606 'Calling CSD_REPAIRS_UTIL.Convert_to_Repln_Rec_Type');
607 end if;
608 -- travi 01/04/02 change
609 CSD_REPAIRS_UTIL.Convert_to_Repln_Rec_Type
610 (p_approval_status => p_new_approval_status,
611 p_object_version_number => p_object_version_number,
612 x_repln_rec => l_repln_rec
613 );
614 --
615 if (lc_proc_level >= lc_debug_level) then
616 FND_LOG.STRING(lc_proc_level, lc_mod_name,
617 'Returned from CSD_REPAIRS_UTIL.Convert_to_Repln_Rec_Type');
618 end if;
619 --
620 -- swai 11.5.10
621 -- update event code will always be ESU if status is changed
622 --
623 if nvl(p_new_approval_status, 'x') <> nvl(p_old_approval_status, 'x') then
624 l_event_code := 'ESU';
625 end if;
626 -- if p_new_approval_status = 'A' then
627 -- l_event_code := 'ESU';
628 -- elsif p_new_approval_status = 'R' then
629 -- l_event_code := 'R';
630 -- end if;
631 if (lc_stat_level >= lc_debug_level) then
632 FND_LOG.STRING(lc_stat_level, lc_mod_name,
633 'p_new_approval_status = ' || p_new_approval_status);
634 FND_LOG.STRING(lc_stat_level, lc_mod_name,
635 'p_old_approval_status = ' || p_old_approval_status);
636 FND_LOG.STRING(lc_stat_level, lc_mod_name,
637 'l_event_code = ' || l_event_code);
638 end if;
639
640 --
641 if (lc_proc_level >= lc_debug_level) then
642 FND_LOG.STRING(lc_proc_level, lc_mod_name,
643 'Calling CSD_REPAIRS_PVT.Update_Repair_Order ');
644 end if;
645 CSD_REPAIRS_PVT.Update_Repair_Order
646 (p_API_version_number => 1.0,
647 p_init_msg_list => FND_API.G_TRUE,
648 p_commit => FND_API.G_FALSE,
649 p_validation_level => null,
650 p_repair_line_id => p_repair_line_id,
651 p_Repln_Rec => l_Repln_Rec,
652 x_return_status => x_return_status,
653 x_msg_count => x_msg_count,
654 x_msg_data => x_msg_data
655 );
656 --
657 if (lc_proc_level >= lc_debug_level) then
658 FND_LOG.STRING(lc_proc_level, lc_mod_name,
659 'Returned from CSD_REPAIRS_PVT.Update_Repair_Order. x_return_status='|| x_return_status);
660 end if;
661
662 -- Check return status from the above procedure call
663 IF (x_return_status <> 'S') then
664 ROLLBACK TO UPDATE_APPROVAL_STATUS_GRP;
665 return;
666 ELSIF (x_return_status = 'S') then
667 p_object_version_number := l_Repln_Rec.object_version_number;
668 END IF;
669 --
670 if (g_debug > 0) then
671 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Approval_Status before api CSD_TO_FORM_REPAIR_HISTORY.Validate_And_Write call');
672 end if;
673
674 -- swai 11.5.10
675 -- check for event code before:
676 -- (1) getting estimate total (new for 11.5.10)
677 -- (2) logging event (modified for 11.5.10)
678 --
679 if (l_event_code is not null) then
680
681 if (lc_proc_level >= lc_debug_level) then
682 FND_LOG.STRING(lc_proc_level, lc_mod_name,
683 'Calling CSD_REPAIR_ESTIMATE_PVT.get_total_estimated_charge ');
684 end if;
685 -- get estimate_total sum of charge from csd_repair_estimates_v
686 CSD_REPAIR_ESTIMATE_PVT.get_total_estimated_charge (
687 p_repair_line_id => p_repair_line_id,
688 x_estimated_charge => l_estimate_total,
689 x_return_status => l_return_status
690 );
691 IF (x_return_status <> 'S') then
692 l_estimate_total := null;
693 END IF;
694
695
696 if (lc_proc_level >= lc_debug_level) then
697 FND_LOG.STRING(lc_proc_level, lc_mod_name,
698 'Returned from CSD_REPAIR_ESTIMATE_PVT.get_total_estimated_charge. l_estimate_total=' || l_estimate_total);
699 FND_LOG.STRING(lc_proc_level, lc_mod_name,
700 'Calling CSD_TO_FORM_REPAIR_HISTORY.Validate_And_Write ');
701 end if;
702 CSD_TO_FORM_REPAIR_HISTORY.Validate_And_Write
703 (p_Api_Version_Number => 1.0 ,
704 p_init_msg_list => 'F',
705 p_commit => 'F',
706 p_validation_level => NULL,
707 p_action_code => 0,
708 px_REPAIR_HISTORY_ID => l_repair_history_id,
709 p_OBJECT_VERSION_NUMBER => null, -- travi ovn validation
710 p_REQUEST_ID => null,
711 p_PROGRAM_ID => null,
712 p_PROGRAM_APPLICATION_ID => null,
713 p_PROGRAM_UPDATE_DATE => null,
714 p_CREATED_BY => FND_GLOBAL.USER_ID,
715 p_CREATION_DATE => sysdate,
716 p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
717 p_LAST_UPDATE_DATE => sysdate,
718 p_repair_line_id => p_repair_line_id,
719 p_EVENT_CODE => l_event_code,
720 p_EVENT_DATE => sysdate,
721 p_QUANTITY => p_quantity,
722 p_PARAMN1 => p_org_contact_id,
723 p_PARAMN2 => l_estimate_total,
724 p_PARAMN3 => null,
725 p_PARAMN4 => null,
726 p_PARAMN5 => null,
727 p_PARAMN6 => null,
728 p_PARAMN7 => null,
729 p_PARAMN8 => null,
730 p_PARAMN9 => null,
731 p_PARAMN10 => FND_GLOBAL.USER_ID,
732 p_PARAMC1 => p_new_approval_status,
733 p_PARAMC2 => p_old_approval_status,
734 p_PARAMC3 => p_reason,
735 p_PARAMC4 => null,
736 p_PARAMC5 => null ,
737 p_PARAMC6 => null,
738 p_PARAMC7 => null,
739 p_PARAMC8 => null,
740 p_PARAMC9 => null,
741 p_PARAMC10 => null,
742 p_PARAMD1 => null,
743 p_PARAMD2 => null,
744 p_PARAMD3 => null,
745 p_PARAMD4 => null,
746 p_PARAMD5 => null,
747 p_PARAMD6 => null,
748 p_PARAMD7 => null,
749 p_PARAMD8 => null,
750 p_PARAMD9 => null,
751 p_PARAMD10 => null,
752 p_ATTRIBUTE_CATEGORY => null,
753 p_ATTRIBUTE1 => null,
754 p_ATTRIBUTE2 => null,
755 p_ATTRIBUTE3 => null,
756 p_ATTRIBUTE4 => null,
757 p_ATTRIBUTE5 => null,
758 p_ATTRIBUTE6 => null,
759 p_ATTRIBUTE7 => null,
760 p_ATTRIBUTE8 => null,
761 p_ATTRIBUTE9 => null,
762 p_ATTRIBUTE10 => null,
763 p_ATTRIBUTE11 => null,
764 p_ATTRIBUTE12 =>null,
765 p_ATTRIBUTE13 => null,
766 p_ATTRIBUTE14 => null,
767 p_ATTRIBUTE15 => null,
768 p_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID,
769 X_Return_Status => x_return_status,
770 X_Msg_Count => x_msg_count,
771 X_Msg_Data => x_msg_data
772 );
773 end if;
774 --
775 if (lc_proc_level >= lc_debug_level) then
776 FND_LOG.STRING(lc_proc_level, lc_mod_name,
777 'Returned from CSD_TO_FORM_REPAIR_HISTORY.Validate_And_Write. x_return_status='||x_return_status);
778 end if;
779 -- Check return status from the above procedure call
780 IF not (x_return_status = FND_API.G_RET_STS_SUCCESS) then
781 ROLLBACK TO UPDATE_APPROVAL_STATUS_GRP;
782 return;
783 END IF;
784 --
785 -- End of API body.
786 --
787 -- travi commit;
788 --
789 -- Standard call to get message count and if count is 1, get message info.
790 FND_MSG_PUB.Count_And_Get
791 (p_count => x_msg_count,
792 p_data => x_msg_data
793 );
794 --
795 EXCEPTION
796 WHEN FND_API.G_EXC_ERROR THEN
797 JTF_PLSQL_API.HANDLE_EXCEPTIONS
798 (P_API_NAME => L_API_NAME
799 ,P_PKG_NAME => G_PKG_NAME
800 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
801 ,P_PACKAGE_TYPE => '_GRP'
802 ,X_MSG_COUNT => X_MSG_COUNT
803 ,X_MSG_DATA => X_MSG_DATA
804 ,X_RETURN_STATUS => X_RETURN_STATUS);
805 -- RAISE;
806 --
807 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
808 JTF_PLSQL_API.HANDLE_EXCEPTIONS
809 (P_API_NAME => L_API_NAME
810 ,P_PKG_NAME => G_PKG_NAME
811 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
812 ,P_PACKAGE_TYPE => '_GRP'
813 ,X_MSG_COUNT => X_MSG_COUNT
814 ,X_MSG_DATA => X_MSG_DATA
815 ,X_RETURN_STATUS => X_RETURN_STATUS);
816 -- RAISE;
817 --
818 WHEN OTHERS THEN
819 JTF_PLSQL_API.HANDLE_EXCEPTIONS
820 (P_API_NAME => L_API_NAME
821 ,P_PKG_NAME => G_PKG_NAME
822 ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
823 ,P_PACKAGE_TYPE => '_GRP'
824 ,X_MSG_COUNT => X_MSG_COUNT
825 ,X_MSG_DATA => X_MSG_DATA
826 ,X_RETURN_STATUS => X_RETURN_STATUS);
827 -- RAISE;
828 --
829 END Update_Approval_Status;
830
831 Procedure Update_Status(
832 p_repair_line_id IN NUMBER,
833 p_new_status IN VARCHAR2,
834 p_old_status IN VARCHAR2,
835 p_quantity IN NUMBER,
836 p_reason IN VARCHAR2,
837 p_status_reason_code IN VARCHAR2,
838 p_object_version_number IN NUMBER,
839 x_return_status OUT NOCOPY VARCHAR2,
840 x_msg_count OUT NOCOPY NUMBER,
841 x_msg_data OUT NOCOPY VARCHAR2
842 )
843 IS
844 --
845 l_api_name CONSTANT VARCHAR2(30) := 'Update_Status';
846 l_repln_rec CSD_REPAIRS_PUB.repln_rec_type;
847 l_repair_history_id number;
848
849 --
850 BEGIN
851 --
852 -- Standard Start of API savepoint
853 SAVEPOINT UPDATE_STATUS_GRP;
854 --
855 -- Initialize API return status to success
856 x_return_status := FND_API.G_RET_STS_SUCCESS;
857 --
858 -- API Body
859 --
860 if p_new_status = p_old_status then
861
862 -- old return;
863 -- travi 010902 new
864 CSD_REPAIRS_UTIL.Convert_to_Repln_Rec_Type
865 (p_date_closed => sysdate,
866 p_status => p_new_status,
867 p_status_reason_code => p_status_reason_code,
868 p_object_version_number => p_object_version_number,
869 x_repln_rec => l_repln_rec
870 );
871
872 end if;
873 if p_new_status = 'C' then
874
875 CSD_REPAIRS_UTIL.Convert_to_Repln_Rec_Type
876 (p_date_closed => sysdate,
877 p_status => p_new_status,
878 p_status_reason_code => p_status_reason_code,
879 p_object_version_number => p_object_version_number,
880 x_repln_rec => l_repln_rec
881 );
882
883 elsif p_old_status = 'C' then
884
885 CSD_REPAIRS_UTIL.Convert_to_Repln_Rec_Type
886 (p_date_closed => null,
887 p_status => p_new_status,
888 p_status_reason_code => p_status_reason_code,
889 p_object_version_number => p_object_version_number,
890 x_repln_rec => l_repln_rec
891 );
892
893 else
894
895 CSD_REPAIRS_UTIL.Convert_to_Repln_Rec_Type
896 (p_status => p_new_status,
897 p_status_reason_code => p_status_reason_code,
898 p_object_version_number => p_object_version_number,
899 x_repln_rec => l_repln_rec
900 );
901
902 end if;
903 --
904 if (g_debug > 0) then
905 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Status before CSD_REPAIRS_PVT.Update_Repair_Order');
906 end if;
907 CSD_REPAIRS_PVT.Update_Repair_Order
908 (p_API_version_number => 1.0,
909 p_init_msg_list => FND_API.G_TRUE,
910 p_commit => FND_API.G_FALSE,
911 p_validation_level => null,
912 p_repair_line_id => p_repair_line_id,
913 p_Repln_Rec => l_Repln_Rec,
914 x_return_status => x_return_status,
915 x_msg_count => x_msg_count,
916 x_msg_data => x_msg_data
917 );
918 if (g_debug > 0) then
919 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Status after CSD_REPAIRS_PVT.Update_Repair_Order status : '||x_return_status);
920 end if;
921 --
922 -- Check return status from the above procedure call
923 IF not (x_return_status = FND_API.G_RET_STS_SUCCESS) then
924 ROLLBACK TO UPDATE_STATUS_GRP;
925 return;
926 END IF;
927 --
928 /*Fixed for bug#3232547 sangigup
929 Condition "if p_new_status <> p_old_status then" has been removed
930 to log the activity for changes in repair order status reason.
931 */
932 -- travi 010902 change added if cond
933 --if p_new_status <> p_old_status then
934 if (g_debug > 0) then
935 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Status before CSD_TO_FORM_REPAIR_HISTORY.Validate_And_Write');
936 end if;
937
938 CSD_TO_FORM_REPAIR_HISTORY.Validate_And_Write
939 (p_Api_Version_Number => 1.0 ,
940 p_init_msg_list => 'F',
941 p_commit => 'F',
942 p_validation_level => NULL,
943 p_action_code => 0,
944 px_REPAIR_HISTORY_ID => l_repair_history_id,
945 p_OBJECT_VERSION_NUMBER => null, -- travi ovn validation
946 p_REQUEST_ID => null,
947 p_PROGRAM_ID => null,
948 p_PROGRAM_APPLICATION_ID => null,
949 p_PROGRAM_UPDATE_DATE => null,
950 p_CREATED_BY => FND_GLOBAL.USER_ID,
951 p_CREATION_DATE => sysdate,
952 p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
953 p_LAST_UPDATE_DATE => sysdate,
954 p_repair_line_id => p_repair_line_id,
955 p_EVENT_CODE => 'SC',
956 p_EVENT_DATE => sysdate,
957 p_QUANTITY => p_quantity,
958 p_PARAMN1 => null,
959 p_PARAMN2 => null,
960 p_PARAMN3 => null,
961 p_PARAMN4 => null,
962 p_PARAMN5 => null,
963 p_PARAMN6 => null,
964 p_PARAMN7 => null,
965 p_PARAMN8 => null,
966 p_PARAMN9 => null,
967 p_PARAMN10 => FND_GLOBAL.USER_ID,
968 p_PARAMC1 => p_new_status,
969 p_PARAMC2 => p_old_status,
970 p_PARAMC3 => p_reason,
971 p_PARAMC4 => null,
972 p_PARAMC5 => null,
973 p_PARAMC6 => null,
974 p_PARAMC7 => null,
975 p_PARAMC8 => null,
976 p_PARAMC9 => null,
977 p_PARAMC10 => null,
978 p_PARAMD1 => null,
979 p_PARAMD2 => null,
980 p_PARAMD3 => null,
981 p_PARAMD4 => null,
982 p_PARAMD5 => null,
983 p_PARAMD6 => null,
984 p_PARAMD7 => null,
985 p_PARAMD8 => null,
986 p_PARAMD9 => null,
987 p_PARAMD10 => null,
988 p_ATTRIBUTE_CATEGORY => null,
989 p_ATTRIBUTE1 => null,
990 p_ATTRIBUTE2 => null,
991 p_ATTRIBUTE3 => null,
992 p_ATTRIBUTE4 => null,
993 p_ATTRIBUTE5 => null,
994 p_ATTRIBUTE6 => null,
995 p_ATTRIBUTE7 => null,
996 p_ATTRIBUTE8 => null,
997 p_ATTRIBUTE9 => null,
998 p_ATTRIBUTE10 => null,
999 p_ATTRIBUTE11 => null,
1000 p_ATTRIBUTE12 =>null,
1001 p_ATTRIBUTE13 => null,
1002 p_ATTRIBUTE14 => null,
1003 p_ATTRIBUTE15 => null,
1004 p_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID,
1005 X_Return_Status => x_return_status,
1006 X_Msg_Count => x_msg_count,
1007 X_Msg_Data => x_msg_data
1008 );
1009 if (g_debug > 0) then
1010 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Status before CSD_TO_FORM_REPAIR_HISTORY.Validate_And_Write status : '||x_return_status);
1011 end if;
1012 --end if; -- only for changed status codes sangigup 3232547
1013 --
1014 -- Check return status from the above procedure call
1015 IF not (x_return_status = FND_API.G_RET_STS_SUCCESS) then
1016 ROLLBACK TO UPDATE_STATUS_GRP;
1017 return;
1018 END IF;
1019 --
1020 -- travi commit;
1021 --
1022 -- Standard call to get message count and if count is 1, get message info.
1023 FND_MSG_PUB.Count_And_Get
1024 (p_count => x_msg_count,
1025 p_data => x_msg_data
1026 );
1027 --
1028 EXCEPTION
1029 WHEN FND_API.G_EXC_ERROR THEN
1030 JTF_PLSQL_API.HANDLE_EXCEPTIONS
1031 (P_API_NAME => L_API_NAME
1032 ,P_PKG_NAME => G_PKG_NAME
1033 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1034 ,P_PACKAGE_TYPE => '_GRP'
1035 ,X_MSG_COUNT => X_MSG_COUNT
1036 ,X_MSG_DATA => X_MSG_DATA
1037 ,X_RETURN_STATUS => X_RETURN_STATUS);
1038 -- RAISE;
1039 --
1040 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1041 JTF_PLSQL_API.HANDLE_EXCEPTIONS
1042 (P_API_NAME => L_API_NAME
1043 ,P_PKG_NAME => G_PKG_NAME
1044 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1045 ,P_PACKAGE_TYPE => '_GRP'
1046 ,X_MSG_COUNT => X_MSG_COUNT
1047 ,X_MSG_DATA => X_MSG_DATA
1048 ,X_RETURN_STATUS => X_RETURN_STATUS);
1049 -- RAISE;
1050 --
1051 WHEN OTHERS THEN
1052 JTF_PLSQL_API.HANDLE_EXCEPTIONS
1053 (P_API_NAME => L_API_NAME
1054 ,P_PKG_NAME => G_PKG_NAME
1055 ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
1056 ,P_PACKAGE_TYPE => '_GRP'
1057 ,X_MSG_COUNT => X_MSG_COUNT
1058 ,X_MSG_DATA => X_MSG_DATA
1059 ,X_RETURN_STATUS => X_RETURN_STATUS);
1060 -- RAISE;
1061 --
1062 END Update_Status;
1063
1064 -- travi 051002 code
1065 Procedure Update_Group_Approval_Status(
1066 p_api_version IN NUMBER,
1067 p_commit IN VARCHAR2 := fnd_api.g_false,
1068 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1069 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
1070 p_repair_group_id IN NUMBER,
1071 p_object_version_number IN OUT NOCOPY NUMBER,
1072 x_return_status OUT NOCOPY VARCHAR2,
1073 x_msg_count OUT NOCOPY NUMBER,
1074 x_msg_data OUT NOCOPY VARCHAR2
1075 )
1076 IS
1077 --
1078 l_api_name CONSTANT VARCHAR2(30) := 'Update_Group_Approval_Status';
1079 l_api_version CONSTANT NUMBER := 1.0;
1080 l_msg_count NUMBER;
1081 l_msg_data VARCHAR2(100);
1082 l_msg_index NUMBER;
1083 l_repair_group_id NUMBER;
1084 l_count NUMBER;
1085 l_tot_approved NUMBER;
1086 l_tot_no_approval NUMBER;
1087 l_tot_rejected NUMBER;
1088
1089 l_repair_history_id NUMBER;
1090 l_repair_line_id NUMBER;
1091 l_rep_ovn NUMBER;
1092 l_rep_quantity NUMBER;
1093 l_repair_estimate_id NUMBER;
1094 l_est_ovn NUMBER;
1095 l_group_quantity NUMBER;
1096 l_group_ovn NUMBER;
1097
1098 l_approval_status VARCHAR2(1);
1099 l_rep_approval_status VARCHAR2(30);
1100 l_estimate_status VARCHAR2(30);
1101 l_event_code VARCHAR2(30);
1102
1103 l_rep_ord_rec CSD_REPAIRS_PUB.REPLN_REC_TYPE;
1104 l_rep_est_rec CSD_REPAIR_ESTIMATE_PVT.REPAIR_ESTIMATE_REC;
1105 l_rep_group_rec CSD_REPAIR_GROUPS_PVT.REPAIR_ORDER_GROUP_REC;
1106
1107 Cursor c_repairs_for_approval ( p_repair_group_id number) is
1108 Select rep.repair_line_id
1109 , rep.approval_status
1110 , rep.quantity
1111 , rep.object_version_number rep_ovn
1112 , est.repair_estimate_id
1113 , est.object_version_number est_ovn
1114 from csd_repairs rep
1115 , csd_repair_estimate est
1116 where rep.repair_group_id = p_repair_group_id
1117 and rep.repair_line_id = est.repair_line_id
1118 and est.estimate_status = 'BID';
1119
1120 --
1121 BEGIN
1122 --
1123 -----------------------------------
1124 -- Standard Start of API savepoint
1125 -----------------------------------
1126 SAVEPOINT UPDATE_GRP_APPV_STATUS;
1127
1128 -----------------------------------------------------
1129 -- Standard call to check for call compatibility.
1130 -----------------------------------------------------
1131 IF NOT FND_API.Compatible_API_Call (l_api_version,
1132 p_api_version,
1133 l_api_name ,
1134 G_PKG_NAME)
1135 THEN
1136 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1137 END IF;
1138
1139 ---------------------------------------------------------------
1140 -- Initialize message list if p_init_msg_list is set to TRUE.
1141 ---------------------------------------------------------------
1142 IF FND_API.to_Boolean(p_init_msg_list)
1143 THEN
1144 FND_MSG_PUB.initialize;
1145 END IF;
1146
1147 --------------------------------------------
1148 -- Initialize API return status to success
1149 --------------------------------------------
1150 x_return_status := FND_API.G_RET_STS_SUCCESS;
1151
1152 --------------------
1153 -- Api body starts
1154 --------------------
1155 csd_gen_utility_pvt.dump_api_info
1156 ( p_pkg_name => G_PKG_NAME,
1157 p_api_name => l_api_name );
1158
1159 ---------------------------------
1160 -- Check the required parameter
1161 ---------------------------------
1162 if (g_debug > 0) then
1163 csd_gen_utility_pvt.ADD('Check reqd parameter: Repair Group Id ');
1164 end if;
1165 CSD_PROCESS_UTIL.Check_Reqd_Param
1166 ( p_param_value => p_repair_group_id,
1167 p_param_name => 'REPAIR_GROUP_ID',
1168 p_api_name => l_api_name);
1169
1170 ----------------------------------
1171 -- Validate the Repair Group Id
1172 ----------------------------------
1173 if (g_debug > 0) then
1174 csd_gen_utility_pvt.ADD('Repair Group Id');
1175 end if;
1176 IF NOT( CSD_PROCESS_UTIL.Validate_repair_group_id
1177 ( p_repair_group_id => p_repair_group_id )) THEN
1178 RAISE FND_API.G_EXC_ERROR;
1179 END IF;
1180
1181
1182 -- get all repair lines having estimates with status as BID for the given Repair Group
1183 FOR r1 in c_repairs_for_approval (p_repair_group_id)
1184
1185 LOOP
1186
1187 -- initialize
1188 l_repair_line_id := null;
1189
1190 l_repair_line_id := r1.repair_line_id;
1191 l_rep_approval_status := r1.approval_status;
1192 l_rep_quantity := r1.quantity;
1193 l_rep_ovn := r1.rep_ovn;
1194 l_repair_estimate_id := r1.repair_estimate_id;
1195 l_est_ovn := r1.est_ovn;
1196
1197 if ( l_repair_line_id is not null ) then
1198
1199 l_approval_status := 'A';
1200 l_estimate_status := 'ACCEPTED';
1201 l_event_code := 'A';
1202
1203 ----------------------------------
1204 -- API Body
1205 ----------------------------------
1206 if (g_debug > 0) then
1207 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Group_Approval_Status convert repairs rec call');
1208 end if;
1209 CSD_REPAIRS_UTIL.Convert_to_Repln_Rec_Type
1210 (p_approval_status => l_approval_status,
1211 p_object_version_number => l_rep_ovn,
1212 x_repln_rec => l_rep_ord_rec
1213 );
1214 if (g_debug > 0) then
1215 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Group_Approval_Status Update repairs call');
1216 end if;
1217 CSD_REPAIRS_PVT.Update_Repair_Order
1218 (p_API_version_number => 1.0,
1219 p_init_msg_list => FND_API.G_TRUE,
1220 p_commit => FND_API.G_FALSE,
1221 p_validation_level => null,
1222 p_repair_line_id => l_repair_line_id,
1223 p_Repln_Rec => l_rep_ord_rec,
1224 x_return_status => x_return_status,
1225 x_msg_count => x_msg_count,
1226 x_msg_data => x_msg_data
1227 );
1228
1229 if (g_debug > 0) then
1230 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Group_Approval_Status Update_Repair_Order :'||x_return_status);
1231 end if;
1232 -- Check return status from the update RO call
1233 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
1234 if (g_debug > 0) then
1235 csd_gen_utility_pvt.ADD('CSD_REPAIRS_PVT.Update_Repair_Order failed ');
1236 end if;
1237 RAISE FND_API.G_EXC_ERROR;
1238 --ROLLBACK TO UPDATE_GRP_APPV_STATUS;
1239 --return;
1240 ELSIF (x_return_status = FND_API.G_RET_STS_SUCCESS) then
1241 if (g_debug > 0) then
1242 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Group_Approval_Status Update RO hist call');
1243 end if;
1244 CSD_TO_FORM_REPAIR_HISTORY.Validate_And_Write
1245 (p_Api_Version_Number => 1.0 ,
1246 p_init_msg_list => 'F',
1247 p_commit => 'F',
1248 p_validation_level => NULL,
1249 p_action_code => 0,
1250 px_REPAIR_HISTORY_ID => l_repair_history_id,
1251 p_OBJECT_VERSION_NUMBER => null,
1252 p_REQUEST_ID => null,
1253 p_PROGRAM_ID => null,
1254 p_PROGRAM_APPLICATION_ID => null,
1255 p_PROGRAM_UPDATE_DATE => null,
1256 p_CREATED_BY => FND_GLOBAL.USER_ID,
1257 p_CREATION_DATE => sysdate,
1258 p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
1259 p_LAST_UPDATE_DATE => sysdate,
1260 p_repair_line_id => l_repair_line_id,
1261 p_EVENT_CODE => l_event_code,
1262 p_EVENT_DATE => sysdate,
1263 p_QUANTITY => l_rep_quantity,
1264 p_PARAMN1 => null,
1265 p_PARAMN2 => null,
1266 p_PARAMN3 => null,
1267 p_PARAMN4 => null,
1268 p_PARAMN5 => null,
1269 p_PARAMN6 => null,
1270 p_PARAMN7 => null,
1271 p_PARAMN8 => null,
1272 p_PARAMN9 => null,
1273 p_PARAMN10 => FND_GLOBAL.USER_ID,
1274 p_PARAMC1 => l_approval_status, -- new status
1275 p_PARAMC2 => l_rep_approval_status, -- old status
1276 p_PARAMC3 => 'Repair Group Estimate Approval', -- travi new
1277 p_PARAMC4 => null,
1278 p_PARAMC5 => null ,
1279 p_PARAMC6 => null,
1280 p_PARAMC7 => null,
1281 p_PARAMC8 => null,
1282 p_PARAMC9 => null,
1283 p_PARAMC10 => null,
1284 p_PARAMD1 => null,
1285 p_PARAMD2 => null,
1286 p_PARAMD3 => null,
1287 p_PARAMD4 => null,
1288 p_PARAMD5 => null,
1289 p_PARAMD6 => null,
1290 p_PARAMD7 => null,
1291 p_PARAMD8 => null,
1292 p_PARAMD9 => null,
1293 p_PARAMD10 => null,
1294 p_ATTRIBUTE_CATEGORY => null,
1295 p_ATTRIBUTE1 => null,
1296 p_ATTRIBUTE2 => null,
1297 p_ATTRIBUTE3 => null,
1298 p_ATTRIBUTE4 => null,
1299 p_ATTRIBUTE5 => null,
1300 p_ATTRIBUTE6 => null,
1301 p_ATTRIBUTE7 => null,
1302 p_ATTRIBUTE8 => null,
1303 p_ATTRIBUTE9 => null,
1304 p_ATTRIBUTE10 => null,
1305 p_ATTRIBUTE11 => null,
1306 p_ATTRIBUTE12 =>null,
1307 p_ATTRIBUTE13 => null,
1308 p_ATTRIBUTE14 => null,
1309 p_ATTRIBUTE15 => null,
1310 p_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID,
1311 X_Return_Status => x_return_status,
1312 X_Msg_Count => x_msg_count,
1313 X_Msg_Data => x_msg_data
1314 );
1315 if (g_debug > 0) then
1316 csd_gen_utility_pvt.add('Update_Group_Approval_Status Validate_And_Write :'||x_return_status);
1317 end if;
1318 -- Check return status from the above procedure call
1319 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
1320 if (g_debug > 0) then
1321 csd_gen_utility_pvt.ADD('CSD_TO_FORM_REPAIR_HISTORY.Validate_And_Write failed ');
1322 end if;
1323 RAISE FND_API.G_EXC_ERROR;
1324 --ROLLBACK TO UPDATE_GRP_APPV_STATUS;
1325 --return;
1326 END IF;
1327
1328 l_rep_est_rec.repair_estimate_id := l_repair_estimate_id;
1329 l_rep_est_rec.repair_line_id := l_repair_line_id;
1330 l_rep_est_rec.object_version_number := l_est_ovn;
1331 l_rep_est_rec.estimate_status := l_estimate_status;
1332 if (g_debug > 0) then
1333 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Group_Approval_Status Update RO estimate call');
1334 end if;
1335 csd_repair_estimate_pvt.update_repair_estimate
1336 (p_api_version => 1.0,
1337 p_commit => 'F',
1338 p_init_msg_list => 'T',
1339 p_validation_level => fnd_api.g_valid_level_full,
1340 x_estimate_rec => l_rep_est_rec,
1341 x_return_status => x_return_status,
1342 x_msg_count => l_msg_count,
1343 x_msg_data => l_msg_data);
1344 if (g_debug > 0) then
1345 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Group_Approval_Status update_repair_estimate :'||x_return_status);
1346 end if;
1347 -- Check return status from the above procedure call
1348 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
1349 if (g_debug > 0) then
1350 csd_gen_utility_pvt.ADD('csd_repair_estimate_pvt.update_repair_estimate failed ');
1351 end if;
1352 RAISE FND_API.G_EXC_ERROR;
1353 --ROLLBACK TO UPDATE_GRP_APPV_STATUS;
1354 --return;
1355 END IF;
1356
1357 END IF;
1358 -- End of Check return status from the update RO call
1359
1360 end if; -- repair_line_id is null
1361
1362 END LOOP;
1363 -- End of API body.
1364
1365 -- update to group is done in the call csd_repair_estimate_pvt.update_repair_estimate
1366 -- repair group object version number is not returned in this case
1367
1368 -------------------------------
1369 -- Standard check for p_commit
1370 -------------------------------
1371 IF FND_API.to_Boolean(p_commit)
1372 THEN
1373 COMMIT;
1374 END IF;
1375
1376 ---------------------------------------------------------------------------
1377 -- Standard call to get message count and if count is 1, get message info.
1378 ---------------------------------------------------------------------------
1379 FND_MSG_PUB.Count_And_Get
1380 (p_count => x_msg_count,
1381 p_data => x_msg_data);
1382
1383 EXCEPTION
1384 WHEN FND_API.G_EXC_ERROR THEN
1385 x_return_status := FND_API.G_RET_STS_ERROR ;
1386 ROLLBACK TO UPDATE_GRP_APPV_STATUS;
1387 FND_MSG_PUB.Count_And_Get
1388 (p_count => x_msg_count,
1389 p_data => x_msg_data );
1390 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1391 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1392 ROLLBACK TO UPDATE_GRP_APPV_STATUS;
1393 FND_MSG_PUB.Count_And_Get
1394 ( p_count => x_msg_count,
1395 p_data => x_msg_data );
1396 WHEN OTHERS THEN
1397 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1398 ROLLBACK TO UPDATE_GRP_APPV_STATUS;
1399 IF FND_MSG_PUB.Check_Msg_Level
1400 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1401 THEN
1402 FND_MSG_PUB.Add_Exc_Msg
1403 (G_PKG_NAME ,
1404 l_api_name );
1405 END IF;
1406 FND_MSG_PUB.Count_And_Get
1407 (p_count => x_msg_count,
1408 p_data => x_msg_data );
1409
1410 END Update_Group_Approval_Status;
1411
1412 -- travi 051702 code
1413 Procedure Update_Group_Reject_Status(
1414 p_api_version IN NUMBER,
1415 p_commit IN VARCHAR2 := fnd_api.g_false,
1416 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1417 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
1418 p_repair_group_id IN NUMBER,
1419 p_object_version_number IN OUT NOCOPY NUMBER,
1420 x_return_status OUT NOCOPY VARCHAR2,
1421 x_msg_count OUT NOCOPY NUMBER,
1422 x_msg_data OUT NOCOPY VARCHAR2
1423 )
1424 IS
1425 --
1426 l_api_name CONSTANT VARCHAR2(30) := 'Update_Group_Reject_Status';
1427 l_api_version CONSTANT NUMBER := 1.0;
1428 l_msg_count NUMBER;
1429 l_msg_data VARCHAR2(100);
1430 l_msg_index NUMBER;
1431 l_repair_group_id NUMBER;
1432 l_count NUMBER;
1433 l_tot_approved NUMBER;
1434 l_tot_rejected NUMBER;
1435 l_tot_no_approval NUMBER;
1436
1437 l_repair_history_id NUMBER;
1438 l_repair_line_id NUMBER;
1439 l_rep_ovn NUMBER;
1440 l_rep_quantity NUMBER;
1441 l_repair_estimate_id NUMBER;
1442 l_est_ovn NUMBER;
1443 l_group_quantity NUMBER;
1444 l_group_ovn NUMBER;
1445
1446 l_Reject_status VARCHAR2(1);
1447 l_rep_Reject_status VARCHAR2(30);
1448 l_estimate_status VARCHAR2(30);
1449 l_event_code VARCHAR2(30);
1450
1451 l_rep_ord_rec CSD_REPAIRS_PUB.REPLN_REC_TYPE;
1452 l_rep_est_rec CSD_REPAIR_ESTIMATE_PVT.REPAIR_ESTIMATE_REC;
1453 l_rep_group_rec CSD_REPAIR_GROUPS_PVT.REPAIR_ORDER_GROUP_REC;
1454
1455 Cursor c_repairs_for_Reject ( p_repair_group_id number) is
1456 Select rep.repair_line_id
1457 , rep.approval_status
1458 , rep.quantity
1459 , rep.object_version_number rep_ovn
1460 , est.repair_estimate_id
1461 , est.object_version_number est_ovn
1462 from csd_repairs rep
1463 , csd_repair_estimate est
1464 where rep.repair_group_id = p_repair_group_id
1465 and rep.repair_line_id = est.repair_line_id;
1466
1467
1468 --
1469 BEGIN
1470 --
1471 -----------------------------------
1472 -- Standard Start of API savepoint
1473 -----------------------------------
1474 SAVEPOINT UPDATE_GRP_REJT_STATUS;
1475
1476 -----------------------------------------------------
1477 -- Standard call to check for call compatibility.
1478 -----------------------------------------------------
1479 IF NOT FND_API.Compatible_API_Call (l_api_version,
1480 p_api_version,
1481 l_api_name ,
1482 G_PKG_NAME)
1483 THEN
1484 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1485 END IF;
1486
1487 ---------------------------------------------------------------
1488 -- Initialize message list if p_init_msg_list is set to TRUE.
1489 ---------------------------------------------------------------
1490 IF FND_API.to_Boolean(p_init_msg_list)
1491 THEN
1492 FND_MSG_PUB.initialize;
1493 END IF;
1494
1495 --------------------------------------------
1496 -- Initialize API return status to success
1497 --------------------------------------------
1498 x_return_status := FND_API.G_RET_STS_SUCCESS;
1499 --------------------
1500 -- Api body starts
1501 --------------------
1502 csd_gen_utility_pvt.dump_api_info
1503 ( p_pkg_name => G_PKG_NAME,
1504 p_api_name => l_api_name );
1505
1506 ---------------------------------
1507 -- Check the required parameter
1508 ---------------------------------
1509 if (g_debug > 0) then
1510 csd_gen_utility_pvt.ADD('Check reqd parameter: Repair Group Id ');
1511 end if;
1512 CSD_PROCESS_UTIL.Check_Reqd_Param
1513 ( p_param_value => p_repair_group_id,
1514 p_param_name => 'REPAIR_GROUP_ID',
1515 p_api_name => l_api_name);
1516
1517 ----------------------------------
1518 -- Validate the Repair Group Id
1519 ----------------------------------
1520 if (g_debug > 0) then
1521 csd_gen_utility_pvt.ADD('Repair Group Id');
1522 end if;
1523 IF NOT( CSD_PROCESS_UTIL.Validate_repair_group_id
1524 ( p_repair_group_id => p_repair_group_id )) THEN
1525 RAISE FND_API.G_EXC_ERROR;
1526 END IF;
1527
1528
1529 -- get all repair lines having estimates for the given Repair Group
1530 FOR r1 in c_repairs_for_Reject (p_repair_group_id)
1531
1532 LOOP
1533
1534 -- initialize
1535 l_repair_line_id := null;
1536
1537 l_repair_line_id := r1.repair_line_id;
1538 l_rep_Reject_status := r1.approval_status;
1539 l_rep_quantity := r1.quantity;
1540 l_rep_ovn := r1.rep_ovn;
1541 l_repair_estimate_id := r1.repair_estimate_id;
1542 l_est_ovn := r1.est_ovn;
1543
1544 if ( l_repair_line_id is not null ) then
1545
1546 l_Reject_status := 'R';
1547 l_estimate_status := 'REJECTED';
1548 l_event_code := 'R';
1549
1550 ----------------------------------
1551 -- API Body
1552 ----------------------------------
1553
1554 if (g_debug > 0) then
1555 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Group_Reject_Status convert repairs rec call');
1556 end if;
1557 CSD_REPAIRS_UTIL.Convert_to_Repln_Rec_Type
1558 (p_approval_status => l_Reject_status,
1559 p_object_version_number => l_rep_ovn,
1560 x_repln_rec => l_rep_ord_rec
1561 );
1562 if (g_debug > 0) then
1563 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Group_Reject_Status Update repairs call');
1564 end if;
1565 CSD_REPAIRS_PVT.Update_Repair_Order
1566 (p_API_version_number => 1.0,
1567 p_init_msg_list => FND_API.G_TRUE,
1568 p_commit => FND_API.G_FALSE,
1569 p_validation_level => null,
1570 p_repair_line_id => l_repair_line_id,
1571 p_Repln_Rec => l_rep_ord_rec,
1572 x_return_status => x_return_status,
1573 x_msg_count => x_msg_count,
1574 x_msg_data => x_msg_data
1575 );
1576
1577 if (g_debug > 0) then
1578 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Group_Reject_Status Update_Repair_Order :'||x_return_status);
1579 end if;
1580 -- Check return status from the update RO call
1581 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
1582 if (g_debug > 0) then
1583 csd_gen_utility_pvt.ADD('CSD_REPAIRS_PVT.Update_Repair_Order failed ');
1584 end if;
1585 RAISE FND_API.G_EXC_ERROR;
1586 --ROLLBACK TO UPDATE_GRP_REJT_STATUS;
1587 --return;
1588 ELSIF (x_return_status = FND_API.G_RET_STS_SUCCESS) then
1589 if (g_debug > 0) then
1590 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Group_Reject_Status Update RO hist call');
1591 end if;
1592 CSD_TO_FORM_REPAIR_HISTORY.Validate_And_Write
1593 (p_Api_Version_Number => 1.0 ,
1594 p_init_msg_list => 'F',
1595 p_commit => 'F',
1596 p_validation_level => NULL,
1597 p_action_code => 0,
1598 px_REPAIR_HISTORY_ID => l_repair_history_id,
1599 p_OBJECT_VERSION_NUMBER => null,
1600 p_REQUEST_ID => null,
1601 p_PROGRAM_ID => null,
1602 p_PROGRAM_APPLICATION_ID => null,
1603 p_PROGRAM_UPDATE_DATE => null,
1604 p_CREATED_BY => FND_GLOBAL.USER_ID,
1605 p_CREATION_DATE => sysdate,
1606 p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
1607 p_LAST_UPDATE_DATE => sysdate,
1608 p_repair_line_id => l_repair_line_id,
1609 p_EVENT_CODE => l_event_code,
1610 p_EVENT_DATE => sysdate,
1611 p_QUANTITY => l_rep_quantity,
1612 p_PARAMN1 => null,
1613 p_PARAMN2 => null,
1614 p_PARAMN3 => null,
1615 p_PARAMN4 => null,
1616 p_PARAMN5 => null,
1617 p_PARAMN6 => null,
1618 p_PARAMN7 => null,
1619 p_PARAMN8 => null,
1620 p_PARAMN9 => null,
1621 p_PARAMN10 => FND_GLOBAL.USER_ID,
1622 p_PARAMC1 => l_Reject_status, -- new status
1623 p_PARAMC2 => l_rep_Reject_status, -- old status
1624 p_PARAMC3 => 'Repair Group Estimate Reject', -- travi new
1625 p_PARAMC4 => null,
1626 p_PARAMC5 => null ,
1627 p_PARAMC6 => null,
1628 p_PARAMC7 => null,
1629 p_PARAMC8 => null,
1630 p_PARAMC9 => null,
1631 p_PARAMC10 => null,
1632 p_PARAMD1 => null,
1633 p_PARAMD2 => null,
1634 p_PARAMD3 => null,
1635 p_PARAMD4 => null,
1636 p_PARAMD5 => null,
1637 p_PARAMD6 => null,
1638 p_PARAMD7 => null,
1639 p_PARAMD8 => null,
1640 p_PARAMD9 => null,
1641 p_PARAMD10 => null,
1642 p_ATTRIBUTE_CATEGORY => null,
1643 p_ATTRIBUTE1 => null,
1644 p_ATTRIBUTE2 => null,
1645 p_ATTRIBUTE3 => null,
1646 p_ATTRIBUTE4 => null,
1647 p_ATTRIBUTE5 => null,
1648 p_ATTRIBUTE6 => null,
1649 p_ATTRIBUTE7 => null,
1650 p_ATTRIBUTE8 => null,
1651 p_ATTRIBUTE9 => null,
1652 p_ATTRIBUTE10 => null,
1653 p_ATTRIBUTE11 => null,
1654 p_ATTRIBUTE12 =>null,
1655 p_ATTRIBUTE13 => null,
1656 p_ATTRIBUTE14 => null,
1657 p_ATTRIBUTE15 => null,
1658 p_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID,
1659 X_Return_Status => x_return_status,
1660 X_Msg_Count => x_msg_count,
1661 X_Msg_Data => x_msg_data
1662 );
1663 if (g_debug > 0) then
1664 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Group_Reject_Status Validate_And_Write :'||x_return_status);
1665 end if;
1666 -- Check return status from the above procedure call
1667 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
1668 if (g_debug > 0) then
1669 csd_gen_utility_pvt.ADD('CSD_TO_FORM_REPAIR_HISTORY.Validate_And_Write failed ');
1670 end if;
1671 RAISE FND_API.G_EXC_ERROR;
1672 --ROLLBACK TO UPDATE_GRP_REJT_STATUS;
1673 --return;
1674 END IF;
1675
1676 l_rep_est_rec.repair_estimate_id := l_repair_estimate_id;
1677 l_rep_est_rec.repair_line_id := l_repair_line_id;
1678 l_rep_est_rec.object_version_number := l_est_ovn;
1679 l_rep_est_rec.estimate_status := l_estimate_status;
1680 if (g_debug > 0) then
1681 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Group_Reject_Status Update RO estimate call');
1682 end if;
1683 csd_repair_estimate_pvt.update_repair_estimate
1684 (p_api_version => 1.0,
1685 p_commit => 'F',
1686 p_init_msg_list => 'T',
1687 p_validation_level => fnd_api.g_valid_level_full,
1688 x_estimate_rec => l_rep_est_rec,
1689 x_return_status => x_return_status,
1690 x_msg_count => l_msg_count,
1691 x_msg_data => l_msg_data);
1692 if (g_debug > 0) then
1693 csd_gen_utility_pvt.add('CSD_REPAIRS_GRP.Update_Group_Reject_Status update_repair_estimate :'||x_return_status);
1694 end if;
1695 -- Check return status from the above procedure call
1696 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
1697 if (g_debug > 0) then
1698 csd_gen_utility_pvt.ADD('csd_repair_estimate_pvt.update_repair_estimate failed ');
1699 end if;
1700 RAISE FND_API.G_EXC_ERROR;
1701 --ROLLBACK TO UPDATE_GRP_REJT_STATUS;
1702 --return;
1703 END IF;
1704
1705 END IF;
1706 -- End of Check return status from the update RO call
1707
1708 end if; -- repair_line_id is null
1709
1710 END LOOP;
1711 -- End of API body.
1712
1713 -- update to group is done in the call csd_repair_estimate_pvt.update_repair_estimate
1714 -- repair group object version number is not returned in this case
1715
1716 -------------------------------
1717 -- Standard check for p_commit
1718 -------------------------------
1719 IF FND_API.to_Boolean(p_commit)
1720 THEN
1721 COMMIT;
1722 END IF;
1723
1724 ---------------------------------------------------------------------------
1725 -- Standard call to get message count and if count is 1, get message info.
1726 ---------------------------------------------------------------------------
1727 FND_MSG_PUB.Count_And_Get
1728 (p_count => x_msg_count,
1729 p_data => x_msg_data
1730 );
1731
1732 EXCEPTION
1733 WHEN FND_API.G_EXC_ERROR THEN
1734 x_return_status := FND_API.G_RET_STS_ERROR ;
1735 ROLLBACK TO UPDATE_GRP_REJT_STATUS;
1736 FND_MSG_PUB.Count_And_Get
1737 (p_count => x_msg_count,
1738 p_data => x_msg_data );
1739 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1740 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1741 ROLLBACK TO UPDATE_GRP_REJT_STATUS;
1742 FND_MSG_PUB.Count_And_Get
1743 ( p_count => x_msg_count,
1744 p_data => x_msg_data );
1745 WHEN OTHERS THEN
1746 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1747 ROLLBACK TO UPDATE_GRP_REJT_STATUS;
1748 IF FND_MSG_PUB.Check_Msg_Level
1749 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1750 THEN
1751 FND_MSG_PUB.Add_Exc_Msg
1752 (G_PKG_NAME ,
1753 l_api_name );
1754 END IF;
1755 FND_MSG_PUB.Count_And_Get
1756 (p_count => x_msg_count,
1757 p_data => x_msg_data );
1758
1759 --
1760 END Update_Group_Reject_Status;
1761
1762 End CSD_REPAIRS_GRP;