1 Package Csd_Repairs_Pvt AUTHID CURRENT_USER AS
2 /* $Header: csdvdras.pls 120.7.12010000.2 2008/10/29 06:38:06 subhat ship $ */
3 --
4 -- Package name : CSD_REPAIRS_PVT
5 -- Purpose : This package contains the private APIs for creating,
6 -- updating, deleting repair orders. Access is
7 -- restricted to Oracle Depot Rapair Internal Development.
8 -- History :
9 -- Version Date Name Description
10 -- 115.0 11/17/99 pkdas Created.
11 -- 115.1 12/20/99 pkdas
12 -- 115.2 01/04/00 pkdas
13 -- 115.3 02/14/00 pkdas Added p_REPAIR_LINE_ID as IN parameter in the Create_Repairs
14 -- procedure.
15 -- Added p_REPAIR_NUMBER as OUT parameter in the Create_Repairs
16 -- procedure.
17 -- 115.4 02/29/00 pkdas Changed the procedure name
18 -- Create_Repairs -> Create_Repair_Order
19 -- Update_Repairs -> Update_Repair_Order
20 -- 11.16 05/19/05 vparvath Adding update_ro_status private API for R12 development.
21 --
22 -- NOTE :
23
24
25 -- Added new record for R12 development.
26 /*--------------------------------------------------*/
27 /* Record name : Flwsts_Wf_Rec_Type */
28 /* description : Record to create workflow for flow */
29 /* status transition. */
30 /*--------------------------------------------------*/
31 TYPE Flwsts_Wf_Rec_Type IS RECORD(
32 repair_line_id NUMBER,
33 repair_type_id NUMBER,
34 from_flow_status_id NUMBER,
35 to_flow_status_id NUMBER,
36 object_version_number NUMBER,
37 wf_item_type VARCHAR2(8),
38 wf_item_key VARCHAR2(240),
39 wf_process_name VARCHAR2(30)
40 );
41
42 /*--------------------------------------------------*/
43 /* Record name : RO_STATUS_BEVENT_REC_TYPE */
44 /* description : Repair Order Status Business Event */
45 /* Record */
46 /*--------------------------------------------------*/
47 TYPE RO_STATUS_BEVENT_REC_TYPE IS RECORD(
48 REPAIR_LINE_ID NUMBER,
49 FROM_FLOW_STATUS_ID NUMBER,
50 TO_FLOW_STATUS_ID NUMBER,
51 OBJECT_VERSION_NUMBER NUMBER
52 );
53
54 --
55 -- *******************************************************
56 -- API Name: Create_Repair_Order
57 -- Type : Private
58 -- Pre-Req : None
59 -- Parameters:
60 -- IN
61 -- p_api_version_number IN NUMBER Required
62 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API.G_FALSE
63 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
64 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
65 -- p_REPAIR_LINE_ID IN NUMBER Optional Default = FND_API.G_MISS_NUM
66 -- p_REPLN_rec IN CSD_REPAIRS_PUB.REPLN_rec_type Required
67 -- OUT
68 -- x_REPAIR_LINE_ID OUT NOCOPY NUMBER
69 -- x_REPAIR_NUMBER OUT NOCOPY VARCHAR2
70 -- x_return_status OUT NOCOPY VARCHAR2
71 -- x_msg_count OUT NOCOPY NUMBER
72 -- x_msg_data OUT NOCOPY VARCHAR2
73 --
74 -- Version : Current version 1.0
75 -- Initial Version 1.0
76 --
77 -- Notes: This API will create a Repair Order. User can pass REPAIR_LINE_ID.
78 -- If passed, it will be validated
79 -- for uniqueness and if valid, the same ID will be returned.
80 -- User can pass REPAIR_NUMBER also. If passed, it will be validated
81 -- for uniqueness and if valid, the same NUMBER will be returned.
82 --
83 PROCEDURE Create_Repair_Order(
84 P_Api_Version_Number IN NUMBER,
85 P_Init_Msg_List IN VARCHAR2 := Fnd_Api.G_FALSE,
86 P_Commit IN VARCHAR2 := Fnd_Api.G_FALSE,
87 p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
88 p_REPAIR_LINE_ID IN NUMBER := Fnd_Api.G_MISS_NUM,
89 P_REPLN_Rec IN Csd_Repairs_Pub.REPLN_Rec_Type,
90 X_REPAIR_LINE_ID OUT NOCOPY NUMBER,
91 X_REPAIR_NUMBER OUT NOCOPY VARCHAR2,
92 X_Return_Status OUT NOCOPY VARCHAR2,
93 X_Msg_Count OUT NOCOPY NUMBER,
94 X_Msg_Data OUT NOCOPY VARCHAR2
95 );
96
97 -- *******************************************************
98 -- API Name: Update_Repair_Order
99 -- Type : Private
100 -- Pre-Req :
101 -- Parameters:
102 -- IN
103 -- p_api_version_number IN NUMBER Required
104 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API.G_FALSE
105 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
106 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
107 -- p_REPAIR_LINE_ID IN NUMBER Required
108 -- P_REPLN_Rec IN CSD_REPAIRS_PUB.REPLN_Rec_Type Required
109 --
110 -- OUT
111 -- x_return_status OUT NOCOPY VARCHAR2
112 -- x_msg_count OUT NOCOPY NUMBER
113 -- x_msg_data OUT NOCOPY VARCHAR2
114 --
115 -- Version : Current Version 1.0
116 -- Initial Verision 1.0
117 --
118 PROCEDURE Update_Repair_Order(
119 P_Api_Version_Number IN NUMBER,
120 P_Init_Msg_List IN VARCHAR2 := Fnd_Api.G_FALSE,
121 P_Commit IN VARCHAR2 := Fnd_Api.G_FALSE,
122 p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
123 p_REPAIR_LINE_ID IN NUMBER,
124 P_REPLN_Rec IN OUT NOCOPY Csd_Repairs_Pub.REPLN_Rec_Type,
125 X_Return_Status OUT NOCOPY VARCHAR2,
126 X_Msg_Count OUT NOCOPY NUMBER,
127 X_Msg_Data OUT NOCOPY VARCHAR2
128 );
129
130 -- *******************************************************
131 -- API Name: Delete_Repair_Order
132 -- Type : Private
133 -- Pre-Req :
134 -- Parameters:
135 -- IN
136 -- p_api_version_number IN NUMBER Required
137 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API.G_FALSE
138 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
139 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
140 -- p_REPAIR_LINE_ID IN NUMBER Required
141 --
142 -- OUT
143 -- x_return_status OUT NOCOPY VARCHAR2
144 -- x_msg_count OUT NOCOPY NUMBER
145 -- x_msg_data OUT NOCOPY VARCHAR2
146 --
147 -- Version : Current Version 1.0
148 -- Initial Version 1.0
149 --
150 PROCEDURE Delete_Repair_Order(
151 P_Api_Version_Number IN NUMBER,
152 P_Init_Msg_List IN VARCHAR2 := Fnd_Api.G_FALSE,
153 P_Commit IN VARCHAR2 := Fnd_Api.G_FALSE,
154 p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
155 p_REPAIR_LINE_ID IN NUMBER,
156 X_Return_Status OUT NOCOPY VARCHAR2,
157 X_Msg_Count OUT NOCOPY NUMBER,
158 X_Msg_Data OUT NOCOPY VARCHAR2
159 );
160
161 -- *******************************************************
162 -- API Name: Validate_Repairs
163 -- Type : Private
164 -- Pre-Req : None
165 -- Parameters:
166 -- IN
167 -- p_api_version_number IN NUMBER Required
168 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API.G_FALSE
169 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
170 -- P_Validation_mode IN VARCHAR2 Required
171 -- p_REPAIR_LINE_ID IN NUMBER Optional Default = FND_API.G_MISS_NUM
172 -- p_REPLN_rec IN CSD_REPAIRS_PUB.REPLN_rec_type Required
173 -- OUT
174 -- x_return_status OUT NOCOPY VARCHAR2
175 -- x_msg_count OUT NOCOPY NUMBER
176 -- x_msg_data OUT NOCOPY VARCHAR2
177 --
178 -- Version : Current version 1.0
179 -- Initial Version 1.0
180 --
181 -- Notes: This API will validate the Repair Order.
182 --
183 PROCEDURE Validate_Repairs
184 (
185 P_Api_Version_Number IN NUMBER,
186 p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
187 p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
188 P_Validation_mode IN VARCHAR2,
189 p_repair_line_id IN NUMBER := Fnd_Api.G_MISS_NUM,
190 P_REPLN_Rec IN Csd_Repairs_Pub.REPLN_Rec_Type,
191 P_OLD_REPLN_Rec IN Csd_Repairs_Pub.REPLN_Rec_Type := Csd_Repairs_Pub.G_MISS_REPLN_Rec,
192 x_return_status OUT NOCOPY VARCHAR2,
193 x_msg_count OUT NOCOPY NUMBER,
194 x_msg_data OUT NOCOPY VARCHAR2,
195 --bug#7242791, 12.1 FP, subhat
196 x_dff_rec OUT NOCOPY CSD_REPAIRS_UTIL.DEF_Rec_Type
197 );
198
199 -- *************************************************************
200 -- API Name: Copy_Attachments
201 -- Type : Private
202 -- Pre-Req : None
203 -- Parameters:
204 -- IN
205 -- p_api_version IN NUMBER
206 -- p_commit IN VARCHAR2
207 -- p_init_msg_list IN VARCHAR2
208 -- P_validation_mode IN NUMBER
209 -- p_original_ro_id IN NUMBER
210 -- p_new_ro_id IN NUMBER
211 -- OUT
212 -- x_return_status
213 -- x_msg_count
214 -- x_msg_data
215 --
216 -- Version : Current version 1.0
217 -- Initial Version 1.0
218 --
219 -- Description : This API Copies all the Attachments from the
220 -- original Repair order to the new Repair order.
221 -- ***************************************************************
222
223 PROCEDURE Copy_Attachments
224 (
225 p_api_version IN NUMBER,
226 p_commit IN VARCHAR2,
227 p_init_msg_list IN VARCHAR2,
228 p_validation_level IN NUMBER,
229 x_return_status OUT NOCOPY VARCHAR2,
230 x_msg_count OUT NOCOPY NUMBER,
231 x_msg_data OUT NOCOPY VARCHAR2,
232 p_original_ro_id IN NUMBER,
233 p_new_ro_id IN NUMBER
234 );
235
236 -- *******************************************************
237 -- API Name: Delete_Attachments
238 -- Type : Private
239 -- Pre-Req : None
240 -- Parameters:
241 -- IN
242 -- p_api_version IN NUMBER
243 -- p_commit IN VARCHAR2
244 -- p_init_msg_list IN VARCHAR2
245 -- P_validation_level IN NUMBER
246 -- p_repair_line_id IN NUMBER
247 -- OUT
248 -- x_return_status
249 -- x_msg_count
250 -- x_msg_data
251 --
252 -- Version : Current version 1.0
253 -- Initial Version 1.0
254 --
255 -- Description : This API Deletes all the Attachments linked
256 -- to the Repair order (p_repair_line_id).
257 --
258 -- ***********************************************************
259
260 PROCEDURE Delete_Attachments
261 (
262 p_api_version IN NUMBER,
263 p_commit IN VARCHAR2,
264 p_init_msg_list IN VARCHAR2,
265 p_validation_level IN NUMBER,
266 x_return_status OUT NOCOPY VARCHAR2,
267 x_msg_count OUT NOCOPY NUMBER,
268 x_msg_data OUT NOCOPY VARCHAR2,
269 p_repair_line_id IN NUMBER
270 );
271
272 -- R12 development changes begin...
273 -- *******************************************************
274 -- API Name: update_ro_status
275 -- Type : Private
276 -- Pre-Req : None
277 -- Parameters:
278 -- IN
279 -- p_api_version IN NUMBER,
280 -- p_commit IN VARCHAR2,
281 -- p_init_msg_list IN VARCHAR2,
282 -- p_validation_level IN NUMBER,
283 -- p_repair_status_rec IN CSD_REPAIRS_PUB.REPAIR_STATUS_REC,
284 -- p_status_control_rec IN CSD_REPAIRS_PUB.STATUS_UPD_CONTROL_REC,
285 -- OUT
286 -- x_return_status
287 -- x_msg_count
288 -- x_msg_data
289 -- x_object_version_number OUT NUMBER
290 --
291 -- Version : Current version 1.0
292 -- Initial Version 1.0
293 --
294 -- Description : This API updates the repair status to a given value.
295 -- It checks for the open tasks/wipjobs based on the input
296 -- flag p_check_task_wip in the status control record.
297 --
298 --
299 -- ***********************************************************
300 PROCEDURE UPDATE_RO_STATUS
301 (
302 p_api_version IN NUMBER,
303 p_commit IN VARCHAR2,
304 p_init_msg_list IN VARCHAR2,
305 p_validation_level IN NUMBER,
306 x_return_status OUT NOCOPY VARCHAR2,
307 x_msg_count OUT NOCOPY NUMBER,
308 x_msg_data OUT NOCOPY VARCHAR2,
309 p_repair_status_Rec IN Csd_Repairs_Pub.REPAIR_STATUS_REC_TYPE,
310 p_status_control_rec IN Csd_Repairs_Pub.STATUS_UPD_CONTROL_REC_TYPE,
311 x_object_version_number OUT NOCOPY NUMBER
312 );
313
314
315 -- *******************************************************
316 -- API Name: UPDATE_RO_STATUS_WebSrvc
317 -- Type : Private
318 -- Pre-Req : None
319 -- Parameters:
320 -- IN
321 -- p_api_version IN NUMBER,
322 -- p_commit IN VARCHAR2,
323 -- p_init_msg_list IN VARCHAR2,
324 -- p_validation_level IN NUMBER,
325 -- p_repair_line_id IN NUMEBR
326 -- p_repair_status IN
327 -- OUT
328 -- x_return_status
329 -- x_msg_count
330 -- x_msg_data
331 --
332 -- Version : Current version 1.0
333 -- Initial Version 1.0
334 --
335 -- Description : This API updates is a wrapper around the update_ro_Status
336 -- private API. THis is used by the web service.
337 --
338 --
339 -- ***********************************************************
340 PROCEDURE UPDATE_RO_STATUS_WebSrvc
341 (
342 p_api_version IN NUMBER,
343 p_commit IN VARCHAR2,
344 p_init_msg_list IN VARCHAR2,
345 x_return_status OUT NOCOPY VARCHAR2,
346 x_msg_count OUT NOCOPY NUMBER,
347 x_msg_data OUT NOCOPY VARCHAR2,
348 p_repair_line_id IN NUMBER,
349 p_repair_status IN VARCHAR2,
350 p_reason_code IN VARCHAR2,
351 p_comments IN VARCHAR2,
352 p_check_task_wip IN VARCHAR2,
353 p_object_version_number IN NUMBER
354
355 );
356
357
358 PROCEDURE Update_Flow_Status (
359 p_api_version IN NUMBER,
360 p_commit IN VARCHAR2,
361 p_init_msg_list IN VARCHAR2,
362 p_validation_level IN NUMBER,
363 x_return_status OUT NOCOPY VARCHAR2,
364 x_msg_count OUT NOCOPY NUMBER,
365 x_msg_data OUT NOCOPY VARCHAR2,
366 p_repair_line_id IN NUMBER,
367 p_repair_type_id IN NUMBER,
368 p_from_flow_status_id IN NUMBER,
369 p_to_flow_status_id IN NUMBER,
370 p_reason_code IN VARCHAR2,
371 p_comments IN VARCHAR2,
372 p_check_access_flag IN VARCHAR2,
373 p_object_version_number IN NUMBER,
374 x_object_version_number OUT NOCOPY NUMBER
375 );
376
377 FUNCTION Is_Rt_Update_Allowed (
378 p_from_repair_type_id IN NUMBER,
379 p_to_repair_type_id IN NUMBER,
380 p_common_flow_status_id IN NUMBER,
381 p_responsibility_id IN NUMBER
382 ) RETURN BOOLEAN;
383
384 PROCEDURE Update_Repair_Type (
385 p_api_version IN NUMBER,
386 p_commit IN VARCHAR2,
387 p_init_msg_list IN VARCHAR2,
388 p_validation_level IN NUMBER,
389 x_return_status OUT NOCOPY VARCHAR2,
390 x_msg_count OUT NOCOPY NUMBER,
391 x_msg_data OUT NOCOPY VARCHAR2,
392 p_repair_line_id IN NUMBER,
393 p_from_repair_type_id IN NUMBER,
394 p_to_repair_type_id IN NUMBER,
395 p_common_flow_status_id IN NUMBER,
396 p_reason_code IN VARCHAR2,
397 p_object_version_number IN NUMBER,
398 x_object_version_number OUT NOCOPY NUMBER
399 );
400
401 FUNCTION Is_Flwsts_Update_Allowed(
402 p_repair_type_id IN NUMBER,
403 p_from_flow_status_id IN NUMBER,
404 p_to_flow_status_id IN NUMBER,
405 p_responsibility_id IN NUMBER
406 ) RETURN BOOLEAN;
407
408 PROCEDURE Launch_Flwsts_Wf (
409 p_api_version IN NUMBER,
410 p_commit IN VARCHAR2,
411 p_init_msg_list IN VARCHAR2,
412 p_validation_level IN NUMBER,
413 x_return_status OUT NOCOPY VARCHAR2,
414 x_msg_count OUT NOCOPY NUMBER,
415 x_msg_data OUT NOCOPY VARCHAR2,
416 p_flwsts_wf_rec IN Flwsts_Wf_Rec_Type
417 );
418
419 /*-----------------------------------------------------------------*/
420 /* procedure name: raise_ro_status_bevent */
421 /* description : Procedure to raise a Business Even when the */
422 /* status of the repair order changes */
423 /*-----------------------------------------------------------------*/
424 PROCEDURE raise_ro_status_bevent (
425 p_ro_status_bevent_rec IN ro_status_bevent_rec_type,
426 p_commit IN VARCHAR2,
427 x_return_status OUT NOCOPY VARCHAR2,
428 x_msg_count OUT NOCOPY NUMBER,
429 x_msg_data OUT NOCOPY VARCHAR2
430 );
431
432 -- R12 development changes End...
433
434 -- Fix for bug#5610891
435
436 /*-------------------------------------------------------------------------------------*/
437 /* Procedure name: UPDATE_RO_STATUS_WF */
438 /* Description : Procedure called from workflow process to update repair order */
439 /* status */
440 /* */
441 /* Called from : Workflow */
442 /* PARAMETERS */
443 /* IN */
444 /* */
445 /* itemtype - type of the current item */
446 /* itemkey - key of the current item */
447 /* actid - process activity instance id */
448 /* funcmode - function execution mode ('RUN', 'CANCEL', 'TIMEOUT', ...) */
449 /* OUT */
450 /* result */
451 /* - COMPLETE[:<result>] */
452 /* activity has completed with the indicated result */
453 /* - WAITING */
454 /* activity is waiting for additional transitions */
455 /* - DEFERED */
456 /* execution should be defered to background */
457 /* - NOTIFIED[:<notification_id>:<assigned_user>] */
458 /* activity has notified an external entity that this */
459 /* step must be performed. A call to wf_engine.CompleteActivty */
460 /* will signal when this step is complete. Optional */
461 /* return of notification ID and assigned user. */
462 /* - ERROR[:<error_code>] */
463 /* function encountered an error. */
464 /* Change Hist : */
465 /* 04/18/07 mshirkol Initial Creation. ( Fix for bug#5610891 ) */
466 /*-------------------------------------------------------------------------------------*/
467
468 Procedure UPDATE_RO_STATUS_WF
469 (itemtype in varchar2,
470 itemkey in varchar2,
471 actid in number,
472 funcmode in varchar2,
473 resultout in out nocopy varchar2);
474
475 /*-------------------------------------------------------------------------------------*/
476 /* Procedure name: LAUNCH_WFEXCEPTIONS_BEVENT */
477 /* Description : Procedure to launch exceptions Business Event */
478 /* */
479 /* Called from : CSD_UPDATE_PROGRAMS_PVT */
480 /* PARAMETERS */
481 /* IN */
482 /* p_return_status */
483 /* p_msg_count */
484 /* p_msg_data */
485 /* p_repair_line_id */
486 /* p_module_name */
487 /* */
488 /* Change Hist : */
489 /* 04/18/07 mshirkol Initial Creation. ( Fix for bug#5610891 ) */
490 /*-------------------------------------------------------------------------------------*/
491
492 Procedure LAUNCH_WFEXCEPTION_BEVENT(
493 p_return_status in varchar2,
494 p_msg_count in number,
495 p_msg_data in varchar2,
496 p_repair_line_id in number,
497 p_module_name in varchar2);
498
499
500 END Csd_Repairs_Pvt;