[Home] [Help]
PACKAGE: APPS.RLM_MANAGE_DEMAND_SV
Source
1 PACKAGE RLM_MANAGE_DEMAND_SV AUTHID CURRENT_USER as
2 /* $Header: RLMDPMDS.pls 120.5.12020000.1 2012/06/27 06:48:11 appldev ship $*/
3 --<TPA_PUBLIC_NAME=RLM_TPA_SV>
4 --<TPA_PUBLIC_FILE_NAME=RLMTPDP>
5
6 /*===========================================================================
7 PACKAGE NAME: rlm_manage_demand_sv
8
9 DESCRIPTION: Contains all server side code for the RLM Manage Demand.
10
11 CLIENT/SERVER: Server
12
13 LIBRARY NAME: None
14
15 OWNER: mnandell
16
17 PROCEDURE/FUNCTIONS:
18
19 GLOBALS:
20
21 ============================================================================*/
22
23 TYPE t_match_Tab IS TABLE OF rlm_core_sv.t_match_rec INDEX BY BINARY_INTEGER;
24 TYPE t_Cursor_ref IS REF CURSOR;
25
26 TYPE t_MD_rec IS RECORD (
27 operation_code NUMBER,
28 source_index NUMBER
29 );
30
31 TYPE t_MD_tab IS TABLE OF rlm_interface_lines%ROWTYPE INDEX BY BINARY_INTEGER;
32
33 TYPE t_Number_tab IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
34
35 TYPE t_Ship_rec IS RECORD (
36 customer_id NUMBER,
37 customer_item_id NUMBER,
38 inventory_item_id NUMBER,
39 ship_from_org_id NUMBER,
40 intrmd_ship_to_address_id NUMBER,
41 ship_to_address_id NUMBER,
42 bill_to_address_id NUMBER,
43 purchase_order_number rlm_interface_lines.cust_po_number%TYPE,
44 primary_quantity NUMBER,
45 item_detail_quantity NUMBER, -- Added by JAUTOMO
46 start_date_time DATE,
47 cust_record_year rlm_interface_lines.industry_attribute1%TYPE,
48 line_id NUMBER,
49 found NUMBER
50 );
51
52 -- JAUTOMO: Bug 1689974
53 TYPE t_source_rec IS RECORD( organization_id NUMBER,
54 allocation_percent NUMBER,
55 effective_date DATE, --Bugfix 6051397
56 disable_date DATE); --Bugfix 6051397
57
58 TYPE t_Source_tab IS TABLE OF t_source_rec INDEX BY BINARY_INTEGER;
59 TYPE t_Ship_tab IS TABLE OF t_Ship_rec INDEX BY BINARY_INTEGER; --Bugfix 7007638
60
61 g_AllIntransitQty NUMBER := 0;
62 --
63
64 e_GroupError EXCEPTION;
65 k_INSERT CONSTANT NUMBER := 0;
66 k_UPDATE CONSTANT NUMBER := 1;
67 k_DELETE CONSTANT NUMBER := 2;
68 k_PAST_DUE_FIRM CONSTANT VARCHAR2(1) := '0';
69 k_FIRM_DEMAND CONSTANT VARCHAR2(1) := '1';
70 k_FORECAST_DEMAND CONSTANT VARCHAR2(1) := '2';
71 k_MRP_FORECAST CONSTANT VARCHAR2(1) := '6';
72 k_MRP_DROP_DEMAND CONSTANT VARCHAR2(1) := 'D'; --bug 5208135
73 k_AUTHORIZATION CONSTANT VARCHAR2(1) := '3';
74 k_SHIP_RECEIPT_INFO CONSTANT VARCHAR2(1) := '4';
75 k_OTHER_DETAIL_TYPE CONSTANT VARCHAR2(1) := '5';
76 k_CONFIRMATION CONSTANT VARCHAR2(30) := 'CONFIRMATION';
77 k_ACTUAL CONSTANT VARCHAR2(30) := 'ACTUAL';
78 k_CUMULATIVE CONSTANT VARCHAR2(30) := 'CUMULATIVE';
79 k_CUM CONSTANT VARCHAR2(30) := 'CUM';
80 k_SHIPMENT CONSTANT VARCHAR2(30) := 'SHIPMENT';
81 k_RECEIPT CONSTANT VARCHAR2(30) := 'RECEIPT';
82 k_PLANNING CONSTANT VARCHAR2(30) := 'PLANNING_RELEASE';
83 k_SHIPPING CONSTANT VARCHAR2(30) := 'SHIPPING';
84 k_SEQUENCED CONSTANT VARCHAR2(30) := 'SEQUENCED';
85 k_TRUE CONSTANT NUMBER := 1;
86 k_FALSE CONSTANT NUMBER := 0;
87 k_VNULL CONSTANT VARCHAR2(30) := 'THIS_IS_NULL_VALUE';
88 k_NULL CONSTANT NUMBER := -19999999999;
89 k_DNULL CONSTANT DATE := to_date('01/01/1930','dd/mm/yyyy');
90 C_SDEBUG CONSTANT NUMBER := rlm_core_sv.C_LEVEL7;
91 C_DEBUG CONSTANT NUMBER := rlm_core_sv.C_LEVEL8;
92 C_TDEBUG CONSTANT NUMBER := rlm_core_sv.C_LEVEL9;
93 --
94 k_FIRM CONSTANT VARCHAR2(1) := '1';
95 k_FORECAST CONSTANT VARCHAR2(1) := '2';
96 k_RECT CONSTANT VARCHAR2(1) := '4';
97 -- Bug# 2124495
98 k_NONE CONSTANT VARCHAR2(30):= 'NONE';
99 --
100 k_REQUEST_DATE CONSTANT VARCHAR2(30) := 'REQUEST_DATE,C';
101 k_CUST_PO_NUMBER CONSTANT VARCHAR2(30) := 'CUST_PO_NUMBER,E';
102 k_CUSTOMER_ITEM_REVISION CONSTANT VARCHAR2(30) := 'CUSTOMER_ITEM_REVISION,F';
103 k_CUSTOMER_DOCK_CODE CONSTANT VARCHAR2(30) := 'CUSTOMER_DOCK_CODE,B';
104 k_CUSTOMER_JOB CONSTANT VARCHAR2(30) := 'CUSTOMER_JOB,G';
105 k_CUST_PRODUCTION_LINE CONSTANT VARCHAR2(30) := 'CUSTOMER_PRODUCTION_LINE,A';
106 k_CUST_MODEL_SERIAL_NUMBER CONSTANT VARCHAR2(30) := 'CUST_MODEL_SERIAL_NUMBER,H';
107 k_CUST_PRODUCTION_SEQ_NUM CONSTANT VARCHAR2(30) := 'CUST_PRODUCTION_SEQ_NUM,$';
108 k_INDUSTRY_ATTRIBUTE1 CONSTANT VARCHAR2(30) := 'INDUSTRY_ATTRIBUTE1,I' ;
109 k_INDUSTRY_ATTRIBUTE2 CONSTANT VARCHAR2(30) := 'INDUSTRY_ATTRIBUTE2,J' ;
110 k_INDUSTRY_ATTRIBUTE4 CONSTANT VARCHAR2(30) := 'INDUSTRY_ATTRIBUTE4,K';
111 k_INDUSTRY_ATTRIBUTE5 CONSTANT VARCHAR2(30) := 'INDUSTRY_ATTRIBUTE5,L' ;
112 k_INDUSTRY_ATTRIBUTE6 CONSTANT VARCHAR2(30) := 'INDUSTRY_ATTRIBUTE6,M' ;
113 k_INDUSTRY_ATTRIBUTE10 CONSTANT VARCHAR2(30) := 'INDUSTRY_ATTRIBUTE10,O';
114 k_INDUSTRY_ATTRIBUTE11 CONSTANT VARCHAR2(30) := 'INDUSTRY_ATTRIBUTE11,P';
115 k_INDUSTRY_ATTRIBUTE12 CONSTANT VARCHAR2(30) := 'INDUSTRY_ATTRIBUTE12,Q';
116 k_INDUSTRY_ATTRIBUTE13 CONSTANT VARCHAR2(30) := 'INDUSTRY_ATTRIBUTE13,R';
117 k_INDUSTRY_ATTRIBUTE14 CONSTANT VARCHAR2(30) := 'INDUSTRY_ATTRIBUTE14,S';
118 k_INDUSTRY_ATTRIBUTE15 CONSTANT VARCHAR2(30) := 'INDUSTRY_ATTRIBUTE15,T';
119 k_ATTRIBUTE1 CONSTANT VARCHAR2(30) := 'ATTRIBUTE1,U';
120 k_ATTRIBUTE2 CONSTANT VARCHAR2(30) := 'ATTRIBUTE2,V';
121 k_ATTRIBUTE3 CONSTANT VARCHAR2(30) := 'ATTRIBUTE3,W';
122 k_ATTRIBUTE4 CONSTANT VARCHAR2(30) := 'ATTRIBUTE4,X';
123 k_ATTRIBUTE5 CONSTANT VARCHAR2(30) := 'ATTRIBUTE5,Y';
124 k_ATTRIBUTE6 CONSTANT VARCHAR2(30) := 'ATTRIBUTE6,Z';
125 k_ATTRIBUTE7 CONSTANT VARCHAR2(30) := 'ATTRIBUTE7,1';
126 k_ATTRIBUTE8 CONSTANT VARCHAR2(30) := 'ATTRIBUTE8,2';
127 k_ATTRIBUTE9 CONSTANT VARCHAR2(30) := 'ATTRIBUTE9,3';
128 k_ATTRIBUTE10 CONSTANT VARCHAR2(30) := 'ATTRIBUTE10,4';
129 k_ATTRIBUTE11 CONSTANT VARCHAR2(30) := 'ATTRIBUTE11,5';
130 k_ATTRIBUTE12 CONSTANT VARCHAR2(30) := 'ATTRIBUTE12,6';
131 k_ATTRIBUTE13 CONSTANT VARCHAR2(30) := 'ATTRIBUTE13,7';
132 k_ATTRIBUTE14 CONSTANT VARCHAR2(30) := 'ATTRIBUTE14,8';
133 k_ATTRIBUTE15 CONSTANT VARCHAR2(30) := 'ATTRIBUTE15,9';
134
135 g_ManageDemand_tab t_MD_tab;
136 g_Group_rec rlm_dp_sv.t_Group_rec;
137 g_LastReceipt_rec t_Ship_rec;
138 g_CUM_rec t_Ship_rec;
139 g_CUM_tab t_Ship_tab; --Bugfix 7007638
140
141 e_group_error EXCEPTION;
142
143 -- Bug 3686095 : Record structure to hold the percentage allocation
144 -- of intransit quantities
145 TYPE t_SrcIntransit IS RECORD(organization_id NUMBER,
146 intransit_qty NUMBER);
147 TYPE t_SrcIntransitQtyTab IS TABLE OF t_SrcIntransit INDEX BY BINARY_INTEGER;
148
149 /*===========================================================================
150 PROCEDURE NAME: ManageDemand
151
152 DESCRIPTION: This procedure will be called to manage demand
153 for a particular schedule, and serve as the top level
154 routine from which all other routines will be called.
155
156 PARAMETERS: x_InterfaceHeaderId IN NUMBER
157 x_ReturnStatus OUT NOCOPY VARCHAR2
158
159 DESIGN REFERENCES: rlmdpmdd.rtf
160
161 ALGORITHM:
162
163 NOTES:
164
165 OPEN ISSUES:
166
167 CLOSED ISSUES:
168
169 CHANGE HISTORY: mnandell 8/6/98 created
170 ===========================================================================*/
171 PROCEDURE ManageDemand(x_InterfaceHeaderId IN NUMBER,
172 x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
173 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
174 x_ReturnStatus OUT NOCOPY NUMBER);
175
176 /*===========================================================================
177 PROCEDURE NAME: ManageGroupDemand
178
179 DESCRIPTION: This procedure will be called to manage demand
180 for a particular schedule, and serve as the top level
181 routine from which all other routines will be called.
182
183 PARAMETERS: x_InterfaceHeaderId IN NUMBER
184 x_ReturnStatus OUT NOCOPY VARCHAR2
185
186 DESIGN REFERENCES: rlmdpmdd.rtf
187
188 ALGORITHM:
189
190 NOTES:
191
192 OPEN ISSUES:
193
194 CLOSED ISSUES:
195
196 CHANGE HISTORY: mnandell 8/6/98 created
197 ===========================================================================*/
198 PROCEDURE ManageGroupDemand(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
199 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec,
200 x_ReturnStatus OUT NOCOPY NUMBER);
201
202 /*===========================================================================
203 PROCEDURE NAME: PopulateLastReceiptRec
204
205 DESCRIPTION: This procedure retrieves the last ship receipt rec
206 ord.
207
208 PARAMETERS: x_ScheduleId IN NUMBER
209 x_Group_rec IN t_Group_rec
210 x_LastReceipt_rec OUT NOCOPY t_Ship_rec
211
212 DESIGN REFERENCES: rlmdpmdd.rtf
213
214 ALGORITHM:
215
216 NOTES:
217
218 OPEN ISSUES:
219
220 CLOSED ISSUES:
221
222 CHANGE HISTORY: jhaulund 8/6/98 created
223 ===========================================================================*/
224 PROCEDURE PopulateLastReceiptRec(x_Sched_rec IN rlm_interface_headers%ROWTYPE,
225 x_Group_rec IN rlm_dp_sv.t_Group_rec);
226
227 /*===========================================================================
228 PROCEDURE NAME: PopulateMD
229
230 DESCRIPTION: This procedure retrieves all requirements for a
231 particular ship-from, ship-to, and item.
232
233 PARAMETERS: x_ManageDemand_tab IN OUT NOCOPY t_MD_tab
234 x_Group_rec IN t_Group_rec
235
236 DESIGN REFERENCES: rlmdpmdd.rtf
237
238 ALGORITHM:
239
240 NOTES:
241
242 OPEN ISSUES:
243
244 CLOSED ISSUES:
245
246 CHANGE HISTORY: jhaulund 8/6/98 created
247 ===========================================================================*/
248 PROCEDURE PopulateMD(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
249 x_Group_rec IN rlm_dp_sv.t_Group_rec,
250 x_IncludeCUM IN VARCHAR2 DEFAULT 'N');
251
252
253 /*===========================================================================
254 PROCEDURE NAME: CUMToDiscrete
255
256 DESCRIPTION: This procedure converts CUM quantities to discrete
257 quantities.
258
259 PARAMETERS: x_ManageDemand_tab IN OUT NOCOPY t_MD_tab
260 x_ReceiveShip_rec IN t_Ship_rec
261
262 DESIGN REFERENCES: rlmdpmdd.rtf
263
264 ALGORITHM:
265
266 NOTES:
267
268 OPEN ISSUES:
269
270 CLOSED ISSUES:
271
272 CHANGE HISTORY: jhaulund 8/6/98 created
273 ===========================================================================*/
274 PROCEDURE CUMToDiscrete(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
275 x_Group_rec IN rlm_dp_sv.t_Group_rec);
276 --<TPA_PUBLIC_NAME>
277
278 /*===========================================================================
279 PROCEDURE NAME: PopulateCUMRec
280
281 DESCRIPTION: This procedure retrieves the cumulative
282 received/shipped quantity for a particular ship-to
283 and item.
284
285 PARAMETERS: x_ScheduleId IN NUMBER
286 x_Group_rec IN t_Group_rec
287 x_ReceiveShip_rec OUT NOCOPY t_Ship_rec
288
289
290 DESIGN REFERENCES: rlmdpmdd.rtf
291
292 ALGORITHM:
293
294 NOTES:
295
296 OPEN ISSUES:
297
298 CLOSED ISSUES:
299
300 CHANGE HISTORY: jhaulund 8/6/98 created
301 ===========================================================================*/
302 PROCEDURE PopulateCUMRec(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
303 x_Group_rec IN rlm_dp_sv.t_Group_rec );
304
305 /*===========================================================================
306 PROCEDURE NAME: UOMConversion
307
308 DESCRIPTION: This procedure converts the transaction uom to the
309 customer uom code where required
310
311 PARAMETERS: x_ManageDemand_tab IN OUT NOCOPY t_MD_tab
312 x_Group_rec IN t_Group_rec
313
314 DESIGN REFERENCES: rlmdpmdd.rtf
315
316 ALGORITHM:
317
318 NOTES:
319
320 OPEN ISSUES:
321
322 CLOSED ISSUES:
323
324 CHANGE HISTORY: jhaulund 8/6/98 created
325 ===========================================================================*/
326 PROCEDURE UOMConversion(x_Group_rec IN rlm_dp_sv.t_Group_rec);
327 --<TPA_PUBLIC_NAME>
328
329 /*===========================================================================
330 PROCEDURE NAME: CUMDiscrepancyCheck
331
332 DESCRIPTION: This procedure compares oracle's CUMs to what the
333 customer has sent, and reports any discrepancies.
334
335 PARAMETERS: x_ManageDemand_tab IN OUT NOCOPY t_MD_tab
336 x_LastReceipt_rec IN t_Ship_rec
337 x_ReceiveShip_rec IN t_Ship_rec
338
339 DESIGN REFERENCES: rlmdpmdd.rtf
340
341 ALGORITHM:
342
343 NOTES:
344
345 OPEN ISSUES:
346
347 CLOSED ISSUES:
348
349 CHANGE HISTORY: jhaulund 8/6/98 created
350 ===========================================================================*/
351 PROCEDURE CUMDiscrepancyCheck( x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
352 x_Group_rec IN rlm_dp_sv.t_Group_rec);
353 --<TPA_PUBLIC_NAME>
354
355 /*===========================================================================
356 PROCEDURE NAME: SetOperation
357
358 DESCRIPTION: This procedure sets the operation code for the passed demand record.
359
360 PARAMETERS: x_ManageDemand_rec IN OUT NOCOPY t_MD_rec
361 x_Operation IN NUMBER
362
363 DESIGN REFERENCES: rlmdpmdd.rtf
364
365 ALGORITHM:
366
367 NOTES:
368
369 OPEN ISSUES:
370
371 CLOSED ISSUES:
372
373 CHANGE HISTORY: jhaulund 8/6/98 created
374 ===========================================================================*/
375 PROCEDURE SetOperation(x_ManageDemand_rec IN OUT NOCOPY rlm_interface_lines%ROWTYPE,
376 x_Operation IN NUMBER);
377
378 /*===========================================================================
379 PROCEDURE NAME ApplySourceRules:
380
381 DESCRIPTION: If multiple ship-from locations are defined in
382 RLM_SHIPFR_CUST_ITEMS for a
383 customer item, this procedure will find the
384 appropriate sourcing rules
385 and assign the requirements between multiple
386 warehouses accordingly.
387
388 PARAMETERS: x_ManageDemand_tab IN OUT NOCOPY t_MD_tab
389 x_Group_rec IN t_Group_rec
390
391
392 DESIGN REFERENCES: rlmdpmdd.rtf
393
394 ALGORITHM:
395
396 NOTES:
397
398 OPEN ISSUES:
399
400 CLOSED ISSUES:
401
402 CHANGE HISTORY: jhaulund 8/6/98 created
403 ===========================================================================*/
404 PROCEDURE ApplySourceRules(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
405 x_Group_rec IN rlm_dp_sv.t_Group_rec,
406 x_SourcedDemand_tab OUT NOCOPY rlm_manage_demand_sv.t_MD_Tab,
407 x_Source_Tab OUT NOCOPY rlm_manage_demand_sv.t_Source_Tab
408 );
409 --<TPA_PUBLIC_NAME>
410
411 /*===========================================================================
412 PROCEDURE NAME: CalculateShipDate
413
414 DESCRIPTION: Calls the Calculate Scheduled Ship Date API
415 and updates the x_ManageDemand_tab
416 with the returned results.
417
418 PARAMETERS: x_Group_rec IN t_Group_rec
419
420 DESIGN REFERENCES: rlmdpmdd.rtf
421
422 ALGORITHM:
423
424 NOTES:
425
426 OPEN ISSUES:
427
428 CLOSED ISSUES:
429
430 CHANGE HISTORY: jhaulund 8/6/98 created
431 ===========================================================================*/
432 PROCEDURE CalculateShipDate( x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
433 x_Group_rec IN rlm_dp_sv.t_Group_rec);
434 --<TPA_PUBLIC_NAME>
435
436 /*===========================================================================
437 PROCEDURE NAME: ApplyFFFFences
438
439 DESCRIPTION: Applys the applicable fence days to incoming demand.
440
441 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
442 x_Group_rec IN t_Group_rec
443 IsLineProcessed IN OUT NOCOPY BOOLEAN
444
445 DESIGN REFERENCES: rlmdpmdd.rtf
446
447 ALGORITHM:
448
449 NOTES:
450
451 OPEN ISSUES:
452
453 CLOSED ISSUES:
454
455 CHANGE HISTORY: mnandell 8/6/98 created
456 ===========================================================================*/
457 PROCEDURE ApplyFFFFences(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
458 x_Group_rec IN rlm_dp_sv.t_Group_rec,
459 IsLineProcessed IN OUT NOCOPY BOOLEAN );
460 --<TPA_PUBLIC_NAME>
461
462 /*===========================================================================
463 PROCEDURE NAME: ProcessTable
464
465 DESCRIPTION: Perform operations stored in x_ManageDemand_tab.
466 These operations consist of updates, deletes,
467 and inserts into the rlm_interface_lines.
468
469 PARAMETERS: x_ManageDemand_tab IN t_MD_tab
470
471 DESIGN REFERENCES: rlmdpmdd.rtf
472
473 ALGORITHM:
474
475 NOTES:
476
477 OPEN ISSUES:
478
479 CLOSED ISSUES:
480
481 CHANGE HISTORY: jhaulund 8/6/98 created
482 ===========================================================================*/
483 PROCEDURE ProcessTable(x_Demand_tab IN t_MD_Tab);
484
485 /*===========================================================================
486 PROCEDURE NAME: DeleteReq
487
488 DESCRIPTION: Deletes passed requirement.
489
490 PARAMETERS: x_ManageDemand_rec IN rlm_interface_lines%ROWTYPE
491
492 DESIGN REFERENCES: rlmdpmdd.rtf
493
494 ALGORITHM:
495
496 NOTES:
497
498 OPEN ISSUES:
499
500 CLOSED ISSUES:
501
502 CHANGE HISTORY: jhaulund 8/6/98 created
503 ===========================================================================*/
504 PROCEDURE DeleteReq(x_ManageDemand_rec IN rlm_interface_lines%ROWTYPE);
505
506 /*===========================================================================
507 PROCEDURE NAME: InsertReq
508
509 DESCRIPTION: Inserts passed requirement.
510
511 PARAMETERS: x_ManageDemand_rec IN rlm_interface_lines%ROWTYPE
512
513 DESIGN REFERENCES: rlmdpmdd.rtf
514
515 ALGORITHM:
516
517 NOTES:
518
519 OPEN ISSUES:
520
521 CLOSED ISSUES:
522
523 CHANGE HISTORY: jhaulund 8/6/98 created
524 ===========================================================================*/
525 PROCEDURE InsertReq(x_ManageDemand_rec IN rlm_interface_lines%ROWTYPE);
526
527 /*===========================================================================
528 PROCEDURE NAME: UpdateReq
529
530 DESCRIPTION: Updates passed requirement.
531
532 PARAMETERS: x_ManageDemand_rec IN rlm_interface_lines%ROWTYPE
533
534 DESIGN REFERENCES: rlmdpmdd.rtf
535
536 ALGORITHM:
537
538 NOTES:
539
540 OPEN ISSUES:
541
542 CLOSED ISSUES:
543
544 CHANGE HISTORY: jhaulund 8/6/98 created
545 ===========================================================================*/
546 PROCEDURE UpdateReq(x_ManageDemand_rec IN rlm_interface_lines%ROWTYPE);
547
548 /*===========================================================================
549 PROCEDURE NAME: UpdateSchedule
550
551 DESCRIPTION: Update the schedule lines when they are
552 aggregated to a new line.
553
554 PARAMETERS: x_ManageDemand_rec IN rlm_interface_lines%ROWTYPE
555 x_AggregateDemand_rec IN rlm_interface_lines%ROWTYPE
556
557 DESIGN REFERENCES: rlmdpmdd.rtf
558
559 ALGORITHM:
560
561 NOTES:
562
563 OPEN ISSUES:
564
565 CLOSED ISSUES:
566
567 CHANGE HISTORY: jhaulund 8/6/98/28 created
568 ===========================================================================*/
569 PROCEDURE UpdateSchedule(x_ManageDemand_rec IN rlm_interface_lines%ROWTYPE,
570 x_AggregateDemand_rec IN rlm_interface_lines%ROWTYPE);
571
572 /*===========================================================================
573 PROCEDURE NAME: MatchDemand
574
575 DESCRIPTION: Matches and aggregates like demand
576 in the x_AggregateDemand_tab.
577 When requirements are aggregated,
578 the originals will be marked
579 for deletetion. This is where x_Delete_tab is used.
580
581 PARAMETERS: x_Group_Rec IN t_Group_Rec
582 x_Index IN NUMBER
583 x_AggregateDemand_tab IN OUT NOCOPY t_MD_tab
584 x_Delete_tab OUT NOCOPY t_Number_tab
585
586 DESIGN REFERENCES: rlmdpmdd.rtf
587
588 ALGORITHM:
589
590 NOTES:
591
592 OPEN ISSUES:
593
594 CLOSED ISSUES:
595
596 CHANGE HISTORY: mnandell 8/6/98/28 created
597 ===========================================================================*/
598 PROCEDURE MatchDemand(x_Group_rec IN rlm_dp_sv.t_Group_rec,
599 x_Index IN NUMBER,
600 x_AggregateDemand_tab IN OUT NOCOPY t_MD_tab,
601 x_Delete_tab IN OUT NOCOPY t_Number_tab,
602 x_ExcpTab IN OUT NOCOPY t_Match_Tab);
603
604 /*===========================================================================
605 PROCEDURE NAME: AggregateDemand
606
607 DESCRIPTION: Aggregates like demand based on the predefined
608 sidentifiers. Refer to aggregate demand section
609 under major features for a complete listing
610 of sidentifiers.
611
612 PARAMETERS: x_ManageDemand_tab IN t_MD_tab
613
614 DESIGN REFERENCES: rlmdpmdd.rtf
615
616 ALGORITHM:
617
618 NOTES:
619
620 OPEN ISSUES:
621
622 CLOSED ISSUES:
623
624 CHANGE HISTORY: mnandell 8/6/98 created
625 ===========================================================================*/
626 PROCEDURE AggregateDemand(x_Group_rec IN rlm_dp_sv.t_Group_rec);
627
628 /*===========================================================================
629 PROCEDURE NAME: SortDemand
630
631 DESCRIPTION: Sorts demand by ascending planned schedule date.
632 This routine will use the fast quicksort algorithm to
633 sort on planned shipment date.
634
635 PARAMETERS:
636
637 DESIGN REFERENCES: rlmdpmdd.rtf
638
639 ALGORITHM:
640
641 NOTES:
642
643 OPEN ISSUES:
644
645 CLOSED ISSUES:
646
647 CHANGE HISTORY: mnandell 8/6/98 created
648 ===========================================================================*/
649 PROCEDURE SortDemand;
650
651 /*===========================================================================
652 PROCEDURE NAME: QuickSort
653
654 DESCRIPTION: Sorts demand by ascending planned schedule date.
655 This routine will use the fast quicksort algorithm
656 to sort on planned shipment date.
657
658 PARAMETERS: l IN NUMBER
659 r IN NUMBER
660
661 DESIGN REFERENCES: rlmdpmdd.rtf
662
663 ALGORITHM:
664
665 NOTES:
666
667 OPEN ISSUES:
668
669 CLOSED ISSUES:
670
671 CHANGE HISTORY: mnandell 8/6/98 created
672 ===========================================================================*/
673 PROCEDURE QuickSort(first IN NUMBER, last IN NUMBER);
674
675
676 /*===========================================================================
677 PROCEDURE NAME: Swap
678
679 DESCRIPTION: Swaps records in table based on the passed indexes.
680
681 PARAMETERS: i IN NUMBER
682 j IN NUMBER
683
684 DESIGN REFERENCES: rlmdpmdd.rtf
685
686 ALGORITHM:
687
688 NOTES:
689
690 OPEN ISSUES:
691
692 CLOSED ISSUES:
693
694 CHANGE HISTORY: jhaulund 8/6/98 created
695 ===========================================================================*/
696 PROCEDURE Swap(i IN NUMBER, j IN NUMBER);
697
698 /*===========================================================================
699 PROCEDURE NAME: InsertionSort
700
701 DESCRIPTION: Performs insertion sort on table with few records.
702
703 PARAMETERS:
704 lo IN NUMBER
705 hi IN NUMBER
706
707 DESIGN REFERENCES: rlmdpmdd.rtf
708
709 ALGORITHM:
710
711 NOTES:
712
713 OPEN ISSUES:
714
715 CLOSED ISSUES:
716
717 CHANGE HISTORY: mnandell 8/6/99 created
718 ===========================================================================*/
719 PROCEDURE InsertionSort(lo IN NUMBER,
720 hi IN NUMBER);
721
722 /*===========================================================================
723 PROCEDURE NAME: RoundStandardPack
724
725 DESCRIPTION: If the customer item has standard pack rounding enabled,
726 this procedure will round all requirement quantities for
727 standard packaging based on the value of STD_PACK_QTY and
728 customer item UOM.
729
730 PARAMETERS: x_Group_rec IN t_Group_rec
731
732 DESIGN REFERENCES: rlmdpmdd.rtf
733
734 ALGORITHM:
735
736 NOTES:
737
738 OPEN ISSUES:
739
740 CLOSED ISSUES:
741
742 CHANGE HISTORY: mnandell 8/6/99 created
743 ===========================================================================*/
744 PROCEDURE RoundStandardPack(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
745 x_Group_rec IN rlm_dp_sv.t_Group_rec);
746 --<TPA_PUBLIC_NAME>
747 /*===========================================================================
748 PROCEDURE NAME: InitializeMdGroup
749
750 DESCRIPTION: This procedure sets up the group cursor.
751
752 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
753 x_Group_ref IN OUT NOCOPY t_Cursor_ref
754
755 DESIGN REFERENCES: RLADPRDD.rtf
756
757 ALGORITHM:
758
759 NOTES:
760
761 OPEN ISSUES:
762
763 CLOSED ISSUES:
764
765 CHANGE HISTORY: created jhaulund 03/08/99
766 ===========================================================================*/
767 --Bugfix 6084578 changed procedure name
768 Procedure InitializeMdGroup(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
769 x_Group_ref IN OUT NOCOPY rlm_manage_demand_sv.t_Cursor_ref,
770 x_Group_rec IN rlm_dp_sv.t_Group_rec);
771 --<TPA_PUBLIC_NAME>
772 /*===========================================================================
773 FUNCTION NAME: FetchGroup
774
775 DESCRIPTION: This function fetches next group
776
777 PARAMETERS: x_Group_ref IN OUT NOCOPY t_Cursor_ref
778 x_Group_rec IN OUT NOCOPY t_Group_rec
779
780 DESIGN REFERENCES: RLADPRDD.rtf
781
782 ALGORITHM:
783
784 NOTES:
785
786 OPEN ISSUES:
787
788 CLOSED ISSUES:
789
790 CHANGE HISTORY: created jhaulund 03/08/99
791 ===========================================================================*/
792 FUNCTION FetchGroup(x_Group_ref IN OUT NOCOPY t_Cursor_ref,
793 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec)
794 RETURN BOOLEAN;
795
796 /*===========================================================================
797 PROCEDURE NAME: CallSetups
798
799 DESCRIPTION: This procedure calls rla setups to populate group record
800 with setup informations.
801
802 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
803 x_Group_rec IN t_Group_rec
804
805 DESIGN REFERENCES: RLADPRDD.rtf
806
807 ALGORITHM:
808
809 NOTES:
810
811 OPEN ISSUES:
812
813 CLOSED ISSUES:
814
815 CHANGE HISTORY: created mnandell 03/08/99
816 ===========================================================================*/
817 Procedure CallSetups(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
818 x_Group_rec IN OUT NOCOPY rlm_dp_sv.t_Group_rec);
819
820 /*===========================================================================
821 PROCEDURE NAME: LockHeader
822
823 DESCRIPTION: This procedure locks the header in RLM_INTERFACE_HEADERS
824
825 PARAMETERS: x_HeaderId IN NUMBER
826
827 DESIGN REFERENCES: RLADPRDD.rtf
828
829 ALGORITHM:
830
831 NOTES:
832
833 OPEN ISSUES:
834
835 CLOSED ISSUES:
836
837 CHANGE HISTORY: created mnandell 03/08/99
838 ===========================================================================
839 FUNCTION LockHeader(x_headerId IN NUMBER)
840 RETURN BOOLEAN; */
841
842 /*===========================================================================
843 PROCEDURE NAME: LockLines
844
845 DESCRIPTION: This procedure locks the lines for a group
846
847 PARAMETERS: x_HeaderId IN NUMBER
848 x_GroupRec IN t_Group_rec
849
850 DESIGN REFERENCES: RLADPRDD.rtf
851
852 ALGORITHM:
853
854 NOTES:
855
856 OPEN ISSUES:
857
858 CLOSED ISSUES:
859
860 CHANGE HISTORY: created mnandell 03/08/99
861 ===========================================================================*/
862 FUNCTION LockLines (x_headerId IN NUMBER,
863 x_GroupRec IN rlm_dp_sv.t_Group_rec)
864 RETURN BOOLEAN;
865
866 /*===========================================================================
867 PROCEDURE NAME: UpdateHeaderStatus
868
869 DESCRIPTION: This procedure update the process status for the header
870
871 PARAMETERS: x_HeaderId IN NUMBER
872 x_ScheduleHeaderId IN NUMBER
873 x_ProcessStatus IN NUMBER
874
875 DESIGN REFERENCES: RLADPRDD.rtf
876
877 ALGORITHM:
878
879 NOTES:
880
881 OPEN ISSUES:
882
883 CLOSED ISSUES:
884
885 CHANGE HISTORY: created mnandell 03/08/99
886 ===========================================================================*/
887 PROCEDURE UpdateHeaderStatus(x_HeaderId IN NUMBER,
888 x_ScheduleHeaderId IN NUMBER,
889 x_ProcessStatus IN NUMBER );
890
891 /*===========================================================================
892 PROCEDURE NAME: UpdateGroupStatus
893
894 DESCRIPTION: This procedure update the process status for the group
895
896 PARAMETERS: x_HeaderId IN NUMBER
897 x_ScheduleHeaderId IN NUMBER
898 x_GroupRec IN t_Group_rec
899 x_ProcessStatus IN NUMBER
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 mnandell 03/08/99
912 ===========================================================================*/
913 PROCEDURE UpdateGroupStatus(x_HeaderId IN NUMBER,
914 x_ScheduleHeaderId IN NUMBER,
915 x_GroupRec IN rlm_dp_sv.t_Group_rec,
916 x_ProcessStatus IN NUMBER ,
917 x_UpdateLevel IN VARCHAR2 DEFAULT 'GROUP');
918
919 /*===========================================================================
920 PROCEDURE NAME: GetConvertedLeadTime
921
922 DESCRIPTION: This procedure update the process status for the group
923
924 PARAMETERS: x_LeadTime IN NUMBER
925 x_LeadUOM IN NUMBER
926
927 DESIGN REFERENCES: RLADPRDD.rtf
928
929 ALGORITHM:
930
931 NOTES:
932
933 CLOSED ISSUES:
934
935 CHANGE HISTORY: created mnandell 03/08/99
936 ===========================================================================*/
937 FUNCTION GetConvertedLeadTime (x_LeadTime IN NUMBER,
938 x_LeadUOM IN VARCHAR2)
939 RETURN NUMBER;
940 /*===========================================================================
941 PROCEDURE NAME: GetTPContext
942 DESCRIPTION: This procedure returns the tp group context.
943 This procedure returns a null x_ship_to_ece_locn_code,
944 and null x_inter_ship_to_ece_locn_code
945 PARAMETERS: x_sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
946 x_group_rec IN t_Group_rec
947 x_customer_number OUT NOCOPY VARCHAR2
948 x_ship_to_ece_locn_code OUT NOCOPY VARCHAR2
949 x_bill_to_ece_locn_code OUT NOCOPY VARCHAR2
950 x_inter_ship_to_ece_locn_code OUT NOCOPY VARCHAR2
951 x_tp_group_code OUT NOCOPY VARCHAR2
952 DESIGN REFERENCES: RLMDPRDD.rtf
953 CHANGE HISTORY: created mnandell 03/08/99
954 ===========================================================================*/
955 PROCEDURE GetTPContext( x_sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
956 x_group_rec IN rlm_dp_sv.t_Group_rec,
957 x_customer_number OUT NOCOPY VARCHAR2,
958 x_ship_to_ece_locn_code OUT NOCOPY VARCHAR2,
959 x_bill_to_ece_locn_code OUT NOCOPY VARCHAR2,
960 x_inter_ship_to_ece_locn_code OUT NOCOPY VARCHAR2,
961 x_tp_group_code OUT NOCOPY VARCHAR2);
962 --<TPA_TPS>
963
964 /*===========================================================================
965 PROCEDURE NAME: CalculateIntransitQty
966
967 DESCRIPTION: This procedure fetches information about supplier shipments
968 which took place after the last customer recognized shipment
969 to ship for the current schedule item
970
971 PARAMETERS: x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE
972 x_Group_rec IN rlm_dp_sv.t_Group_rec
973
974 DESIGN REFERENCES: RLADPRDD.rtf
975
976 ALGORITHM:
977
978 NOTES:
979
980 OPEN ISSUES:
981
982 CLOSED ISSUES:
983
984 CHANGE HISTORY: created kvenkate 01/16/01
985 ===========================================================================*/
986 FUNCTION CalculateIntransitQty(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
987 x_Group_rec IN rlm_dp_sv.t_Group_rec)
988 RETURN NUMBER;
989 --<TPA_PUBLIC_NAME>
990
991
992 FUNCTION GetAllIntransitQty(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
993 x_Group_rec IN rlm_dp_sv.t_Group_rec,
994 x_Source_Tab IN rlm_manage_demand_sv.t_Source_Tab)
995 RETURN NUMBER;
996 --<TPA_PUBLIC_NAME>
997
998
999 /*===========================================================================
1000 PROCEDURE NAME: InitializeMatchCritieria
1001
1002 DESCRIPTION: This procedure initializes the components of match_within_rec and
1003 match_across_rec to 'N', so we do not use any matching
1004 criteria when calculating in-transit quantities. This procedure is
1005 called from GetAllIntransitQty and CalculateIntransitQty
1006
1007 PARAMETERS: x_match_within_rule IN OUT NOCOPY RLM_CORE_SV.t_Match_Rec
1008 x_match_across_rule IN OUT NOCOPY RLM_CORE_SV.t_Match_Rec
1009
1010 CHANGE HISTORY: created rlanka 01/14/02
1011 ===========================================================================*/
1012 PROCEDURE InitializeMatchCriteria(x_match_within_rule IN OUT NOCOPY RLM_CORE_SV.t_Match_Rec,
1013 x_match_across_rule IN OUT NOCOPY RLM_CORE_SV.t_Match_Rec);
1014
1015 /*=========================================================================
1016 --global_atp
1017 FUNCTION NAME: IsATPItem
1018
1019 ===========================================================================*/
1020
1021 FUNCTION IsATPItem (x_ship_from_org_id IN NUMBER,
1022 x_inventory_item_id IN NUMBER)
1023 RETURN BOOLEAN;
1024
1025
1026 /*===========================================================================
1027
1028 PROCEDURE NAME: ReportExc
1029
1030 ===========================================================================*/
1031 PROCEDURE ReportExc( x_ExcpTab IN t_Match_tab);
1032
1033
1034 /*===========================================================================
1035
1036 PROCEDURE NAME: printMessage
1037
1038 ===========================================================================*/
1039 PROCEDURE printMessage( x_lookupCode IN VARCHAR2,
1040 x_shipFrom IN VARCHAR2,
1041 x_shipTo IN VARCHAR2,
1042 x_customerItem IN VARCHAR2);
1043
1044
1045
1046 FUNCTION GetIntransitAcrossOrgs(x_Sched_rec IN RLM_INTERFACE_HEADERS%ROWTYPE,
1047 x_Group_rec IN rlm_dp_sv.t_Group_rec,
1048 x_cum_key_id IN NUMBER)
1049 RETURN NUMBER;
1050 --<TPA_PUBLIC_NAME>
1051
1052
1053 /*===========================================================================
1054 PROCEDURE NAME: Getvark_DNULL
1055
1056 DESCRIPTION: This procedure is called from RLMNETCH.rdf
1057 to get the value of constant K_DNULL.
1058
1059 PARAMETERS:
1060
1061 DESIGN REFERENCES:
1062
1063 ALGORITHM:
1064
1065 NOTES: This function will be used by Netchange report.
1066
1067 OPEN ISSUES:
1068
1069 CLOSED ISSUES:
1070
1071 CHANGE HISTORY: created brana 02/20/03
1072 ===========================================================================*/
1073
1074 FUNCTION GetvarK_DNULL
1075 RETURN DATE ;
1076
1077 END RLM_MANAGE_DEMAND_SV;