1 PACKAGE CSD_REPAIRS_PUB as
2 /* $Header: csdpdras.pls 120.22.12010000.3 2008/11/18 20:43:21 swai ship $ */
3 /*#
4 * This is the public interface for managing a repair order. It allows
5 * creation of repair order for a service request.
6 * @rep:scope public
7 * @rep:product CSD
8 * @rep:displayname Repair Order
9 * @rep:lifecycle active
10 * @rep:category BUSINESS_ENTITY CSD_REPAIR_ORDER
11 */
12
13 --
14 -- Package name : CSD_REPAIRS_PUB
15 -- Purpose : This package contains the public APIs for creating,
16 -- updating repair orders.
17 -- History :
18 -- Version Date Name Description
19 -- 115.0 11/17/99 pkdas Created.
20 -- 115.1 12/18/99 pkdas
21 -- 115.2 01/04/00 pkdas
22 -- 115.3 01/18/00 pkdas Added DATE_CLOSED to REPLN_Rec_Type
23 -- 115.4 02/09/00 pkdas Added p_REPAIR_LINE_ID as IN parameter in the
24 -- Create_Repairs procedure.
25 -- Added p_REPAIR_NUMBER as OUT parameter in the
26 -- Create_Repairs procedure.
27 -- 115.5 02/29/00 pkdas Changed the procedure name
28 -- Create_Repairs -> Create_Repair_Order
29 -- Update_Repairs -> Update_Repair_Order
30 -- Added p_validation_level to Create_Repair_Order and
31 -- Update_Repair_Order
32 -- 115.6 11/30/01 travi Added AUTO_PROCESS_RMA,OBJECT_VERSION_NUMBER and REPAIR_MODE
33 -- 115.7 01/14/02 travi Added Item_REVISION column
34 -- 115.11 05/02/02 askumar Added RO_GROUP_ID and RO_TXN_STATUS
35 -- to REPLN_REC_type for 11.5.7.1
36 -- development
37 -- 115.10 04/28/2004 saupadhy Added item supercession_inv_item_id to repln_rec_type
38 --
39 -- 115.23 05/20/2005 vparvath R12 development: adding new api update_ro_status
40
41 TYPE REPLN_Rec_Type IS RECORD(
42 REPAIR_NUMBER VARCHAR2(30) := FND_API.G_MISS_CHAR,
43 INCIDENT_ID NUMBER := FND_API.G_MISS_NUM,
44 INVENTORY_ITEM_ID NUMBER := FND_API.G_MISS_NUM,
45 CUSTOMER_PRODUCT_ID NUMBER := FND_API.G_MISS_NUM,
46 UNIT_OF_MEASURE VARCHAR2(3) := FND_API.G_MISS_CHAR,
47 REPAIR_TYPE_ID NUMBER := FND_API.G_MISS_NUM,
48 -- RESOURCE_GROUP Added by Vijay 10/28/2004
49 RESOURCE_GROUP NUMBER := FND_API.G_MISS_NUM, -- swai: bug 7565999, revert change for FP bug#5197546
50 RESOURCE_ID NUMBER := FND_API.G_MISS_NUM,
51 PROJECT_ID NUMBER := FND_API.G_MISS_NUM,
52 TASK_ID NUMBER := FND_API.G_MISS_NUM,
53 UNIT_NUMBER VARCHAR2(30) := FND_API.G_MISS_CHAR, -- rfieldma, prj integration
54 CONTRACT_LINE_ID NUMBER := FND_API.G_MISS_NUM,
55 AUTO_PROCESS_RMA VARCHAR2(1) := FND_API.G_MISS_CHAR,
56 REPAIR_MODE VARCHAR2(30) := FND_API.G_MISS_CHAR,
57 OBJECT_VERSION_NUMBER NUMBER := FND_API.G_MISS_NUM,
58 ITEM_REVISION VARCHAR2(3) := FND_API.G_MISS_CHAR,
59 INSTANCE_ID NUMBER := FND_API.G_MISS_NUM,
60 STATUS VARCHAR2(30) := FND_API.G_MISS_CHAR,
61 STATUS_REASON_CODE VARCHAR2(30) := FND_API.G_MISS_CHAR,
62 DATE_CLOSED DATE := FND_API.G_MISS_DATE,
63 APPROVAL_REQUIRED_FLAG VARCHAR2(1) := FND_API.G_MISS_CHAR,
64 APPROVAL_STATUS VARCHAR2(30) := FND_API.G_MISS_CHAR,
65 SERIAL_NUMBER VARCHAR2(30) := FND_API.G_MISS_CHAR,
66 PROMISE_DATE DATE := FND_API.G_MISS_DATE,
67 ATTRIBUTE_CATEGORY VARCHAR2(30) := FND_API.G_MISS_CHAR,
68 ATTRIBUTE1 VARCHAR2(150) := FND_API.G_MISS_CHAR,
69 ATTRIBUTE2 VARCHAR2(150) := FND_API.G_MISS_CHAR,
70 ATTRIBUTE3 VARCHAR2(150) := FND_API.G_MISS_CHAR,
71 ATTRIBUTE4 VARCHAR2(150) := FND_API.G_MISS_CHAR,
72 ATTRIBUTE5 VARCHAR2(150) := FND_API.G_MISS_CHAR,
73 ATTRIBUTE6 VARCHAR2(150) := FND_API.G_MISS_CHAR,
74 ATTRIBUTE7 VARCHAR2(150) := FND_API.G_MISS_CHAR,
75 ATTRIBUTE8 VARCHAR2(150) := FND_API.G_MISS_CHAR,
76 ATTRIBUTE9 VARCHAR2(150) := FND_API.G_MISS_CHAR,
77 ATTRIBUTE10 VARCHAR2(150) := FND_API.G_MISS_CHAR,
78 ATTRIBUTE11 VARCHAR2(150) := FND_API.G_MISS_CHAR,
79 ATTRIBUTE12 VARCHAR2(150) := FND_API.G_MISS_CHAR,
80 ATTRIBUTE13 VARCHAR2(150) := FND_API.G_MISS_CHAR,
81 ATTRIBUTE14 VARCHAR2(150) := FND_API.G_MISS_CHAR,
82 ATTRIBUTE15 VARCHAR2(150) := FND_API.G_MISS_CHAR,
83 QUANTITY NUMBER := FND_API.G_MISS_NUM,
84 QUANTITY_IN_WIP NUMBER := FND_API.G_MISS_NUM,
85 QUANTITY_RCVD NUMBER := FND_API.G_MISS_NUM,
86 QUANTITY_SHIPPED NUMBER := FND_API.G_MISS_NUM,
87 CURRENCY_CODE VARCHAR2(15) := FND_API.G_MISS_CHAR,
88 DEFAULT_PO_NUM VARCHAR2(80) := FND_API.G_MISS_CHAR,
89 REPAIR_GROUP_ID NUMBER := FND_API.G_MISS_NUM,
90 RO_TXN_STATUS VARCHAR2(30) := FND_API.G_MISS_CHAR,
91 ORDER_LINE_ID NUMBER := FND_API.G_MISS_NUM,
92 ORIGINAL_SOURCE_REFERENCE VARCHAR2(30) := FND_API.G_MISS_CHAR,
93 ORIGINAL_SOURCE_HEADER_ID NUMBER := FND_API.G_MISS_NUM,
94 ORIGINAL_SOURCE_LINE_ID NUMBER := FND_API.G_MISS_NUM,
95 PRICE_LIST_HEADER_ID NUMBER := FND_API.G_MISS_NUM,
96 SUPERCESSION_INV_ITEM_ID NUMBER := FND_API.G_MISS_NUM,
97 FLOW_STATUS_ID NUMBER := FND_API.G_MISS_NUM,
98 FLOW_STATUS_CODE VARCHAR2(30) := FND_API.G_MISS_CHAR,
99 FLOW_STATUS VARCHAR2(80) := FND_API.G_MISS_CHAR,
100 INVENTORY_ORG_ID NUMBER := FND_API.G_MISS_NUM,
101 -- swai: bug 4666344 added problem description
102 PROBLEM_DESCRIPTION VARCHAR(240):= FND_API.G_MISS_CHAR,
103 RO_PRIORITY_CODE VARCHAR(80):= FND_API.G_MISS_CHAR, -- swai: R12
104 RESOLVE_BY_DATE DATE := FND_API.G_MISS_DATE, -- rfieldma: 5355051
105 BULLETIN_CHECK_DATE DATE := FND_API.G_MISS_DATE,
106 ESCALATION_CODE VARCHAR(30) := FND_API.G_MISS_CHAR,
107 REPAIR_YIELD_QUANTITY NUMBER := FND_API.G_MISS_NUM, --bug#6692459
108 ATTRIBUTE16 VARCHAR2(150) := FND_API.G_MISS_CHAR, -- SUBHAT, DFF CHANGES(bug#7497907)
109 ATTRIBUTE17 VARCHAR2(150) := FND_API.G_MISS_CHAR,
110 ATTRIBUTE18 VARCHAR2(150) := FND_API.G_MISS_CHAR,
111 ATTRIBUTE19 VARCHAR2(150) := FND_API.G_MISS_CHAR,
112 ATTRIBUTE20 VARCHAR2(150) := FND_API.G_MISS_CHAR,
113 ATTRIBUTE21 VARCHAR2(150) := FND_API.G_MISS_CHAR,
114 ATTRIBUTE22 VARCHAR2(150) := FND_API.G_MISS_CHAR,
115 ATTRIBUTE23 VARCHAR2(150) := FND_API.G_MISS_CHAR,
116 ATTRIBUTE24 VARCHAR2(150) := FND_API.G_MISS_CHAR,
117 ATTRIBUTE25 VARCHAR2(150) := FND_API.G_MISS_CHAR,
118 ATTRIBUTE26 VARCHAR2(150) := FND_API.G_MISS_CHAR,
119 ATTRIBUTE27 VARCHAR2(150) := FND_API.G_MISS_CHAR,
120 ATTRIBUTE28 VARCHAR2(150) := FND_API.G_MISS_CHAR,
121 ATTRIBUTE29 VARCHAR2(150) := FND_API.G_MISS_CHAR,
122 ATTRIBUTE30 VARCHAR2(150) := FND_API.G_MISS_CHAR
123 );
124 --
125 G_MISS_REPLN_REC REPLN_Rec_Type;
126 --
127 TYPE REPLN_Tbl_Type IS TABLE OF REPLN_Rec_Type INDEX BY BINARY_INTEGER;
128
129 --
130 G_MISS_REPLN_TBL REPLN_Tbl_Type;
131 --
132 -- *******************************************************
133 -- API Name: Create_Repair_Order
134 -- Type : Public
135 -- Pre-Req : None
136 -- Parameters:
137 -- IN
138 -- p_api_version_number IN NUMBER Required
139 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API.G_FALSE
140 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
141 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
142 -- p_repair_line_id IN NUMBER Optional Default = FND_API.G_MISS_NUM
143 -- P_REPLN_Rec IN CSD_REPAIRS_PUB.REPLN_Rec_Type Required
144 -- p_create_default_logistics IN VARCHAR2 Optional Default = N
145 --
146 -- OUT:
147 -- x_return_status OUT VARCHAR2
148 -- x_msg_count OUT NUMBER
149 -- x_msg_data OUT VARCHAR2
150 -- x_repair_line_id OUT NUMBER
151 -- x_repair_number OUT NUMBER
152 --
153 -- Version : Current Version 1.0
154 -- Initial Version 1.0
155 --
156 -- Notes: This API will create a Repair Order. User can pass REPAIR_LINE_ID.
157 -- If passed, it will be validated
158 -- for uniqueness and if valid, the same ID will be returned.
159 -- User can pass REPAIR_NUMBER also. If passed, it will be validated
160 -- for uniqueness and if valid, the same NUMBER will be returned.
161 --
162 /*#
163 * Creates a new Repair Order for the given Service Request. The Repair Number
164 * is generated if a unique number is not passed. Returns the Repair Number.
165 * @param P_Api_Version_Number api version number
166 * @param P_Init_Msg_List initial the message stack, default to false
167 * @param P_Commit to decide whether to commit the transaction or not, default to false
168 * @param p_validation_level validation level, default to full level
169 * @param p_repair_line_id repair line id is unique id
170 * @param P_REPLN_Rec repiar line record
171 * @param p_create_default_logistics flag to create logistics lines, default to N
172 * @param X_REPAIR_LINE_ID repair line id of the created repair order
173 * @param X_REPAIR_NUMBER repair number of the created repair order which display on Depot UI
174 * @param X_Return_Status return status
175 * @param X_Msg_Count return message count
176 * @param X_Msg_Data return message data
177 * @rep:scope public
178 * @rep:lifecycle active
179 * @rep:displayname Create Repair Order
180 */
181 PROCEDURE Create_Repair_Order(P_Api_Version_Number IN NUMBER,
182 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
183 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
184 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
185 p_repair_line_id IN NUMBER := FND_API.G_MISS_NUM,
186 P_REPLN_Rec IN CSD_REPAIRS_PUB.REPLN_Rec_Type,
187 p_create_default_logistics IN VARCHAR2 := 'N',
188 X_REPAIR_LINE_ID OUT NOCOPY NUMBER,
189 X_REPAIR_NUMBER OUT NOCOPY VARCHAR2,
190 X_Return_Status OUT NOCOPY VARCHAR2,
191 X_Msg_Count OUT NOCOPY NUMBER,
192 X_Msg_Data OUT NOCOPY VARCHAR2);
193 --
194 -- *******************************************************
195 -- API Name: Update_Repair_Order
196 -- Type : Public
197 -- Pre-Req : None
198 -- Parameters:
199 -- IN
200 -- p_api_version_number IN NUMBER Required
201 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API.G_FALSE
202 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
203 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
204 -- p_repair_line_id IN NUMBER Required
205 -- P_REPLN_Rec IN CSD_REPAIRS_PUB.REPLN_Rec_Type Required
206 --
207 -- OUT:
208 -- x_return_status OUT VARCHAR2
209 -- x_msg_count OUT NUMBER
210 -- x_msg_data OUT VARCHAR2
211 --
212 -- Version : Current Version 1.0
213 -- Initial Version 1.0
214 --
215 PROCEDURE Update_Repair_Order(P_Api_Version_Number IN NUMBER,
216 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
217 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
218 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
219 p_repair_line_id IN NUMBER,
220 P_REPLN_Rec IN OUT NOCOPY CSD_REPAIRS_PUB.REPLN_Rec_Type,
221 X_Return_Status OUT NOCOPY VARCHAR2,
222 X_Msg_Count OUT NOCOPY NUMBER,
223 X_Msg_Data OUT NOCOPY VARCHAR2);
224 --
225
226 -- R12 development changes begin...
227 TYPE REPAIR_STATUS_REC_TYPE IS RECORD(
228 repair_line_id NUMBER,
229 repair_number VARCHAR2(30),
230 repair_status VARCHAR2(30),
231 repair_status_id NUMBER,
232 from_status_id NUMBER,
233 from_status NUMBER,
234 repair_state VARCHAR2(30),
235 reason_code VARCHAR2(30),
236 comments VARCHAR2(2000),
237 object_version_number NUMBER);
238 TYPE STATUS_UPD_CONTROL_REC_TYPE IS RECORD(
239 check_task_wip VARCHAR2(1));
240 -- *******************************************************
241 -- API Name: update_ro_status
242 -- Type : Public
243 -- Pre-Req : None
244 -- Parameters:
245 -- IN
246 -- p_api_version IN NUMBER,
247 -- p_commit IN VARCHAR2,
248 -- p_init_msg_list IN VARCHAR2,
249 -- p_validation_level IN NUMBER,
250 -- p_repair_line_id IN VARCHAR2,
251 -- p_repair_status IN VARCHAR2,
252 -- p_reason_code IN VARCHAR2,
253 -- p_comments IN VARCHAR2,
254 -- p_check_task_wip IN VARCHAR2,
255 -- p_object_version_number IN NUMBER
256 -- OUT
257 -- x_return_status
258 -- x_msg_count
259 -- x_msg_data
260 -- x_object_version_number
261 --
262 -- Version : Current version 1.0
263 -- Initial Version 1.0
264 --
265 -- Description : This API updates the repair status to a given value.
266 -- It checks for the open tasks/wipjobs based on the input
267 -- flag p_check_task_wip.
268 --
269 --
270 -- ***********************************************************
271 /*#
272 * Updates a repair order status. If the status setup is done so that
273 * it needs a reason, the reason is mandatory.
274 *
275 * @param P_Api_Version api version number
276 * @param P_Commit to decide whether to commit the transaction or not, default to false
277 * @param P_Init_Msg_List initial the message stack, default to false
278 * @param X_Return_Status return status
279 * @param X_Msg_Count return message count
280 * @param X_Msg_Data return message data
281 * @param P_Repair_status_rec repair order status record.
282 * @param P_status_upd_control_rec repair order status update control record.
283 * Determines how the status record is updated, like any checks to be made etc...
284 * @param X_OBJECT_VERSION_NUMBER updated object version number.
285 * @rep:scope public
286 * @rep:lifecycle active
290 p_commit IN VARCHAR2,
287 * @rep:displayname Update Repair Order Status
288 */
289 PROCEDURE UPDATE_RO_STATUS(p_api_version IN NUMBER,
291 p_init_msg_list IN VARCHAR2,
292 x_return_status OUT NOCOPY VARCHAR2,
293 x_msg_count OUT NOCOPY NUMBER,
294 x_msg_data OUT NOCOPY VARCHAR2,
295 p_repair_status_rec IN REPAIR_STATUS_REC_TYPE,
296 p_status_upd_control_rec IN STATUS_UPD_CONTROL_REC_TYPE,
297 x_object_version_number OUT NOCOPY NUMBER);
298
299 -- R12 development changes End...
300
301 End CSD_REPAIRS_PUB;