DBA Data[Home] [Help]

PACKAGE BODY: APPS.MRP_FLOW_SCHEDULE_PVT

Source


1 PACKAGE BODY MRP_Flow_Schedule_PVT AS
2 /* $Header: MRPVWFSB.pls 115.6 2003/02/13 23:56:58 yulin ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'MRP_Flow_Schedule_PVT';
7 
8 PROCEDURE  PUB_Flow_Sched_Val_Rec_To_PVT (
9 	p_flow_schedule_Val_rec IN MRP_Flow_Schedule_PUB.Flow_Schedule_Val_Rec_Type  ,
10 	x_Flow_Schedule_Val_Pvt_Rec OUT NOCOPY Flow_Schedule_Val_Pvt_Rec_Type)
11 IS
12 BEGIN
13 
14 	IF (   p_flow_schedule_Val_rec.Completion_locator   = FND_API.G_MISS_CHAR ) THEN
15 		x_Flow_Schedule_Val_Pvt_Rec.completion_locator   := NULL;
16 	ELSE
17 		x_Flow_Schedule_Val_Pvt_Rec.completion_locator   := nvl(p_flow_schedule_Val_rec.Completion_locator,FND_API.G_MISS_CHAR ) ;
18 	END IF;
19 
20 	IF (  p_flow_schedule_Val_rec.line   = FND_API.G_MISS_CHAR ) THEN
21 		x_Flow_Schedule_Val_Pvt_Rec.line :=  NULL;
22 	ELSE
23 		x_Flow_Schedule_Val_Pvt_Rec.line := nvl(p_flow_schedule_Val_rec.line,FND_API.G_MISS_CHAR ) ;
24 	END IF;
25 
26 	IF (  p_flow_schedule_Val_rec.organization = FND_API.G_MISS_CHAR ) THEN
27 		x_Flow_Schedule_Val_Pvt_Rec.organization :=  NULL;
28 	ELSE
29 		x_Flow_Schedule_Val_Pvt_Rec.organization:= nvl(p_flow_schedule_Val_rec.organization,FND_API.G_MISS_CHAR ) ;
30 	END IF;
31 
32 	IF (  p_flow_schedule_Val_rec.primary_item = FND_API.G_MISS_CHAR ) THEN
33 		x_Flow_Schedule_Val_Pvt_Rec.primary_item :=  NULL;
34 	ELSE
35 		x_Flow_Schedule_Val_Pvt_Rec.primary_item := nvl(p_flow_schedule_Val_rec.primary_item,FND_API.G_MISS_CHAR ) ;
36 	END IF;
37 
38 	IF (  p_flow_schedule_Val_rec.project = FND_API.G_MISS_CHAR ) THEN
39 		x_Flow_Schedule_Val_Pvt_Rec.project :=  NULL;
40 	ELSE
41 		x_Flow_Schedule_Val_Pvt_Rec.project  := nvl(p_flow_schedule_Val_rec.project,FND_API.G_MISS_CHAR )  ;
42 	END IF;
43 
44 	IF (  p_flow_schedule_Val_rec.schedule_group   = FND_API.G_MISS_CHAR ) THEN
45 		x_Flow_Schedule_Val_Pvt_Rec.schedule_group :=  NULL;
46 	ELSE
47 		x_Flow_Schedule_Val_Pvt_Rec.schedule_group := nvl(p_flow_schedule_Val_rec.schedule_group,FND_API.G_MISS_CHAR ) ;
48 	END IF;
49 
50 END;
51 
52 PROCEDURE  PUB_Flow_Sched_Rec_To_PVT (
53 	p_flow_schedule_rec IN MRP_Flow_Schedule_PUB.Flow_Schedule_Rec_Type  ,
54 	x_Flow_Schedule_Pvt_Rec OUT NOCOPY Flow_Schedule_Pvt_Rec_Type)
55 IS
56 BEGIN
57 
58 	IF (   p_flow_schedule_rec.alternate_bom_designator   = FND_API.G_MISS_CHAR ) THEN
59 		x_Flow_Schedule_Pvt_Rec.alternate_bom_designator   := NULL;
60 	ELSE
61 		x_Flow_Schedule_Pvt_Rec.alternate_bom_designator   := nvl(p_flow_schedule_rec.alternate_bom_designator,FND_API.G_MISS_CHAR ) ;
62 	END IF;
63 
64 	IF (   p_flow_schedule_rec.alternate_routing_desig   = FND_API.G_MISS_CHAR ) THEN
65 		x_Flow_Schedule_Pvt_Rec.alternate_routing_desig   := NULL;
66 	ELSE
67 		x_Flow_Schedule_Pvt_Rec.alternate_routing_desig   := nvl(p_flow_schedule_rec.alternate_routing_desig,FND_API.G_MISS_CHAR ) ;
68 	END IF;
69 
70 	IF (   p_flow_schedule_rec.attribute1 = FND_API.G_MISS_CHAR ) THEN
71 		x_Flow_Schedule_Pvt_Rec.attribute1 := NULL;
72 	ELSE
73 		x_Flow_Schedule_Pvt_Rec.attribute1 := nvl(p_flow_schedule_rec.attribute1,FND_API.G_MISS_CHAR )  ;
74 	END IF;
75 
76 	IF (   p_flow_schedule_rec.attribute10 = FND_API.G_MISS_CHAR ) THEN
77 		x_Flow_Schedule_Pvt_Rec.attribute10 := NULL;
78 	ELSE
79 		x_Flow_Schedule_Pvt_Rec.attribute10 := nvl(p_flow_schedule_rec.attribute10,FND_API.G_MISS_CHAR )  ;
80 	END IF;
81 
82 	IF (   p_flow_schedule_rec.attribute11   = FND_API.G_MISS_CHAR ) THEN
83 		x_Flow_Schedule_Pvt_Rec.attribute11   := NULL;
84 	ELSE
85 		x_Flow_Schedule_Pvt_Rec.attribute11   := nvl(p_flow_schedule_rec.attribute11,FND_API.G_MISS_CHAR )    ;
86 	END IF;
87 
88 	IF (   p_flow_schedule_rec.attribute12   = FND_API.G_MISS_CHAR ) THEN
89 		x_Flow_Schedule_Pvt_Rec.attribute12   := NULL;
90 	ELSE
91 		x_Flow_Schedule_Pvt_Rec.attribute12   := nvl(p_flow_schedule_rec.attribute12,FND_API.G_MISS_CHAR )    ;
92 	END IF;
93 
94 	IF (   p_flow_schedule_rec.attribute13  = FND_API.G_MISS_CHAR ) THEN
95 		x_Flow_Schedule_Pvt_Rec.attribute13  := NULL;
96 	ELSE
97 		x_Flow_Schedule_Pvt_Rec.attribute13   := nvl(p_flow_schedule_rec.attribute13,FND_API.G_MISS_CHAR )   ;
98 	END IF;
99 
100 	IF (   p_flow_schedule_rec.attribute14              = FND_API.G_MISS_CHAR ) THEN
101 		x_Flow_Schedule_Pvt_Rec.attribute14  := NULL;
102 	ELSE
103 		x_Flow_Schedule_Pvt_Rec.attribute14  := nvl(p_flow_schedule_rec.attribute14,FND_API.G_MISS_CHAR )   ;
104 	END IF;
105 
106 	IF (   p_flow_schedule_rec.attribute15  = FND_API.G_MISS_CHAR ) THEN
107 		x_Flow_Schedule_Pvt_Rec.attribute15  := NULL;
108 	ELSE
109 		x_Flow_Schedule_Pvt_Rec.attribute15  := nvl(p_flow_schedule_rec.attribute15,FND_API.G_MISS_CHAR )   ;
110 	END IF;
111 
112 	IF (   p_flow_schedule_rec.attribute2   = FND_API.G_MISS_CHAR ) THEN
113 		x_Flow_Schedule_Pvt_Rec.attribute2   := NULL;
114 	ELSE
115 		x_Flow_Schedule_Pvt_Rec.attribute2   := nvl(p_flow_schedule_rec.attribute2,FND_API.G_MISS_CHAR )    ;
116 	END IF;
117 
118 	IF (   p_flow_schedule_rec.attribute3   = FND_API.G_MISS_CHAR ) THEN
119 		x_Flow_Schedule_Pvt_Rec.attribute3   := NULL;
120 	ELSE
121 		x_Flow_Schedule_Pvt_Rec.attribute3   := nvl(p_flow_schedule_rec.attribute3,FND_API.G_MISS_CHAR )    ;
122 	END IF;
123 
124 	IF (   p_flow_schedule_rec.attribute4   = FND_API.G_MISS_CHAR ) THEN
125 		x_Flow_Schedule_Pvt_Rec.attribute4   := NULL;
126 	ELSE
127 		x_Flow_Schedule_Pvt_Rec.attribute4   := nvl(p_flow_schedule_rec.attribute4 ,FND_API.G_MISS_CHAR )   ;
128 	END IF;
129 
130 	IF (   p_flow_schedule_rec.attribute5   = FND_API.G_MISS_CHAR ) THEN
131 		x_Flow_Schedule_Pvt_Rec.attribute5   := NULL;
132 	ELSE
133 		x_Flow_Schedule_Pvt_Rec.attribute5   := nvl(p_flow_schedule_rec.attribute5 ,FND_API.G_MISS_CHAR )   ;
134 	END IF;
135 
136 	IF (   p_flow_schedule_rec.attribute6   = FND_API.G_MISS_CHAR ) THEN
137 		x_Flow_Schedule_Pvt_Rec.attribute6   := NULL;
138 	ELSE
139 		x_Flow_Schedule_Pvt_Rec.attribute6   := nvl(p_flow_schedule_rec.attribute6 ,FND_API.G_MISS_CHAR )   ;
140 	END IF;
141 
142 	IF (   p_flow_schedule_rec.attribute7   = FND_API.G_MISS_CHAR ) THEN
143 		x_Flow_Schedule_Pvt_Rec.attribute7   := NULL;
144 	ELSE
145 		x_Flow_Schedule_Pvt_Rec.attribute7   := nvl(p_flow_schedule_rec.attribute7 ,FND_API.G_MISS_CHAR )   ;
146 	END IF;
147 
148 	IF (   p_flow_schedule_rec.attribute8   = FND_API.G_MISS_CHAR ) THEN
149 		x_Flow_Schedule_Pvt_Rec.attribute8   := NULL;
150 	ELSE
151 		x_Flow_Schedule_Pvt_Rec.attribute8   := nvl(p_flow_schedule_rec.attribute8 ,FND_API.G_MISS_CHAR )   ;
152 	END IF;
153 
154 	IF (   p_flow_schedule_rec.attribute9   = FND_API.G_MISS_CHAR ) THEN
155 		x_Flow_Schedule_Pvt_Rec.attribute9   := NULL;
156 	ELSE
157 		x_Flow_Schedule_Pvt_Rec.attribute9   := nvl(p_flow_schedule_rec.attribute9 ,FND_API.G_MISS_CHAR )   ;
158 	END IF;
159 
160 	IF (   p_flow_schedule_rec.attribute_category   = FND_API.G_MISS_CHAR ) THEN
161 		x_Flow_Schedule_Pvt_Rec.attribute_category   := NULL;
162 	ELSE
163 		x_Flow_Schedule_Pvt_Rec.attribute_category   := nvl(p_flow_schedule_rec.attribute_category ,FND_API.G_MISS_CHAR )  ;
164 	END IF;
165 
166 	IF (   p_flow_schedule_rec.bom_revision         = FND_API.G_MISS_CHAR ) THEN
167 		x_Flow_Schedule_Pvt_Rec.bom_revision         := NULL;
168 	ELSE
169 		x_Flow_Schedule_Pvt_Rec.bom_revision         := nvl(p_flow_schedule_rec.bom_revision ,FND_API.G_MISS_CHAR )        ;
170 	END IF;
171 
172 	IF (   p_flow_schedule_rec.bom_revision_date    = FND_API.G_MISS_DATE ) THEN
173 		x_Flow_Schedule_Pvt_Rec.bom_revision_date    := NULL;
174 	ELSE
175 		x_Flow_Schedule_Pvt_Rec.bom_revision_date    := nvl(p_flow_schedule_rec.bom_revision_date,FND_API.G_MISS_DATE )    ;
176 	END IF;
177 
178 	IF (   p_flow_schedule_rec.build_sequence      = FND_API.G_MISS_NUM ) THEN
179 		x_Flow_Schedule_Pvt_Rec.build_sequence      := NULL;
180 	ELSE
181 		x_Flow_Schedule_Pvt_Rec.build_sequence      := NVL(p_flow_schedule_rec.build_sequence , FND_API.G_MISS_NUM );
182 	END IF;
183 
184 	IF (   p_flow_schedule_rec.class_code = FND_API.G_MISS_CHAR ) THEN
185 		x_Flow_Schedule_Pvt_Rec.class_code := NULL;
186 	ELSE
187 		x_Flow_Schedule_Pvt_Rec.class_code := nvl(p_flow_schedule_rec.class_code,FND_API.G_MISS_CHAR) ;
188 	END IF;
189 
190 	IF (   p_flow_schedule_rec.completion_locator_id    = FND_API.G_MISS_NUM ) THEN
191 		x_Flow_Schedule_Pvt_Rec.completion_locator_id    := NULL;
192 	ELSE
193 		x_Flow_Schedule_Pvt_Rec.completion_locator_id    := nvl(p_flow_schedule_rec.completion_locator_id,FND_API.G_MISS_NUM)    ;
194 	END IF;
195 
196 	IF (   p_flow_schedule_rec.completion_subinventory  = FND_API.G_MISS_CHAR ) THEN
197 		x_Flow_Schedule_Pvt_Rec.completion_subinventory  := NULL;
198 	ELSE
199 		x_Flow_Schedule_Pvt_Rec.completion_subinventory    := nvl(p_flow_schedule_rec.completion_subinventory,FND_API.G_MISS_CHAR)  ;
200 	END IF;
201 
202 	IF (   p_flow_schedule_rec.created_by      = FND_API.G_MISS_NUM ) THEN
203 		x_Flow_Schedule_Pvt_Rec.created_by      := NULL;
204 	ELSE
205 		x_Flow_Schedule_Pvt_Rec.created_by      := nvl(p_flow_schedule_rec.created_by,FND_API.G_MISS_NUM );
206 	END IF;
207 
208 	IF (   p_flow_schedule_rec.creation_date   = FND_API.G_MISS_DATE ) THEN
209 		x_Flow_Schedule_Pvt_Rec.creation_date   := NULL;
210 	ELSE
211 		x_Flow_Schedule_Pvt_Rec.creation_date   := nvl(p_flow_schedule_rec.creation_date,FND_API.G_MISS_DATE )   ;
212 	END IF;
213 
214 	IF (   p_flow_schedule_rec.date_closed     = FND_API.G_MISS_DATE ) THEN
215 		x_Flow_Schedule_Pvt_Rec.date_closed     := NULL;
216 	ELSE
217 		x_Flow_Schedule_Pvt_Rec.date_closed     := nvl(p_flow_schedule_rec.date_closed,FND_API.G_MISS_DATE)    ;
218 	END IF;
219 
220 	IF (   p_flow_schedule_rec.demand_class    = FND_API.G_MISS_CHAR ) THEN
221 		x_Flow_Schedule_Pvt_Rec.demand_class    := NULL;
222 	ELSE
223 		x_Flow_Schedule_Pvt_Rec.demand_class    := nvl(p_flow_schedule_rec.demand_class ,FND_API.G_MISS_CHAR )   ;
224 	END IF;
225 
226 	IF (   p_flow_schedule_rec.demand_source_delivery   = FND_API.G_MISS_CHAR ) THEN
227 		x_Flow_Schedule_Pvt_Rec.demand_source_delivery   := NULL;
228 	ELSE
229 		x_Flow_Schedule_Pvt_Rec.demand_source_delivery   := nvl(p_flow_schedule_rec.demand_source_delivery ,FND_API.G_MISS_CHAR)  ;
230 	END IF;
231 
232 	IF (   p_flow_schedule_rec.demand_source_header_id  = FND_API.G_MISS_NUM ) THEN
233 		x_Flow_Schedule_Pvt_Rec.demand_source_header_id  := NULL;
234 	ELSE
235 		x_Flow_Schedule_Pvt_Rec.demand_source_header_id  := nvl(p_flow_schedule_rec.demand_source_header_id ,FND_API.G_MISS_NUM ) ;
236 	END IF;
237 
238 	IF (   p_flow_schedule_rec.demand_source_line   = FND_API.G_MISS_CHAR ) THEN
239 		x_Flow_Schedule_Pvt_Rec.demand_source_line   := NULL;
240 	ELSE
241 		x_Flow_Schedule_Pvt_Rec.demand_source_line   := nvl(p_flow_schedule_rec.demand_source_line,FND_API.G_MISS_CHAR )    ;
242 	END IF;
243 
244 	IF (   p_flow_schedule_rec.demand_source_type   = FND_API.G_MISS_NUM ) THEN
245 		x_Flow_Schedule_Pvt_Rec.demand_source_type   := NULL;
246 	ELSE
247 		x_Flow_Schedule_Pvt_Rec.demand_source_type   := nvl(p_flow_schedule_rec.demand_source_type,FND_API.G_MISS_NUM )  ;
248 	END IF;
249 
250 	IF (   p_flow_schedule_rec.last_updated_by    = FND_API.G_MISS_NUM) THEN
251 		x_Flow_Schedule_Pvt_Rec.last_updated_by      := NULL;
252 	ELSE
253 		x_Flow_Schedule_Pvt_Rec.last_updated_by    := nvl(p_flow_schedule_rec.last_updated_by,FND_API.G_MISS_NUM)    ;
254 	END IF;
255 
256 	IF (   p_flow_schedule_rec.last_update_date    = FND_API.G_MISS_DATE ) THEN
257 		x_Flow_Schedule_Pvt_Rec.last_update_date     := NULL;
258 	ELSE
259 		x_Flow_Schedule_Pvt_Rec.last_update_date   := nvl(p_flow_schedule_rec.last_update_date,FND_API.G_MISS_DATE)   ;
260 	END IF;
261 
262 	IF (   p_flow_schedule_rec.last_update_login  = FND_API.G_MISS_NUM ) THEN
263 		x_Flow_Schedule_Pvt_Rec.last_update_login    := NULL;
264 	ELSE
265 		x_Flow_Schedule_Pvt_Rec.last_update_login  := nvl(p_flow_schedule_rec.last_update_login,FND_API.G_MISS_NUM)  ;
266 	END IF;
267 
268 	IF (   p_flow_schedule_rec.line_id    = FND_API.G_MISS_NUM ) THEN
269 		x_Flow_Schedule_Pvt_Rec.line_id    := NULL;
270 	ELSE
271 		x_Flow_Schedule_Pvt_Rec.line_id    := nvl(p_flow_schedule_rec.line_id ,FND_API.G_MISS_NUM)   ;
272 	END IF;
273 
274 	IF (   p_flow_schedule_rec.material_account   = FND_API.G_MISS_NUM ) THEN
275 		x_Flow_Schedule_Pvt_Rec.material_account    := NULL;
276 	ELSE
277 		x_Flow_Schedule_Pvt_Rec.material_account    := nvl(p_flow_schedule_rec.material_account,FND_API.G_MISS_NUM ) ;
278 	END IF;
279 
280 	IF (   p_flow_schedule_rec.material_overhead_account = FND_API.G_MISS_NUM ) THEN
281 		x_Flow_Schedule_Pvt_Rec.material_overhead_account := NULL;
282 	ELSE
283 		x_Flow_Schedule_Pvt_Rec.material_overhead_account := nvl(p_flow_schedule_rec.material_overhead_account,FND_API.G_MISS_NUM ) ;
284 	END IF;
285 
286 	IF (   p_flow_schedule_rec.material_variance_account = FND_API.G_MISS_NUM  ) THEN
287 		x_Flow_Schedule_Pvt_Rec.material_variance_account := NULL;
288 	ELSE
289 		x_Flow_Schedule_Pvt_Rec.material_variance_account := nvl(p_flow_schedule_rec.material_variance_account ,FND_API.G_MISS_NUM ) ;
290 	END IF;
291 
292 	IF (   p_flow_schedule_rec.mps_net_quantity   = FND_API.G_MISS_NUM ) THEN
293 		x_Flow_Schedule_Pvt_Rec.mps_net_quantity     := NULL;
294 	ELSE
295 		x_Flow_Schedule_Pvt_Rec.mps_net_quantity   := nvl(p_flow_schedule_rec.mps_net_quantity,FND_API.G_MISS_NUM )    ;
296 	END IF;
297 
298 	IF (   p_flow_schedule_rec.mps_scheduled_comp_date  = FND_API.G_MISS_DATE) THEN
299 		x_Flow_Schedule_Pvt_Rec.mps_scheduled_comp_date  := NULL;
300 	ELSE
301 		x_Flow_Schedule_Pvt_Rec.mps_scheduled_comp_date  := nvl(p_flow_schedule_rec.mps_scheduled_comp_date,FND_API.G_MISS_DATE)  ;
302 	END IF;
303 
304 	IF (   p_flow_schedule_rec.organization_id          = FND_API.G_MISS_NUM ) THEN
305 		x_Flow_Schedule_Pvt_Rec.organization_id          := NULL;
306 	ELSE
307 		x_Flow_Schedule_Pvt_Rec.organization_id          := nvl(p_flow_schedule_rec.organization_id,FND_API.G_MISS_NUM) ;
308 	END IF;
309 
310 	IF (   p_flow_schedule_rec.outside_processing_acct  = FND_API.G_MISS_NUM) THEN
311 		x_Flow_Schedule_Pvt_Rec.outside_processing_acct  := NULL;
312 	ELSE
313 		x_Flow_Schedule_Pvt_Rec.outside_processing_acct  := nvl(p_flow_schedule_rec.outside_processing_acct,FND_API.G_MISS_NUM)  ;
314 	END IF;
315 
316 	IF (   p_flow_schedule_rec.outside_proc_var_acct    = FND_API.G_MISS_NUM ) THEN
317 		x_Flow_Schedule_Pvt_Rec.outside_proc_var_acct    := NULL;
318 	ELSE
319 		x_Flow_Schedule_Pvt_Rec.outside_proc_var_acct    := nvl(p_flow_schedule_rec.outside_proc_var_acct,FND_API.G_MISS_NUM)  ;
320 	END IF;
321 
322 	IF (   p_flow_schedule_rec.overhead_account         = FND_API.G_MISS_NUM  ) THEN
323 		x_Flow_Schedule_Pvt_Rec.overhead_account         := NULL;
324 	ELSE
325 		x_Flow_Schedule_Pvt_Rec.overhead_account         := nvl(p_flow_schedule_rec.overhead_account,FND_API.G_MISS_NUM )  ;
326 	END IF;
327 
328 	IF (   p_flow_schedule_rec.overhead_variance_account= FND_API.G_MISS_NUM ) THEN
329 		x_Flow_Schedule_Pvt_Rec.overhead_variance_account:= NULL;
330 	ELSE
331 		x_Flow_Schedule_Pvt_Rec.overhead_variance_account:= nvl(p_flow_schedule_rec.overhead_variance_account,FND_API.G_MISS_NUM );
332 	END IF;
333 
334 	IF (   p_flow_schedule_rec.planned_quantity   = FND_API.G_MISS_NUM ) THEN
335 		x_Flow_Schedule_Pvt_Rec.planned_quantity     := NULL;
336 	ELSE
337 		x_Flow_Schedule_Pvt_Rec.planned_quantity   := nvl(p_flow_schedule_rec.planned_quantity,FND_API.G_MISS_NUM )   ;
338 	END IF;
339 
340 	IF (   p_flow_schedule_rec.primary_item_id    = FND_API.G_MISS_NUM  ) THEN
341 		x_Flow_Schedule_Pvt_Rec.primary_item_id    := NULL;
342 	ELSE
343 		x_Flow_Schedule_Pvt_Rec.primary_item_id    := nvl(p_flow_schedule_rec.primary_item_id,FND_API.G_MISS_NUM )    ;
344 	END IF;
345 
346 	IF (   p_flow_schedule_rec.program_application_id= FND_API.G_MISS_NUM ) THEN
347 		x_Flow_Schedule_Pvt_Rec.program_application_id:= NULL;
348 	ELSE
349 		x_Flow_Schedule_Pvt_Rec.program_application_id:= nvl(p_flow_schedule_rec.program_application_id,FND_API.G_MISS_NUM );
350 	END IF;
351 
352 	IF (   p_flow_schedule_rec.program_id   = FND_API.G_MISS_NUM ) THEN
353 		x_Flow_Schedule_Pvt_Rec.program_id   := NULL;
354 	ELSE
355 		x_Flow_Schedule_Pvt_Rec.program_id   := nvl(p_flow_schedule_rec.program_id ,FND_API.G_MISS_NUM )   ;
356 	END IF;
357 
358 	IF (   p_flow_schedule_rec.program_update_date  = FND_API.G_MISS_DATE ) THEN
359 		x_Flow_Schedule_Pvt_Rec.program_update_date  := NULL;
360 	ELSE
361 		x_Flow_Schedule_Pvt_Rec.program_update_date  := nvl(p_flow_schedule_rec.program_update_date,FND_API.G_MISS_DATE)  ;
362 	END IF;
363 
364 	IF (   p_flow_schedule_rec.project_id           = FND_API.G_MISS_NUM ) THEN
365 		x_Flow_Schedule_Pvt_Rec.project_id           := NULL;
366 	ELSE
367 		x_Flow_Schedule_Pvt_Rec.project_id           := nvl(p_flow_schedule_rec.project_id,FND_API.G_MISS_NUM) ;
368 	END IF;
369 
370 	IF (   p_flow_schedule_rec.quantity_completed   = FND_API.G_MISS_NUM) THEN
371 		x_Flow_Schedule_Pvt_Rec.quantity_completed    := NULL;
372 	ELSE
373 		x_Flow_Schedule_Pvt_Rec.quantity_completed   := nvl(p_flow_schedule_rec.quantity_completed ,FND_API.G_MISS_NUM)  ;
374 	END IF;
375 
376 	IF (   p_flow_schedule_rec.request_id    = FND_API.G_MISS_NUM) THEN
377 		x_Flow_Schedule_Pvt_Rec.request_id    := NULL;
378 	ELSE
379 		x_Flow_Schedule_Pvt_Rec.request_id    := nvl(p_flow_schedule_rec.request_id ,FND_API.G_MISS_NUM) ;
380 	END IF;
381 
382 	IF (   p_flow_schedule_rec.resource_account  = FND_API.G_MISS_NUM) THEN
383 		x_Flow_Schedule_Pvt_Rec.resource_account  := NULL;
384 	ELSE
385 		x_Flow_Schedule_Pvt_Rec.resource_account  := nvl(p_flow_schedule_rec.resource_account ,FND_API.G_MISS_NUM) ;
386 	END IF;
387 
388 	IF (   p_flow_schedule_rec.resource_variance_account  = FND_API.G_MISS_NUM) THEN
389 		x_Flow_Schedule_Pvt_Rec.resource_variance_account  := NULL;
390 	ELSE
391 		x_Flow_Schedule_Pvt_Rec.resource_variance_account  := nvl(p_flow_schedule_rec.resource_variance_account,FND_API.G_MISS_NUM)  ;
392 	END IF;
393 
394 	IF (   p_flow_schedule_rec.routing_revision     = FND_API.G_MISS_CHAR ) THEN
395 		x_Flow_Schedule_Pvt_Rec.routing_revision     := NULL;
396 	ELSE
397 		x_Flow_Schedule_Pvt_Rec.routing_revision     := nvl(p_flow_schedule_rec.routing_revision ,FND_API.G_MISS_CHAR ) ;
398 	END IF;
399 
400 	IF (   p_flow_schedule_rec.routing_revision_date= FND_API.G_MISS_DATE ) THEN
401 		x_Flow_Schedule_Pvt_Rec.routing_revision_date         := NULL;
402 	ELSE
403 		x_Flow_Schedule_Pvt_Rec.routing_revision_date    := nvl(p_flow_schedule_rec.routing_revision_date ,FND_API.G_MISS_DATE);
404 	END IF;
405 
406 	IF (   p_flow_schedule_rec.scheduled_completion_date = FND_API.G_MISS_DATE ) THEN
407 		x_Flow_Schedule_Pvt_Rec.scheduled_completion_date:= NULL;
408 	ELSE
409 		x_Flow_Schedule_Pvt_Rec.scheduled_completion_date:= nvl(p_flow_schedule_rec.scheduled_completion_date,FND_API.G_MISS_DATE);
410 	END IF;
411 
412 	IF (   p_flow_schedule_rec.scheduled_flag   = FND_API.G_MISS_NUM ) THEN
413 		x_Flow_Schedule_Pvt_Rec.scheduled_flag   := NULL;
414 	ELSE
415 		x_Flow_Schedule_Pvt_Rec.scheduled_flag     := nvl(p_flow_schedule_rec.scheduled_flag,FND_API.G_MISS_NUM );
416 	END IF;
417 
418 	IF (   p_flow_schedule_rec.scheduled_start_date   = FND_API.G_MISS_DATE ) THEN
419 		x_Flow_Schedule_Pvt_Rec.scheduled_start_date   := NULL;
420 	ELSE
421 		x_Flow_Schedule_Pvt_Rec.scheduled_start_date     := nvl(p_flow_schedule_rec.scheduled_start_date,FND_API.G_MISS_DATE) ;
422 	END IF;
423 
424 	IF (   p_flow_schedule_rec.schedule_group_id      = FND_API.G_MISS_NUM ) THEN
425 		x_Flow_Schedule_Pvt_Rec.schedule_group_id      := NULL;
426 	ELSE
427 		x_Flow_Schedule_Pvt_Rec.schedule_group_id      := nvl(p_flow_schedule_rec.schedule_group_id ,FND_API.G_MISS_NUM)     ;
428 	END IF;
429 
430 	IF (   p_flow_schedule_rec.schedule_number  = FND_API.G_MISS_CHAR ) THEN
431 		x_Flow_Schedule_Pvt_Rec.schedule_number  := NULL;
432 	ELSE
433 		x_Flow_Schedule_Pvt_Rec.schedule_number  := nvl(p_flow_schedule_rec.schedule_number  ,FND_API.G_MISS_CHAR );
434 	END IF;
435 
436 
437 	IF (   p_flow_schedule_rec.status   = FND_API.G_MISS_NUM ) THEN
438 		x_Flow_Schedule_Pvt_Rec.status   := NULL;
439 	ELSE
440 		x_Flow_Schedule_Pvt_Rec.status   := nvl(p_flow_schedule_rec.status ,FND_API.G_MISS_NUM)  ;
441 	END IF;
442 
443 	IF (   p_flow_schedule_rec.std_cost_adjustment_acct   = FND_API.G_MISS_NUM) THEN
444 		x_Flow_Schedule_Pvt_Rec.std_cost_adjustment_acct   := NULL;
445 	ELSE
446 		x_Flow_Schedule_Pvt_Rec.std_cost_adjustment_acct   := nvl(p_flow_schedule_rec.std_cost_adjustment_acct ,FND_API.G_MISS_NUM)  ;
447 	END IF;
448 
449 	IF (   p_flow_schedule_rec.task_id    = FND_API.G_MISS_NUM) THEN
450 		x_Flow_Schedule_Pvt_Rec.task_id    := NULL;
451 	ELSE
452 		x_Flow_Schedule_Pvt_Rec.task_id     := nvl(p_flow_schedule_rec.task_id ,FND_API.G_MISS_NUM)   ;
453 	END IF;
454 
455 	IF (   p_flow_schedule_rec.wip_entity_id   = FND_API.G_MISS_NUM) THEN
456 		x_Flow_Schedule_Pvt_Rec.wip_entity_id   := NULL;
457 	ELSE
458 		x_Flow_Schedule_Pvt_Rec.wip_entity_id   := nvl(p_flow_schedule_rec.wip_entity_id ,FND_API.G_MISS_NUM)  ;
459 	END IF;
460 
461 	IF (   p_flow_schedule_rec.scheduled_by    = FND_API.G_MISS_NUM) THEN
462 		x_Flow_Schedule_Pvt_Rec.scheduled_by      := NULL;
463 	ELSE
464 		x_Flow_Schedule_Pvt_Rec.scheduled_by    := nvl(p_flow_schedule_rec.scheduled_by,FND_API.G_MISS_NUM)    ;
465 	END IF;
466 
467 	IF (   p_flow_schedule_rec.return_status   = FND_API.G_MISS_CHAR ) THEN
468 		x_Flow_Schedule_Pvt_Rec.return_status   := NULL;
469 	ELSE
470 		x_Flow_Schedule_Pvt_Rec.return_status   := nvl(p_flow_schedule_rec.return_status ,FND_API.G_MISS_CHAR)  ;
471 	END IF;
472 
473 	IF (   p_flow_schedule_rec.db_flag    = FND_API.G_MISS_CHAR ) THEN
474 		x_Flow_Schedule_Pvt_Rec.db_flag    := NULL;
475 	ELSE
476 		x_Flow_Schedule_Pvt_Rec.db_flag    := nvl(p_flow_schedule_rec.db_flag ,FND_API.G_MISS_CHAR )   ;
477 	END IF;
478 
479 	IF (   p_flow_schedule_rec.operation  = FND_API.G_MISS_CHAR ) THEN
480 		x_Flow_Schedule_Pvt_Rec.operation  := NULL;
481 	ELSE
482 		x_Flow_Schedule_Pvt_Rec.operation  := nvl(p_flow_schedule_rec.operation ,FND_API.G_MISS_CHAR )  ;
483 	END IF;
484 
485 	IF (   p_flow_schedule_rec.end_item_unit_number   = FND_API.G_MISS_CHAR ) THEN
486 		x_Flow_Schedule_Pvt_Rec.end_item_unit_number := NULL;
487 	ELSE
488 		x_Flow_Schedule_Pvt_Rec.end_item_unit_number := nvl(p_flow_schedule_rec.end_item_unit_number,FND_API.G_MISS_CHAR ) ;
489 	END IF;
490 
491 	IF (   p_flow_schedule_rec.quantity_scrapped    = FND_API.G_MISS_NUM ) THEN
492 		x_Flow_Schedule_Pvt_Rec.quantity_scrapped         := NULL;
493 	ELSE
494 		x_Flow_Schedule_Pvt_Rec.quantity_scrapped    := nvl(p_flow_schedule_rec.quantity_scrapped ,FND_API.G_MISS_NUM)   ;
495 	END IF;
496 
497 	IF (   p_flow_schedule_rec.kanban_card_id       = FND_API.G_MISS_NUM) THEN
498 		x_Flow_Schedule_Pvt_Rec.kanban_card_id       := NULL;
499 	ELSE
500 		x_Flow_Schedule_Pvt_Rec.kanban_card_id       := nvl(p_flow_schedule_rec.kanban_card_id ,FND_API.G_MISS_NUM)      ;
501 	END IF;
502 
503 	IF (   p_flow_schedule_rec.synch_schedule_num   = FND_API.G_MISS_CHAR ) THEN
504 		x_Flow_Schedule_Pvt_Rec.synch_schedule_num   := NULL;
505 	ELSE
506 		x_Flow_Schedule_Pvt_Rec.synch_schedule_num   := nvl(p_flow_schedule_rec.synch_schedule_num ,FND_API.G_MISS_CHAR ) ;
507 	END IF;
508 
509 	IF (   p_flow_schedule_rec.synch_operation_seq_num  = FND_API.G_MISS_NUM) THEN
510 		x_Flow_Schedule_Pvt_Rec.synch_operation_seq_num   := NULL;
511 	ELSE
512 		x_Flow_Schedule_Pvt_Rec.synch_operation_seq_num  := nvl(p_flow_schedule_rec.synch_operation_seq_num ,FND_API.G_MISS_NUM) ;
513 	END IF;
514 
515 	IF (   p_flow_schedule_rec.roll_forwarded_flag	= FND_API.G_MISS_NUM ) THEN
516 		x_Flow_Schedule_Pvt_Rec.roll_forwarded_flag	:= NULL;
517 	ELSE
518 		x_Flow_Schedule_Pvt_Rec.roll_forwarded_flag	:= nvl(p_flow_schedule_rec.roll_forwarded_flag,FND_API.G_MISS_NUM);
519 	END IF;
520 
521 	IF (   p_flow_schedule_rec.current_line_operation = FND_API.G_MISS_NUM) THEN
522 		x_Flow_Schedule_Pvt_Rec.current_line_operation := NULL;
523 	ELSE
524 		x_Flow_Schedule_Pvt_Rec.current_line_operation := nvl(p_flow_schedule_rec.current_line_operation ,FND_API.G_MISS_NUM);
525 	END IF;
526 END;
527 
528 PROCEDURE  PVT_Flow_Sched_Val_Rec_To_PUB (
529 	p_flow_schedule_val_pvt_rec IN Flow_Schedule_Val_Pvt_Rec_Type,
530 	x_flow_schedule_val_rec OUT NOCOPY MRP_Flow_Schedule_PUB.Flow_Schedule_Val_Rec_Type  )
531 IS
532 BEGIN
533 
534 	IF (   p_flow_schedule_val_pvt_rec.Completion_locator   = FND_API.G_MISS_CHAR ) THEN
535 		x_flow_schedule_val_rec.completion_locator   := NULL;
536 	ELSE
537 		x_flow_schedule_val_rec.completion_locator   := nvl(p_flow_schedule_val_pvt_rec.Completion_locator,FND_API.G_MISS_CHAR ) ;
538 	END IF;
539 
540 	IF (  p_flow_schedule_val_pvt_rec.line   = FND_API.G_MISS_CHAR ) THEN
541 		x_flow_schedule_val_rec.line :=  NULL;
542 	ELSE
543 		x_flow_schedule_val_rec.line := nvl(p_flow_schedule_val_pvt_rec.line,FND_API.G_MISS_CHAR ) ;
544 	END IF;
545 
546 	IF (  p_flow_schedule_val_pvt_rec.organization = FND_API.G_MISS_CHAR ) THEN
547 		x_flow_schedule_val_rec.organization :=  NULL;
548 	ELSE
549 		x_flow_schedule_val_rec.organization:= nvl(p_flow_schedule_val_pvt_rec.organization,FND_API.G_MISS_CHAR ) ;
550 	END IF;
551 
552 	IF (  p_flow_schedule_val_pvt_rec.primary_item = FND_API.G_MISS_CHAR ) THEN
553 		x_flow_schedule_val_rec.primary_item :=  NULL;
554 	ELSE
555 		x_flow_schedule_val_rec.primary_item := nvl(p_flow_schedule_val_pvt_rec.primary_item,FND_API.G_MISS_CHAR ) ;
556 	END IF;
557 
558 	IF (  p_flow_schedule_val_pvt_rec.project = FND_API.G_MISS_CHAR ) THEN
559 		x_flow_schedule_val_rec.project :=  NULL;
560 	ELSE
561 		x_flow_schedule_val_rec.project  := nvl(p_flow_schedule_val_pvt_rec.project,FND_API.G_MISS_CHAR )  ;
562 	END IF;
563 
564 	IF (  p_flow_schedule_val_pvt_rec.schedule_group   = FND_API.G_MISS_CHAR ) THEN
565 		x_flow_schedule_val_rec.schedule_group :=  NULL;
566 	ELSE
567 		x_flow_schedule_val_rec.schedule_group := nvl(p_flow_schedule_val_pvt_rec.schedule_group,FND_API.G_MISS_CHAR ) ;
568 	END IF;
569 
570 END;
571 
572 PROCEDURE  PVT_Flow_Sched_Rec_To_PUB (
573 	p_flow_schedule_pvt_rec IN Flow_Schedule_Pvt_Rec_Type  ,
574 	x_Flow_Schedule_Rec OUT NOCOPY MRP_Flow_Schedule_PUB.Flow_Schedule_Rec_Type  )
575 IS
576 BEGIN
577 
578 	IF (   p_flow_schedule_pvt_rec.alternate_bom_designator   = FND_API.G_MISS_CHAR ) THEN
579 		x_Flow_Schedule_Rec.alternate_bom_designator   := NULL;
580 	ELSE
581 		x_Flow_Schedule_Rec.alternate_bom_designator   := nvl(p_flow_schedule_pvt_rec.alternate_bom_designator,FND_API.G_MISS_CHAR ) ;
582 	END IF;
583 
584 	IF (   p_flow_schedule_pvt_rec.alternate_routing_desig   = FND_API.G_MISS_CHAR ) THEN
585 		x_Flow_Schedule_Rec.alternate_routing_desig   := NULL;
586 	ELSE
587 		x_Flow_Schedule_Rec.alternate_routing_desig   := nvl(p_flow_schedule_pvt_rec.alternate_routing_desig,FND_API.G_MISS_CHAR ) ;
588 	END IF;
589 
590 	IF (   p_flow_schedule_pvt_rec.attribute1 = FND_API.G_MISS_CHAR ) THEN
591 		x_Flow_Schedule_Rec.attribute1 := NULL;
592 	ELSE
593 		x_Flow_Schedule_Rec.attribute1 := nvl(p_flow_schedule_pvt_rec.attribute1,FND_API.G_MISS_CHAR )  ;
594 	END IF;
595 
596 	IF (   p_flow_schedule_pvt_rec.attribute10 = FND_API.G_MISS_CHAR ) THEN
597 		x_Flow_Schedule_Rec.attribute10 := NULL;
598 	ELSE
599 		x_Flow_Schedule_Rec.attribute10 := nvl(p_flow_schedule_pvt_rec.attribute10,FND_API.G_MISS_CHAR )  ;
600 	END IF;
601 
602 	IF (   p_flow_schedule_pvt_rec.attribute11   = FND_API.G_MISS_CHAR ) THEN
603 		x_Flow_Schedule_Rec.attribute11   := NULL;
604 	ELSE
605 		x_Flow_Schedule_Rec.attribute11   := nvl(p_flow_schedule_pvt_rec.attribute11,FND_API.G_MISS_CHAR )    ;
606 	END IF;
607 
608 	IF (   p_flow_schedule_pvt_rec.attribute12   = FND_API.G_MISS_CHAR ) THEN
609 		x_Flow_Schedule_Rec.attribute12   := NULL;
610 	ELSE
611 		x_Flow_Schedule_Rec.attribute12   := nvl(p_flow_schedule_pvt_rec.attribute12,FND_API.G_MISS_CHAR )    ;
612 	END IF;
613 
614 	IF (   p_flow_schedule_pvt_rec.attribute13  = FND_API.G_MISS_CHAR ) THEN
615 		x_Flow_Schedule_Rec.attribute13  := NULL;
616 	ELSE
617 		x_Flow_Schedule_Rec.attribute13   := nvl(p_flow_schedule_pvt_rec.attribute13,FND_API.G_MISS_CHAR )   ;
618 	END IF;
619 
620 	IF (   p_flow_schedule_pvt_rec.attribute14              = FND_API.G_MISS_CHAR ) THEN
621 		x_Flow_Schedule_Rec.attribute14  := NULL;
622 	ELSE
623 		x_Flow_Schedule_Rec.attribute14  := nvl(p_flow_schedule_pvt_rec.attribute14,FND_API.G_MISS_CHAR )   ;
624 	END IF;
625 
626 	IF (   p_flow_schedule_pvt_rec.attribute15  = FND_API.G_MISS_CHAR ) THEN
627 		x_Flow_Schedule_Rec.attribute15  := NULL;
628 	ELSE
629 		x_Flow_Schedule_Rec.attribute15  := nvl(p_flow_schedule_pvt_rec.attribute15,FND_API.G_MISS_CHAR )   ;
630 	END IF;
631 
632 	IF (   p_flow_schedule_pvt_rec.attribute2   = FND_API.G_MISS_CHAR ) THEN
633 		x_Flow_Schedule_Rec.attribute2   := NULL;
634 	ELSE
635 		x_Flow_Schedule_Rec.attribute2   := nvl(p_flow_schedule_pvt_rec.attribute2,FND_API.G_MISS_CHAR )    ;
636 	END IF;
637 
638 	IF (   p_flow_schedule_pvt_rec.attribute3   = FND_API.G_MISS_CHAR ) THEN
639 		x_Flow_Schedule_Rec.attribute3   := NULL;
640 	ELSE
641 		x_Flow_Schedule_Rec.attribute3   := nvl(p_flow_schedule_pvt_rec.attribute3,FND_API.G_MISS_CHAR )    ;
642 	END IF;
643 
644 	IF (   p_flow_schedule_pvt_rec.attribute4   = FND_API.G_MISS_CHAR ) THEN
645 		x_Flow_Schedule_Rec.attribute4   := NULL;
646 	ELSE
647 		x_Flow_Schedule_Rec.attribute4   := nvl(p_flow_schedule_pvt_rec.attribute4 ,FND_API.G_MISS_CHAR )   ;
648 	END IF;
649 
650 	IF (   p_flow_schedule_pvt_rec.attribute5   = FND_API.G_MISS_CHAR ) THEN
651 		x_Flow_Schedule_Rec.attribute5   := NULL;
652 	ELSE
653 		x_Flow_Schedule_Rec.attribute5   := nvl(p_flow_schedule_pvt_rec.attribute5 ,FND_API.G_MISS_CHAR )   ;
654 	END IF;
655 
656 	IF (   p_flow_schedule_pvt_rec.attribute6   = FND_API.G_MISS_CHAR ) THEN
657 		x_Flow_Schedule_Rec.attribute6   := NULL;
658 	ELSE
659 		x_Flow_Schedule_Rec.attribute6   := nvl(p_flow_schedule_pvt_rec.attribute6 ,FND_API.G_MISS_CHAR )   ;
660 	END IF;
661 
662 	IF (   p_flow_schedule_pvt_rec.attribute7   = FND_API.G_MISS_CHAR ) THEN
663 		x_Flow_Schedule_Rec.attribute7   := NULL;
664 	ELSE
665 		x_Flow_Schedule_Rec.attribute7   := nvl(p_flow_schedule_pvt_rec.attribute7 ,FND_API.G_MISS_CHAR )   ;
666 	END IF;
667 
668 	IF (   p_flow_schedule_pvt_rec.attribute8   = FND_API.G_MISS_CHAR ) THEN
669 		x_Flow_Schedule_Rec.attribute8   := NULL;
670 	ELSE
671 		x_Flow_Schedule_Rec.attribute8   := nvl(p_flow_schedule_pvt_rec.attribute8 ,FND_API.G_MISS_CHAR )   ;
672 	END IF;
673 
674 	IF (   p_flow_schedule_pvt_rec.attribute9   = FND_API.G_MISS_CHAR ) THEN
675 		x_Flow_Schedule_Rec.attribute9   := NULL;
676 	ELSE
677 		x_Flow_Schedule_Rec.attribute9   := nvl(p_flow_schedule_pvt_rec.attribute9 ,FND_API.G_MISS_CHAR )   ;
678 	END IF;
679 
680 	IF (   p_flow_schedule_pvt_rec.attribute_category   = FND_API.G_MISS_CHAR ) THEN
681 		x_Flow_Schedule_Rec.attribute_category   := NULL;
682 	ELSE
683 		x_Flow_Schedule_Rec.attribute_category   := nvl(p_flow_schedule_pvt_rec.attribute_category ,FND_API.G_MISS_CHAR )  ;
684 	END IF;
685 
686 	IF (   p_flow_schedule_pvt_rec.bom_revision         = FND_API.G_MISS_CHAR ) THEN
687 		x_Flow_Schedule_Rec.bom_revision         := NULL;
688 	ELSE
689 		x_Flow_Schedule_Rec.bom_revision         := nvl(p_flow_schedule_pvt_rec.bom_revision ,FND_API.G_MISS_CHAR )        ;
690 	END IF;
691 
692 	IF (   p_flow_schedule_pvt_rec.bom_revision_date    = FND_API.G_MISS_DATE ) THEN
693 		x_Flow_Schedule_Rec.bom_revision_date    := NULL;
694 	ELSE
695 		x_Flow_Schedule_Rec.bom_revision_date    := nvl(p_flow_schedule_pvt_rec.bom_revision_date,FND_API.G_MISS_DATE )    ;
696 	END IF;
697 
698 	IF (   p_flow_schedule_pvt_rec.build_sequence      = FND_API.G_MISS_NUM ) THEN
699 		x_Flow_Schedule_Rec.build_sequence      := NULL;
700 	ELSE
701 		x_Flow_Schedule_Rec.build_sequence      := NVL(p_flow_schedule_pvt_rec.build_sequence , FND_API.G_MISS_NUM );
702 	END IF;
703 
704 	IF (   p_flow_schedule_pvt_rec.class_code = FND_API.G_MISS_CHAR ) THEN
705 		x_Flow_Schedule_Rec.class_code := NULL;
706 	ELSE
707 		x_Flow_Schedule_Rec.class_code := nvl(p_flow_schedule_pvt_rec.class_code,FND_API.G_MISS_CHAR) ;
708 	END IF;
709 
710 	IF (   p_flow_schedule_pvt_rec.completion_locator_id    = FND_API.G_MISS_NUM ) THEN
711 		x_Flow_Schedule_Rec.completion_locator_id    := NULL;
712 	ELSE
713 		x_Flow_Schedule_Rec.completion_locator_id    := nvl(p_flow_schedule_pvt_rec.completion_locator_id,FND_API.G_MISS_NUM)    ;
714 	END IF;
715 
716 	IF (   p_flow_schedule_pvt_rec.completion_subinventory  = FND_API.G_MISS_CHAR ) THEN
717 		x_Flow_Schedule_Rec.completion_subinventory  := NULL;
718 	ELSE
719 		x_Flow_Schedule_Rec.completion_subinventory    := nvl(p_flow_schedule_pvt_rec.completion_subinventory,FND_API.G_MISS_CHAR)  ;
720 	END IF;
721 
722 	IF (   p_flow_schedule_pvt_rec.created_by      = FND_API.G_MISS_NUM ) THEN
723 		x_Flow_Schedule_Rec.created_by      := NULL;
724 	ELSE
725 		x_Flow_Schedule_Rec.created_by      := nvl(p_flow_schedule_pvt_rec.created_by,FND_API.G_MISS_NUM );
726 	END IF;
727 
728 	IF (   p_flow_schedule_pvt_rec.creation_date   = FND_API.G_MISS_DATE ) THEN
729 		x_Flow_Schedule_Rec.creation_date   := NULL;
730 	ELSE
731 		x_Flow_Schedule_Rec.creation_date   := nvl(p_flow_schedule_pvt_rec.creation_date,FND_API.G_MISS_DATE )   ;
732 	END IF;
733 
734 	IF (   p_flow_schedule_pvt_rec.date_closed     = FND_API.G_MISS_DATE ) THEN
735 		x_Flow_Schedule_Rec.date_closed     := NULL;
736 	ELSE
737 		x_Flow_Schedule_Rec.date_closed     := nvl(p_flow_schedule_pvt_rec.date_closed,FND_API.G_MISS_DATE)    ;
738 	END IF;
739 
740 	IF (   p_flow_schedule_pvt_rec.demand_class    = FND_API.G_MISS_CHAR ) THEN
741 		x_Flow_Schedule_Rec.demand_class    := NULL;
742 	ELSE
743 		x_Flow_Schedule_Rec.demand_class    := nvl(p_flow_schedule_pvt_rec.demand_class ,FND_API.G_MISS_CHAR )   ;
744 	END IF;
745 
746 	IF (   p_flow_schedule_pvt_rec.demand_source_delivery   = FND_API.G_MISS_CHAR ) THEN
747 		x_Flow_Schedule_Rec.demand_source_delivery   := NULL;
748 	ELSE
749 		x_Flow_Schedule_Rec.demand_source_delivery   := nvl(p_flow_schedule_pvt_rec.demand_source_delivery ,FND_API.G_MISS_CHAR)  ;
750 	END IF;
751 
752 	IF (   p_flow_schedule_pvt_rec.demand_source_header_id  = FND_API.G_MISS_NUM ) THEN
753 		x_Flow_Schedule_Rec.demand_source_header_id  := NULL;
754 	ELSE
755 		x_Flow_Schedule_Rec.demand_source_header_id  := nvl(p_flow_schedule_pvt_rec.demand_source_header_id ,FND_API.G_MISS_NUM ) ;
756 	END IF;
757 
758 	IF (   p_flow_schedule_pvt_rec.demand_source_line   = FND_API.G_MISS_CHAR ) THEN
759 		x_Flow_Schedule_Rec.demand_source_line   := NULL;
760 	ELSE
761 		x_Flow_Schedule_Rec.demand_source_line   := nvl(p_flow_schedule_pvt_rec.demand_source_line,FND_API.G_MISS_CHAR )    ;
762 	END IF;
763 
764 	IF (   p_flow_schedule_pvt_rec.demand_source_type   = FND_API.G_MISS_NUM ) THEN
765 		x_Flow_Schedule_Rec.demand_source_type   := NULL;
766 	ELSE
767 		x_Flow_Schedule_Rec.demand_source_type   := nvl(p_flow_schedule_pvt_rec.demand_source_type,FND_API.G_MISS_NUM )  ;
768 	END IF;
769 
770 	IF (   p_flow_schedule_pvt_rec.last_updated_by    = FND_API.G_MISS_NUM) THEN
771 		x_Flow_Schedule_Rec.last_updated_by      := NULL;
772 	ELSE
773 		x_Flow_Schedule_Rec.last_updated_by    := nvl(p_flow_schedule_pvt_rec.last_updated_by,FND_API.G_MISS_NUM)    ;
774 	END IF;
775 
776 	IF (   p_flow_schedule_pvt_rec.last_update_date    = FND_API.G_MISS_DATE ) THEN
777 		x_Flow_Schedule_Rec.last_update_date     := NULL;
778 	ELSE
779 		x_Flow_Schedule_Rec.last_update_date   := nvl(p_flow_schedule_pvt_rec.last_update_date,FND_API.G_MISS_DATE)   ;
780 	END IF;
781 
782 	IF (   p_flow_schedule_pvt_rec.last_update_login  = FND_API.G_MISS_NUM ) THEN
783 		x_Flow_Schedule_Rec.last_update_login    := NULL;
784 	ELSE
785 		x_Flow_Schedule_Rec.last_update_login  := nvl(p_flow_schedule_pvt_rec.last_update_login,FND_API.G_MISS_NUM)  ;
786 	END IF;
787 
788 	IF (   p_flow_schedule_pvt_rec.line_id    = FND_API.G_MISS_NUM ) THEN
789 		x_Flow_Schedule_Rec.line_id    := NULL;
790 	ELSE
791 		x_Flow_Schedule_Rec.line_id    := nvl(p_flow_schedule_pvt_rec.line_id ,FND_API.G_MISS_NUM)   ;
792 	END IF;
793 
794 	IF (   p_flow_schedule_pvt_rec.material_account   = FND_API.G_MISS_NUM ) THEN
795 		x_Flow_Schedule_Rec.material_account    := NULL;
796 	ELSE
797 		x_Flow_Schedule_Rec.material_account    := nvl(p_flow_schedule_pvt_rec.material_account,FND_API.G_MISS_NUM ) ;
798 	END IF;
799 
800 	IF (   p_flow_schedule_pvt_rec.material_overhead_account = FND_API.G_MISS_NUM ) THEN
801 		x_Flow_Schedule_Rec.material_overhead_account := NULL;
802 	ELSE
803 		x_Flow_Schedule_Rec.material_overhead_account := nvl(p_flow_schedule_pvt_rec.material_overhead_account,FND_API.G_MISS_NUM ) ;
804 	END IF;
805 
806 	IF (   p_flow_schedule_pvt_rec.material_variance_account = FND_API.G_MISS_NUM  ) THEN
807 		x_Flow_Schedule_Rec.material_variance_account := NULL;
808 	ELSE
809 		x_Flow_Schedule_Rec.material_variance_account := nvl(p_flow_schedule_pvt_rec.material_variance_account ,FND_API.G_MISS_NUM ) ;
810 	END IF;
811 
812 	IF (   p_flow_schedule_pvt_rec.mps_net_quantity   = FND_API.G_MISS_NUM ) THEN
813 		x_Flow_Schedule_Rec.mps_net_quantity     := NULL;
814 	ELSE
815 		x_Flow_Schedule_Rec.mps_net_quantity   := nvl(p_flow_schedule_pvt_rec.mps_net_quantity,FND_API.G_MISS_NUM )    ;
816 	END IF;
817 
818 	IF (   p_flow_schedule_pvt_rec.mps_scheduled_comp_date  = FND_API.G_MISS_DATE) THEN
819 		x_Flow_Schedule_Rec.mps_scheduled_comp_date  := NULL;
820 	ELSE
821 		x_Flow_Schedule_Rec.mps_scheduled_comp_date  := nvl(p_flow_schedule_pvt_rec.mps_scheduled_comp_date,FND_API.G_MISS_DATE)  ;
822 	END IF;
823 
824 	IF (   p_flow_schedule_pvt_rec.organization_id          = FND_API.G_MISS_NUM ) THEN
825 		x_Flow_Schedule_Rec.organization_id          := NULL;
826 	ELSE
827 		x_Flow_Schedule_Rec.organization_id          := nvl(p_flow_schedule_pvt_rec.organization_id,FND_API.G_MISS_NUM) ;
828 	END IF;
829 
830 	IF (   p_flow_schedule_pvt_rec.outside_processing_acct  = FND_API.G_MISS_NUM) THEN
831 		x_Flow_Schedule_Rec.outside_processing_acct  := NULL;
832 	ELSE
833 		x_Flow_Schedule_Rec.outside_processing_acct  := nvl(p_flow_schedule_pvt_rec.outside_processing_acct,FND_API.G_MISS_NUM)  ;
834 	END IF;
835 
836 	IF (   p_flow_schedule_pvt_rec.outside_proc_var_acct    = FND_API.G_MISS_NUM ) THEN
837 		x_Flow_Schedule_Rec.outside_proc_var_acct    := NULL;
838 	ELSE
839 		x_Flow_Schedule_Rec.outside_proc_var_acct    := nvl(p_flow_schedule_pvt_rec.outside_proc_var_acct,FND_API.G_MISS_NUM)  ;
840 	END IF;
841 
842 	IF (   p_flow_schedule_pvt_rec.overhead_account         = FND_API.G_MISS_NUM  ) THEN
843 		x_Flow_Schedule_Rec.overhead_account         := NULL;
844 	ELSE
845 		x_Flow_Schedule_Rec.overhead_account         := nvl(p_flow_schedule_pvt_rec.overhead_account,FND_API.G_MISS_NUM )  ;
846 	END IF;
847 
848 	IF (   p_flow_schedule_pvt_rec.overhead_variance_account= FND_API.G_MISS_NUM ) THEN
849 		x_Flow_Schedule_Rec.overhead_variance_account:= NULL;
850 	ELSE
851 		x_Flow_Schedule_Rec.overhead_variance_account:= nvl(p_flow_schedule_pvt_rec.overhead_variance_account,FND_API.G_MISS_NUM );
852 	END IF;
853 
854 	IF (   p_flow_schedule_pvt_rec.planned_quantity   = FND_API.G_MISS_NUM ) THEN
855 		x_Flow_Schedule_Rec.planned_quantity     := NULL;
856 	ELSE
857 		x_Flow_Schedule_Rec.planned_quantity   := nvl(p_flow_schedule_pvt_rec.planned_quantity,FND_API.G_MISS_NUM )   ;
858 	END IF;
859 
860 	IF (   p_flow_schedule_pvt_rec.primary_item_id    = FND_API.G_MISS_NUM  ) THEN
861 		x_Flow_Schedule_Rec.primary_item_id    := NULL;
862 	ELSE
863 		x_Flow_Schedule_Rec.primary_item_id    := nvl(p_flow_schedule_pvt_rec.primary_item_id,FND_API.G_MISS_NUM )    ;
864 	END IF;
865 
866 	IF (   p_flow_schedule_pvt_rec.program_application_id= FND_API.G_MISS_NUM ) THEN
867 		x_Flow_Schedule_Rec.program_application_id:= NULL;
868 	ELSE
869 		x_Flow_Schedule_Rec.program_application_id:= nvl(p_flow_schedule_pvt_rec.program_application_id,FND_API.G_MISS_NUM );
870 	END IF;
871 
872 	IF (   p_flow_schedule_pvt_rec.program_id   = FND_API.G_MISS_NUM ) THEN
873 		x_Flow_Schedule_Rec.program_id   := NULL;
874 	ELSE
875 		x_Flow_Schedule_Rec.program_id   := nvl(p_flow_schedule_pvt_rec.program_id ,FND_API.G_MISS_NUM )   ;
876 	END IF;
877 
878 	IF (   p_flow_schedule_pvt_rec.program_update_date  = FND_API.G_MISS_DATE ) THEN
879 		x_Flow_Schedule_Rec.program_update_date  := NULL;
880 	ELSE
881 		x_Flow_Schedule_Rec.program_update_date  := nvl(p_flow_schedule_pvt_rec.program_update_date,FND_API.G_MISS_DATE)  ;
882 	END IF;
883 
884 	IF (   p_flow_schedule_pvt_rec.project_id           = FND_API.G_MISS_NUM ) THEN
885 		x_Flow_Schedule_Rec.project_id           := NULL;
886 	ELSE
887 		x_Flow_Schedule_Rec.project_id           := nvl(p_flow_schedule_pvt_rec.project_id,FND_API.G_MISS_NUM) ;
888 	END IF;
889 
890 	IF (   p_flow_schedule_pvt_rec.quantity_completed   = FND_API.G_MISS_NUM) THEN
891 		x_Flow_Schedule_Rec.quantity_completed    := NULL;
892 	ELSE
893 		x_Flow_Schedule_Rec.quantity_completed   := nvl(p_flow_schedule_pvt_rec.quantity_completed ,FND_API.G_MISS_NUM)  ;
894 	END IF;
895 
896 	IF (   p_flow_schedule_pvt_rec.request_id    = FND_API.G_MISS_NUM) THEN
897 		x_Flow_Schedule_Rec.request_id    := NULL;
898 	ELSE
899 		x_Flow_Schedule_Rec.request_id    := nvl(p_flow_schedule_pvt_rec.request_id ,FND_API.G_MISS_NUM) ;
900 	END IF;
901 
902 	IF (   p_flow_schedule_pvt_rec.resource_account  = FND_API.G_MISS_NUM) THEN
903 		x_Flow_Schedule_Rec.resource_account  := NULL;
904 	ELSE
905 		x_Flow_Schedule_Rec.resource_account  := nvl(p_flow_schedule_pvt_rec.resource_account ,FND_API.G_MISS_NUM) ;
906 	END IF;
907 
908 	IF (   p_flow_schedule_pvt_rec.resource_variance_account  = FND_API.G_MISS_NUM) THEN
909 		x_Flow_Schedule_Rec.resource_variance_account  := NULL;
910 	ELSE
911 		x_Flow_Schedule_Rec.resource_variance_account  := nvl(p_flow_schedule_pvt_rec.resource_variance_account,FND_API.G_MISS_NUM)  ;
912 	END IF;
913 
914 	IF (   p_flow_schedule_pvt_rec.routing_revision     = FND_API.G_MISS_CHAR ) THEN
915 		x_Flow_Schedule_Rec.routing_revision     := NULL;
916 	ELSE
917 		x_Flow_Schedule_Rec.routing_revision     := nvl(p_flow_schedule_pvt_rec.routing_revision ,FND_API.G_MISS_CHAR ) ;
918 	END IF;
919 
920 	IF (   p_flow_schedule_pvt_rec.routing_revision_date= FND_API.G_MISS_DATE ) THEN
921 		x_Flow_Schedule_Rec.routing_revision_date         := NULL;
922 	ELSE
923 		x_Flow_Schedule_Rec.routing_revision_date    := nvl(p_flow_schedule_pvt_rec.routing_revision_date ,FND_API.G_MISS_DATE);
924 	END IF;
925 
926 	IF (   p_flow_schedule_pvt_rec.scheduled_completion_date = FND_API.G_MISS_DATE ) THEN
927 		x_Flow_Schedule_Rec.scheduled_completion_date:= NULL;
928 	ELSE
929 		x_Flow_Schedule_Rec.scheduled_completion_date:= nvl(p_flow_schedule_pvt_rec.scheduled_completion_date,FND_API.G_MISS_DATE);
930 	END IF;
931 
932 	IF (   p_flow_schedule_pvt_rec.scheduled_flag   = FND_API.G_MISS_NUM ) THEN
933 		x_Flow_Schedule_Rec.scheduled_flag   := NULL;
934 	ELSE
935 		x_Flow_Schedule_Rec.scheduled_flag     := nvl(p_flow_schedule_pvt_rec.scheduled_flag,FND_API.G_MISS_NUM );
936 	END IF;
937 
938 	IF (   p_flow_schedule_pvt_rec.scheduled_start_date   = FND_API.G_MISS_DATE ) THEN
939 		x_Flow_Schedule_Rec.scheduled_start_date   := NULL;
940 	ELSE
941 		x_Flow_Schedule_Rec.scheduled_start_date     := nvl(p_flow_schedule_pvt_rec.scheduled_start_date,FND_API.G_MISS_DATE) ;
942 	END IF;
943 
944 	IF (   p_flow_schedule_pvt_rec.schedule_group_id      = FND_API.G_MISS_NUM ) THEN
945 		x_Flow_Schedule_Rec.schedule_group_id      := NULL;
946 	ELSE
947 		x_Flow_Schedule_Rec.schedule_group_id      := nvl(p_flow_schedule_pvt_rec.schedule_group_id ,FND_API.G_MISS_NUM)     ;
948 	END IF;
949 
950 	IF (   p_flow_schedule_pvt_rec.schedule_number  = FND_API.G_MISS_CHAR ) THEN
951 		x_Flow_Schedule_Rec.schedule_number  := NULL;
952 	ELSE
953 		x_Flow_Schedule_Rec.schedule_number  := nvl(p_flow_schedule_pvt_rec.schedule_number  ,FND_API.G_MISS_CHAR );
954 	END IF;
955 
956 
957 	IF (   p_flow_schedule_pvt_rec.status   = FND_API.G_MISS_NUM ) THEN
958 		x_Flow_Schedule_Rec.status   := NULL;
959 	ELSE
960 		x_Flow_Schedule_Rec.status   := nvl(p_flow_schedule_pvt_rec.status ,FND_API.G_MISS_NUM)  ;
961 	END IF;
962 
963 	IF (   p_flow_schedule_pvt_rec.std_cost_adjustment_acct   = FND_API.G_MISS_NUM) THEN
964 		x_Flow_Schedule_Rec.std_cost_adjustment_acct   := NULL;
965 	ELSE
966 		x_Flow_Schedule_Rec.std_cost_adjustment_acct   := nvl(p_flow_schedule_pvt_rec.std_cost_adjustment_acct ,FND_API.G_MISS_NUM)  ;
967 	END IF;
968 
969 	IF (   p_flow_schedule_pvt_rec.task_id    = FND_API.G_MISS_NUM) THEN
970 		x_Flow_Schedule_Rec.task_id    := NULL;
971 	ELSE
972 		x_Flow_Schedule_Rec.task_id     := nvl(p_flow_schedule_pvt_rec.task_id ,FND_API.G_MISS_NUM)   ;
973 	END IF;
974 
975 	IF (   p_flow_schedule_pvt_rec.wip_entity_id   = FND_API.G_MISS_NUM) THEN
976 		x_Flow_Schedule_Rec.wip_entity_id   := NULL;
977 	ELSE
978 		x_Flow_Schedule_Rec.wip_entity_id   := nvl(p_flow_schedule_pvt_rec.wip_entity_id ,FND_API.G_MISS_NUM)  ;
979 	END IF;
980 
981 	IF (   p_flow_schedule_pvt_rec.scheduled_by    = FND_API.G_MISS_NUM) THEN
982 		x_Flow_Schedule_Rec.scheduled_by      := NULL;
983 	ELSE
984 		x_Flow_Schedule_Rec.scheduled_by    := nvl(p_flow_schedule_pvt_rec.scheduled_by,FND_API.G_MISS_NUM)    ;
985 	END IF;
986 
987 	IF (   p_flow_schedule_pvt_rec.return_status   = FND_API.G_MISS_CHAR ) THEN
988 		x_Flow_Schedule_Rec.return_status   := NULL;
989 	ELSE
990 		x_Flow_Schedule_Rec.return_status   := nvl(p_flow_schedule_pvt_rec.return_status ,FND_API.G_MISS_CHAR)  ;
991 	END IF;
992 
993 	IF (   p_flow_schedule_pvt_rec.db_flag    = FND_API.G_MISS_CHAR ) THEN
994 		x_Flow_Schedule_Rec.db_flag    := NULL;
995 	ELSE
996 		x_Flow_Schedule_Rec.db_flag    := nvl(p_flow_schedule_pvt_rec.db_flag ,FND_API.G_MISS_CHAR )   ;
997 	END IF;
998 
999 	IF (   p_flow_schedule_pvt_rec.operation  = FND_API.G_MISS_CHAR ) THEN
1000 		x_Flow_Schedule_Rec.operation  := NULL;
1001 	ELSE
1002 		x_Flow_Schedule_Rec.operation  := nvl(p_flow_schedule_pvt_rec.operation ,FND_API.G_MISS_CHAR )  ;
1003 	END IF;
1004 
1005 	IF (   p_flow_schedule_pvt_rec.end_item_unit_number   = FND_API.G_MISS_CHAR ) THEN
1006 		x_Flow_Schedule_Rec.end_item_unit_number := NULL;
1007 	ELSE
1008 		x_Flow_Schedule_Rec.end_item_unit_number := nvl(p_flow_schedule_pvt_rec.end_item_unit_number,FND_API.G_MISS_CHAR ) ;
1009 	END IF;
1010 
1011 	IF (   p_flow_schedule_pvt_rec.quantity_scrapped    = FND_API.G_MISS_NUM ) THEN
1012 		x_Flow_Schedule_Rec.quantity_scrapped         := NULL;
1013 	ELSE
1014 		x_Flow_Schedule_Rec.quantity_scrapped    := nvl(p_flow_schedule_pvt_rec.quantity_scrapped ,FND_API.G_MISS_NUM)   ;
1015 	END IF;
1016 
1017 	IF (   p_flow_schedule_pvt_rec.kanban_card_id       = FND_API.G_MISS_NUM) THEN
1018 		x_Flow_Schedule_Rec.kanban_card_id       := NULL;
1019 	ELSE
1020 		x_Flow_Schedule_Rec.kanban_card_id       := nvl(p_flow_schedule_pvt_rec.kanban_card_id ,FND_API.G_MISS_NUM)      ;
1021 	END IF;
1022 
1023 	IF (   p_flow_schedule_pvt_rec.synch_schedule_num   = FND_API.G_MISS_CHAR ) THEN
1024 		x_Flow_Schedule_Rec.synch_schedule_num   := NULL;
1025 	ELSE
1026 		x_Flow_Schedule_Rec.synch_schedule_num   := nvl(p_flow_schedule_pvt_rec.synch_schedule_num ,FND_API.G_MISS_CHAR ) ;
1027 	END IF;
1028 
1029 	IF (   p_flow_schedule_pvt_rec.synch_operation_seq_num  = FND_API.G_MISS_NUM) THEN
1030 		x_Flow_Schedule_Rec.synch_operation_seq_num   := NULL;
1031 	ELSE
1032 		x_Flow_Schedule_Rec.synch_operation_seq_num  := nvl(p_flow_schedule_pvt_rec.synch_operation_seq_num ,FND_API.G_MISS_NUM) ;
1033 	END IF;
1034 
1035 	IF (   p_flow_schedule_pvt_rec.roll_forwarded_flag	= FND_API.G_MISS_NUM ) THEN
1036 		x_Flow_Schedule_Rec.roll_forwarded_flag	:= NULL;
1037 	ELSE
1038 		x_Flow_Schedule_Rec.roll_forwarded_flag	:= nvl(p_flow_schedule_pvt_rec.roll_forwarded_flag,FND_API.G_MISS_NUM);
1039 	END IF;
1040 
1041 	IF (   p_flow_schedule_pvt_rec.current_line_operation = FND_API.G_MISS_NUM) THEN
1042 		x_Flow_Schedule_Rec.current_line_operation := NULL;
1043 	ELSE
1044 		x_Flow_Schedule_Rec.current_line_operation := nvl(p_flow_schedule_pvt_rec.current_line_operation ,FND_API.G_MISS_NUM);
1045 	END IF;
1046 END;
1047 
1048 
1049 --  Flow_Schedule
1050 
1051 PROCEDURE Flow_Schedule
1052 (   p_validation_level              IN  NUMBER
1053 ,   p_control_rec                   IN  MRP_GLOBALS.Control_Rec_Type
1054 ,   x_flow_schedule_rec             IN  OUT NOCOPY MRP_Flow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type
1055 ,   x_old_flow_schedule_rec         IN  OUT NOCOPY MRP_Flow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type
1056 )
1057 IS
1058 l_return_status               VARCHAR2(1);
1059 l_control_rec                 MRP_GLOBALS.Control_Rec_Type;
1060 l_flow_schedule_rec           MRP_Flow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type := x_flow_schedule_rec;
1061 l_old_flow_schedule_rec       MRP_Flow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type := x_old_flow_schedule_rec;
1062 BEGIN
1063 
1064     --  Load API control record
1065     l_control_rec := MRP_GLOBALS.Init_Control_Rec
1066     (   p_operation     => l_flow_schedule_rec.operation
1067     ,   p_control_rec   => p_control_rec
1068     );
1069 
1070     --  Set record return status.
1071 
1072     l_flow_schedule_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1073 
1074     --  Prepare record.
1075 
1076     IF l_flow_schedule_rec.operation = MRP_GLOBALS.G_OPR_CREATE THEN
1077 
1078         l_flow_schedule_rec.db_flag := FND_API.G_FALSE;
1079 
1080         --  Set missing old record elements to NULL.
1081 
1082         l_old_flow_schedule_rec :=
1083         MRP_Flow_Schedule_Util.Convert_Miss_To_Null (l_old_flow_schedule_rec);
1084 
1085 
1086     ELSIF l_flow_schedule_rec.operation = MRP_GLOBALS.G_OPR_UPDATE
1087     OR    l_flow_schedule_rec.operation = MRP_GLOBALS.G_OPR_DELETE
1088     THEN
1089         l_flow_schedule_rec.db_flag := FND_API.G_TRUE;
1090 
1091         --  Query Old if missing
1092 
1093         IF  l_old_flow_schedule_rec.organization_id  IS NULL
1094         OR  l_old_flow_schedule_rec.wip_entity_id IS NULL
1095         THEN
1096 
1097 
1098             l_old_flow_schedule_rec := MRP_Flow_Schedule_Util.Query_Row
1099             (   p_wip_entity_id               => l_flow_schedule_rec.wip_entity_id
1100             );
1101 
1102         ELSE
1103 
1104             --  Set missing old record elements to NULL.
1105 
1106             l_old_flow_schedule_rec :=
1107             MRP_Flow_Schedule_Util.Convert_Miss_To_Null (l_old_flow_schedule_rec);
1108 
1109         END IF;
1110 
1111         --  Complete new record from old
1112 
1113         l_flow_schedule_rec := MRP_Flow_Schedule_Util.Complete_Record
1114         (   p_flow_schedule_rec           => l_flow_schedule_rec
1115         ,   p_old_flow_schedule_rec       => l_old_flow_schedule_rec
1116         );
1117 
1118     END IF;
1119 
1120     IF  l_control_rec.default_attributes
1121     OR  l_control_rec.change_attributes
1122     THEN
1123 
1124         IF p_validation_level > FND_API.G_VALID_LEVEL_NONE THEN
1125 
1126             MRP_Validate_Flow_Schedule.Attributes
1127             (   x_return_status               => l_return_status
1128             ,   p_flow_schedule_rec           => l_flow_schedule_rec
1129             ,   p_old_flow_schedule_rec       => l_old_flow_schedule_rec
1130             );
1131 
1132             IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1133                 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1134             ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1135                 RAISE FND_API.G_EXC_ERROR;
1136             END IF;
1137 
1138         END IF;
1139 
1140     END IF;
1141 
1142         --  Clear dependent attributes.
1143 
1144     IF  l_control_rec.change_attributes and l_flow_schedule_rec.operation <> MRP_GLOBALS.G_OPR_CREATE THEN
1145 
1146         MRP_Flow_Schedule_Util.Clear_Dependent_Attr
1147         (   p_flow_schedule_rec           => l_flow_schedule_rec
1148         ,   p_old_flow_schedule_rec       => l_old_flow_schedule_rec
1149         ,   x_flow_schedule_rec           => l_flow_schedule_rec
1150         );
1151 
1152     END IF;
1153 
1154     --  Default missing attributes
1155 
1156     IF  l_control_rec.default_attributes
1157     OR  l_control_rec.change_attributes
1158     THEN
1159 
1160         MRP_Default_Flow_Schedule.Attributes
1161         (   p_flow_schedule_rec           => l_flow_schedule_rec
1162         ,   x_flow_schedule_rec           => l_flow_schedule_rec
1163         );
1164 
1165     END IF;
1166 
1167     --  Apply attribute changes
1168 
1169     IF  l_control_rec.default_attributes
1170     OR  l_control_rec.change_attributes
1171     THEN
1172 
1173         MRP_Flow_Schedule_Util.Apply_Attribute_Changes
1174         (   p_flow_schedule_rec           => l_flow_schedule_rec
1175         ,   p_old_flow_schedule_rec       => l_old_flow_schedule_rec
1176         ,   x_flow_schedule_rec           => l_flow_schedule_rec
1177         );
1178 
1179     END IF;
1180 
1181     --  Entity level validation.
1182 
1183     IF l_control_rec.validate_entity THEN
1184 
1185         IF l_flow_schedule_rec.operation = MRP_GLOBALS.G_OPR_DELETE THEN
1186 
1187             MRP_Validate_Flow_Schedule.Entity_Delete
1188             (   x_return_status               => l_return_status
1189             ,   p_flow_schedule_rec           => l_flow_schedule_rec
1190             );
1191 
1192         ELSE
1193 
1194             MRP_Validate_Flow_Schedule.Entity
1195             (   x_return_status               => l_return_status
1196             ,   p_flow_schedule_rec           => l_flow_schedule_rec
1197             ,   p_old_flow_schedule_rec       => l_old_flow_schedule_rec
1198             );
1199 
1200         END IF;
1201 
1202         IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1203             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1204         ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1205             RAISE FND_API.G_EXC_ERROR;
1206         END IF;
1207 
1208     END IF;
1209 
1210     --  Step 4. Write to DB
1211 
1212     IF l_control_rec.write_to_db THEN
1213 
1214         IF l_flow_schedule_rec.operation = MRP_GLOBALS.G_OPR_DELETE THEN
1215 
1216             MRP_Flow_Schedule_Util.Delete_Row
1217             (   p_wip_entity_id               => l_flow_schedule_rec.wip_entity_id
1218             );
1219 
1220         ELSE
1221 
1222 
1223             --  Get Who Information
1224 
1225             l_flow_schedule_rec.last_update_date := SYSDATE;
1226             l_flow_schedule_rec.last_updated_by := FND_GLOBAL.USER_ID;
1227             l_flow_schedule_rec.last_update_login := FND_GLOBAL.LOGIN_ID;
1228 
1229             IF l_flow_schedule_rec.operation = MRP_GLOBALS.G_OPR_UPDATE THEN
1230 
1231                 MRP_Flow_Schedule_Util.Update_Row (l_flow_schedule_rec);
1232 
1233             ELSIF l_flow_schedule_rec.operation = MRP_GLOBALS.G_OPR_CREATE THEN
1234 
1235                 l_flow_schedule_rec.creation_date := SYSDATE;
1236                 l_flow_schedule_rec.created_by := FND_GLOBAL.USER_ID;
1237 
1238                 MRP_Flow_Schedule_Util.Insert_Row (l_flow_schedule_rec);
1239 
1240             END IF;
1241 
1242         END IF;
1243 
1244     END IF;
1245 
1246     --  Load OUT parameters
1247 
1248     x_flow_schedule_rec            := l_flow_schedule_rec;
1249     x_old_flow_schedule_rec        := l_old_flow_schedule_rec;
1250 
1251 EXCEPTION
1252 
1253     WHEN FND_API.G_EXC_ERROR THEN
1254 
1255         l_flow_schedule_rec.return_status := FND_API.G_RET_STS_ERROR;
1256         x_flow_schedule_rec            := l_flow_schedule_rec;
1257         x_old_flow_schedule_rec        := l_old_flow_schedule_rec;
1258         RAISE;
1259 
1260     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1261 
1262         l_flow_schedule_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1263         x_flow_schedule_rec            := l_flow_schedule_rec;
1264         x_old_flow_schedule_rec        := l_old_flow_schedule_rec;
1265 
1266         RAISE;
1267 
1268     WHEN OTHERS THEN
1269 
1270         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1271         THEN
1272             FND_MSG_PUB.Add_Exc_Msg
1273             (   G_PKG_NAME
1274             ,   'Flow_Schedule'
1275             );
1276         END IF;
1277 
1278         l_flow_schedule_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1279         x_flow_schedule_rec            := l_flow_schedule_rec;
1280         x_old_flow_schedule_rec        := l_old_flow_schedule_rec;
1281 
1282         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1283 
1284 END Flow_Schedule;
1285 
1286 --  Start of Comments
1287 --  API name    Process_Flow_Schedule
1288 --  Type        Private
1289 --  Function
1290 --
1291 --  Pre-reqs
1292 --
1293 --  Parameters
1294 --
1295 --  Version     Current version = 1.0
1296 --              Initial version = 1.0
1297 --
1298 --  Notes
1299 --
1300 --  End of Comments
1301 
1302 PROCEDURE Process_Flow_Schedule
1303 (   p_api_version_number            IN  NUMBER
1304 ,   p_init_msg_list                 IN  VARCHAR2 := NULL
1305 ,   p_commit                        IN  VARCHAR2 := NULL
1306 ,   p_validation_level              IN  NUMBER := NULL
1307 ,   p_control_rec                   IN  MRP_GLOBALS.Control_Rec_Type
1308 ,   x_return_status                 OUT NOCOPY VARCHAR2
1309 ,   x_msg_count                     OUT NOCOPY NUMBER
1310 ,   x_msg_data                      OUT NOCOPY VARCHAR2
1311 ,   p_flow_schedule_rec             IN  MRP_Flow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type
1312 ,   p_old_flow_schedule_rec         IN  MRP_Flow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type
1313 ,   x_flow_schedule_rec             IN  OUT NOCOPY MRP_Flow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type
1314 ,   p_explode_bom		    IN  VARCHAR2 := NULL
1315 )
1316 IS
1317 l_api_version_number          CONSTANT NUMBER := 1.0;
1318 l_api_name                    CONSTANT VARCHAR2(30):= 'Process_Flow_Schedule';
1319 l_return_status               VARCHAR2(1);
1320 l_control_rec                 MRP_GLOBALS.Control_Rec_Type;
1321 l_flow_schedule_rec           MRP_Flow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type :=p_flow_schedule_rec  ;
1322 l_old_flow_schedule_rec       MRP_Flow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type :=p_old_flow_schedule_rec ;
1323 l_error_msg		      VARCHAR2(2000);
1324 l_error_code		      NUMBER;
1325 BEGIN
1326 
1327 
1328 
1329     --  Standard call to check for call compatibility
1330 
1331     IF NOT FND_API.Compatible_API_Call
1332            (   l_api_version_number
1333            ,   p_api_version_number
1334            ,   l_api_name
1335            ,   G_PKG_NAME
1336            )
1337     THEN
1338         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1339     END IF;
1340 
1341     --  Initialize message list.
1342 
1343     IF FND_API.to_Boolean(NVL(p_init_msg_list,FND_API.G_FALSE)) THEN
1344         FND_MSG_PUB.initialize;
1345     END IF;
1346 
1347     --  Flow_Schedule
1348     Flow_Schedule
1349     (   p_validation_level            => nvl(p_validation_level,FND_API.G_VALID_LEVEL_FULL)
1350     ,   p_control_rec                 => p_control_rec
1351     ,   x_flow_schedule_rec           => l_flow_schedule_rec
1352     ,   x_old_flow_schedule_rec       => l_old_flow_schedule_rec
1353     );
1354 
1355     --  Perform flow_schedule group requests.
1356 
1357     IF p_control_rec.process AND
1358         (p_control_rec.process_entity = MRP_GLOBALS.G_ENTITY_ALL OR
1359         p_control_rec.process_entity = MRP_GLOBALS.G_ENTITY_FLOW_SCHEDULE)
1360     THEN
1361 
1362         NULL;
1363 
1364     END IF;
1365 
1366     --  Step 6. Perform Object group logic
1367 
1368     IF p_control_rec.process AND
1369         p_control_rec.process_entity = MRP_GLOBALS.G_ENTITY_ALL
1370     THEN
1371 
1372         NULL;
1373 
1374     END IF;
1375 
1376     --  Done processing, load OUT parameters.
1377 
1378     x_flow_schedule_rec := l_flow_schedule_rec;
1379 
1380     --  Clear API cache.
1381 
1382     IF p_control_rec.clear_api_cache THEN
1383 
1384         NULL;
1385 
1386     END IF;
1387 
1388     --  Clear API request tbl.
1389 
1390     IF p_control_rec.clear_api_requests THEN
1391 
1392         NULL;
1393 
1394     END IF;
1395 
1396     -- Explode BOM if indicated
1397     IF p_explode_bom = 'Y' THEN
1398       BOM_OE_EXPLODER_PKG.be_exploder(
1399         arg_org_id => l_flow_schedule_rec.organization_id,
1400         arg_starting_rev_date => sysdate - 3,
1401         arg_expl_type => 'ALL',
1402         arg_order_by => 1,
1403         arg_levels_to_explode => 20,
1404         arg_item_id => l_flow_schedule_rec.primary_item_id,
1405         arg_comp_code => '',
1406         arg_user_id => 0,
1407         arg_err_msg => l_error_msg,
1408         arg_error_code => l_error_code,
1409 	arg_alt_bom_desig => l_flow_schedule_rec.alternate_bom_designator
1410       );
1411     END IF;
1412 
1413     --  Derive return status.
1414 
1415     x_return_status := FND_API.G_RET_STS_SUCCESS;
1416 
1417     IF l_flow_schedule_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1418         x_return_status := FND_API.G_RET_STS_ERROR;
1419     END IF;
1420 
1421     --  Get message count and data
1422 
1423     FND_MSG_PUB.Count_And_Get
1424     (   p_count                       => x_msg_count
1425     ,   p_data                        => x_msg_data
1426     );
1427 
1428 
1429 EXCEPTION
1430 
1431     WHEN FND_API.G_EXC_ERROR THEN
1432 
1433         x_return_status := FND_API.G_RET_STS_ERROR;
1434 
1435         --  Get message count and data
1436 
1437         FND_MSG_PUB.Count_And_Get
1438         (   p_count                       => x_msg_count
1439         ,   p_data                        => x_msg_data
1440         );
1441 
1442     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1443 
1444         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1445 
1446         --  Get message count and data
1447 
1448         FND_MSG_PUB.Count_And_Get
1449         (   p_count                       => x_msg_count
1450         ,   p_data                        => x_msg_data
1451         );
1452 
1453     WHEN OTHERS THEN
1454 
1455         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1456 
1457         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1458         THEN
1459             FND_MSG_PUB.Add_Exc_Msg
1460             (   G_PKG_NAME
1461             ,   'Process_Flow_Schedule'
1462             );
1463         END IF;
1464 
1465         --  Get message count and data
1466 
1467         FND_MSG_PUB.Count_And_Get
1468         (   p_count                       => x_msg_count
1469         ,   p_data                        => x_msg_data
1470         );
1471 
1472 END Process_Flow_Schedule;
1473 
1474 --  Start of Comments
1475 --  API name    Lock_Flow_Schedule
1476 --  Type        Private
1477 --  Function
1478 --
1479 --  Pre-reqs
1480 --
1481 --  Parameters
1482 --
1483 --  Version     Current version = 1.0
1484 --              Initial version = 1.0
1485 --
1486 --  Notes
1487 --
1488 --  End of Comments
1489 
1490 
1491 PROCEDURE Lock_Flow_Schedule
1492 (   p_api_version_number            IN  NUMBER
1493 ,   p_init_msg_list                 IN  VARCHAR2 := NULL
1494 ,   x_return_status                 OUT NOCOPY VARCHAR2
1495 ,   x_msg_count                     OUT NOCOPY NUMBER
1496 ,   x_msg_data                      OUT NOCOPY VARCHAR2
1497 ,   p_flow_schedule_rec             IN  MRP_Flow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type
1498 ,   x_flow_schedule_rec             IN  OUT NOCOPY MRP_Flow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type
1499 )
1500 IS
1501 l_api_version_number          CONSTANT NUMBER := 1.0;
1502 l_api_name                    CONSTANT VARCHAR2(30):= 'Lock_Flow_Schedule';
1503 l_return_status               VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1504 BEGIN
1505 
1506     --  Standard call to check for call compatibility
1507 
1508     IF NOT FND_API.Compatible_API_Call
1509            (   l_api_version_number
1510            ,   p_api_version_number
1511            ,   l_api_name
1512            ,   G_PKG_NAME
1513            )
1514     THEN
1515         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1516     END IF;
1517 
1518     --  Initialize message list.
1519 
1520     IF FND_API.to_Boolean(NVL(p_init_msg_list,FND_API.G_FALSE)) THEN
1521         FND_MSG_PUB.initialize;
1522     END IF;
1523 
1524     --  Set Savepoint
1525 
1526     SAVEPOINT Lock_Flow_Schedule_PVT;
1527 
1528     --  Lock flow_schedule
1529 
1530     IF p_flow_schedule_rec.operation = MRP_GLOBALS.G_OPR_LOCK THEN
1531 
1532         MRP_Flow_Schedule_Util.Lock_Row
1533         (   p_flow_schedule_rec           => p_flow_schedule_rec
1534         ,   x_flow_schedule_rec           => x_flow_schedule_rec
1535         ,   x_return_status               => l_return_status
1536         );
1537 
1538         IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1539             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1540         ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1541             RAISE FND_API.G_EXC_ERROR;
1542         END IF;
1543 
1544 
1545     END IF;
1546 
1547     --  Set return status
1548 
1549     x_return_status := FND_API.G_RET_STS_SUCCESS;
1550 
1551     --  Get message count and data
1552 
1553     FND_MSG_PUB.Count_And_Get
1554     (   p_count                       => x_msg_count
1555     ,   p_data                        => x_msg_data
1556     );
1557 
1558 
1559 EXCEPTION
1560 
1561     WHEN FND_API.G_EXC_ERROR THEN
1562 
1563         x_return_status := FND_API.G_RET_STS_ERROR;
1564 
1565         --  Get message count and data
1566 
1567         FND_MSG_PUB.Count_And_Get
1568         (   p_count                       => x_msg_count
1569         ,   p_data                        => x_msg_data
1570         );
1571 
1572         --  Rollback
1573 
1574         ROLLBACK TO Lock_Flow_Schedule_PVT;
1575 
1576     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1577 
1578         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1579 
1580         --  Get message count and data
1581 
1582         FND_MSG_PUB.Count_And_Get
1583         (   p_count                       => x_msg_count
1584         ,   p_data                        => x_msg_data
1585         );
1586 
1587         --  Rollback
1588 
1589         ROLLBACK TO Lock_Flow_Schedule_PVT;
1590 
1591     WHEN OTHERS THEN
1592 
1593         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1594 
1595         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1596         THEN
1597             FND_MSG_PUB.Add_Exc_Msg
1598             (   G_PKG_NAME
1599             ,   'Lock_Flow_Schedule'
1600             );
1601         END IF;
1602 
1603         --  Get message count and data
1604 
1605         FND_MSG_PUB.Count_And_Get
1606         (   p_count                       => x_msg_count
1607         ,   p_data                        => x_msg_data
1608         );
1609 
1610         --  Rollback
1611 
1612         ROLLBACK TO Lock_Flow_Schedule_PVT;
1613 
1614 END Lock_Flow_Schedule;
1615 
1616 --  Start of Comments
1617 --  API name    Get_Flow_Schedule
1618 --  Type        Private
1619 --  Function
1620 --
1621 --  Pre-reqs
1622 --
1623 --  Parameters
1624 --
1625 --  Version     Current version = 1.0
1626 --              Initial version = 1.0
1627 --
1628 --  Notes
1629 --
1630 --  End of Comments
1631 
1632 /*
1633 Enhancement : 2665434
1634 Description : Changed x_flow_schedule_rec and l_flow_schedule_rec to be of
1635 MRP_FLow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type
1636 */
1637 
1638 PROCEDURE Get_Flow_Schedule
1639 (   p_api_version_number            IN  NUMBER
1640 ,   p_init_msg_list                 IN  VARCHAR2 := NULL
1641 ,   x_return_status                 OUT NOCOPY VARCHAR2
1642 ,   x_msg_count                     OUT NOCOPY NUMBER
1643 ,   x_msg_data                      OUT NOCOPY VARCHAR2
1644 ,   p_wip_entity_id                 IN  NUMBER
1645 ,   x_flow_schedule_rec             OUT NOCOPY MRP_Flow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type
1646 )
1647 IS
1648 l_api_version_number          CONSTANT NUMBER := 1.0;
1649 l_api_name                    CONSTANT VARCHAR2(30):= 'Get_Flow_Schedule';
1650 l_flow_schedule_rec           MRP_Flow_Schedule_PVT.Flow_Schedule_PVT_Rec_Type;
1651 BEGIN
1652 
1653     --  Standard call to check for call compatibility
1654 
1655     IF NOT FND_API.Compatible_API_Call
1656            (   l_api_version_number
1657            ,   p_api_version_number
1658            ,   l_api_name
1659            ,   G_PKG_NAME
1660            )
1661     THEN
1662         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1663     END IF;
1664 
1665     --  Initialize message list.
1666 
1667     IF FND_API.to_Boolean(NVL(p_init_msg_list,FND_API.G_FALSE)) THEN
1668         FND_MSG_PUB.initialize;
1669     END IF;
1670 
1671     --  Get flow_schedule ( parent = flow_schedule )
1672 
1673     l_flow_schedule_rec :=  MRP_Flow_Schedule_Util.Query_Row
1674     (   p_wip_entity_id       => p_wip_entity_id
1675     );
1676 
1677     --  Load out parameters
1678 
1679     x_flow_schedule_rec            := l_flow_schedule_rec;
1680 
1681     --  Set return status
1682 
1683     x_return_status := FND_API.G_RET_STS_SUCCESS;
1684 
1685     --  Get message count and data
1686 
1687     FND_MSG_PUB.Count_And_Get
1688     (   p_count                       => x_msg_count
1689     ,   p_data                        => x_msg_data
1690     );
1691 
1692 
1693 EXCEPTION
1694 
1695     WHEN FND_API.G_EXC_ERROR THEN
1696 
1697         x_return_status := FND_API.G_RET_STS_ERROR;
1698 
1699         --  Get message count and data
1700 
1701         FND_MSG_PUB.Count_And_Get
1702         (   p_count                       => x_msg_count
1703         ,   p_data                        => x_msg_data
1704         );
1705 
1706     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1707 
1708         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1709 
1710         --  Get message count and data
1711 
1712         FND_MSG_PUB.Count_And_Get
1713         (   p_count                       => x_msg_count
1714         ,   p_data                        => x_msg_data
1715         );
1716 
1717     WHEN OTHERS THEN
1718 
1719         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1720 
1721         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1722         THEN
1723             FND_MSG_PUB.Add_Exc_Msg
1724             (   G_PKG_NAME
1725             ,   'Get_Flow_Schedule'
1726             );
1727         END IF;
1728 
1729         --  Get message count and data
1730 
1731         FND_MSG_PUB.Count_And_Get
1732         (   p_count                       => x_msg_count
1733         ,   p_data                        => x_msg_data
1734         );
1735 
1736 END Get_Flow_Schedule;
1737 
1738 END MRP_Flow_Schedule_PVT;