12: | USAGE |
13: | Used to retrieve the allocation rules |
14: | |
15: | DESCRIPTION |
16: | This procedure is used to retrieve all details from op_alot_prm |
17: | |
18: | PARAMETERS |
19: | p_co_code IN VARCHAR2(4) - Customer Company Code |
20: | p_cust_no IN VARCHAR2(32) - Customer Number |
18: | PARAMETERS |
19: | p_co_code IN VARCHAR2(4) - Customer Company Code |
20: | p_cust_no IN VARCHAR2(32) - Customer Number |
21: | p_alloc_class IN VARCHAR2(8) - Allocation Class |
22: | x_op_alot_prm OUT NOCOPY RECORD - Record containing op_alot_prm |
23: | |
24: | HISTORY |
25: | 15-DEC-1999 K.Y.Hunt Created
26: +=========================================================================+
36: , p_of_cust_id IN NUMBER default NULL
37: , p_ship_to_org_id IN NUMBER default NULL
38: , p_org_id IN NUMBER default NULL
39: , x_return_status OUT NOCOPY VARCHAR2
40: , x_op_alot_prm OUT NOCOPY op_alot_prm%ROWTYPE
41: , x_msg_count OUT NOCOPY NUMBER
42: , x_msg_data OUT NOCOPY VARCHAR2
43: )
44: IS
46: l_cust_id OP_CUST_MST.CUST_ID%TYPE;
47: l_msg_count NUMBER :=0;
48: l_msg_data VARCHAR2(2000);
49: l_return_status VARCHAR2(1);
50: l_op_alot_prm OP_ALOT_PRM%ROWTYPE;
51:
52: CURSOR op_cust_mst_c1 is
53: SELECT cust_id
54: FROM op_cust_mst
55: WHERE co_code = p_co_code and cust_no = p_cust_no;
56:
57: --BUG 1655007 - Ensure delete_marked rows are ignored
58: --===================================================
59: /*CURSOR op_alot_prm_c1 is
60: SELECT *
61: FROM op_alot_prm
62: WHERE cust_id=l_cust_id and alloc_class = p_alloc_class and delete_mark=0;
63:
57: --BUG 1655007 - Ensure delete_marked rows are ignored
58: --===================================================
59: /*CURSOR op_alot_prm_c1 is
60: SELECT *
61: FROM op_alot_prm
62: WHERE cust_id=l_cust_id and alloc_class = p_alloc_class and delete_mark=0;
63:
64: CURSOR op_alot_prm_c2 is
65: SELECT *
60: SELECT *
61: FROM op_alot_prm
62: WHERE cust_id=l_cust_id and alloc_class = p_alloc_class and delete_mark=0;
63:
64: CURSOR op_alot_prm_c2 is
65: SELECT *
66: FROM op_alot_prm
67: WHERE cust_id IS NULL and alloc_class = p_alloc_class and delete_mark=0;
68: */
62: WHERE cust_id=l_cust_id and alloc_class = p_alloc_class and delete_mark=0;
63:
64: CURSOR op_alot_prm_c2 is
65: SELECT *
66: FROM op_alot_prm
67: WHERE cust_id IS NULL and alloc_class = p_alloc_class and delete_mark=0;
68: */
69: /* bug 2245351, use generic of_cust_id, and mtl_org_id for the record
70: cust_id is null is still supported
69: /* bug 2245351, use generic of_cust_id, and mtl_org_id for the record
70: cust_id is null is still supported
71: sold_to_org_id would be the same value as cust_id
72: */
73: CURSOR op_alot_prm_c1 is
74: SELECT *
75: FROM op_alot_prm
76: WHERE sold_to_org_id = p_of_cust_id
77: --and ship_to_org_id = p_ship_to_org_id
71: sold_to_org_id would be the same value as cust_id
72: */
73: CURSOR op_alot_prm_c1 is
74: SELECT *
75: FROM op_alot_prm
76: WHERE sold_to_org_id = p_of_cust_id
77: --and ship_to_org_id = p_ship_to_org_id
78: and org_id = p_org_id
79: and alloc_class = p_alloc_class
77: --and ship_to_org_id = p_ship_to_org_id
78: and org_id = p_org_id
79: and alloc_class = p_alloc_class
80: and delete_mark=0;
81: CURSOR op_alot_prm_c2 is
82: SELECT *
83: FROM op_alot_prm
84: WHERE sold_to_org_id IS NULL
85: and org_id is null
79: and alloc_class = p_alloc_class
80: and delete_mark=0;
81: CURSOR op_alot_prm_c2 is
82: SELECT *
83: FROM op_alot_prm
84: WHERE sold_to_org_id IS NULL
85: and org_id is null
86: and alloc_class = p_alloc_class
87: and delete_mark=0;
107: GMI_reservation_Util.PrintLn('p_org_id '||p_org_id);
108: GMI_reservation_Util.PrintLn('p_of_cust_id '||p_of_cust_id);
109: GMI_reservation_Util.PrintLn('p_ship_to_org_id '||p_ship_to_org_id);
110: GMI_reservation_Util.PrintLn('p_alloc_class '||p_alloc_class);
111: OPEN op_alot_prm_c1;
112: FETCH op_alot_prm_c1 INTO x_op_alot_prm;
113:
114: /* No allocation rule located specific to our customer so look for a
115: set of rules global across ALL customers
108: GMI_reservation_Util.PrintLn('p_of_cust_id '||p_of_cust_id);
109: GMI_reservation_Util.PrintLn('p_ship_to_org_id '||p_ship_to_org_id);
110: GMI_reservation_Util.PrintLn('p_alloc_class '||p_alloc_class);
111: OPEN op_alot_prm_c1;
112: FETCH op_alot_prm_c1 INTO x_op_alot_prm;
113:
114: /* No allocation rule located specific to our customer so look for a
115: set of rules global across ALL customers
116: ==================================================================*/
113:
114: /* No allocation rule located specific to our customer so look for a
115: set of rules global across ALL customers
116: ==================================================================*/
117: IF (op_alot_prm_c1%NOTFOUND)
118: THEN
119: CLOSE op_alot_prm_c1;
120: OPEN op_alot_prm_c2;
121: /* dbms_output.put_line('generic fetch'); */
115: set of rules global across ALL customers
116: ==================================================================*/
117: IF (op_alot_prm_c1%NOTFOUND)
118: THEN
119: CLOSE op_alot_prm_c1;
120: OPEN op_alot_prm_c2;
121: /* dbms_output.put_line('generic fetch'); */
122: FETCH op_alot_prm_c2 INTO x_op_alot_prm;
123: IF (op_alot_prm_c2%NOTFOUND)
116: ==================================================================*/
117: IF (op_alot_prm_c1%NOTFOUND)
118: THEN
119: CLOSE op_alot_prm_c1;
120: OPEN op_alot_prm_c2;
121: /* dbms_output.put_line('generic fetch'); */
122: FETCH op_alot_prm_c2 INTO x_op_alot_prm;
123: IF (op_alot_prm_c2%NOTFOUND)
124: THEN
118: THEN
119: CLOSE op_alot_prm_c1;
120: OPEN op_alot_prm_c2;
121: /* dbms_output.put_line('generic fetch'); */
122: FETCH op_alot_prm_c2 INTO x_op_alot_prm;
123: IF (op_alot_prm_c2%NOTFOUND)
124: THEN
125: /* No rules defined on the database so set them from profile values */
126: /* =================================================================*/
119: CLOSE op_alot_prm_c1;
120: OPEN op_alot_prm_c2;
121: /* dbms_output.put_line('generic fetch'); */
122: FETCH op_alot_prm_c2 INTO x_op_alot_prm;
123: IF (op_alot_prm_c2%NOTFOUND)
124: THEN
125: /* No rules defined on the database so set them from profile values */
126: /* =================================================================*/
127: GMI_ALLOCATION_RULES_PVT.GET_DEFAULT_PARMS
124: THEN
125: /* No rules defined on the database so set them from profile values */
126: /* =================================================================*/
127: GMI_ALLOCATION_RULES_PVT.GET_DEFAULT_PARMS
128: (x_op_alot_prm => l_op_alot_prm);
129: x_op_alot_prm := l_op_alot_prm;
130: GMI_reservation_Util.PrintLn('no rules in op_alot_prm, use default ');
131: ELSE
132: GMI_reservation_Util.PrintLn('op_alot_prm is found for all cust ');
125: /* No rules defined on the database so set them from profile values */
126: /* =================================================================*/
127: GMI_ALLOCATION_RULES_PVT.GET_DEFAULT_PARMS
128: (x_op_alot_prm => l_op_alot_prm);
129: x_op_alot_prm := l_op_alot_prm;
130: GMI_reservation_Util.PrintLn('no rules in op_alot_prm, use default ');
131: ELSE
132: GMI_reservation_Util.PrintLn('op_alot_prm is found for all cust ');
133: END IF;
126: /* =================================================================*/
127: GMI_ALLOCATION_RULES_PVT.GET_DEFAULT_PARMS
128: (x_op_alot_prm => l_op_alot_prm);
129: x_op_alot_prm := l_op_alot_prm;
130: GMI_reservation_Util.PrintLn('no rules in op_alot_prm, use default ');
131: ELSE
132: GMI_reservation_Util.PrintLn('op_alot_prm is found for all cust ');
133: END IF;
134: CLOSE op_alot_prm_c2;
128: (x_op_alot_prm => l_op_alot_prm);
129: x_op_alot_prm := l_op_alot_prm;
130: GMI_reservation_Util.PrintLn('no rules in op_alot_prm, use default ');
131: ELSE
132: GMI_reservation_Util.PrintLn('op_alot_prm is found for all cust ');
133: END IF;
134: CLOSE op_alot_prm_c2;
135: ELSE
136: GMI_reservation_Util.PrintLn('op_alot_prm is found for cust '||p_of_cust_id);
130: GMI_reservation_Util.PrintLn('no rules in op_alot_prm, use default ');
131: ELSE
132: GMI_reservation_Util.PrintLn('op_alot_prm is found for all cust ');
133: END IF;
134: CLOSE op_alot_prm_c2;
135: ELSE
136: GMI_reservation_Util.PrintLn('op_alot_prm is found for cust '||p_of_cust_id);
137: CLOSE op_alot_prm_c1;
138: END IF;
132: GMI_reservation_Util.PrintLn('op_alot_prm is found for all cust ');
133: END IF;
134: CLOSE op_alot_prm_c2;
135: ELSE
136: GMI_reservation_Util.PrintLn('op_alot_prm is found for cust '||p_of_cust_id);
137: CLOSE op_alot_prm_c1;
138: END IF;
139:
140: /* EXCEPTION HANDLING
133: END IF;
134: CLOSE op_alot_prm_c2;
135: ELSE
136: GMI_reservation_Util.PrintLn('op_alot_prm is found for cust '||p_of_cust_id);
137: CLOSE op_alot_prm_c1;
138: END IF;
139:
140: /* EXCEPTION HANDLING
141: ====================*/
174: | DESCRIPTION |
175: | Used to set default allocation rules based on system profile values |
176: | |
177: | PARAMETERS |
178: | x_op_alot_prm OUT NOCOPY RECORD - Record containing allocation rules |
179: | |
180: | HISTORY |
181: | 15-DEC-1999 K.Y.Hunt Created |
182: +=========================================================================+
181: | 15-DEC-1999 K.Y.Hunt Created |
182: +=========================================================================+
183: */
184: PROCEDURE GET_DEFAULT_PARMS
185: ( x_op_alot_prm OUT NOCOPY op_alot_prm%ROWTYPE)
186: IS
187: l_api_name CONSTANT VARCHAR2 (30) := 'GET_DEFAULT_PARMS';
188:
189: BEGIN
187: l_api_name CONSTANT VARCHAR2 (30) := 'GET_DEFAULT_PARMS';
188:
189: BEGIN
190: oe_debug_pub.add('No specific allocation rules defined so use defaults',1);
191: x_op_alot_prm.alloc_method := FND_PROFILE.VALUE('IC$ALLOC_METHOD');
192: x_op_alot_prm.shelf_days := FND_PROFILE.VALUE('IC$SHELF_DAYS');
193: x_op_alot_prm.alloc_horizon := FND_PROFILE.VALUE('IC$ALLOC_HORIZON');
194: x_op_alot_prm.alloc_type := FND_PROFILE.VALUE('IC$ALLOC_TYPE');
195: x_op_alot_prm.lot_qty := FND_PROFILE.VALUE('IC$LOT_QTY');
188:
189: BEGIN
190: oe_debug_pub.add('No specific allocation rules defined so use defaults',1);
191: x_op_alot_prm.alloc_method := FND_PROFILE.VALUE('IC$ALLOC_METHOD');
192: x_op_alot_prm.shelf_days := FND_PROFILE.VALUE('IC$SHELF_DAYS');
193: x_op_alot_prm.alloc_horizon := FND_PROFILE.VALUE('IC$ALLOC_HORIZON');
194: x_op_alot_prm.alloc_type := FND_PROFILE.VALUE('IC$ALLOC_TYPE');
195: x_op_alot_prm.lot_qty := FND_PROFILE.VALUE('IC$LOT_QTY');
196: x_op_alot_prm.partial_ind := FND_PROFILE.VALUE('OP$PARTIAL_ALLOC');
189: BEGIN
190: oe_debug_pub.add('No specific allocation rules defined so use defaults',1);
191: x_op_alot_prm.alloc_method := FND_PROFILE.VALUE('IC$ALLOC_METHOD');
192: x_op_alot_prm.shelf_days := FND_PROFILE.VALUE('IC$SHELF_DAYS');
193: x_op_alot_prm.alloc_horizon := FND_PROFILE.VALUE('IC$ALLOC_HORIZON');
194: x_op_alot_prm.alloc_type := FND_PROFILE.VALUE('IC$ALLOC_TYPE');
195: x_op_alot_prm.lot_qty := FND_PROFILE.VALUE('IC$LOT_QTY');
196: x_op_alot_prm.partial_ind := FND_PROFILE.VALUE('OP$PARTIAL_ALLOC');
197: x_op_alot_prm.prefqc_grade := NULL;
190: oe_debug_pub.add('No specific allocation rules defined so use defaults',1);
191: x_op_alot_prm.alloc_method := FND_PROFILE.VALUE('IC$ALLOC_METHOD');
192: x_op_alot_prm.shelf_days := FND_PROFILE.VALUE('IC$SHELF_DAYS');
193: x_op_alot_prm.alloc_horizon := FND_PROFILE.VALUE('IC$ALLOC_HORIZON');
194: x_op_alot_prm.alloc_type := FND_PROFILE.VALUE('IC$ALLOC_TYPE');
195: x_op_alot_prm.lot_qty := FND_PROFILE.VALUE('IC$LOT_QTY');
196: x_op_alot_prm.partial_ind := FND_PROFILE.VALUE('OP$PARTIAL_ALLOC');
197: x_op_alot_prm.prefqc_grade := NULL;
198:
191: x_op_alot_prm.alloc_method := FND_PROFILE.VALUE('IC$ALLOC_METHOD');
192: x_op_alot_prm.shelf_days := FND_PROFILE.VALUE('IC$SHELF_DAYS');
193: x_op_alot_prm.alloc_horizon := FND_PROFILE.VALUE('IC$ALLOC_HORIZON');
194: x_op_alot_prm.alloc_type := FND_PROFILE.VALUE('IC$ALLOC_TYPE');
195: x_op_alot_prm.lot_qty := FND_PROFILE.VALUE('IC$LOT_QTY');
196: x_op_alot_prm.partial_ind := FND_PROFILE.VALUE('OP$PARTIAL_ALLOC');
197: x_op_alot_prm.prefqc_grade := NULL;
198:
199: EXCEPTION
192: x_op_alot_prm.shelf_days := FND_PROFILE.VALUE('IC$SHELF_DAYS');
193: x_op_alot_prm.alloc_horizon := FND_PROFILE.VALUE('IC$ALLOC_HORIZON');
194: x_op_alot_prm.alloc_type := FND_PROFILE.VALUE('IC$ALLOC_TYPE');
195: x_op_alot_prm.lot_qty := FND_PROFILE.VALUE('IC$LOT_QTY');
196: x_op_alot_prm.partial_ind := FND_PROFILE.VALUE('OP$PARTIAL_ALLOC');
197: x_op_alot_prm.prefqc_grade := NULL;
198:
199: EXCEPTION
200: WHEN OTHERS THEN
193: x_op_alot_prm.alloc_horizon := FND_PROFILE.VALUE('IC$ALLOC_HORIZON');
194: x_op_alot_prm.alloc_type := FND_PROFILE.VALUE('IC$ALLOC_TYPE');
195: x_op_alot_prm.lot_qty := FND_PROFILE.VALUE('IC$LOT_QTY');
196: x_op_alot_prm.partial_ind := FND_PROFILE.VALUE('OP$PARTIAL_ALLOC');
197: x_op_alot_prm.prefqc_grade := NULL;
198:
199: EXCEPTION
200: WHEN OTHERS THEN
201: RAISE;