1 PACKAGE MRP_Flow_Schedule_PUB AUTHID CURRENT_USER AS
2 /* $Header: MRPPWFSS.pls 120.1 2006/03/21 15:43:58 yulin noship $ */
3 /*#
4 * The Flow Schedule APIs are used to create, update, delete, retrieve, lock, schedule and
5 * unlink order lines of flow schedules.
6 * @rep:scope public
7 * @rep:product FLM
8 * @rep:lifecycle active
9 * @rep:displayname Flow Schedule API
10 * @rep:category BUSINESS_ENTITY FLM_FLOW_SCHEDULE
11 */
12
13
14 -- Flow_Schedule record type
15
16 TYPE Flow_Schedule_Rec_Type IS RECORD
17 ( alternate_bom_designator VARCHAR2(10) := FND_API.G_MISS_CHAR
18 , alternate_routing_desig VARCHAR2(10) := FND_API.G_MISS_CHAR
19 , attribute1 VARCHAR2(150) := FND_API.G_MISS_CHAR
20 , attribute10 VARCHAR2(150) := FND_API.G_MISS_CHAR
21 , attribute11 VARCHAR2(150) := FND_API.G_MISS_CHAR
22 , attribute12 VARCHAR2(150) := FND_API.G_MISS_CHAR
23 , attribute13 VARCHAR2(150) := FND_API.G_MISS_CHAR
24 , attribute14 VARCHAR2(150) := FND_API.G_MISS_CHAR
25 , attribute15 VARCHAR2(150) := FND_API.G_MISS_CHAR
26 , attribute2 VARCHAR2(150) := FND_API.G_MISS_CHAR
27 , attribute3 VARCHAR2(150) := FND_API.G_MISS_CHAR
28 , attribute4 VARCHAR2(150) := FND_API.G_MISS_CHAR
29 , attribute5 VARCHAR2(150) := FND_API.G_MISS_CHAR
30 , attribute6 VARCHAR2(150) := FND_API.G_MISS_CHAR
31 , attribute7 VARCHAR2(150) := FND_API.G_MISS_CHAR
32 , attribute8 VARCHAR2(150) := FND_API.G_MISS_CHAR
33 , attribute9 VARCHAR2(150) := FND_API.G_MISS_CHAR
34 , attribute_category VARCHAR2(30) := FND_API.G_MISS_CHAR
35 , bom_revision VARCHAR2(3) := FND_API.G_MISS_CHAR
36 , bom_revision_date DATE := FND_API.G_MISS_DATE
37 , build_sequence NUMBER := FND_API.G_MISS_NUM
38 , class_code VARCHAR2(10) := FND_API.G_MISS_CHAR
39 , completion_locator_id NUMBER := FND_API.G_MISS_NUM
40 , completion_subinventory VARCHAR2(10) := FND_API.G_MISS_CHAR
41 , created_by NUMBER := FND_API.G_MISS_NUM
42 , creation_date DATE := FND_API.G_MISS_DATE
43 , date_closed DATE := FND_API.G_MISS_DATE
44 , demand_class VARCHAR2(30) := FND_API.G_MISS_CHAR
45 , demand_source_delivery VARCHAR2(30) := FND_API.G_MISS_CHAR
46 , demand_source_header_id NUMBER := FND_API.G_MISS_NUM
47 , demand_source_line VARCHAR2(30) := FND_API.G_MISS_CHAR
48 , demand_source_type NUMBER := FND_API.G_MISS_NUM
49 , last_updated_by NUMBER := FND_API.G_MISS_NUM
50 , last_update_date DATE := FND_API.G_MISS_DATE
51 , last_update_login NUMBER := FND_API.G_MISS_NUM
52 , line_id NUMBER := FND_API.G_MISS_NUM
53 , material_account NUMBER := FND_API.G_MISS_NUM
54 , material_overhead_account NUMBER := FND_API.G_MISS_NUM
55 , material_variance_account NUMBER := FND_API.G_MISS_NUM
56 , mps_net_quantity NUMBER := FND_API.G_MISS_NUM
57 , mps_scheduled_comp_date DATE := FND_API.G_MISS_DATE
58 , organization_id NUMBER := FND_API.G_MISS_NUM
59 , outside_processing_acct NUMBER := FND_API.G_MISS_NUM
60 , outside_proc_var_acct NUMBER := FND_API.G_MISS_NUM
61 , overhead_account NUMBER := FND_API.G_MISS_NUM
62 , overhead_variance_account NUMBER := FND_API.G_MISS_NUM
63 , planned_quantity NUMBER := FND_API.G_MISS_NUM
64 , primary_item_id NUMBER := FND_API.G_MISS_NUM
65 , program_application_id NUMBER := FND_API.G_MISS_NUM
66 , program_id NUMBER := FND_API.G_MISS_NUM
67 , program_update_date DATE := FND_API.G_MISS_DATE
68 , project_id NUMBER := FND_API.G_MISS_NUM
69 , quantity_completed NUMBER := FND_API.G_MISS_NUM
70 , request_id NUMBER := FND_API.G_MISS_NUM
71 , resource_account NUMBER := FND_API.G_MISS_NUM
72 , resource_variance_account NUMBER := FND_API.G_MISS_NUM
73 , routing_revision VARCHAR2(3) := FND_API.G_MISS_CHAR
74 , routing_revision_date DATE := FND_API.G_MISS_DATE
75 , scheduled_completion_date DATE := FND_API.G_MISS_DATE
76 , scheduled_flag NUMBER := FND_API.G_MISS_NUM
77 , scheduled_start_date DATE := FND_API.G_MISS_DATE
78 , schedule_group_id NUMBER := FND_API.G_MISS_NUM
79 , schedule_number VARCHAR2(30) := FND_API.G_MISS_CHAR
80 , status NUMBER := FND_API.G_MISS_NUM
81 , std_cost_adjustment_acct NUMBER := FND_API.G_MISS_NUM
82 , task_id NUMBER := FND_API.G_MISS_NUM
83 , wip_entity_id NUMBER := FND_API.G_MISS_NUM
84 , scheduled_by NUMBER := FND_API.G_MISS_NUM
85 , return_status VARCHAR2(1) := FND_API.G_MISS_CHAR
86 , db_flag VARCHAR2(1) := FND_API.G_MISS_CHAR
87 , operation VARCHAR2(30) := FND_API.G_MISS_CHAR
88 , end_item_unit_number VARCHAR2(30) := FND_API.G_MISS_CHAR
89 , quantity_scrapped NUMBER := FND_API.G_MISS_NUM
90 , kanban_card_id NUMBER := FND_API.G_MISS_NUM
91 , synch_schedule_num VARCHAR2(30) := FND_API.G_MISS_CHAR
92 , synch_operation_seq_num NUMBER := FND_API.G_MISS_NUM
93 , roll_forwarded_flag NUMBER
94 , current_line_operation NUMBER
95 );
96
97 TYPE Flow_Schedule_Tbl_Type IS TABLE OF Flow_Schedule_Rec_Type
98 INDEX BY BINARY_INTEGER;
99
100 -- Flow_Schedule value record type
101
102 TYPE Flow_Schedule_Val_Rec_Type IS RECORD
103 ( completion_locator VARCHAR2(240) := FND_API.G_MISS_CHAR
104 , line VARCHAR2(240) := FND_API.G_MISS_CHAR
105 , organization VARCHAR2(240) := FND_API.G_MISS_CHAR
106 , primary_item VARCHAR2(240) := FND_API.G_MISS_CHAR
107 , project VARCHAR2(240) := FND_API.G_MISS_CHAR
108 , schedule_group VARCHAR2(240) := FND_API.G_MISS_CHAR
109 , task VARCHAR2(240) := FND_API.G_MISS_CHAR
110 , wip_entity VARCHAR2(240) := FND_API.G_MISS_CHAR
111 );
112
113 TYPE Flow_Schedule_Val_Tbl_Type IS TABLE OF Flow_Schedule_Val_Rec_Type
114 INDEX BY BINARY_INTEGER;
115
116 -- Variables representing missing records and tables
117
118 G_MISS_FLOW_SCHEDULE_REC Flow_Schedule_Rec_Type;
119 G_MISS_FLOW_SCHEDULE_VAL_REC Flow_Schedule_Val_Rec_Type;
120 G_MISS_FLOW_SCHEDULE_TBL Flow_Schedule_Tbl_Type;
121 G_MISS_FLOW_SCHEDULE_VAL_TBL Flow_Schedule_Val_Tbl_Type;
122
123 -- Start of Comments
124 -- API name Process_Flow_Schedule
125 -- Type Public
126 -- Function
127 --
128 -- Pre-reqs
129 --
130 -- Parameters
131 --
132 -- Version Current version = 1.0
133 -- Initial version = 1.0
134 --
135 -- Notes
136 --
137 -- End of Comments
138
139 /*
140 Enhancement : 2665434
141 Description : Called a conversion function to convert from old record type
142 (MRP_FLow_Schedule_PUB.Flow_Schedule_Rec_Type) to new record type
143 (MRP_FLow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type) for IN variables and a
144 conversion function to convert from new record type to new record type
145 .Also added local variables to make it compatible with the call to
146 (MRP_FLow_Schedule_PVT package procedures).Removed call to BOM code from this
147 procedure.It has been shifted to PVT API.
148 */
149 /*#
150 * The Process_Flow_Schedule API is used to create, update and delete a flow schedule.
151 * @param p_api_version_number API version number
152 * @paraminfo {@rep:required}
153 * @param p_init_msg_list Pass fnd_api.g_false or fnd_api.g_true to determin whether to clear message stack or not
154 * @param p_return_values Return values
155 * @param p_commit Pass fnd_api.g_false or fnd_api.g_true to determin whether to commit or not
156 * @param x_return_status Return status
157 * @param x_msg_count Number of messages
158 * @param x_msg_data Message data
159 * @param p_flow_schedule_rec Input flow schedule record of type MRP_FLOW_SCHEDULE_PUB. FLOW_SCHEDULE_REC_TYPE. Default value: G_MISS_FLOW_SCHEDULE_VAL_REC
160 * @param p_flow_schedule_val_rec Input flow schedule value record of type MRP_FLOW_SCHEDULE_PUB.FLOW_SCHEDULE_VAL_REC_TYPE. Default value: G_MISS_FLOW_SCHEDULE_VAL_REC
161 * @param x_flow_schedule_rec Output flow schedule record of type MRP_FLOW_SCHEDULE_PUB. FLOW_SCHEDULE_REC_TYPE
162 * @param x_flow_schedule_val_rec Output flow schedule value record of type MRP_FLOW_SCHEDULE_PUB.FLOW_SCHEDULE_VAL_REC_TYPE
163 * @param p_explode_bom Whether to expode BOM
164 * @rep:scope public
165 * @rep:lifecycle active
166 * @rep:displayname Process Flow Schedule
167 */
168 PROCEDURE Process_Flow_Schedule
169 ( p_api_version_number IN NUMBER
170 , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
171 , p_return_values IN VARCHAR2 := FND_API.G_FALSE
172 , p_commit IN VARCHAR2 := FND_API.G_FALSE
173 , x_return_status OUT NOCOPY VARCHAR2
174 , x_msg_count OUT NOCOPY NUMBER
175 , x_msg_data OUT NOCOPY VARCHAR2
176 , p_flow_schedule_rec IN Flow_Schedule_Rec_Type :=
177 G_MISS_FLOW_SCHEDULE_REC
178 , p_flow_schedule_val_rec IN Flow_Schedule_Val_Rec_Type :=
179 G_MISS_FLOW_SCHEDULE_VAL_REC
180 , x_flow_schedule_rec OUT NOCOPY Flow_Schedule_Rec_Type
181 , x_flow_schedule_val_rec OUT NOCOPY Flow_Schedule_Val_Rec_Type
182 , p_explode_bom IN VARCHAR2 := 'N'
183 );
184
185 -- Start of Comments
186 -- API name Lock_Flow_Schedule
187 -- Type Public
188 -- Function
189 --
190 -- Pre-reqs
191 --
192 -- Parameters
193 --
194 -- Version Current version = 1.0
195 -- Initial version = 1.0
196 --
197 -- Notes
198 --
199 -- End of Comments
200 /*
201 Enhancement : 2665434
202 Description : Called a conversion function to convert from old record type
203 (MRP_FLow_Schedule_PUB.Flow_Schedule_Rec_Type) to new record type
204 (MRP_FLow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type) for IN variables and a
205 conversion function to convert from new record type to new record type
206 .Also added local variables to make it compatible with the call to
207 (MRP_FLow_Schedule_PVT package procedures).Removed call to BOM code from this
208 procedure.It has been shifted to PVT API.
209 */
210
211 PROCEDURE Lock_Flow_Schedule
212 ( p_api_version_number IN NUMBER
213 , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
214 , p_return_values IN VARCHAR2 := FND_API.G_FALSE
215 , x_return_status OUT NOCOPY VARCHAR2
216 , x_msg_count OUT NOCOPY NUMBER
217 , x_msg_data OUT NOCOPY VARCHAR2
218 , p_flow_schedule_rec IN Flow_Schedule_Rec_Type :=
219 G_MISS_FLOW_SCHEDULE_REC
220 , p_flow_schedule_val_rec IN Flow_Schedule_Val_Rec_Type :=
221 G_MISS_FLOW_SCHEDULE_VAL_REC
222 , x_flow_schedule_rec OUT NOCOPY Flow_Schedule_Rec_Type
223 , x_flow_schedule_val_rec OUT NOCOPY Flow_Schedule_Val_Rec_Type
224 );
225
226 -- Start of Comments
227 -- API name Get_Flow_Schedule
228 -- Type Public
229 -- Function
230 --
231 -- Pre-reqs
232 --
233 -- Parameters
234 --
235 -- Version Current version = 1.0
236 -- Initial version = 1.0
237 --
238 -- Notes
239 --
240 -- End of Comments
241 /*
242 Enhancement : 2665434
243 Description : Called a conversion function to convert from new record type
244 (MRP_FLow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type) to old record type
245 (MRP_FLow_Schedule_PUB.Flow_Schedule_Rec_Type) for OUT variable
246 */
247 /*#
248 * The Get_Flow_Schedule API is to get the information for the a flow schedule.
249 * @param p_api_version_number API version number
250 * @paraminfo {@rep:required}
251 * @param p_init_msg_list Pass fnd_api.g_false or fnd_api.g_true to determin whether to clear message stack or not
252 * @param p_return_values Return values
253 * @param x_return_status Return status
254 * @param x_msg_count Number of messages
255 * @param x_msg_data Message data
256 * @param p_wip_entity_id The wip entity identifier associated with the flow schedule
257 * @param p_wip_entity The name of the flow schedule
258 * @param x_flow_schedule_rec Output flow schedule record of type MRP_FLOW_SCHEDULE_PUB. FLOW_SCHEDULE_REC_TYPE
259 * @param x_flow_schedule_val_rec Output flow schedule value record of type MRP_FLOW_SCHEDULE_PUB.FLOW_SCHEDULE_VAL_REC_TYPE
260 * @rep:scope public
261 * @rep:lifecycle active
262 * @rep:displayname Get Flow Schedule
263 */
264 PROCEDURE Get_Flow_Schedule
265 ( p_api_version_number IN NUMBER
266 , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
267 , p_return_values IN VARCHAR2 := FND_API.G_FALSE
268 , x_return_status OUT NOCOPY VARCHAR2
269 , x_msg_count OUT NOCOPY NUMBER
270 , x_msg_data OUT NOCOPY VARCHAR2
271 , p_wip_entity_id IN NUMBER :=
272 FND_API.G_MISS_NUM
273 , p_wip_entity IN VARCHAR2 :=
274 FND_API.G_MISS_CHAR
278
275 , x_flow_schedule_rec OUT NOCOPY Flow_Schedule_Rec_Type
276 , x_flow_schedule_val_rec OUT NOCOPY Flow_Schedule_Val_Rec_Type
277 );
279 -- Start of Comments
280 -- API name Line_Schedule
281 -- Type Public
282 -- Function
283 --
284 -- Pre-reqs
285 --
286 -- Parameters
287 --
288 -- Version Current version = 1.0
289 -- Initial version = 1.0
290 --
291 -- Notes
292 --
293 -- End of Comments
294 /*#
295 * The Line_Schedule API will reschedule the flow schedules in the given line,
296 * organization, and completion date range using the scheduling rule. This API only
297 * schedules the flow schedules created in the same session as the creation of the
298 * original flow schedule, which is created by PROCESS_FLOW_SCHEDULE API.
299 * @param p_api_version_number API version number
300 * @paraminfo {@rep:required}
301 * @param x_return_status Return status
302 * @param x_msg_count Number of messages
303 * @param x_msg_data Message data
304 * @param p_rule_id The scheduling rule identifier
305 * @paraminfo {@rep:required}
306 * @param p_line_id The production line identifier
307 * @paraminfo {@rep:required}
308 * @param p_org_id The organization identifier
309 * @paraminfo {@rep:required}
310 * @param p_sched_start_date The start date of the flow schedules to be scheduled
311 * @paraminfo {@rep:required}
312 * @param p_sched_end_date The end date of the flow schedules to be scheduled
313 * @paraminfo {@rep:required}
314 * @param p_update To update the database
315 * @paraminfo {@rep:required}
316 * @rep:scope public
317 * @rep:lifecycle active
318 * @rep:displayname Line Schedule
319 */
320 PROCEDURE Line_Schedule
321 ( p_api_version_number IN NUMBER
322 , x_return_status OUT NOCOPY VARCHAR2
323 , x_msg_count OUT NOCOPY NUMBER
324 , x_msg_data OUT NOCOPY VARCHAR2
325 , p_rule_id IN NUMBER
326 , p_line_id IN NUMBER
327 , p_org_id IN NUMBER
328 , p_sched_start_date IN DATE
329 , p_sched_end_date IN DATE
330 , p_update IN NUMBER
331 );
332
333 -- Start of Comments
334 -- API name get_first_unit_completion_date
335 -- Type Public
336 -- Function
337 --
338 -- Pre-reqs
339 --
340 -- Parameters
341 --
342 -- Version Current version = 1.0
343 -- Initial version = 1.0
344 --
345 -- Notes
346 --
347 -- End of Comments
348
349 FUNCTION get_first_unit_completion_date
350 ( p_api_version_number IN NUMBER
351 , x_return_status OUT NOCOPY VARCHAR2
352 , x_msg_count OUT NOCOPY NUMBER
353 , x_msg_data OUT NOCOPY VARCHAR2
354 , p_org_id IN NUMBER
355 , p_item_id IN NUMBER
356 , p_qty IN NUMBER
357 , p_line_id IN NUMBER
358 , p_start_date IN DATE
359 ) RETURN DATE;
360
361 -- Start of Comments
362 -- API name get_operation_offset_date
363 -- Type Public
364 -- Function
365 --
366 -- Pre-reqs
367 --
368 -- Parameters
369 --
370 -- Version Current version = 1.0
371 -- Initial version = 1.0
372 --
373 -- Notes
374 --
375 -- End of Comments
376
377 FUNCTION get_operation_offset_date
378 (p_api_version_number IN NUMBER,
379 x_return_status OUT NOCOPY VARCHAR2,
380 x_msg_count OUT NOCOPY NUMBER,
381 x_msg_data OUT NOCOPY VARCHAR2,
382 p_org_id IN NUMBER,
383 p_assembly_item_id IN NUMBER,
384 p_routing_sequence_id IN NUMBER,
385 p_operation_sequence_id IN NUMBER,
386 p_assembly_qty IN NUMBER,
387 p_assembly_comp_date IN DATE,
388 p_calculate_option IN NUMBER
389 ) return DATE;
390
391
392 -- Start of Comments
393 -- API name unlink_order_line
394 -- Type Public
395 -- Procedure
396 --
397 -- Pre-reqs
398 --
399 -- Parameters
400 --
401 -- Version Current version = 1.0
402 -- Initial version = 1.0
403 --
404 -- Notes
405 -- This API is used to remove sales order reference in
406 -- flow schedules. The following is one of the scenario :
407 -- Flow schedules created from sales order line
408 -- Sales order line got canceled or become unavailalbe
409 -- Flow schedules now referenced to dangling sale order line
410 --
411 -- End of Comments
412 /*#
413 * The Unlink_Order_Line API will remove a given sales order reference from all
414 * flow schedules that make reference to the given sales order.
415 * @param p_api_version_number API version number
416 * @paraminfo {@rep:required}
417 * @param x_return_status Return status
418 * @param x_msg_count Number of messages
419 * @param x_msg_data Message data
420 * @param p_assembly_item_id The assembly identifier
421 * @paraminfo {@rep:required}
422 * @param p_line_id Sales order Line identifier
423 * @paraminfo {@rep:required}
424 * @rep:scope public
425 * @rep:lifecycle active
426 * @rep:displayname Unlink Order Line
427 */
428 procedure unlink_order_line
429 (
430 p_api_version_number IN NUMBER,
431 x_return_status OUT NOCOPY VARCHAR2,
432 x_msg_count OUT NOCOPY NUMBER,
433 x_msg_data OUT NOCOPY VARCHAR2,
434 p_assembly_item_id IN NUMBER,
435 p_line_id IN NUMBER
436 );
437
438
439 END MRP_Flow_Schedule_PUB;