[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;