[Home] [Help]
PACKAGE BODY: APPS.MRP_AATP_PVT
Source
1 PACKAGE BODY MRP_AATP_PVT AS
2 /* $Header: MRPAATPB.pls 115.28 2003/10/14 07:18:21 ssurendr noship $ */
3 G_PKG_NAME CONSTANT VARCHAR2(30) := 'MRP_AATP_PVT';
4
5
6 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('MSC_ATP_DEBUG'), 'N');
7
8 PROCEDURE Atp_Demand_Class_Consume(
9 p_current_atp IN OUT NoCopy MRP_ATP_PVT.ATP_Info,
10 p_steal_atp IN OUT NoCopy MRP_ATP_PVT.ATP_Info)
11 IS
12 BEGIN
13 MSC_AATP_PVT.Atp_Demand_Class_Consume(p_current_atp, p_steal_atp);
14 END Atp_Demand_Class_Consume;
15
16
17 PROCEDURE Add_to_Next_Steal_Atp(
18 p_current_atp IN MRP_ATP_PVT.ATP_Info,
19 p_next_steal_atp IN OUT NoCopy MRP_ATP_PVT.ATP_Info)
20 IS
21 l_current_atp MRP_ATP_PVT.ATP_Info;
22 BEGIN
23 -- modified to call MSC_AATP_PVT.Add_to_Next_Steal_Atp with l_current_atp
24 -- due to the changes in spec after the AATP forward consumption changes.
25 l_current_atp := p_current_atp;
26 MSC_AATP_PVT.Add_to_Next_Steal_Atp(l_current_atp, p_next_steal_atp);
27 END Add_to_Next_Steal_Atp;
28
29 FUNCTION Get_Item_Demand_Alloc_Percent(
30 p_plan_id IN NUMBER,
31 p_demand_id IN NUMBER,
32 p_demand_date IN DATE,
33 p_assembly_item_id IN NUMBER,
34 p_source_org_id IN NUMBER,
35 p_inventory_item_id IN NUMBER,
36 p_org_id IN NUMBER,
37 p_instance_id IN NUMBER,
38 p_origination_type IN NUMBER,
39 p_record_class IN VARCHAR2,
40 p_demand_class IN VARCHAR2,
41 p_level_id IN NUMBER)
42 RETURN NUMBER
43 IS
44 BEGIN
45 return MSC_AATP_FUNC.Get_Item_Demand_Alloc_Percent(
46 p_plan_id,
47 p_demand_id,
48 p_demand_date,
49 p_assembly_item_id,
50 p_source_org_id,
51 p_inventory_item_id,
52 p_org_id,
53 p_instance_id,
54 p_origination_type,
55 p_record_class,
56 p_demand_class,
57 p_level_id);
58
59 END Get_Item_Demand_Alloc_Percent;
60
61 FUNCTION Get_DC_Alloc_Percent(
62 p_instance_id IN NUMBER,
63 p_inv_item_id IN NUMBER,
64 p_org_id IN NUMBER,
65 p_dept_id IN NUMBER,
66 p_res_id IN NUMBER,
67 p_demand_class IN VARCHAR2,
68 p_request_date IN DATE)
69 RETURN NUMBER
70 IS
71 BEGIN
72 return MSC_AATP_FUNC.Get_DC_Alloc_Percent(
73 p_instance_id,
74 p_inv_item_id,
75 p_org_id,
76 p_dept_id,
77 p_res_id,
78 p_demand_class,
79 p_request_date);
80 EXCEPTION
81 WHEN OTHERS THEN
82 IF PG_DEBUG in ('Y', 'C') THEN
83 msc_sch_wb.atp_debug('Get_DC_Alloc_Percent: ' || 'Error code:' || to_char(sqlcode));
84 END IF;
85 return(0.0);
86 END Get_DC_Alloc_Percent;
87
88 FUNCTION Get_Res_Demand_Alloc_Percent(
89 p_demand_date IN DATE,
90 p_assembly_item_id IN NUMBER,
91 p_org_id IN NUMBER,
92 p_instance_id IN NUMBER,
93 p_dept_id IN NUMBER,
94 p_res_id IN NUMBER,
95 p_record_class IN VARCHAR2,
96 p_demand_class IN VARCHAR2)
97 RETURN NUMBER
98 IS
99 BEGIN
100 return MSC_AATP_FUNC.Get_Res_Demand_Alloc_Percent(
101 p_demand_date,
102 p_assembly_item_id,
103 p_org_id,
104 p_instance_id,
105 p_dept_id,
106 p_res_id,
107 p_record_class,
108 p_demand_class);
109
110 END GET_RES_DEMAND_ALLOC_PERCENT;
111
112 PROCEDURE Item_Alloc_Cum_Atp(
113 p_plan_id IN NUMBER,
114 p_level IN NUMBER,
115 p_identifier IN NUMBER,
116 p_scenario_id IN NUMBER,
117 p_inventory_item_id IN NUMBER,
118 p_organization_id IN NUMBER,
119 p_instance_id IN NUMBER,
120 p_demand_class IN VARCHAR2,
121 p_request_date IN DATE,
122 p_insert_flag IN NUMBER,
123 x_atp_info OUT NoCopy MRP_ATP_PVT.ATP_Info,
124 x_atp_period OUT NoCopy MRP_ATP_PUB.ATP_Period_Typ,
125 x_atp_supply_demand OUT NoCopy MRP_ATP_PUB.ATP_Supply_Demand_Typ)
126 IS
127 p_get_mat_in_rec MSC_ATP_REQ.get_mat_in_rec;
128 -- time_phased_atp
129 l_request_item_id NUMBER;
130 l_atf_date DATE;
131 BEGIN
132 -- dsting fake values since no one should be calling this
133 -- and the spec changed in the msc files
134 p_get_mat_in_rec.rounding_control_flag := 2;
135 p_get_mat_in_rec.dest_inv_item_id := -1;
136 p_get_mat_in_rec.infinite_time_fence_date := NULL;
137 p_get_mat_in_rec.plan_name := 'MRPFOO';
138
139 MSC_AATP_PVT.Item_Alloc_Cum_Atp(
140 p_plan_id,
141 p_level,
142 p_identifier,
143 p_scenario_id,
144 p_inventory_item_id,
145 p_organization_id,
146 p_instance_id,
147 p_demand_class,
148 p_request_date,
149 p_insert_flag,
150 x_atp_info,
151 x_atp_period,
152 x_atp_supply_demand,
153 p_get_mat_in_rec,
154 l_request_item_id, -- For time_phased_atp
155 l_atf_date); -- For time_phased_atp
156
157 END Item_Alloc_Cum_Atp;
158
159 PROCEDURE Res_Alloc_Cum_Atp(
160 p_plan_id IN NUMBER,
161 p_level IN NUMBER,
162 p_identifier IN NUMBER,
163 p_scenario_id IN NUMBER,
164 p_department_id IN NUMBER,
165 p_resource_id IN NUMBER,
166 p_organization_id IN NUMBER,
167 p_instance_id IN NUMBER,
168 p_demand_class IN VARCHAR2,
169 p_request_date IN DATE,
170 p_insert_flag IN NUMBER,
171 p_max_capacity IN NUMBER,
172 p_batchable_flag IN NUMBER,
173 p_res_conversion_rate IN NUMBER,
174 p_res_uom_type IN NUMBER,
175 x_atp_info OUT NoCopy MRP_ATP_PVT.ATP_Info,
176 x_atp_period OUT NoCopy MRP_ATP_PUB.ATP_Period_Typ,
177 x_atp_supply_demand OUT NoCopy MRP_ATP_PUB.ATP_Supply_Demand_Typ)
178 IS
179 BEGIN
180 MSC_AATP_PVT.Res_Alloc_Cum_Atp(
181 p_plan_id,
182 p_level,
183 p_identifier,
184 p_scenario_id,
185 p_department_id,
186 p_resource_id,
187 p_organization_id,
188 p_instance_id,
189 p_demand_class,
190 p_request_date,
191 p_insert_flag,
192 p_max_capacity,
193 p_batchable_flag,
194 p_res_conversion_rate,
195 p_res_uom_type,
196 x_atp_info,
197 x_atp_period,
198 x_atp_supply_demand);
199 END Res_Alloc_Cum_Atp;
200
201 PROCEDURE Supplier_Alloc_Cum_Atp(
202 p_plan_id IN NUMBER,
203 p_level IN NUMBER,
204 p_identifier IN NUMBER,
205 p_scenario_id IN NUMBER,
206 p_supplier_id IN NUMBER,
207 p_supplier_site_id IN NUMBER,
208 p_inventory_item_id IN NUMBER,
209 p_organization_id IN NUMBER,
210 p_instance_id IN NUMBER,
211 p_demand_class IN VARCHAR2,
212 p_request_date IN DATE,
213 p_insert_flag IN NUMBER,
214 x_atp_info OUT NoCopy MRP_ATP_PVT.ATP_Info,
215 x_atp_period OUT NoCopy MRP_ATP_PUB.ATP_Period_Typ,
216 x_atp_supply_demand OUT NoCopy MRP_ATP_PUB.ATP_Supply_Demand_Typ
217 )
218 IS
219 BEGIN
220 /* ship_rec_cal
221 MSC_AATP_PVT.Supplier_Alloc_Cum_Atp(
222 p_plan_id,
223 p_level,
224 p_identifier,
225 p_scenario_id,
226 p_supplier_id,
227 p_supplier_site_id,
228 p_inventory_item_id,
229 p_organization_id,
230 p_instance_id,
231 p_demand_class,
232 p_request_date,
233 p_insert_flag,
234 NULL, -- SCLT changes Default value for p_sup_cap_cum_date
235 '@@@', -- For ship_rec_cal
236 NULL, -- For ship_rec_cal
237 x_atp_info,
238 x_atp_period,
239 x_atp_supply_demand,
240 NULL); -- for CTO*/
241 NULL;
242 END Supplier_Alloc_Cum_Atp;
243
244 PROCEDURE Get_DC_Info(
245 p_instance_id IN NUMBER,
246 p_inv_item_id IN NUMBER,
247 p_org_id IN NUMBER,
248 p_dept_id IN NUMBER,
249 p_res_id IN NUMBER,
250 p_demand_class IN VARCHAR2,
251 p_request_date IN DATE,
252 x_level_id OUT NoCopy NUMBER,
253 x_priority OUT NoCopy NUMBER,
254 x_alloc_percent OUT NoCopy NUMBER,
255 x_return_status OUT NoCopy VARCHAR2)
256 IS
257 BEGIN
258 MSC_AATP_PVT.Get_DC_Info(
259 p_instance_id,
260 p_inv_item_id,
261 p_org_id,
262 p_dept_id,
263 p_res_id,
264 p_demand_class,
265 p_request_date,
266 x_level_id,
267 x_priority,
268 x_alloc_percent,
269 x_return_status);
270 EXCEPTION
271 WHEN OTHERS THEN
272 IF PG_DEBUG in ('Y', 'C') THEN
273 msc_sch_wb.atp_debug('Get_DC_Info: ' || 'Error code:' || to_char(sqlcode));
274 END IF;
275 x_priority := -1;
276 x_alloc_percent := 0;
277 x_return_status := FND_API.G_RET_STS_ERROR;
278 END Get_DC_Info;
279
280 PROCEDURE View_Allocation(
281 p_session_id IN NUMBER,
282 p_inventory_item_id IN NUMBER,
283 p_instance_id IN NUMBER,
284 p_organization_id IN NUMBER,
285 p_department_id IN NUMBER,
286 p_resource_id IN NUMBER,
287 p_demand_class IN VARCHAR2,
288 x_return_status OUT NoCopy VARCHAR2
289 )
290 IS
291 BEGIN
292 MSC_AATP_PVT.View_Allocation(
293 p_session_id,
294 p_inventory_item_id,
295 p_instance_id,
296 p_organization_id,
297 p_department_id,
298 p_resource_id,
299 p_demand_class,
300 x_return_status);
301 END View_allocation;
302
303 FUNCTION Get_Hierarchy_Demand_Class(
304 p_partner_id IN NUMBER,
305 p_partner_site_id IN NUMBER,
306 p_inventory_item_id IN NUMBER,
307 p_organization_id IN NUMBER,
308 p_instance_id IN NUMBER,
309 p_request_date IN DATE,
310 p_level_id IN NUMBER,
311 p_demand_class IN VARCHAR2)
312 RETURN VARCHAR2
313 IS
314 BEGIN
315 RETURN MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(
316 p_partner_id,
317 p_partner_site_id,
318 p_inventory_item_id,
319 p_organization_id,
320 p_instance_id,
321 p_request_date,
322 p_level_id,
323 p_demand_class);
324 END Get_Hierarchy_Demand_Class;
325
326
327 FUNCTION Get_Allowed_Stolen_Percent(
328 p_instance_id IN NUMBER,
329 p_inv_item_id IN NUMBER,
330 p_org_id IN NUMBER,
331 p_dept_id IN NUMBER,
332 p_res_id IN NUMBER,
333 p_demand_class IN VARCHAR2,
334 p_request_date IN DATE)
335 RETURN NUMBER
336 IS
337 BEGIN
338 return MSC_AATP_FUNC.Get_Allowed_Stolen_Percent(
339 p_instance_id,
340 p_inv_item_id,
341 p_org_id,
342 p_dept_id,
343 p_res_id,
344 p_demand_class,
345 p_request_date);
346 EXCEPTION
347 WHEN OTHERS THEN
348 IF PG_DEBUG in ('Y', 'C') THEN
349 msc_sch_wb.atp_debug('Get_Allowed_Stolen_Percent: ' || 'Error code:' || to_char(sqlcode));
350 END IF;
351 return(0.0);
352 END Get_Allowed_Stolen_Percent;
353
354 END MRP_AATP_PVT;