DBA Data[Home] [Help]

PACKAGE: APPS.MRP_FLOW_SCHEDULE_PUB

Source


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;