DBA Data[Home] [Help]

PACKAGE: APPS.CSD_REPAIRS_PUB

Source


1 PACKAGE CSD_REPAIRS_PUB as
2     /* $Header: csdpdras.pls 120.27.12020000.2 2013/01/23 20:44:21 vicli 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         RO_WARRANTY_STATUS_CODE   VARCHAR(30) := FND_API.G_MISS_CHAR,
108         REPAIR_YIELD_QUANTITY     NUMBER := FND_API.G_MISS_NUM,       --bug#6692459
109         ATTRIBUTE16               VARCHAR2(150) := FND_API.G_MISS_CHAR, -- SUBHAT, DFF CHANGES(bug#7497907)
110 	    ATTRIBUTE17               VARCHAR2(150) := FND_API.G_MISS_CHAR,
111 	    ATTRIBUTE18               VARCHAR2(150) := FND_API.G_MISS_CHAR,
112 	    ATTRIBUTE19               VARCHAR2(150) := FND_API.G_MISS_CHAR,
113 	    ATTRIBUTE20               VARCHAR2(150) := FND_API.G_MISS_CHAR,
114         ATTRIBUTE21              	VARCHAR2(150) := FND_API.G_MISS_CHAR,
115 	    ATTRIBUTE22              	VARCHAR2(150) := FND_API.G_MISS_CHAR,
116 	    ATTRIBUTE23              	VARCHAR2(150) := FND_API.G_MISS_CHAR,
117 	    ATTRIBUTE24              	VARCHAR2(150) := FND_API.G_MISS_CHAR,
118 	    ATTRIBUTE25             	VARCHAR2(150) := FND_API.G_MISS_CHAR,
119 	    ATTRIBUTE26               VARCHAR2(150) := FND_API.G_MISS_CHAR,
120 	    ATTRIBUTE27             	VARCHAR2(150) := FND_API.G_MISS_CHAR,
121 	    ATTRIBUTE28             	VARCHAR2(150) := FND_API.G_MISS_CHAR,
122 	    ATTRIBUTE29             	VARCHAR2(150) := FND_API.G_MISS_CHAR,
123 	    ATTRIBUTE30             	VARCHAR2(150) := FND_API.G_MISS_CHAR,
124         RETURN_ATTRIBUTE_CATEGORY        VARCHAR2(30) := FND_API.G_MISS_CHAR, -- returns management fields. 12.2, subhat
125         RETURN_ATTRIBUTE1                VARCHAR2(150) := FND_API.G_MISS_CHAR,
126         RETURN_ATTRIBUTE2                VARCHAR2(150) := FND_API.G_MISS_CHAR,
127         RETURN_ATTRIBUTE3                VARCHAR2(150) := FND_API.G_MISS_CHAR,
128         RETURN_ATTRIBUTE4                VARCHAR2(150) := FND_API.G_MISS_CHAR,
129         RETURN_ATTRIBUTE5                VARCHAR2(150) := FND_API.G_MISS_CHAR,
130         RETURN_ATTRIBUTE6                VARCHAR2(150) := FND_API.G_MISS_CHAR,
131         RETURN_ATTRIBUTE7                VARCHAR2(150) := FND_API.G_MISS_CHAR,
132         RETURN_ATTRIBUTE8                VARCHAR2(150) := FND_API.G_MISS_CHAR,
133         RETURN_ATTRIBUTE9                VARCHAR2(150) := FND_API.G_MISS_CHAR,
134         RETURN_ATTRIBUTE10               VARCHAR2(150) := FND_API.G_MISS_CHAR,
135         RETURN_ATTRIBUTE11               VARCHAR2(150) := FND_API.G_MISS_CHAR,
136         RETURN_ATTRIBUTE12               VARCHAR2(150) := FND_API.G_MISS_CHAR,
137         RETURN_ATTRIBUTE13               VARCHAR2(150) := FND_API.G_MISS_CHAR,
138         RETURN_ATTRIBUTE14               VARCHAR2(150) := FND_API.G_MISS_CHAR,
139         RETURN_ATTRIBUTE15               VARCHAR2(150) := FND_API.G_MISS_CHAR,
140         RETURN_ATTRIBUTE16               VARCHAR2(150) := FND_API.G_MISS_CHAR,
141         RETURN_ATTRIBUTE17               VARCHAR2(150) := FND_API.G_MISS_CHAR,
142         RETURN_ATTRIBUTE18               VARCHAR2(150) := FND_API.G_MISS_CHAR,
143         RETURN_ATTRIBUTE19               VARCHAR2(150) := FND_API.G_MISS_CHAR,
144         RETURN_ATTRIBUTE20               VARCHAR2(150) := FND_API.G_MISS_CHAR,
145         RETURN_ATTRIBUTE21               VARCHAR2(150) := FND_API.G_MISS_CHAR,
146         RETURN_ATTRIBUTE22               VARCHAR2(150) := FND_API.G_MISS_CHAR,
147         RETURN_ATTRIBUTE23               VARCHAR2(150) := FND_API.G_MISS_CHAR,
148         RETURN_ATTRIBUTE24               VARCHAR2(150) := FND_API.G_MISS_CHAR,
149         RETURN_ATTRIBUTE25               VARCHAR2(150) := FND_API.G_MISS_CHAR,
150         RETURN_ATTRIBUTE26               VARCHAR2(150) := FND_API.G_MISS_CHAR,
151         RETURN_ATTRIBUTE27               VARCHAR2(150) := FND_API.G_MISS_CHAR,
152         RETURN_ATTRIBUTE28               VARCHAR2(150) := FND_API.G_MISS_CHAR,
153         RETURN_ATTRIBUTE29               VARCHAR2(150) := FND_API.G_MISS_CHAR,
154         RETURN_ATTRIBUTE30               VARCHAR2(150) := FND_API.G_MISS_CHAR,
155         WAYBILL_NO                       VARCHAR2(30)  := FND_API.G_MISS_CHAR,
156         RETURN_TYPE_ID                   NUMBER        := FND_API.G_MISS_NUM,
157         PARENT_REPAIR_LINE_ID            NUMBER        := FND_API.G_MISS_NUM --bug#13698799 auto create ro, parent ro
158       );
159     --
160     G_MISS_REPLN_REC REPLN_Rec_Type;
161     --
162     TYPE REPLN_Tbl_Type IS TABLE OF REPLN_Rec_Type INDEX BY BINARY_INTEGER;
163 
164     -- bug#12884352
165     TYPE Repair_Type_Rec_Type IS RECORD(
166       repair_line_id            NUMBER := FND_API.G_MISS_NUM,
167       from_repair_type_id       NUMBER := FND_API.G_MISS_NUM,
168       to_repair_type_id         NUMBER := FND_API.G_MISS_NUM,
169       common_flow_status_id     NUMBER := FND_API.G_MISS_NUM,
170       reason_code               VARCHAR2(30) := FND_API.G_MISS_CHAR,
171       object_version_number     NUMBER := FND_API.G_MISS_NUM
172     );
173 
174     --
175     G_MISS_REPLN_TBL REPLN_Tbl_Type;
176     --
177     --   *******************************************************
178     --   API Name:  Create_Repair_Order
179     --   Type    :  Public
180     --   Pre-Req :  None
181     --   Parameters:
182     --   IN
183     --     p_api_version_number      IN   NUMBER     Required
184     --     p_init_msg_list           IN   VARCHAR2   Optional  Default = FND_API.G_FALSE
185     --     p_commit                  IN   VARCHAR2   Optional  Default = FND_API.G_FALSE
186     --     p_validation_level        IN   NUMBER     Optional  Default = FND_API.G_VALID_LEVEL_FULL
187     --     p_repair_line_id          IN   NUMBER     Optional  Default = FND_API.G_MISS_NUM
188     --     P_REPLN_Rec               IN   CSD_REPAIRS_PUB.REPLN_Rec_Type  Required
189     --     p_create_default_logistics IN  VARCHAR2   Optional  Default = N
190     --
191     --   OUT:
192     --     x_return_status           OUT  VARCHAR2
193     --     x_msg_count               OUT  NUMBER
194     --     x_msg_data                OUT  VARCHAR2
195     --     x_repair_line_id          OUT  NUMBER
196     --     x_repair_number           OUT  NUMBER
197     --
198     --   Version : Current Version 1.0
199     --             Initial Version 1.0
200     --
201     --   Notes: This API will create a Repair Order. User can pass REPAIR_LINE_ID.
202     --          If passed, it will be validated
203     --          for uniqueness and if valid, the same ID will be returned.
204     --          User can pass REPAIR_NUMBER also. If passed, it will be validated
205     --          for uniqueness and if valid, the same NUMBER will be returned.
206     --
207     /*#
208     * Creates a new Repair Order for the given Service Request. The Repair Number
209     * is generated if a unique number is not passed. Returns the Repair Number.
210     * @param P_Api_Version_Number api version number
211     * @param P_Init_Msg_List initial the message stack, default to false
212     * @param P_Commit to decide whether to commit the transaction or not, default to false
213     * @param p_validation_level validation level, default to full level
214     * @param p_repair_line_id repair line id is unique id
215     * @param P_REPLN_Rec repiar line record
216     * @param p_create_default_logistics flag to create logistics lines, default to N
217     * @param X_REPAIR_LINE_ID repair line id of the created repair order
218     * @param X_REPAIR_NUMBER repair number of the created repair order which display on Depot UI
219     * @param X_Return_Status return status
220     * @param X_Msg_Count return message count
221     * @param X_Msg_Data return message data
222     * @rep:scope public
223     * @rep:lifecycle active
224     * @rep:displayname Create Repair Order
225     */
226     PROCEDURE Create_Repair_Order(P_Api_Version_Number IN NUMBER,
227                                   P_Init_Msg_List      IN VARCHAR2 := FND_API.G_FALSE,
228                                   P_Commit             IN VARCHAR2 := FND_API.G_FALSE,
229                                   p_validation_level   IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
230                                   p_repair_line_id     IN NUMBER := FND_API.G_MISS_NUM,
231                                   P_REPLN_Rec          IN CSD_REPAIRS_PUB.REPLN_Rec_Type,
232                                   p_create_default_logistics   IN VARCHAR2 := 'N',
233                                   X_REPAIR_LINE_ID     OUT NOCOPY NUMBER,
234                                   X_REPAIR_NUMBER      OUT NOCOPY VARCHAR2,
235                                   X_Return_Status      OUT NOCOPY VARCHAR2,
236                                   X_Msg_Count          OUT NOCOPY NUMBER,
237                                   X_Msg_Data           OUT NOCOPY VARCHAR2);
238     --
239     --   *******************************************************
240     --   API Name:  Update_Repair_Order
241     --   Type    :  Public
242     --   Pre-Req :  None
243     --   Parameters:
244     --   IN
245     --     p_api_version_number      IN   NUMBER     Required
246     --     p_init_msg_list           IN   VARCHAR2   Optional  Default = FND_API.G_FALSE
247     --     p_commit                  IN   VARCHAR2   Optional  Default = FND_API.G_FALSE
248     --     p_validation_level        IN   NUMBER     Optional  Default = FND_API.G_VALID_LEVEL_FULL
249     --     p_repair_line_id          IN   NUMBER     Required
250     --     P_REPLN_Rec               IN   CSD_REPAIRS_PUB.REPLN_Rec_Type  Required
251     --
252     --   OUT:
253     --     x_return_status           OUT  VARCHAR2
254     --     x_msg_count               OUT  NUMBER
255     --     x_msg_data                OUT  VARCHAR2
256     --
257     --   Version : Current Version 1.0
258     --             Initial Version 1.0
259     --
260     PROCEDURE Update_Repair_Order(P_Api_Version_Number IN NUMBER,
261                                   P_Init_Msg_List      IN VARCHAR2 := FND_API.G_FALSE,
262                                   P_Commit             IN VARCHAR2 := FND_API.G_FALSE,
263                                   p_validation_level   IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
264                                   p_repair_line_id     IN NUMBER,
265                                   P_REPLN_Rec          IN OUT NOCOPY CSD_REPAIRS_PUB.REPLN_Rec_Type,
266                                   X_Return_Status      OUT NOCOPY VARCHAR2,
267                                   X_Msg_Count          OUT NOCOPY NUMBER,
268                                   X_Msg_Data           OUT NOCOPY VARCHAR2);
269 
270     -- bug#12884352
271     PROCEDURE Update_Repair_Type (
272       p_api_version           IN    NUMBER,
273       p_commit                IN    VARCHAR2 := fnd_api.g_false,
274       p_init_msg_list         IN    VARCHAR2 := fnd_api.g_false,
275       p_validation_level      IN    NUMBER   := FND_API.G_VALID_LEVEL_FULL,
276       x_return_status         OUT   NOCOPY    VARCHAR2,
280       x_object_version_number OUT   NOCOPY NUMBER
277       x_msg_count             OUT   NOCOPY    NUMBER,
278       x_msg_data              OUT   NOCOPY    VARCHAR2,
279       p_repair_type_rec       IN    CSD_REPAIRS_PUB.Repair_Type_Rec_Type,
281       );
282 
283 
284     -- R12 development changes begin...
285     TYPE REPAIR_STATUS_REC_TYPE IS RECORD(
286         repair_line_id        NUMBER,
287         repair_number         VARCHAR2(30),
288         repair_status         VARCHAR2(30),
289         repair_status_id      NUMBER,
290         from_status_id        NUMBER,
291         from_status           NUMBER,
292         repair_state          VARCHAR2(30),
293         reason_code           VARCHAR2(30),
294         comments              VARCHAR2(2000),
295         object_version_number NUMBER);
296     TYPE STATUS_UPD_CONTROL_REC_TYPE IS RECORD(
297         check_task_wip VARCHAR2(1));
298     --   *******************************************************
299     --   API Name:  update_ro_status
300     --   Type    :  Public
301     --   Pre-Req :  None
302     --   Parameters:
303     --   IN
304     --     p_api_version               IN     NUMBER,
305     --     p_commit                    IN     VARCHAR2,
306     --     p_init_msg_list             IN     VARCHAR2,
307     --     p_validation_level          IN     NUMBER,
308     --     p_repair_line_id            IN     VARCHAR2,
309     --     p_repair_status               IN     VARCHAR2,
310     --     p_reason_code               IN     VARCHAR2,
311     --     p_comments                  IN     VARCHAR2,
312     --     p_check_task_wip             IN     VARCHAR2,
313     --     p_object_version_number     IN     NUMBER
314     --   OUT
315     --     x_return_status
316     --     x_msg_count
317     --     x_msg_data
318     --     x_object_version_number
319     --
320     --   Version : Current version 1.0
321     --             Initial Version 1.0
322     --
323     --   Description : This API updates the repair status to a given value.
324     --                 It checks for the open tasks/wipjobs based on the input
325     --                 flag p_check_task_wip.
326     --
327     --
328     -- ***********************************************************
329     /*#
330     * Updates a repair order status. If the status setup is done so that
331     * it needs a reason, the reason is mandatory.
332     *
333     * @param P_Api_Version api version number
334     * @param P_Commit to decide whether to commit the transaction or not, default to false
335     * @param P_Init_Msg_List initial the message stack, default to false
336     * @param X_Return_Status return status
337     * @param X_Msg_Count return message count
338     * @param X_Msg_Data return message data
339     * @param P_Repair_status_rec repair order status record.
340     * @param P_status_upd_control_rec repair order status update control record.
341     *        Determines how the status record is updated, like any checks to be made etc...
342     * @param X_OBJECT_VERSION_NUMBER updated object version number.
343     * @rep:scope public
344     * @rep:lifecycle active
345     * @rep:displayname Update Repair Order Status
346     */
347     PROCEDURE UPDATE_RO_STATUS(p_api_version            IN NUMBER,
348                                p_commit                 IN VARCHAR2,
349                                p_init_msg_list          IN VARCHAR2,
350                                x_return_status          OUT NOCOPY VARCHAR2,
351                                x_msg_count              OUT NOCOPY NUMBER,
352                                x_msg_data               OUT NOCOPY VARCHAR2,
353                                p_repair_status_rec      IN REPAIR_STATUS_REC_TYPE,
354                                p_status_upd_control_rec IN STATUS_UPD_CONTROL_REC_TYPE,
355                                x_object_version_number  OUT NOCOPY NUMBER);
356 
357 -- R12 development changes End...
358 
359 End CSD_REPAIRS_PUB;