[Home] [Help]
PACKAGE: APPS.RLM_RD_SV
Source
1 PACKAGE RLM_RD_SV AUTHID CURRENT_USER as
2 /*$Header: RLMDPRDS.pls 120.2.12010000.2 2008/07/30 12:51:01 sunilku ship $*/
3 --<TPA_PUBLIC_NAME=RLM_TPA_SV>
4 --<TPA_PUBLIC_FILE_NAME=RLMTPDP>
5
6 /*===========================================================================
7 PACKAGE NAME: RLM_RD_SV
8
9 DESCRIPTION: Contains the server side code for reconcile demand API
10 of RLA Demand Processor.
11
12 CLIENT/SERVER: Server
13
14 LIBRARY NAME: None
15
16 OWNER: abkulkar
17
18 PROCEDURE/FUNCTIONS:
19
20 GLOBALS:
21
22 =========================================================================== */
23
24
25 TYPE t_Cursor_ref IS REF CURSOR;
26
27 TYPE t_Generic_rec IS RECORD(
28 customer_id NUMBER,
29 customer_item_id NUMBER,
30 inventory_item_id NUMBER,
31 header_id NUMBER,
32 line_id NUMBER,
33 -- we need these 2 columns to pass to OE the scheduleheader and line details
34 schedule_header_id NUMBER,
35 schedule_line_id NUMBER,
36 bill_to_address_id NUMBER,
37 intmed_ship_to_org_id NUMBER,
38 intrmd_ship_to_id NUMBER,
39 invoice_to_org_id NUMBER,
40 operation VARCHAR2(30),
41 order_header_id NUMBER,
42 ordered_quantity NUMBER,
43 shipped_quantity NUMBER,
44 primary_quantity rlm_interface_lines.primary_quantity%TYPE,
45 schedule_item_number NUMBER,
46 ship_from_org_id rlm_interface_lines.ship_from_org_id%TYPE,
47 ship_to_address_id NUMBER,
48 ship_to_org_id NUMBER,
49 schedule_type rlm_interface_headers.schedule_type%TYPE,
50 price_list_id rlm_interface_lines.price_list_id%TYPE,
51 agreement_id rlm_interface_lines.agreement_id%TYPE,
52 item_detail_type rlm_interface_lines.item_detail_type%TYPE,
53 item_detail_subtype rlm_interface_lines.item_detail_subtype%TYPE,
54 supplier_item_ext rlm_interface_lines.supplier_item_ext%TYPE,
55 customer_item_ext rlm_interface_lines.customer_item_ext%TYPE,
56 delivery_lead_time rlm_interface_lines.delivery_lead_time%TYPE,
57 cust_po_number rlm_interface_lines.cust_po_number%TYPE,
58 customer_item_revision rlm_interface_lines.customer_item_revision%TYPE,
59 customer_dock_code rlm_interface_lines.customer_dock_code%TYPE,
60 customer_job rlm_interface_lines.customer_job%TYPE,
61 cust_production_line rlm_interface_lines.cust_production_line%TYPE,
62 cust_model_serial_number rlm_interface_lines.cust_model_serial_number%TYPE,
63 cust_production_seq_num rlm_interface_lines.cust_production_seq_num%TYPE,
64 industry_attribute1 rlm_interface_lines.industry_attribute1%TYPE,
65 industry_attribute2 rlm_interface_lines.industry_attribute2%TYPE,
66 industry_attribute3 rlm_interface_lines.industry_attribute3%TYPE,
67 industry_attribute4 rlm_interface_lines.industry_attribute4%TYPE,
68 industry_attribute5 rlm_interface_lines.industry_attribute5%TYPE,
69 industry_attribute6 rlm_interface_lines.industry_attribute6%TYPE,
70 industry_attribute7 rlm_interface_lines.industry_attribute7%TYPE,
71 industry_attribute8 rlm_interface_lines.industry_attribute8%TYPE,
72 industry_attribute9 rlm_interface_lines.industry_attribute9%TYPE,
73 industry_attribute10 rlm_interface_lines.industry_attribute10%TYPE,
74 industry_attribute11 rlm_interface_lines.industry_attribute11%TYPE,
75 industry_attribute12 rlm_interface_lines.industry_attribute12%TYPE,
76 industry_attribute13 rlm_interface_lines.industry_attribute13%TYPE,
77 industry_attribute14 rlm_interface_lines.industry_attribute14%TYPE,
78 industry_attribute15 rlm_interface_lines.industry_attribute15%TYPE,
79 industry_context rlm_interface_lines.industry_context%TYPE,
80 attribute1 rlm_interface_lines.attribute1%TYPE,
81 attribute2 rlm_interface_lines.attribute2%TYPE,
82 attribute3 rlm_interface_lines.attribute3%TYPE,
83 attribute4 rlm_interface_lines.attribute4%TYPE,
84 attribute5 rlm_interface_lines.attribute5%TYPE,
85 attribute6 rlm_interface_lines.attribute6%TYPE,
86 attribute7 rlm_interface_lines.attribute7%TYPE,
87 attribute8 rlm_interface_lines.attribute8%TYPE,
88 attribute9 rlm_interface_lines.attribute9%TYPE,
89 attribute10 rlm_interface_lines.attribute10%TYPE,
90 attribute11 rlm_interface_lines.attribute11%TYPE,
91 attribute12 rlm_interface_lines.attribute12%TYPE,
92 attribute13 rlm_interface_lines.attribute13%TYPE,
93 attribute14 rlm_interface_lines.attribute14%TYPE,
94 attribute15 rlm_interface_lines.attribute15%TYPE,
95 attribute_category rlm_interface_lines.attribute_category%TYPE,
96 tp_attribute1 rlm_interface_lines.tp_attribute1%TYPE,
97 tp_attribute2 rlm_interface_lines.tp_attribute2%TYPE,
98 tp_attribute3 rlm_interface_lines.tp_attribute3%TYPE,
99 tp_attribute4 rlm_interface_lines.tp_attribute4%TYPE,
100 tp_attribute5 rlm_interface_lines.tp_attribute5%TYPE,
101 tp_attribute6 rlm_interface_lines.tp_attribute6%TYPE,
102 tp_attribute7 rlm_interface_lines.tp_attribute7%TYPE,
103 tp_attribute8 rlm_interface_lines.tp_attribute8%TYPE,
104 tp_attribute9 rlm_interface_lines.tp_attribute9%TYPE,
105 tp_attribute10 rlm_interface_lines.tp_attribute10%TYPE,
106 tp_attribute11 rlm_interface_lines.tp_attribute11%TYPE,
107 tp_attribute12 rlm_interface_lines.tp_attribute12%TYPE,
108 tp_attribute13 rlm_interface_lines.tp_attribute13%TYPE,
109 tp_attribute14 rlm_interface_lines.tp_attribute14%TYPE,
110 tp_attribute15 rlm_interface_lines.tp_attribute15%TYPE,
111 tp_attribute_category rlm_interface_lines.tp_attribute_category%TYPE,
112 request_date rlm_interface_lines.request_date%TYPE,
113 schedule_date rlm_interface_lines.schedule_date%TYPE,
114 uom_code rlm_interface_lines.uom_code%TYPE,
115 authorized_to_ship_flag oe_order_lines.authorized_to_ship_flag%TYPE,
116 shipment_flag VARCHAR2(30),
117 item_identifier_type VARCHAR2(25),
118 process_status rlm_interface_lines.process_status%TYPE,
119 cust_po_line_num rlm_interface_lines.cust_po_line_num%TYPE,
120 blanket_number rlm_interface_lines.blanket_number%TYPE
121 );
122
123 TYPE t_consume_rec IS RECORD( line_id NUMBER,
124 quantity NUMBER);
125
126 TYPE t_consume_tab IS TABLE OF t_consume_rec
127 INDEX BY BINARY_INTEGER;
128
129 TYPE t_matching_line IS TABLE OF NUMBER
130 INDEX BY BINARY_INTEGER;
131
132 TYPE t_Generic_tab IS TABLE OF t_Generic_rec
133 INDEX BY BINARY_INTEGER;
134
135 TYPE t_Qty_rec IS RECORD(
136 available_to_cancel NUMBER,
137 unshipped NUMBER,
138 reconcile NUMBER,
139 shipped NUMBER,
140 picked NUMBER,
141 backordered NUMBER,
142 ordered NUMBER
143 );
144
145 TYPE t_Key_rec IS RECORD(
146 oe_line_id NUMBER,
147 rlm_line_id NUMBER,
148 req_rec t_Generic_rec,
149 dem_rec t_Generic_rec
150 );
151
152 TYPE t_Ship_rec IS RECORD ( --Bugfix 7007638
153 customer_id NUMBER,
154 customer_item_id NUMBER,
155 inventory_item_id NUMBER,
156 ship_from_org_id NUMBER,
157 intrmd_ship_to_address_id NUMBER,
158 ship_to_address_id NUMBER,
159 bill_to_address_id NUMBER,
160 purchase_order_number rlm_interface_lines.cust_po_number%TYPE,
161 primary_quantity NUMBER,
162 item_detail_quantity NUMBER,
163 start_date_time DATE,
164 cust_record_year rlm_interface_lines.industry_attribute1%TYPE,
165 line_id NUMBER
166 );
167
168 TYPE t_Ship_tab IS TABLE OF t_Ship_rec INDEX BY BINARY_INTEGER; --Bugfix 7007638
169
170 k_ORIGINAL CONSTANT VARCHAR2(30) := 'ORIGINAL';
171 k_REPLACE CONSTANT VARCHAR2(30) := 'REPLACE';
172 k_REPLACE_ALL CONSTANT VARCHAR2(30) := 'REPLACE_ALL';
173 k_CHANGE CONSTANT VARCHAR2(30) := 'CHANGE';
174 k_CANCEL CONSTANT VARCHAR2(30) := 'CANCELLATION';
175 k_DELETE CONSTANT VARCHAR2(30) := 'DELETE';
176 k_INSERT CONSTANT VARCHAR2(30) := 'INSERT';
177 k_UPDATE CONSTANT VARCHAR2(30) := 'UPDATE';
178 k_UPDATE_ATTR CONSTANT VARCHAR2(30) := 'UPDATE_ATTR';
179 k_CONFIRMATION CONSTANT VARCHAR2(30) := 'CONFIRMATION';
180 k_ADD CONSTANT VARCHAR2(30) := 'ADD';
181 k_REMAIN_ON_FILE CONSTANT VARCHAR2(80) := 'REMAIN_ON_FILE';
182 -- Bug# 4223359
183 k_REMAIN_ON_FILE_RECONCILE CONSTANT VARCHAR2(80) := 'REMAIN_ON_FILE_RECONCILE';
184 --
185 k_CANCEL_ALL CONSTANT VARCHAR2(80) := 'CANCEL_ALL';
186 k_CANCEL_AFTER_N_DAYS CONSTANT VARCHAR2(80) := 'CANCEL_AFTER_N_DAYS';
187 k_RECEIPT CONSTANT VARCHAR2(80) := 'RECEIPT';
188 k_SHIPMENT CONSTANT VARCHAR2(80) := 'SHIPMENT';
189 k_ACTUAL CONSTANT VARCHAR2(80) := 'ACTUAL';
190 k_PLANNING CONSTANT VARCHAR2(30) := 'PLANNING_RELEASE';
191 k_SHIPPING CONSTANT VARCHAR2(30) := 'SHIPPING';
192 k_SEQUENCED CONSTANT VARCHAR2(30) := 'SEQUENCED';
193 k_RECONCILE CONSTANT BOOLEAN := TRUE;
194 k_NORECONCILE CONSTANT BOOLEAN := FALSE;
195 k_TDEBUG CONSTANT NUMBER := rlm_CORE_SV.C_LEVEL10;
196 k_SDEBUG CONSTANT NUMBER := rlm_CORE_SV.C_LEVEL11;
197 k_DEBUG CONSTANT NUMBER := rlm_CORE_SV.C_LEVEL12;
198 k_VNULL CONSTANT VARCHAR2(25) := 'THIS_IS_A_NULL_VALUE';
199 k_NNULL CONSTANT NUMBER := -19999999999;
200 k_DNULL CONSTANT DATE := to_date('01/01/1930','dd/mm/yyyy');
201 k_ATS CONSTANT VARCHAR2(1) := 'Y';
202 k_NATS CONSTANT VARCHAR2(1) := 'N';
203 k_PAST_DUE_FIRM CONSTANT VARCHAR2(1) := '0';
204 k_FIRM CONSTANT VARCHAR2(1) := '1';
205 k_FORECAST CONSTANT VARCHAR2(1) := '2';
206 -- Bug# 1291145
207 k_MRP_FORECAST CONSTANT VARCHAR2(1) := '6';
208 --
209 k_RECT CONSTANT VARCHAR2(1) := '4';
210 k_AUTH CONSTANT VARCHAR2(1) := '3';
211 k_Weekly CONSTANT VARCHAR2(1) := '2';
212 k_Quarterly CONSTANT VARCHAR2(1) :='5';
213 k_Monthly CONSTANT VARCHAR2(1) :='3';
214 k_Daily CONSTANT VARCHAR2(1) := '1';
215 k_Flexible CONSTANT VARCHAR2(1) := '4';
216 -- Bug# 2124495
217 k_NONE CONSTANT VARCHAR2(80):= 'NONE';
218 --
219 g_Reconcile_tab t_Generic_tab;
220 g_Op_tab t_Generic_tab;
221 --global_atp
222 g_Op_tab_Unschedule t_Generic_tab;
223 g_Accounted_tab t_Generic_tab;
224 --
225 e_group_error EXCEPTION;
226
227 --global_atp
228 g_ATP NUMBER;
229 k_ATP CONSTANT NUMBER := 1;
230 k_NON_ATP CONSTANT NUMBER := 0;
231
232 -- Bug 2729086
233 k_LARGE CONSTANT NUMBER := 9999;
234 --
235 -- For bug 2124495
236 TYPE t_intransit_rec IS RECORD(
237 cust_production_line VARCHAR2(50),
238 customer_dock_code VARCHAR2(50),
239 request_date DATE,
240 schedule_date DATE,
241 cust_po_number VARCHAR2(50),
242 customer_item_revision VARCHAR2(3),
243 customer_job VARCHAR2(50),
244 cust_model_serial_number VARCHAR2(35),
245 cust_production_seq_num VARCHAR2(35),
246 industry_attribute1 VARCHAR2(150),
247 industry_attribute2 VARCHAR2(150),
248 industry_attribute3 VARCHAR2(150),
249 industry_attribute4 VARCHAR2(150),
250 industry_attribute5 VARCHAR2(150),
251 industry_attribute6 VARCHAR2(150),
252 industry_attribute7 VARCHAR2(150),
253 industry_attribute8 VARCHAR2(150),
254 industry_attribute9 VARCHAR2(150),
255 industry_attribute10 VARCHAR2(150),
256 industry_attribute11 VARCHAR2(150),
257 industry_attribute12 VARCHAR2(150),
258 industry_attribute13 VARCHAR2(150),
259 industry_attribute14 VARCHAR2(150),
260 industry_attribute15 VARCHAR2(150),
261 attribute1 VARCHAR2(150),
262 attribute2 VARCHAR2(150),
263 attribute3 VARCHAR2(150),
264 attribute4 VARCHAR2(150),
265 attribute5 VARCHAR2(150),
266 attribute6 VARCHAR2(150),
267 attribute7 VARCHAR2(150),
268 attribute8 VARCHAR2(150),
269 attribute9 VARCHAR2(150),
270 attribute10 VARCHAR2(150),
271 attribute11 VARCHAR2(150),
272 attribute12 VARCHAR2(150),
273 attribute13 VARCHAR2(150),
274 attribute14 VARCHAR2(150),
275 attribute15 VARCHAR2(150),
276 intransit_qty NUMBER
277 );
278
279 TYPE t_Intransit_Tab IS TABLE OF t_Intransit_Rec
280 INDEX BY BINARY_INTEGER;
281
282 g_IntransitTab t_Intransit_Tab;
283 -- 2124495
284
285 TYPE t_Line_Match_Typ IS RECORD(
286 sum_qty NUMBER,
287 match_count NUMBER,
288 lowest_oelineid NUMBER
289 );
290
291 TYPE t_Line_Match_Tab IS TABLE OF t_Line_Match_Typ
292 INDEX BY BINARY_INTEGER;
293
294 --
295 -- Tables to hold bind variable values
296 --
297 g_GetDemandTab RLM_CORE_SV.t_dynamic_tab;
298 g_InitDemandTab RLM_CORE_SV.t_dynamic_tab;
299 g_NewDemandTab RLM_CORE_SV.t_dynamic_tab;
300 g_WhereTab1 RLM_CORE_SV.t_dynamic_tab;
301 g_WhereTab2 RLM_CORE_SV.t_dynamic_tab;
302 g_BindVarTab RLM_CORE_SV.t_dynamic_tab;
303 --
304 -- Bug 3666834 : To indicate that intransit calc. are done for a blanket
305 g_BlktIntransits BOOLEAN := FALSE;
306 --
307 -- Bug4206823
308 g_IsFirm BOOLEAN := FALSE;
309 g_max_rso_hdr_id NUMBER;
310 --
311 g_SourceTab RLM_MANAGE_DEMAND_SV.t_Source_Tab;
312 g_IntransitQty NUMBER := FND_API.G_MISS_NUM;
313 --
314 g_RecCUM_rec RLM_RD_SV.t_Ship_rec; --Bugfix 7007638
315 g_RecCUM_tab RLM_RD_SV.t_Ship_tab; --Bugfix 7007638
316 --
317 -- Bug 3733520 : Record structure used in ProcessOld() to capture sales
318 -- order line attributes
319 --
320 TYPE t_OEDemand_rec IS RECORD (
321 header_id NUMBER,
322 line_id NUMBER,
323 ship_from_org_id oe_order_lines.ship_from_org_id%TYPE,
324 ship_to_org_id oe_order_lines.ship_to_org_id%TYPE,
325 ordered_item_id oe_order_lines.ordered_item_id%TYPE,
326 inventory_item_id oe_order_lines.inventory_item_id%TYPE,
327 invoice_to_org_id oe_order_lines.invoice_to_org_id%TYPE,
328 intmed_ship_to_org_id oe_order_lines.intmed_ship_to_org_id%TYPE,
329 demand_bucket_type_code oe_order_lines.demand_bucket_type_code%TYPE,
330 rla_schedule_type_code oe_order_lines.rla_schedule_type_code%TYPE,
331 authorized_to_ship_flag oe_order_lines.authorized_to_ship_flag%TYPE,
332 orig_ordered_quantity oe_order_lines.ordered_quantity%TYPE,
333 ordered_quantity oe_order_lines.ordered_quantity%TYPE,
334 ordered_item oe_order_lines.ordered_item%TYPE,
335 item_identifier_type oe_order_lines.item_identifier_type%TYPE,
336 item_type_code oe_order_lines.item_type_code%TYPE,
337 blanket_number oe_order_lines.blanket_number%TYPE,
338 customer_line_number oe_order_lines.customer_line_number%TYPE,
339 cust_production_line oe_order_lines.customer_production_line%TYPE,
340 customer_dock_code oe_order_lines.customer_dock_code%TYPE,
341 request_date oe_order_lines.request_date%TYPE,
342 schedule_ship_date oe_order_lines.schedule_ship_date%TYPE,
343 cust_po_number oe_order_lines.cust_po_number%TYPE,
344 customer_item_revision oe_order_lines.item_revision%TYPE,
345 customer_job oe_order_lines.customer_job%TYPE,
346 cust_model_serial_number oe_order_lines.cust_model_serial_number%TYPE,
347 cust_production_seq_num oe_order_lines.cust_production_seq_num%TYPE,
348 industry_attribute1 oe_order_lines.industry_attribute1%TYPE,
349 industry_attribute2 oe_order_lines.industry_attribute2%TYPE,
350 industry_attribute3 oe_order_lines.industry_attribute3%TYPE,
351 industry_attribute4 oe_order_lines.industry_attribute4%TYPE,
352 industry_attribute5 oe_order_lines.industry_attribute5%TYPE,
353 industry_attribute6 oe_order_lines.industry_attribute6%TYPE,
354 industry_attribute7 oe_order_lines.industry_attribute7%TYPE,
355 industry_attribute8 oe_order_lines.industry_attribute8%TYPE,
356 industry_attribute9 oe_order_lines.industry_attribute9%TYPE,
357 industry_attribute10 oe_order_lines.industry_attribute10%TYPE,
358 industry_attribute11 oe_order_lines.industry_attribute11%TYPE,
359 industry_attribute12 oe_order_lines.industry_attribute12%TYPE,
360 industry_attribute13 oe_order_lines.industry_attribute13%TYPE,
361 industry_attribute14 oe_order_lines.industry_attribute14%TYPE,
362 industry_attribute15 oe_order_lines.industry_attribute15%TYPE,
363 attribute1 oe_order_lines.attribute1%TYPE,
364 attribute2 oe_order_lines.attribute2%TYPE,
365 attribute3 oe_order_lines.attribute3%TYPE,
366 attribute4 oe_order_lines.attribute4%TYPE,
367 attribute5 oe_order_lines.attribute5%TYPE,
368 attribute6 oe_order_lines.attribute6%TYPE,
369 attribute7 oe_order_lines.attribute7%TYPE,
370 attribute8 oe_order_lines.attribute8%TYPE,
371 attribute9 oe_order_lines.attribute9%TYPE,
372 attribute10 oe_order_lines.attribute10%TYPE,
373 attribute11 oe_order_lines.attribute11%TYPE,
374 attribute12 oe_order_lines.attribute12%TYPE,
375 attribute13 oe_order_lines.attribute13%TYPE,
376 attribute14 oe_order_lines.attribute14%TYPE,
377 attribute15 oe_order_lines.attribute15%TYPE,
378 end_date_time oe_order_lines.request_date%TYPE,
379 schedule_hierarchy VARCHAR2(30)
380 );
381
382 -- Bug 4351397
383 g_order_rec t_OEDemand_rec;
384
385 /*===========================================================================
386
387 PROCEDURE NAME: RecDemand
388
389 DESCRIPTION: Cover function for Reconcile Demand API
390
391 PARAMETERS: x_InterfaceHeaderId IN NUMBER
392
393 DESIGN REFERENCES: RLADPHLD.rtf
394 RLADPRDD.rtf
395
396 ALGORITHM:
397
398 NOTES:
399
400 OPEN ISSUES:
401
402 CLOSED ISSUES:
403
404 CHANGE HISTORY: created jhaulund 03/05/99
405 ===========================================================================*/
406 PROCEDURE RecDemand(x_InterfaceHeaderId IN NUMBER,
407 x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
408 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
409 x_ReturnStatus OUT NOCOPY NUMBER);
410
411 /*============================================================================
412
413 PROCEDURE NAME: RecGroupDemand
414
415 ============================================================================*/
416
417 PROCEDURE RecGroupDemand(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
418 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
419
420
421 /*===========================================================================
422 PROCEDURE NAME: CallSetups
423
424 DESCRIPTION: This procedure calls rla setups to populate group
425 record with setup informations.
426
427 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
428 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
429
430 DESIGN REFERENCES: RLADPRDD.rtf
431
432 ALGORITHM:
433
434 NOTES:
435
436 OPEN ISSUES:
437
438 CLOSED ISSUES:
439
440 CHANGE HISTORY: created mnandell 03/11/99
441 ===========================================================================*/
442 Procedure CallSetups(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
443 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
444
445
446 /*===========================================================================
447 PROCEDURE NAME: ExecOperations
448
449 DESCRIPTION: This procedure calls process order api using the global
450 operations table loaded in reconcile demand.
451
452 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
453 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
454
455 DESIGN REFERENCES: RLADPRDD.rtf
456
457 ALGORITHM:
458
459 NOTES:
460
461 OPEN ISSUES:
462
463 CLOSED ISSUES:
464
465 CHANGE HISTORY: created jhaulund 03/08/99
466 ===========================================================================*/
467 Procedure ExecOperations(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
468 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
469
470
471 /*===========================================================================
472 PROCEDURE NAME: CancelPreHorizonNATS
473
474 DESCRIPTION: This procedure cancels prehorizon demand which are not authorized
475 to ship for the current schedule item
476
477 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
478 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
479
480 DESIGN REFERENCES: RLADPRDD.rtf
481
482 ALGORITHM:
483
484 NOTES:
485
486 OPEN ISSUES:
487
488 CLOSED ISSUES:
489
490 CHANGE HISTORY: created jhaulund 03/08/99
491 ===========================================================================*/
492 Procedure CancelPreHorizonNATS(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
493 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
494
495
496 /*===========================================================================
497 PROCEDURE NAME: SynchronizeShipments
498
499 DESCRIPTION: This procedure fetches information about supplier shipments
500 which took place after the last customer recognized shipment
501 to ship for the current schedule item
502
503 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
504 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
505
506 DESIGN REFERENCES: RLADPRDD.rtf
507
508 ALGORITHM:
509
510 NOTES:
511
512 OPEN ISSUES:
513
514 CLOSED ISSUES:
515
516 CHANGE HISTORY: created jhaulund 03/08/99
517 ===========================================================================*/
518 Procedure SynchronizeShipments(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
519 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
520 --<TPA_PUBLIC_NAME>
521
522
523 /*===========================================================================
524 PROCEDURE NAME: ProcessPreHorizonATS
525
526 DESCRIPTION: This procedure processes pre-horizon firm demand.
527
528 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
529 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
530
531 DESIGN REFERENCES: RLADPRDD.rtf
532
533 ALGORITHM:
534
535 NOTES:
536
537 OPEN ISSUES:
538
539 CLOSED ISSUES:
540
541 CHANGE HISTORY: created jhaulund 03/08/99
542 ===========================================================================*/
543 Procedure ProcessPreHorizonATS(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
544 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
545 --<TPA_PUBLIC_NAME>
546
547
548 /*===========================================================================
549 PROCEDURE NAME: ProcessNATS
550
551 DESCRIPTION: This procedure will process incoming requirements which are
552 not authorized to ship.
553
554 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
555 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
556
557 DESIGN REFERENCES: RLADPRDD.rtf
558
559 ALGORITHM:
560
561 NOTES:
562
563 OPEN ISSUES:
564
565 CLOSED ISSUES:
566
567 CHANGE HISTORY: created jhaulund 03/08/99
568 ===========================================================================*/
569 Procedure ProcessNATS(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
570 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
571 --<TPA_PUBLIC_NAME>
572
573
574 /*===========================================================================
575 PROCEDURE NAME: ProcessATS
576
577 DESCRIPTION: This procedure will process incoming firm requirements
578
579 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
580 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
581
582 DESIGN REFERENCES: RLADPRDD.rtf
583
584 ALGORITHM:
585
586 NOTES:
587
588 OPEN ISSUES:
589
590 CLOSED ISSUES:
591
592 CHANGE HISTORY: created jhaulund 03/08/99
593 ===========================================================================*/
594 Procedure ProcessATS(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
595 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
596 --<TPA_PUBLIC_NAME>
597
598
599 /*===========================================================================
600 FUNCTION NAME: ProcessConstraint
601
602 DESCRIPTION: This function will check for processing constraints within
603 OE.
604
605 PARAMETERS: x_Key_rec IN t_Key_rec
606 x_Qty_rec OUT NOCOPY t_Qty_rec
607 x_Operation IN VARCHAR2
608 x_OperationQty IN NUMBER
609
610 DESIGN REFERENCES: RLADPRDD.rtf
611
612 ALGORITHM:
613
614 NOTES:
615
616 OPEN ISSUES:
617
618 CLOSED ISSUES:
619
620 CHANGE HISTORY: created jhaulund 03/08/99
621 ===========================================================================*/
622 FUNCTION ProcessConstraint(x_Key_rec IN RLM_RD_SV.t_Key_rec,
623 x_Qty_rec OUT NOCOPY t_Qty_rec,
624 x_Operation IN VARCHAR2,
625 x_OperationQty IN NUMBER :=0)
626 RETURN BOOLEAN;
627
628
629 /*===========================================================================
630 PROCEDURE NAME: GetQtyRec
631
632 DESCRIPTION: This procedure will retrieve quantity states for a line in OE.
633
634 PARAMETERS: x_Key_rec IN t_Key_rec
635 x_QtyRec OUT NOCOPY t_Qty_rec
636
637 DESIGN REFERENCES: RLADPRDD.rtf
638
639 ALGORITHM:
640
641 NOTES:
642
643 OPEN ISSUES:
644
645 CLOSED ISSUES:
646
647 CHANGE HISTORY: created jhaulund 03/08/99
648 ===========================================================================*/
649 Procedure GetQtyRec(x_Key_rec IN RLM_RD_SV.t_Key_rec,
650 x_Qty_rec OUT NOCOPY t_Qty_rec);
651
652
653 /*===========================================================================
654 PROCEDURE NAME: GetReq
655
656 DESCRIPTION: This procedure will retrieve Requirement attributes from
657 rlm_interface_lines.
658
659 PARAMETERS: x_Key_rec IN OUT NOCOPY t_Key_rec
660
661 DESIGN REFERENCES: RLADPRDD.rtf
662
663 ALGORITHM:
664
665 NOTES:
666
667 OPEN ISSUES:
668
669 CLOSED ISSUES:
670
671 CHANGE HISTORY: created jhaulund 03/08/99
672 ===========================================================================*/
673 Procedure GetReq(x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec);
674
675
676 /*===========================================================================
677 PROCEDURE NAME: DeleteRequirement
678
679 DESCRIPTION: This procedure will delete the passed requirement
680
681 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
682 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
683 x_Key_rec IN OUT NOCOPY t_Key_rec
684 x_Reconcile IN BOOLEAN
685 x_DeleteQty OUT NOCOPY NUMBER
686
687 DESIGN REFERENCES: RLADPRDD.rtf
688
689 ALGORITHM:
690
691 NOTES:
692
693 OPEN ISSUES:
694
695 CLOSED ISSUES:
696
697 CHANGE HISTORY: created jhaulund 03/08/99
698 ===========================================================================*/
699 Procedure DeleteRequirement(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
700 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
701 x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec,
702 x_Reconcile IN BOOLEAN,
703 x_DeleteQty OUT NOCOPY NUMBER);
704
705
706
707 /*===========================================================================
708 PROCEDURE NAME: UpdateRequirement
709
710 DESCRIPTION: This procedure will update the passed demand
711
712 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
713 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
714 x_Key_rec IN t_Key_rec
715 x_Quantity IN NUMBER
716
717 DESIGN REFERENCES: RLADPRDD.rtf
718
719 ALGORITHM:
720
721 NOTES:
722
723 OPEN ISSUES:
724
725 CLOSED ISSUES:
726
727 CHANGE HISTORY: created jhaulund 03/08/99
728 ===========================================================================*/
729 Procedure UpdateRequirement(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
730 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
731 x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec,
732 x_Quantity IN NUMBER);
733
734
735
736 /*===========================================================================
737 PROCEDURE NAME: InsertRequirement
738
739 DESCRIPTION: This procedure will insert the passed requirement
740
741 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
742 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
743 x_Key_rec IN t_Key_rec
744 x_Quantity IN NUMBER
745 x_Reconcile IN BOOLEAN
746
747 DESIGN REFERENCES: RLADPRDD.rtf
748
749 ALGORITHM:
750
751 NOTES:
752
753 OPEN ISSUES:
754
755 CLOSED ISSUES:
756
757 CHANGE HISTORY: created jhaulund 03/08/99
758 ===========================================================================*/
759 Procedure InsertRequirement(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
760 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
761 x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec,
762 x_Reconcile IN BOOLEAN,
763 x_Quantity IN OUT NOCOPY NUMBER);
764 --<TPA_PUBLIC_NAME>
765
766
767
768 /*===========================================================================
769 PROCEDURE NAME: UpdateDemand
770
771 DESCRIPTION: This procedure will update demand for the passed requirement
772
773 PARAMETERS: x_Sched_rec IN t_Sched_type
774 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
775 x_Key_rec IN t_Key_rec
776 x_SumOrderedQty IN NUMBER
777 x_Demand_type IN VARCHAR2
778
779 DESIGN REFERENCES: RLADPRDD.rtf
780
781 ALGORITHM:
782
783 NOTES:
784
785 OPEN ISSUES:
786
787 CLOSED ISSUES:
788
789 CHANGE HISTORY: created jhaulund 03/08/99
790 ===========================================================================*/
791 Procedure UpdateDemand(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
792 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
793 x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec,
794 x_SumOrderedQty IN NUMBER,
795 x_DemandType IN VARCHAR2);
796 --<TPA_PUBLIC_NAME>
797
798
799 /*===========================================================================
800 PROCEDURE NAME: IncreaseDemand
801
802 DESCRIPTION: This procedure will increase demand for the passed requirement
803
804 PARAMETERS: x_Sched_rec IN t_Sched_type
805 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
806 x_Key_rec IN t_Key_rec
807 x_Demand_ref IN OUT NOCOPY t_Cursor_ref
808 x_SumOrderedQty IN NUMBER
809
810 DESIGN REFERENCES: RLADPRDD.rtf
811
812 ALGORITHM:
813
814 NOTES:
815
816 OPEN ISSUES:
817
818 CLOSED ISSUES:
819
820 CHANGE HISTORY: created jhaulund 03/08/99
821 ===========================================================================*/
822 Procedure IncreaseDemand(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
823 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
824 x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec,
825 x_Demand_ref IN OUT NOCOPY RLM_RD_SV.t_Cursor_ref,
826 x_SumOrderedQty IN NUMBER);
827 --<TPA_PUBLIC_NAME>
828
829
830 /*===========================================================================
831 PROCEDURE NAME: DeleteDemand
832
833 DESCRIPTION: This procedure will delete demand for the passed requirement
834
835 PARAMETERS: x_Sched_rec IN t_Sched_type
836 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
837 x_Key_rec IN t_Key_rec
838 x_Demand_ref IN OUT NOCOPY t_Cursor_ref
839
840 DESIGN REFERENCES: RLADPRDD.rtf
841
842 ALGORITHM:
843
844 NOTES:
845
846 OPEN ISSUES:
847
848 CLOSED ISSUES:
849
850 CHANGE HISTORY: created jhaulund 03/08/99
851 ===========================================================================*/
852 Procedure DeleteDemand(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
853 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
854 x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec,
855 x_Demand_ref IN OUT NOCOPY RLM_RD_SV.t_Cursor_ref);
856 --<TPA_PUBLIC_NAME>
857
858
859 /*===========================================================================
860 PROCEDURE NAME: DecreaseDemand
861
862 DESCRIPTION: This procedure will decrease demand for the passed requirement
863
864 PARAMETERS: x_Sched_rec IN t_Sched_type
865 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
866 x_Key_rec IN t_Key_rec
867 x_Demand_ref IN OUT NOCOPY t_Cursor_ref
868 x_SumOrderedQty IN NUMBER
869
870 DESIGN REFERENCES: RLADPRDD.rtf
871
872 ALGORITHM:
873
874 NOTES:
875
876 OPEN ISSUES:
877
878 CLOSED ISSUES:
879
880 CHANGE HISTORY: created jhaulund 03/08/99
881 ===========================================================================*/
882 Procedure DecreaseDemand(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
883 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
884 x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec,
885 x_Demand_ref IN OUT NOCOPY RLM_RD_SV.t_Cursor_ref,
886 x_SumOrderedQty IN NUMBER);
887 --<TPA_PUBLIC_NAME>
888
889
890 /*===========================================================================
891 PROCEDURE NAME: OtherDemand
892
893 DESCRIPTION: This procedure will update demand for the passed requirement
894 where the attributes have changed.
895
896 PARAMETERS: x_Sched_rec IN t_Sched_type
897 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
898 x_Key_rec IN OUT NOCOPY t_Key_rec
899 x_Demand_ref IN OUT NOCOPY t_Cursor_ref
900
901 DESIGN REFERENCES: RLADPRDD.rtf
902
903 ALGORITHM:
904
905 NOTES:
906
907 OPEN ISSUES:
908
909 CLOSED ISSUES:
910
911 CHANGE HISTORY: created jhaulund 03/08/99
912 ===========================================================================*/
913 Procedure OtherDemand(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
914 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
915 x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec,
916 x_Demand_ref IN OUT NOCOPY RLM_RD_SV.t_Cursor_ref);
917 --<TPA_PUBLIC_NAME>
918
919 /*===========================================================================
920 PROCEDURE NAME: CancelRequirement
921
922 DESCRIPTION: This procedure will cancel the passed requirement
923
924 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
925 x_Group_rec IN rlm_dp_sv.t_Group_rec
926 x_Key_rec IN t_Key_rec
927 x_CancelQty IN NUMBER
928
929 DESIGN REFERENCES: RLADPRDD.rtf
930
931 ALGORITHM:
932
933 NOTES:
934
935 OPEN ISSUES:
936
937 CLOSED ISSUES:
938
939 CHANGE HISTORY: created jhaulund 03/08/99
940 ===========================================================================*/
941 Procedure CancelRequirement(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
942 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
943 x_Key_rec IN RLM_RD_SV.t_Key_rec,
944 x_CancelQty IN NUMBER);
945
946
947 /*===========================================================================
948 PROCEDURE NAME: SetOperation
949
950 DESCRIPTION: This procedure will store the operation to be passed to the
951 process order api.
952
953 PARAMETERS: x_Key_rec IN t_Key_rec
954 x_Operation IN VARCHAR2
955 x_Quantity IN NUMBER := NULL
956
957 DESIGN REFERENCES: RLADPRDD.rtf
958
959 ALGORITHM:
960
961 NOTES:
962
963 OPEN ISSUES:
964
965 CLOSED ISSUES:
966
967 CHANGE HISTORY: created jhaulund 03/08/99
968 ===========================================================================*/
969 Procedure SetOperation(x_Key_rec IN RLM_RD_SV.t_Key_rec,
970 x_Operation IN VARCHAR2,
971 x_Quantity IN NUMBER := NULL);
972
973
974 /*===========================================================================
975 FUNCTION NAME: MatchReconcile
976
977 DESCRIPTION: This procedure will match against the reconcile table
978
979 PARAMETERS: x_Group_rec IN rlm_dp_sv.t_Group_rec
980 x_Current_rec IN t_Generic_rec
981 x_Index OUT NOCOPY NUMBER
982
983 DESIGN REFERENCES: RLADPRDD.rtf
984
985 ALGORITHM:
986
987 NOTES:
988
989 OPEN ISSUES:
990
991 CLOSED ISSUES:
992
993 CHANGE HISTORY: created jhaulund 03/08/99
994 ===========================================================================*/
995 Function MatchReconcile(x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
996 x_Current_rec IN t_Generic_rec,
997 x_Index OUT NOCOPY NUMBER)
998 RETURN BOOLEAN;
999
1000
1001 /*===========================================================================
1002 FUNCTION NAME: MatchWithin
1003
1004 DESCRIPTION: This function will check for match within schedule type
1005
1006 PARAMETERS: x_WithinString IN VARCHAR2
1007 x_ColumnName IN VARCHAR2
1008
1009 DESIGN REFERENCES: RLADPRDD.rtf
1010
1011 ALGORITHM:
1012
1013 NOTES:
1014
1015 OPEN ISSUES:
1016
1017 CLOSED ISSUES:
1018
1019 CHANGE HISTORY: created jhaulund 03/08/99
1020 ===========================================================================*/
1021 Function MatchWithin(x_WithinString IN VARCHAR2,
1022 x_ColumnName IN VARCHAR2)
1023 RETURN VARCHAR2;
1024
1025
1026 /*===========================================================================
1027 FUNCTION NAME: MatchAcross
1028
1029 DESCRIPTION: This function will check for match across schedule type
1030
1031 PARAMETERS: x_AcrossString IN VARCHAR2
1032 x_ColumnName IN VARCHAR2
1033
1034 DESIGN REFERENCES: RLADPRDD.rtf
1035
1036 ALGORITHM:
1037
1038 NOTES:
1039
1040 OPEN ISSUES:
1041
1042 CLOSED ISSUES:
1043
1044 CHANGE HISTORY: created jhaulund 03/08/99
1045 ===========================================================================*/
1046 Function MatchAcross(x_AcrossString IN VARCHAR2,
1047 x_ColumnName IN VARCHAR2)
1048 RETURN VARCHAR2;
1049
1050
1051 /*===========================================================================
1052 FUNCTION NAME: AttributeChange
1053
1054 DESCRIPTION: This function checks for an attribute change
1055 between oe demand and incoming requirements
1056
1057 PARAMETERS: x_Key_rec IN t_Key_rec
1058
1059 DESIGN REFERENCES: RLADPRDD.rtf
1060
1061 ALGORITHM:
1062
1063 NOTES:
1064
1065 OPEN ISSUES:
1066
1067 CLOSED ISSUES:
1068
1069 CHANGE HISTORY: created mnandell 30/11/99
1070 ===========================================================================*/
1071 Function AttributeChange(x_Key_rec IN RLM_RD_SV.t_Key_rec)
1072 RETURN BOOLEAN;
1073
1074
1075 /*===========================================================================
1076 PROCEDURE NAME: StoreReconcile
1077
1078 DESCRIPTION: This procedure will store unreconcilable quantities to be
1079 reconciled against incoming requirements.
1080
1081 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
1082 x_Group_rec IN rlm_dp_sv.t_Group_rec
1083 x_Key_rec IN t_Key_rec
1084 x_RecQty IN NUMBER
1085
1086 DESIGN REFERENCES: RLADPRDD.rtf
1087
1088 ALGORITHM:
1089
1090 NOTES:
1091
1092 OPEN ISSUES:
1093
1094 CLOSED ISSUES:
1095
1096 CHANGE HISTORY: created jhaulund 03/08/99
1097 ===========================================================================*/
1098 Procedure StoreReconcile(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1099 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
1100 x_Key_rec IN RLM_RD_SV.t_Key_rec,
1101 x_Quantity IN NUMBER);
1102
1103
1104 /*===========================================================================
1105 PROCEDURE NAME: Reconcile
1106
1107 DESCRIPTION: This procedure will reconcile quantities
1108 of incoming requirements against unreconcilable
1109 demand.
1110
1111 PARAMETERS: x_Group_rec IN rlm_dp_sv.t_Group_rec
1112 x_Key_rec IN OUT NOCOPY t_Key_rec
1113 x_RecQty IN NUMBER
1114
1115 DESIGN REFERENCES: RLADPRDD.rtf
1116
1117 ALGORITHM:
1118
1119 NOTES:
1120
1121 OPEN ISSUES:
1122
1123 CLOSED ISSUES:
1124
1125 CHANGE HISTORY: created jhaulund 03/08/99
1126 ===========================================================================*/
1127 Procedure Reconcile(x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
1128 x_Key_rec IN RLM_RD_SV.t_Key_rec,
1129 x_Quantity IN OUT NOCOPY NUMBER);
1130
1131
1132 /*===========================================================================
1133 PROCEDURE NAME: ProcessOld
1134
1135 DESCRIPTION: This procedure delete demand which is not included on the
1136 incoming schedule.
1137
1138 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
1139 x_Group_rec IN rlm_dp_sv.t_Group_rec
1140
1141 DESIGN REFERENCES: RLADPRDD.rtf
1142
1143 ALGORITHM:
1144
1145 NOTES:
1146
1147 OPEN ISSUES:
1148
1149 CLOSED ISSUES:
1150
1151 CHANGE HISTORY: created jhaulund 03/08/99
1152 ===========================================================================*/
1153 Procedure ProcessOld(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1154 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
1155
1156 --<TPA_PUBLIC_NAME>
1157
1158
1159 /*===========================================================================
1160 PROCEDURE NAME: InitializeSoGroup
1161
1162 DESCRIPTION: This procedure sets up the group cursor, when blankets
1163 are not used
1164
1165 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
1166 x_Group_ref IN OUT NOCOPY t_Cursor_ref
1167
1168 DESIGN REFERENCES: RLADPRDD.rtf
1169
1170 ALGORITHM:
1171
1172 NOTES:
1173
1174 OPEN ISSUES:
1175
1176 CLOSED ISSUES:
1177
1178 CHANGE HISTORY: created jhaulund 03/08/99
1179 ===========================================================================*/
1180 Procedure InitializeSoGroup(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1181 x_Group_ref IN OUT NOCOPY rlm_rd_sv.t_Cursor_ref,
1182 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
1183 --<TPA_PUBLIC_NAME>
1184 -- NOTE: need to add for checking irreconcileable differences
1185 /*===========================================================================
1186 PROCEDURE NAME: CheckRec
1187
1188 DESCRIPTION: This procedure checks for irreconcileable differences and
1189 attempts to reconcile or generates exceptions.
1190
1191 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
1192 x_Group_ref IN OUT NOCOPY t_Cursor_ref
1193
1194 DESIGN REFERENCES: RLADPRDD.rtf
1195
1196 ALGORITHM:
1197
1198 NOTES:
1199
1200 OPEN ISSUES:
1201
1202 CLOSED ISSUES:
1203
1204 CHANGE HISTORY: created jhaulund 03/08/99
1205 ===========================================================================
1206 Procedure CheckRec(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1207 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
1208 */
1209
1210
1211 /*===========================================================================
1212 PROCEDURE NAME: InitializeReq
1213
1214 DESCRIPTION: This procedure sets up the requirements cursor.
1215
1216 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
1217 x_Group_rec IN rlm_dp_sv.t_Group_rec
1218 x_Req_ref IN OUT NOCOPY t_Cursor_ref
1219 x_ReqType IN VARCHAR2
1220
1221 DESIGN REFERENCES: RLADPRDD.rtf
1222
1223 ALGORITHM:
1224
1225 NOTES:
1226
1227 OPEN ISSUES:
1228
1229 CLOSED ISSUES:
1230
1231 CHANGE HISTORY: created jhaulund 03/08/99
1232 ===========================================================================*/
1233 Procedure InitializeReq(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1234 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
1235 x_Req_ref IN OUT NOCOPY t_Cursor_ref,
1236 x_ReqType IN VARCHAR2);
1237
1238
1239 /*===========================================================================
1240 FUNCTION NAME: FetchGroup
1241
1242 DESCRIPTION: This function fetches next group, when blankets are not used.
1243
1244 PARAMETERS: x_Group_ref IN OUT NOCOPY t_Cursor_ref
1245 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
1246
1247 DESIGN REFERENCES: RLADPRDD.rtf
1248
1249 ALGORITHM:
1250
1251 NOTES:
1252
1253 OPEN ISSUES:
1254
1255 CLOSED ISSUES:
1256
1257 CHANGE HISTORY: created jhaulund 03/08/99
1258 ===========================================================================*/
1259 Function FetchGroup(x_Group_ref IN OUT NOCOPY t_Cursor_ref,
1260 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec)
1261 RETURN BOOLEAN;
1262
1263
1264 /*===========================================================================
1265 FUNCTION NAME: FetchReq
1266
1267 DESCRIPTION: This function fetches next requirement
1268
1269 PARAMETERS: x_Req_ref IN OUT NOCOPY t_Cursor_ref
1270 x_Key_rec IN OUT NOCOPY t_Key_rec
1271 x_oe_line_id OUT NOCOPY NUMBER
1272 x_SumOrderedQty OUT NOCOPY NUMBER
1273 x_ScheduleType OUT NOCOPY VARCHAR2
1274
1275 DESIGN REFERENCES: RLADPRDD.rtf
1276
1277 ALGORITHM:
1278
1279 NOTES:
1280
1281 OPEN ISSUES:
1282
1283 CLOSED ISSUES:
1284
1285 CHANGE HISTORY: created jhaulund 03/08/99
1286 ===========================================================================*/
1287 Function FetchReq(x_Req_ref IN OUT NOCOPY t_Cursor_ref,
1288 x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec,
1289 x_oe_line_id OUT NOCOPY NUMBER,
1290 x_SumOrderedQty OUT NOCOPY NUMBER,
1291 x_ScheduleType OUT NOCOPY VARCHAR2)
1292 RETURN BOOLEAN;
1293
1294
1295 /*===========================================================================
1296 FUNCTION NAME: FetchDemand
1297
1298 DESCRIPTION: This function fetches next demand
1299
1300 PARAMETERS: x_Demand_ref IN OUT NOCOPY t_Cursor_ref
1301 x_Key_rec IN OUT NOCOPY t_Key_rec
1302
1303 DESIGN REFERENCES: RLADPRDD.rtf
1304
1305 ALGORITHM:
1306
1307 NOTES:
1308
1309 OPEN ISSUES:
1310
1311 CLOSED ISSUES:
1312
1313 CHANGE HISTORY: created jhaulund 03/08/99
1314 ===========================================================================*/
1315 Function FetchDemand(x_Demand_ref IN OUT NOCOPY t_Cursor_ref,
1316 x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec)
1317 RETURN BOOLEAN;
1318
1319
1320 /*===========================================================================
1321
1322 FUNCTION NAME: SchedulePrecedence
1323
1324 DESCRIPTION: Check for schedule precedence.
1325
1326 PARAMETERS: x_Group_rec IN rlm_dp_sv.t_Group_rec
1327 x_ScheduleType IN VARCHAR2
1328
1329
1330 DESIGN REFERENCES: RLADPHLD.rtf
1331 RLADPRDD.rtf
1332
1333 ALGORITHM:
1334
1335 NOTES:
1336
1337 OPEN ISSUES:
1338
1339 CLOSED ISSUES:
1340
1341 CHANGE HISTORY: created mnandell 03/09/99
1342 ===========================================================================*/
1343 FUNCTION SchedulePrecedence(x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
1344 x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1345 x_ScheduleType IN VARCHAR2)
1346 RETURN BOOLEAN;
1347
1348 /*===========================================================================
1349
1350 PROCEDURE NAME: StoreShipments
1351
1352 DESCRIPTION: This procedure will store the shipments information in the
1353 reconcile_tab. This shipment information will be useful for
1354 shipment reconciliation
1355
1356 PARAMETERS: x_Group_rec IN rlm_dp_sv.t_Group_rec
1357 x_ScheduleType IN VARCHAR2
1358
1359
1360 DESIGN REFERENCES: RLADPHLD.rtf
1361 RLADPRDD.rtf
1362
1363 ALGORITHM:
1364
1365 NOTES:
1366
1367 OPEN ISSUES:
1368
1369 CLOSED ISSUES:
1370
1371 CHANGE HISTORY: created jhaulund 03/05/99
1372 ===========================================================================*/
1373 PROCEDURE StoreShipments(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1374 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
1375 x_Key_rec IN RLM_RD_SV.t_Key_rec,
1376 x_Quantity IN NUMBER);
1377
1378 /*===========================================================================
1379
1380 PROCEDURE NAME: ReconcileShipments
1381
1382 DESCRIPTION: This procedure will reconcile the shipments withe the new demand
1383 which comes in
1384
1385 PARAMETERS: x_Group_rec IN rlm_dp_sv.t_Group_rec
1386 x_ScheduleType IN VARCHAR2
1387
1388
1389 DESIGN REFERENCES: RLADPHLD.rtf
1390 RLADPRDD.rtf
1391
1392 ALGORITHM:
1393
1394 NOTES:
1395
1396 OPEN ISSUES:
1397
1398 CLOSED ISSUES:
1399
1400 CHANGE HISTORY: created jhaulund 03/05/99
1401 ===========================================================================*/
1402 PROCEDURE ReconcileShipments(x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
1403 x_Key_rec IN RLM_RD_SV.t_Key_rec,
1404 x_Quantity IN OUT NOCOPY NUMBER);
1405 --<TPA_PUBLIC_NAME>
1406
1407
1408 /*===========================================================================
1409
1410 FUNCTION NAME: MatchShipments
1411
1412 DESCRIPTION: Check to see if the current_rec line matches the shipment info in
1413 reconcile tab
1414
1415 PARAMETERS: x_Group_rec IN rlm_dp_sv.t_Group_rec
1416 x_ScheduleType IN VARCHAR2
1417
1418
1419 DESIGN REFERENCES: RLADPHLD.rtf
1420 RLADPRDD.rtf
1421
1422 ALGORITHM:
1423
1424 NOTES:
1425
1426 OPEN ISSUES:
1427
1428 CLOSED ISSUES:
1429
1430 CHANGE HISTORY: created jhaulund 03/05/99
1431 ===========================================================================*/
1432 FUNCTION MatchShipments(x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
1433 x_Current_rec IN RLM_RD_SV.t_Generic_rec,
1434 x_Index OUT NOCOPY NUMBER)
1435 RETURN BOOLEAN;
1436 --<TPA_PUBLIC_NAME>
1437
1438
1439 /*===========================================================================
1440
1441 FUNCTION NAME: IsLineConsumable
1442
1443 DESCRIPTION: returns true if the line is consumable i.e teh line is not
1444 part of the x_consume_tab
1445 If it is part of the consume tab then the line should not
1446 be used for consumption
1447
1448 PARAMETERS: x_Group_rec IN rlm_dp_sv.t_Group_rec
1449 x_ScheduleType IN VARCHAR2
1450
1451
1452 DESIGN REFERENCES: RLADPHLD.rtf
1453 RLADPRDD.rtf
1454
1455 ALGORITHM:
1456
1457 NOTES:
1458
1459 OPEN ISSUES:
1460
1461 CLOSED ISSUES:
1462
1463 CHANGE HISTORY: created jhaulund 03/05/99
1464 ===========================================================================*/
1465
1466 FUNCTION IsLineConsumable(x_consume_tab IN t_consume_tab,
1467 x_line_id IN RLM_INTERFACE_LINES.LINE_ID%TYPE,
1468 x_index OUT NOCOPY NUMBER)
1469 RETURN BOOLEAN;
1470
1471 /*===========================================================================
1472
1473 PROCEDURE NAME: UpdateGroupStatus
1474
1475 DESCRIPTION: Updates the process status to x_status for the entire
1476 group passed in with the x_group_rec
1477
1478 PARAMETERS: x_Group_rec IN rlm_dp_sv.t_Group_rec
1479 x_header_id IN NUMBER,
1480 x_ScheduleHeaderId IN NUMBER,
1481 x_status IN NUMBER
1482
1483
1484
1485 DESIGN REFERENCES: RLADPHLD.rtf
1486 RLADPRDD.rtf
1487
1488 ALGORITHM:
1489
1490 NOTES:
1491
1492 OPEN ISSUES:
1493
1494 CLOSED ISSUES:
1495
1496 CHANGE HISTORY: created mnandell 03/05/99
1497 ===========================================================================*/
1498 PROCEDURE UpdateGroupStatus( x_header_id IN NUMBER,
1499 x_ScheduleHeaderId IN NUMBER,
1500 x_Group_rec IN rlm_dp_sv.t_Group_rec,
1501 x_status IN NUMBER,
1502 x_UpdateLevel IN VARCHAR2 DEFAULT 'GROUP');
1503
1504
1505
1506 /*===========================================================================
1507
1508 PROCEDURE NAME: IsFrozen
1509
1510 DESCRIPTION: Checks whether a lines fall within the frozen fence
1511
1512 PARAMETERS: x_horizon_start_date IN DATE
1513 x_Group_rec IN rlm_dp_sv.t_Group_rec
1514 x_ShipDate IN DATE
1515
1516 DESIGN REFERENCES: RLADPHLD.rtf
1517 RLADPRDD.rtf
1518
1519 ALGORITHM:
1520
1521 NOTES:
1522
1523 OPEN ISSUES:
1524
1525 CLOSED ISSUES:
1526
1527 CHANGE HISTORY: created mnandell 03/05/99
1528 ===========================================================================*/
1529 FUNCTION IsFrozen(x_horizon_start_date IN DATE,
1530 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
1531 x_ShipDate IN DATE)
1532 RETURN BOOLEAN;
1533
1534 /*===========================================================================
1535
1536 PROCEDURE NAME: LockLines
1537
1538 DESCRIPTION: Locks lines
1539
1540 DESIGN REFERENCES: RLADPHLD.rtf
1541 RLADPRDD.rtf
1542
1543 ALGORITHM:
1544
1545 NOTES:
1546
1547 OPEN ISSUES:
1548
1549 CLOSED ISSUES:
1550
1551 CHANGE HISTORY: created mnandell 03/05/99
1552 ===========================================================================*/
1553 FUNCTION LockLines (x_Group_rec IN rlm_dp_sv.t_Group_rec,
1554 x_header_id IN NUMBER)
1555 RETURN BOOLEAN;
1556
1557 /*===========================================================================
1558
1559 PROCEDURE NAME: LockHeaders
1560
1561 DESCRIPTION: Locks headers
1562
1563 DESIGN REFERENCES: RLMDPHLD.rtf
1564 RLMDPRDD.rtf
1565
1566 ALGORITHM:
1567
1568 NOTES:
1569
1570 OPEN ISSUES:
1571
1572 CLOSED ISSUES:
1573
1574 CHANGE HISTORY: created mnandell 03/05/99
1575 ===========================================================================*/
1576 FUNCTION LockHeaders (x_header_id IN NUMBER)
1577 RETURN BOOLEAN;
1578
1579 /*===========================================================================
1580 PROCEDURE NAME: UpdateHeaderStatus
1581
1582 DESCRIPTION: This procedure update the process status for the header
1583
1584 PARAMETERS: x_HeaderId IN NUMBER
1585 x_ScheduleHeaderId IN NUMBER
1586 x_ProcessStatus IN NUMBER
1587
1588 DESIGN REFERENCES: RLADPRDD.rtf
1589
1590 ALGORITHM:
1591
1592 NOTES:
1593
1594 OPEN ISSUES:
1595
1596 CLOSED ISSUES:
1597
1598 CHANGE HISTORY: created mnandell 03/08/99
1599 ===========================================================================*/
1600 PROCEDURE UpdateHeaderStatus(x_HeaderId IN NUMBER,
1601 x_ScheduleHeaderId IN NUMBER,
1602 x_Status IN NUMBER );
1603
1604 /*===========================================================================
1605 PROCEDURE NAME: CheckTolerance
1606
1607 DESCRIPTION: This procedure checks if difference between old
1608 quantity and new quantity is greater than the specified
1609 tolerance.
1610
1611 PARAMETERS: x_CustomerItemId IN NUMBER
1612 x_OldQty IN NUMBER
1613 x_NewQty IN NUMBER
1614 x_DemandTolerancePos IN NUMBER
1615 x_DemandToleranceNeg IN NUMBER
1616 x_DemandLineId IN NUMBER
1617
1618 DESIGN REFERENCES: RLMDPRDD.rtf
1619
1620 ALGORITHM:
1621
1622 NOTES:
1623
1624 OPEN ISSUES:
1625
1626 CLOSED ISSUES:
1627
1628 CHANGE HISTORY: created mnandell 12/15/99
1629 ===========================================================================*/
1630 PROCEDURE CheckTolerance(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1631 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
1632 x_Key_rec IN RLM_RD_SV.t_Key_rec,
1633 x_OldQty IN NUMBER,
1634 x_NewQty IN NUMBER);
1635
1636 /*===========================================================================
1637 FUNCTION NAME: AlreadyUpdated
1638
1639 DESCRIPTION: This function checks if current OE lines that match
1640 incoming schedule lines have previously been updated
1641
1642 PARAMETERS: x_line_id_tab IN t_matching_line
1643
1644 DESIGN REFERENCES: RLMDPRDD.rtf
1645
1646 ALGORITHM:
1647
1648 NOTES:
1649
1650 OPEN ISSUES:
1651
1652 CLOSED ISSUES:
1653
1654 CHANGE HISTORY: created JAUTOMO 05/03/00
1655 ===========================================================================*/
1656 FUNCTION AlreadyUpdated(x_line_id_tab IN t_matching_line)
1657 RETURN BOOLEAN;
1658
1659 /*===========================================================================
1660 PROCEDURE NAME: GetTPContext
1661
1662 DESCRIPTION: This procedure returns the tpcontext.
1663 When this procedure is called from
1664 ProcessPreHorizonATS, ProcessNATS, and
1665 ProcessATS it returns null for x_bill_to_ece_locn_code
1666 and x_inter_ship_to_ece_locn_code
1667
1668 PARAMETERS: x_sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
1669 x_group_rec IN rlm_dp_sv.t_Group_rec
1670 x_req_rec IN t_generic_rec
1671 x_customer_number OUT NOCOPY VARCHAR2
1672 x_ship_to_ece_locn_code OUT NOCOPY VARCHAR2
1673 x_bill_to_ece_locn_code OUT NOCOPY VARCHAR2
1674 x_inter_ship_to_ece_locn_code OUT NOCOPY VARCHAR2
1675 x_tp_group_code OUT NOCOPY VARCHAR2,
1676 x_key_rec IN rlm_rd_sv.t_key_rec DEFAULT NULL
1677 DESIGN REFERENCES:
1678
1679 NOTES:
1680
1681 OPEN ISSUES:
1682 CLOSED ISSUES:
1683
1684 CHANGE HISTORY: bsadri 01/12/00 created
1685 ===========================================================================*/
1686 PROCEDURE GetTPContext(x_sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE DEFAULT NULL,
1687 x_group_rec IN rlm_dp_sv.t_Group_rec DEFAULT NULL,
1688 x_req_rec IN rlm_rd_sv.t_generic_rec DEFAULT NULL,
1689 x_customer_number OUT NOCOPY VARCHAR2,
1690 x_ship_to_ece_locn_code OUT NOCOPY VARCHAR2,
1691 x_bill_to_ece_locn_code OUT NOCOPY VARCHAR2,
1692 x_inter_ship_to_ece_locn_code OUT NOCOPY VARCHAR2,
1693 x_tp_group_code OUT NOCOPY VARCHAR2,
1694 x_key_rec IN rlm_rd_sv.t_key_rec DEFAULT NULL);
1695 --<TPA_TPS>
1696
1697
1698 /*===========================================================================
1699 PROCEDURE NAME: InitializeMatchRec
1700
1701 DESCRIPTION: This procedure uses the processing rules to determine
1702 which optional matching attributes to use when
1703 calculating in-transit quantities.
1704
1705
1706 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
1707 x_Group_rec IN rlm_dp_sv.t_Group_rec
1708 x_match_ref IN OUT NOCOPY t_Cursor_ref
1709
1710 CHANGE HISTORY: rlanka 01/14/02 created
1711 ===========================================================================*/
1712 Procedure InitializeMatchRec(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1713 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
1714 x_match_ref IN OUT NOCOPY t_Cursor_ref);
1715
1716
1717 /*===========================================================================
1718 FUNCTION NAME: FetchMatchRec
1719
1720 DESCRIPTION: This function is used to retrieve the matching
1721 attributes one sub-group at a time. Returns true
1722 if a match_rec was found, else returns false
1723
1724
1725 PARAMETERS: x_match_ref IN OUT NOCOPY t_Cursor_ref
1726 x_opt_match_rec IN OUT NOCOPY WSH_RLM_INTERFACE.t_optional_match_rec
1727
1728 CHANGE HISTORY: rlanka 01/14/02 created
1729 ===========================================================================*/
1730 Function FetchMatchRec(x_match_ref IN OUT NOCOPY t_Cursor_ref,
1731 x_opt_match_rec IN OUT NOCOPY WSH_RLM_INTERFACE.t_optional_match_rec)
1732 RETURN BOOLEAN;
1733
1734
1735 /*===========================================================================
1736 FUNCTION NAME: AlreadyMatched
1737
1738 DESCRIPTION: This function is used to determine if a set of
1739 matching criteria have already been used for
1740 calculation of intransit shipments
1741
1742
1743 PARAMETERS: x_Group_rec IN RLM_DP_SV.t_Group_rec
1744 x_match_rec IN WSH_RLM_INTERFACE.t_optional_match_rec
1745 x_Index OUT NOCOPY NUMBER
1746
1747 CHANGE HISTORY: rlanka 01/14/02 created
1748 ===========================================================================*/
1749 Function AlreadyMatched(x_Group_rec IN OUT NOCOPY RLM_DP_SV.t_Group_rec,
1750 x_match_rec IN WSH_RLM_INTERFACE.t_optional_match_rec,
1751 x_Index OUT NOCOPY NUMBER)
1752 RETURN BOOLEAN;
1753
1754 /*===========================================================================
1755 FUNCTION NAME: MRPOnly
1756
1757 DESCRIPTION: This function is used to determine if the schedule
1758 in process contains only MRP Forecast Requirement.
1759
1760 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
1761 x_Group_rec IN rlm_dp_sv.t_Group_rec
1762
1763 CHANGE HISTORY: jautomo 01/17/02 created
1764 ===========================================================================*/
1765 FUNCTION MRPOnly(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1766 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec)
1767 RETURN BOOLEAN;
1768
1769
1770 /*===========================================================================
1771 PROCEDURE NAME: InsertIntransitMatchRec
1772
1773 DESCRIPTION: This procedure inserts the match_record and the
1774 corresponding in-transit quantity into g_IntransitTab
1775
1776 PARAMETERS: x_match_rec IN WSH_RLM_INTERFACE.t_optional_match_rec
1777 x_Quantity IN NUMBER
1778
1779 CHANGE HISTORY: rlanka 01/14/02 created
1780 ===========================================================================*/
1781 Procedure InsertIntransitMatchRec(x_match_rec IN WSH_RLM_INTERFACE.t_optional_match_rec,
1782 x_Quantity IN NUMBER);
1783
1784
1785 /*===========================================================================
1786 PROCEDURE NAME: InitializeIntransitParam
1787
1788 DESCRIPTION: This procedure sets up the parameters to be passed to
1789 Shipping API to determine in-transit quantities.
1790
1791 DESIGN REFERENCE: intransit.rtf
1792
1793 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
1794 x_Group_rec IN rlm_dp_sv.t_Group_rec
1795 x_intransit_calc_basis IN VARCHAR2
1796 x_Shipper_rec IN OUT NOCOPY WSH_RLM_INTERFACE.t_shipper_rec
1797 x_Shipment_date IN OUT NOCOPY DATE
1798
1799 CHANGE HISTORY: rlanka 01/14/02 created
1800 ===========================================================================*/
1801 Procedure InitializeIntransitParam(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1802 x_Group_rec IN rlm_dp_sv.t_Group_rec,
1803 x_intransit_calc_basis IN VARCHAR2,
1804 x_Shipper_rec IN OUT NOCOPY WSH_RLM_INTERFACE.t_shipper_rec,
1805 x_Shipment_date IN OUT NOCOPY DATE);
1806
1807 /*===========================================================================
1808 PROCEDURE NAME: PrintMatchRec
1809
1810 DESCRIPTION: This procedure prints the match rec. Used solely
1811 for debugging purposes
1812
1813 PARAMETERS: x_opt_match_rec IN WSH_RLM_INTERFACE.t_optional_match_rec
1814
1815 CHANGE HISTORY: rlanka 01/14/02 created
1816 ===========================================================================*/
1817 Procedure PrintMatchRec(x_opt_match_rec IN WSH_RLM_INTERFACE.t_optional_match_rec);
1818
1819 --
1820 -- Blanket Order Procedures
1821 --
1822 /*===========================================================================
1823 PROCEDURE NAME: InitializeBlktGrp
1824
1825 DESCRIPTION: This procedure sets up the group cursor, when blankets
1826 are used.
1827
1828 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
1829 x_Group_ref IN OUT NOCOPY t_Cursor_ref
1830
1831 DESIGN REFERENCES: rlmbldld.rtf
1832
1833 ALGORITHM:
1834
1835 NOTES:
1836
1837 OPEN ISSUES:
1838
1839 CLOSED ISSUES:
1840
1841 CHANGE HISTORY: created rlanka 10/10/02
1842 ===========================================================================*/
1843 Procedure InitializeBlktGrp(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1844 x_Group_ref IN OUT NOCOPY rlm_rd_sv.t_Cursor_ref,
1845 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
1846 --<TPA_PUBLIC_NAME>
1847
1848 /*===========================================================================
1849 FUNCTION NAME: FetchBlktGroup
1850
1851 DESCRIPTION: This function fetches next group, when blankets are used
1852
1853 PARAMETERS: x_Group_ref IN OUT NOCOPY t_Cursor_ref
1854 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
1855
1856 DESIGN REFERENCES: rlmbldld.rtf
1857
1858 ALGORITHM:
1859
1860 NOTES:
1861
1862 OPEN ISSUES:
1863
1864 CLOSED ISSUES:
1865
1866 CHANGE HISTORY: created rlanka 10/11/02
1867 ===========================================================================*/
1868 Function FetchBlktGrp(x_Group_ref IN OUT NOCOPY t_Cursor_ref,
1869 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec)
1870 RETURN BOOLEAN;
1871
1872 /*===========================================================================
1873 PROCEDURE NAME: GetDemand
1874
1875 DESCRIPTION: This procedure will retrieve demand attributes from
1876 oe_order_lines.
1877
1878 PARAMETERS: x_Key_rec IN OUT NOCOPY t_Key_rec
1879
1880 DESIGN REFERENCES: RLADPRDD.rtf
1881
1882 ALGORITHM:
1883
1884 NOTES:
1885
1886 OPEN ISSUES:
1887
1888 CLOSED ISSUES:
1889
1890 CHANGE HISTORY: created jhaulund 03/08/99
1891 ===========================================================================*/
1892 Procedure GetDemand(x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec,
1893 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
1894
1895
1896 /*===========================================================================
1897 PROCEDURE NAME: InitializeDemand
1898
1899 DESCRIPTION: This procedure sets up the demand cursor.
1900
1901 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
1902 x_Group_rec IN rlm_dp_sv.t_Group_rec
1903 x_Key_rec, IN t_Key_rec
1904 x_Demand_ref IN OUT NOCOPY t_Cursor_ref
1905 x_DemandType IN VARCHAR2
1906
1907 DESIGN REFERENCES: RLADPRDD.rtf
1908
1909 ALGORITHM:
1910
1911 NOTES:
1912
1913 OPEN ISSUES:
1914
1915 CLOSED ISSUES:
1916
1917 CHANGE HISTORY: created jhaulund 03/08/99
1918 ===========================================================================*/
1919 Procedure InitializeDemand(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1920 x_Group_rec In OUT NOCOPY rlm_dp_sv.t_Group_rec,
1921 x_Key_rec IN RLM_RD_SV.t_Key_rec,
1922 x_Demand_ref IN OUT NOCOPY t_Cursor_ref,
1923 x_DemandType IN VARCHAR2);
1924
1925
1926 /*=================================================================================
1927 PROCEDURE NAME: BuildMatchQuery
1928
1929 DESCRIPTION: This procedure is called from ProcessATS and ProcessNATS.
1930 Earlier it was a private procedure, now made it public.
1931
1932 PARAMETERS:
1933
1934 DESIGN REFERENCES: RLADPRDD.rtf
1935
1936 CHANGE HISTORY: created jautomo 01/14/02
1937 ==================================================================================*/
1938 PROCEDURE BuildMatchQuery(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1939 x_Group_Rec IN OUT NOCOPY RLM_DP_SV.t_Group_rec,
1940 x_Demand_Type IN VARCHAR2,
1941 x_Sql OUT NOCOPY VARCHAR2,
1942 x_Sql1 OUT NOCOPY VARCHAR2,
1943 x_Sql2 OUT NOCOPY VARCHAR2,
1944 x_Sum_Sql OUT NOCOPY VARCHAR2);
1945 --<TPA_PUBLIC_NAME>
1946
1947
1948 /*==================================================================================
1949 PROCEDURE NAME: ReconcileAction
1950
1951 DESCRIPTION: This procedure is called from ProcessATS and ProcessNATS.
1952 Earlier, it was a private procedure now made it public.
1953
1954 PARAMETERS:
1955
1956 DESIGN REFERENCES: RLADPRDD.rtf
1957
1958 CHANGE HISTORY: created jautomo
1959 ===================================================================================*/
1960 PROCEDURE ReconcileAction(x_sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1961 x_group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
1962 x_key_rec IN OUT NOCOPY RLM_RD_SV.t_key_rec,
1963 x_line_id_tab IN RLM_RD_SV.t_matching_line,
1964 x_DemandCount IN NUMBER,
1965 x_SumOrderedQty IN NUMBER,
1966 x_DemandType IN VARCHAR2);
1967 --<TPA_PUBLIC_NAME>
1968
1969 /*==================================================================================
1970 FUNCTION NAME: BuildBindVarTab3
1971
1972 DESCRIPTION: This function is called from ProcessATS and ProcessNATS.
1973 It takes in three bind variable value tables and concatenates
1974 all of them into one single table to be passed to
1975 RLM_CORE_SV.OpenDynamicCursor
1976
1977 PARAMETERS:
1978
1979 DESIGN REFERENCES: RLADPRDD.rtf
1980
1981 CHANGE HISTORY: created rlanka
1982 ===================================================================================*/
1983 FUNCTION BuildBindVarTab3(p_Tab1 IN RLM_CORE_SV.t_dynamic_tab,
1984 p_Tab2 IN RLM_CORE_SV.t_dynamic_tab,
1985 p_Tab3 IN RLM_CORE_SV.t_dynamic_tab)
1986 RETURN RLM_CORE_SV.t_dynamic_tab;
1987
1988
1989 /*==================================================================================
1990 FUNCTION NAME: BuildBindVarTab5
1991
1992 DESCRIPTION: This function is called from ProcessATS and ProcessNATS.
1993 It takes in five bind variable value tables and concatenates
1994 all of them into one single table to be passed to
1995 RLM_CORE_SV.OpenDynamicCursor
1996
1997 PARAMETERS:
1998
1999 DESIGN REFERENCES: RLADPRDD.rtf
2000
2001 CHANGE HISTORY: created rlanka
2002 ===================================================================================*/
2003 FUNCTION BuildBindVarTab5(p_Tab1 IN RLM_CORE_SV.t_dynamic_tab,
2004 p_Tab2 IN RLM_CORE_SV.t_dynamic_tab,
2005 p_Tab3 IN RLM_CORE_SV.t_dynamic_tab,
2006 p_Tab4 IN RLM_CORE_SV.t_dynamic_tab,
2007 p_Tab5 IN RLM_CORE_SV.t_dynamic_tab)
2008 RETURN RLM_CORE_SV.t_dynamic_tab;
2009
2010
2011 /*==================================================================================
2012 FUNCTION NAME: BuildBindVarTab2
2013
2014 DESCRIPTION: This function is called from ProcessATS and ProcessNATS.
2015 It takes in two bind variable value tables and concatenates
2016 all of them into one single table to be passed to
2017 RLM_CORE_SV.OpenDynamicCursor
2018
2019 PARAMETERS:
2020
2021 DESIGN REFERENCES: RLADPRDD.rtf
2022
2023 CHANGE HISTORY: created rlanka
2024 ===================================================================================*/
2025 FUNCTION BuildBindVarTab2(p_Tab1 IN RLM_CORE_SV.t_dynamic_tab,
2026 p_Tab2 IN RLM_CORE_SV.t_dynamic_tab)
2027 RETURN RLM_CORE_SV.t_dynamic_tab;
2028
2029
2030
2031
2032 /*===========================================================================
2033 PROCEDURE NAME: SourceCUMIntransitQty
2034
2035 DESCRIPTION: This procedure is used to apply sourcing rules to the
2036 intransit quantity (Supplier CUM - Customer CUM) and is
2037 used only when the intransit calculation basis is
2038 Customer CUM and the CUM org level is XXX/All Ship Froms.
2039
2040 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
2041 x_Group_rec IN OUT rlm_dp_sv.t_Group_rec
2042 x_Cum_rec IN RLM_RD_SV.t_Ship_rec --Bugfix 7007638
2043
2044 DESIGN REFERENCES:
2045
2046 ALGORITHM:
2047 (a) Using data in g_SourceTab, split g_IntransitQty into
2048 respective allocations.
2049 (b) Call StoreShipments() to store the sourced intransit quantity
2050 for the current SF org being processed.
2051
2052 OPEN ISSUES:
2053
2054 CLOSED ISSUES:
2055
2056 CHANGE HISTORY: created rlanka 06/21/04
2057 ===========================================================================*/
2058 PROCEDURE SourceCUMIntransitQty(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
2059 x_Group_rec IN OUT NOCOPY RLM_DP_SV.t_Group_rec,
2060 x_Cum_rec IN RLM_RD_SV.t_Ship_rec); --Bugfix 7007638
2061
2062
2063
2064 /*===========================================================================
2065 PROCEDURE NAME: CalculateCUMIntransit
2066
2067 DESCRIPTION: This procedure uses the CUM information on the schedule
2068 in order to calculate the supplier CUM and hence the
2069 intransit quantity (Supplier - Customer CUM). This
2070 is called from within SynchronizeShipments.
2071
2072 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
2073 x_Group_rec IN OUT rlm_dp_sv.t_Group_rec
2074 x_Line_id IN NUMBER --Bugfix 7007638
2075 x_IntransitQty IN NUMBER
2076
2077 DESIGN REFERENCES:
2078
2079 ALGORITHM:
2080 (a) Using CUM information on the schedule, derive the
2081 attributes needed to calculate the CUM key.
2082 (b) Call CUM API to derive the CUM key information.
2083 (c) Calculate Supplier CUM.
2084 (d) Intransit Quantity := Supplier CUM - Customer CUM
2085 (e) Return quantity in (d) as an OUT parameter.
2086
2087 OPEN ISSUES:
2088
2089 CLOSED ISSUES:
2090
2091 CHANGE HISTORY: created rlanka 06/21/04
2092 ===========================================================================*/
2093 PROCEDURE CalculateCUMIntransit(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
2094 x_Group_rec IN OUT NOCOPY RLM_DP_SV.t_Group_rec,
2095 x_Line_id IN NUMBER, --Bugfix 7007638
2096 x_Intransit OUT NOCOPY NUMBER);
2097
2098
2099 /*===========================================================================
2100 PROCEDURE NAME: AssignOEAttribValues
2101
2102 DESCRIPTION: This procedure uses the information in p_OEDemand_rec
2103 structure to populate values for the dem_rec component
2104 of x_Key_rec. This is called from procedure ProcessOld.
2105 and can eventually be used to eliminate calls to GetDemand().
2106
2107 PARAMETERS: x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec
2108 p_OEDemand_rec IN RLM_RD_SV.t_OEDemand_rec
2109
2110
2111 CHANGE HISTORY: created rlanka 06/28/04
2112 ===========================================================================*/
2113 PROCEDURE AssignOEAttribValues(x_Key_rec IN OUT NOCOPY RLM_RD_SV.t_Key_rec,
2114 p_OEDemand_rec IN RLM_RD_SV.t_OEDemand_rec);
2115
2116 --bug4223359
2117
2118 /*===========================================================================
2119 FUNCTION NAME: MatchFrozen
2120
2121 DESCRIPTION: This procedure will match against the reconcile table
2122
2123 PARAMETERS: x_Group_rec IN rlm_dp_sv.t_Group_rec
2124 x_Index2 IN NUMBER
2125 x_Current_rec IN t_Generic_rec
2126 x_Index OUT NOCOPY NUMBER
2127
2128 ALGORITHM:
2129
2130 NOTES:
2131
2132 OPEN ISSUES:
2133
2134 CLOSED ISSUES:
2135
2136 CHANGE HISTORY: created mnandell 03/28/05
2137 ===========================================================================*/
2138 Function MatchFrozen(x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
2139 x_index2 NUMBER,
2140 x_Current_rec IN t_Generic_rec,
2141 x_Index OUT NOCOPY NUMBER)
2142 RETURN BOOLEAN;
2143
2144 /*===========================================================================
2145 PROCEDURE NAME: FrozenFenceWarning
2146
2147 DESCRIPTION: Logs the Aggregate frozen fence message with the net qty
2148 within the frozen fence period.
2149
2150 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
2151 x_Group_rec IN rlm_dp_sv.t_Group_rec
2152
2153 DESIGN REFERENCES:
2154 ALGORITHM:
2155
2156 NOTES:
2157
2158 OPEN ISSUES:
2159
2160 CLOSED ISSUES:
2161
2162 CHANGE HISTORY: created mnandell 03/28/05
2163 ===========================================================================*/
2164 Procedure FrozenFenceWarning(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
2165 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
2166
2167 /*===========================================================================
2168 PROCEDURE NAME: GetMatchAttributes
2169
2170 DESCRIPTION: Get the code Values pair of the matching attributes excluding the request date
2171 Original Customer request Date.
2172
2173 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
2174 x_Group_rec IN rlm_dp_sv.t_Group_rec
2175 x_frozenTabRec IN t_generic_rec,
2176 x_MatAttrCodeValue OUT NOCOPY VARCHAR2
2177
2178 DESIGN REFERENCES:
2179
2180 ALGORITHM:
2181
2182 NOTES:
2183
2184 OPEN ISSUES:
2185
2186 CLOSED ISSUES:
2187
2188 CHANGE HISTORY: created mnandell 03/28/05
2189 ==============================================================================*/
2190
2191 PROCEDURE GetMatchAttributes(x_sched_rec IN rlm_interface_headers%ROWTYPE,
2192 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
2193 x_frozenTabRec IN t_Generic_rec,
2194 x_MatAttrCodeValue OUT NOCOPY VARCHAR2);
2195
2196
2197
2198 /*=====================================================================
2199
2200 PROCEDURE NAME: ProcessReleases
2201
2202
2203 PARAMETERS: x_Sched_rec IN rlm_interface_headers%ROWTYPE
2204 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
2205 x_Processed IN OUT NOCOPY VARCHAR2
2206
2207 DESCRIPTION: This procedure is called from within RecDemand() for
2208 each SF/ST/CI group. For each such group, this procedure
2209 calls RecGroupDemand() if the group has a blanket
2210 number associated with it.
2211
2212 HISTORY: Created rlanka 04/25/2005 (for Bug 4255553)
2213
2214 =======================================================================*/
2215 PROCEDURE ProcessReleases(x_Sched_rec IN rlm_interface_headers%ROWTYPE,
2216 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
2217 x_Processed IN OUT NOCOPY VARCHAR2);
2218
2219 /*===========================================================================
2220 PROCEDURE NAME: AssignMatchAttribValues
2221
2222 DESCRIPTION: This procedure is called from ApplyFFFFences
2223 when RLM_PAST_DUE_DEMAND exception is raised.
2224
2225 PARAMETERS:
2226
2227 DESIGN REFERENCES:
2228
2229 ALGORITHM:
2230
2231 NOTES: Bug 4297984
2232
2233 OPEN ISSUES:
2234
2235 CLOSED ISSUES:
2236
2237 CHANGE HISTORY: created stananth 06/20/05
2238 ===========================================================================*/
2239
2240 PROCEDURE AssignMatchAttribValues ( x_req_rec IN rlm_interface_lines_all%ROWTYPE,
2241 x_match_rec IN OUT NOCOPY RLM_RD_SV.t_generic_rec);
2242
2243 /*============================================================================
2244
2245 PROCEDURE NAME: PopulateReconcileCumRec
2246
2247 PARAMETERS: x_Sched_rec IN rlm_interface_headers%ROWTYPE
2248 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
2249
2250 DESCRIPTION: This procedure is called from within SynchronizeShipments() for
2251 each SF/ST/CI group. This procedure retrieves the cumulative
2252 received/shipped quantity for a particular ship-to and item.
2253
2254 HISTORY: Created sunilku 03/19/2008 (for Bug 7007638)
2255
2256 ============================================================================*/
2257 PROCEDURE PopulateReconcileCumRec(x_Sched_rec IN rlm_interface_headers%ROWTYPE,
2258 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
2259
2260
2261 /*===========================================================================
2262 FUNCTION NAME: Match_PO_RY_Reconcile
2263
2264 DESCRIPTION: This procedure will match against the reconcile table
2265
2266 PARAMETERS: x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec
2267 x_Current_rec IN t_Generic_rec
2268 x_Index OUT NOCOPY NUMBER
2269
2270 HISTORY: created sunilku 04/03/2008 (for Bug 7007638)
2271 ===========================================================================*/
2272 Function Match_PO_RY_Reconcile(x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
2273 x_Current_rec IN t_Generic_rec,
2274 x_Index OUT NOCOPY NUMBER)
2275 RETURN BOOLEAN;
2276
2277 END RLM_RD_SV;