[Home] [Help]
75: , x_index OUT NOCOPY NUMBER
76: ) IS
77: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
78: l_index NUMBER;
79: l_rec inv_reservation_global.item_record;
80: BEGIN
81: IF inv_reservation_global.g_item_record_cache.EXISTS(p_inventory_item_id) THEN
82: IF inv_reservation_global.g_item_record_cache(p_inventory_item_id).organization_id = p_organization_id THEN
83: l_index := p_inventory_item_id;
77: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
78: l_index NUMBER;
79: l_rec inv_reservation_global.item_record;
80: BEGIN
81: IF inv_reservation_global.g_item_record_cache.EXISTS(p_inventory_item_id) THEN
82: IF inv_reservation_global.g_item_record_cache(p_inventory_item_id).organization_id = p_organization_id THEN
83: l_index := p_inventory_item_id;
84: END IF;
85: END IF;
78: l_index NUMBER;
79: l_rec inv_reservation_global.item_record;
80: BEGIN
81: IF inv_reservation_global.g_item_record_cache.EXISTS(p_inventory_item_id) THEN
82: IF inv_reservation_global.g_item_record_cache(p_inventory_item_id).organization_id = p_organization_id THEN
83: l_index := p_inventory_item_id;
84: END IF;
85: END IF;
86:
84: END IF;
85: END IF;
86:
87: /*
88: IF inv_reservation_global.g_item_record_cache.count > 0 THEN
89: l_index := inv_reservation_global.g_item_record_cache.first ;
90: LOOP
91: IF inv_reservation_global.g_item_record_cache
92: (l_index).inventory_item_id = p_inventory_item_id
85: END IF;
86:
87: /*
88: IF inv_reservation_global.g_item_record_cache.count > 0 THEN
89: l_index := inv_reservation_global.g_item_record_cache.first ;
90: LOOP
91: IF inv_reservation_global.g_item_record_cache
92: (l_index).inventory_item_id = p_inventory_item_id
93: AND inv_reservation_global.g_item_record_cache
87: /*
88: IF inv_reservation_global.g_item_record_cache.count > 0 THEN
89: l_index := inv_reservation_global.g_item_record_cache.first ;
90: LOOP
91: IF inv_reservation_global.g_item_record_cache
92: (l_index).inventory_item_id = p_inventory_item_id
93: AND inv_reservation_global.g_item_record_cache
94: (l_index).organization_id = p_organization_id THEN
95: EXIT;
89: l_index := inv_reservation_global.g_item_record_cache.first ;
90: LOOP
91: IF inv_reservation_global.g_item_record_cache
92: (l_index).inventory_item_id = p_inventory_item_id
93: AND inv_reservation_global.g_item_record_cache
94: (l_index).organization_id = p_organization_id THEN
95: EXIT;
96: ELSE
97: IF l_index = inv_reservation_global.g_item_record_cache.last THEN
93: AND inv_reservation_global.g_item_record_cache
94: (l_index).organization_id = p_organization_id THEN
95: EXIT;
96: ELSE
97: IF l_index = inv_reservation_global.g_item_record_cache.last THEN
98: l_index := NULL;
99: EXIT;
100: END IF;
101: l_index :=
98: l_index := NULL;
99: EXIT;
100: END IF;
101: l_index :=
102: inv_reservation_global.g_item_record_cache.next(l_index) ;
103: END IF;
104: END LOOP;
105: END IF;
106: */
124:
125: PROCEDURE add_item_cache
126: (
127: x_return_status OUT NOCOPY VARCHAR2
128: , p_item_record IN inv_reservation_global.item_record
129: , x_index OUT NOCOPY NUMBER
130: ) IS
131: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
132: l_index NUMBER;
130: ) IS
131: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
132: l_index NUMBER;
133: BEGIN
134: --l_index := inv_reservation_global.g_item_record_cache.COUNT+1;
135: l_index := p_item_record.inventory_item_id;
136: inv_reservation_global.g_item_record_cache(l_index)
137: := p_item_record;
138:
132: l_index NUMBER;
133: BEGIN
134: --l_index := inv_reservation_global.g_item_record_cache.COUNT+1;
135: l_index := p_item_record.inventory_item_id;
136: inv_reservation_global.g_item_record_cache(l_index)
137: := p_item_record;
138:
139: x_index := l_index;
140: x_return_status := l_return_status;
160: , x_index OUT NOCOPY NUMBER
161: ) IS
162: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
163: l_index NUMBER;
164: l_rec inv_reservation_global.organization_record;
165: BEGIN
166: IF inv_reservation_global.g_organization_record_cache.EXISTS(p_organization_id) THEN
167: l_index := p_organization_id;
168: END IF;
162: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
163: l_index NUMBER;
164: l_rec inv_reservation_global.organization_record;
165: BEGIN
166: IF inv_reservation_global.g_organization_record_cache.EXISTS(p_organization_id) THEN
167: l_index := p_organization_id;
168: END IF;
169:
170: /*
167: l_index := p_organization_id;
168: END IF;
169:
170: /*
171: IF inv_reservation_global.g_organization_record_cache.count > 0 THEN
172: l_index := inv_reservation_global.g_organization_record_cache.first ;
173: LOOP
174: IF inv_reservation_global.g_organization_record_cache
175: (l_index).organization_id = p_organization_id THEN
168: END IF;
169:
170: /*
171: IF inv_reservation_global.g_organization_record_cache.count > 0 THEN
172: l_index := inv_reservation_global.g_organization_record_cache.first ;
173: LOOP
174: IF inv_reservation_global.g_organization_record_cache
175: (l_index).organization_id = p_organization_id THEN
176: EXIT;
170: /*
171: IF inv_reservation_global.g_organization_record_cache.count > 0 THEN
172: l_index := inv_reservation_global.g_organization_record_cache.first ;
173: LOOP
174: IF inv_reservation_global.g_organization_record_cache
175: (l_index).organization_id = p_organization_id THEN
176: EXIT;
177: ELSE
178: IF l_index =
175: (l_index).organization_id = p_organization_id THEN
176: EXIT;
177: ELSE
178: IF l_index =
179: inv_reservation_global.g_organization_record_cache.last
180: THEN
181: l_index := NULL;
182: EXIT;
183: END IF;
181: l_index := NULL;
182: EXIT;
183: END IF;
184: l_index :=
185: inv_reservation_global.g_organization_record_cache.next(l_index) ;
186: END IF;
187: END LOOP;
188: END IF;
189: */
207:
208: PROCEDURE add_organization_cache
209: (
210: x_return_status OUT NOCOPY VARCHAR2
211: , p_organization_record IN inv_reservation_global.organization_record
212: , x_index OUT NOCOPY NUMBER
213: ) IS
214: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
215: l_index NUMBER;
213: ) IS
214: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
215: l_index NUMBER;
216: BEGIN
217: --l_index := inv_reservation_global.g_organization_record_cache.COUNT+1;
218: l_index := p_organization_record.organization_id;
219: inv_reservation_global.g_organization_record_cache(l_index)
220: := p_organization_record;
221:
215: l_index NUMBER;
216: BEGIN
217: --l_index := inv_reservation_global.g_organization_record_cache.COUNT+1;
218: l_index := p_organization_record.organization_id;
219: inv_reservation_global.g_organization_record_cache(l_index)
220: := p_organization_record;
221:
222: x_index := l_index;
223: x_return_status := l_return_status;
246: , x_index OUT NOCOPY NUMBER
247: ) IS
248: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
249: l_index NUMBER;
250: l_rec inv_reservation_global.demand_record;
251: BEGIN
252:
253: -- For increased efficiency if source_line_is is provided then that
254: -- is used as the index in which to store the demand info hence check that
253: -- For increased efficiency if source_line_is is provided then that
254: -- is used as the index in which to store the demand info hence check that
255: -- position first. If it is null then use existing check
256: IF p_demand_source_line_id IS NOT NULL THEN
257: IF inv_reservation_global.g_demand_record_cache.EXISTS(p_demand_source_line_id) THEN
258: -- The orginal code allowed any value including demand_source_line_id to be null.
259: -- In the case where demand_source_line_id is null the demand record is place
260: -- in the first available slot in the table. Hence need to also check if record
261: -- returned is actual record required
258: -- The orginal code allowed any value including demand_source_line_id to be null.
259: -- In the case where demand_source_line_id is null the demand record is place
260: -- in the first available slot in the table. Hence need to also check if record
261: -- returned is actual record required
262: IF inv_reservation_global.g_demand_record_cache(p_demand_source_line_id).demand_source_line_id IS NOT NULL THEN
263: l_index := p_demand_source_line_id;
264: END IF;
265: END IF;
266: ELSE -- loop through all
263: l_index := p_demand_source_line_id;
264: END IF;
265: END IF;
266: ELSE -- loop through all
267: IF inv_reservation_global.g_demand_record_cache.count > 0 THEN
268: l_index := inv_reservation_global.g_demand_record_cache.first ;
269: LOOP
270: IF (inv_reservation_global.g_demand_record_cache
271: (l_index).demand_source_type_id IS NULL
264: END IF;
265: END IF;
266: ELSE -- loop through all
267: IF inv_reservation_global.g_demand_record_cache.count > 0 THEN
268: l_index := inv_reservation_global.g_demand_record_cache.first ;
269: LOOP
270: IF (inv_reservation_global.g_demand_record_cache
271: (l_index).demand_source_type_id IS NULL
272: AND p_demand_source_type_id IS NULL
266: ELSE -- loop through all
267: IF inv_reservation_global.g_demand_record_cache.count > 0 THEN
268: l_index := inv_reservation_global.g_demand_record_cache.first ;
269: LOOP
270: IF (inv_reservation_global.g_demand_record_cache
271: (l_index).demand_source_type_id IS NULL
272: AND p_demand_source_type_id IS NULL
273: OR inv_reservation_global.g_demand_record_cache
274: (l_index).demand_source_type_id = p_demand_source_type_id)
269: LOOP
270: IF (inv_reservation_global.g_demand_record_cache
271: (l_index).demand_source_type_id IS NULL
272: AND p_demand_source_type_id IS NULL
273: OR inv_reservation_global.g_demand_record_cache
274: (l_index).demand_source_type_id = p_demand_source_type_id)
275: AND (inv_reservation_global.g_demand_record_cache
276: (l_index).demand_source_header_id IS NULL
277: AND p_demand_source_header_id IS NULL
271: (l_index).demand_source_type_id IS NULL
272: AND p_demand_source_type_id IS NULL
273: OR inv_reservation_global.g_demand_record_cache
274: (l_index).demand_source_type_id = p_demand_source_type_id)
275: AND (inv_reservation_global.g_demand_record_cache
276: (l_index).demand_source_header_id IS NULL
277: AND p_demand_source_header_id IS NULL
278: OR inv_reservation_global.g_demand_record_cache
279: (l_index).demand_source_header_id
274: (l_index).demand_source_type_id = p_demand_source_type_id)
275: AND (inv_reservation_global.g_demand_record_cache
276: (l_index).demand_source_header_id IS NULL
277: AND p_demand_source_header_id IS NULL
278: OR inv_reservation_global.g_demand_record_cache
279: (l_index).demand_source_header_id
280: = p_demand_source_header_id)
281: AND (inv_reservation_global.g_demand_record_cache
282: (l_index).demand_source_line_id IS NULL
277: AND p_demand_source_header_id IS NULL
278: OR inv_reservation_global.g_demand_record_cache
279: (l_index).demand_source_header_id
280: = p_demand_source_header_id)
281: AND (inv_reservation_global.g_demand_record_cache
282: (l_index).demand_source_line_id IS NULL
283: AND p_demand_source_line_id IS NULL
284: OR inv_reservation_global.g_demand_record_cache
285: (l_index).demand_source_line_id = p_demand_source_line_id)
280: = p_demand_source_header_id)
281: AND (inv_reservation_global.g_demand_record_cache
282: (l_index).demand_source_line_id IS NULL
283: AND p_demand_source_line_id IS NULL
284: OR inv_reservation_global.g_demand_record_cache
285: (l_index).demand_source_line_id = p_demand_source_line_id)
286: AND (inv_reservation_global.g_demand_record_cache
287: (l_index).demand_source_name IS NULL
288: AND p_demand_source_name IS NULL
282: (l_index).demand_source_line_id IS NULL
283: AND p_demand_source_line_id IS NULL
284: OR inv_reservation_global.g_demand_record_cache
285: (l_index).demand_source_line_id = p_demand_source_line_id)
286: AND (inv_reservation_global.g_demand_record_cache
287: (l_index).demand_source_name IS NULL
288: AND p_demand_source_name IS NULL
289: OR inv_reservation_global.g_demand_record_cache
290: (l_index).demand_source_name = p_demand_source_name)
285: (l_index).demand_source_line_id = p_demand_source_line_id)
286: AND (inv_reservation_global.g_demand_record_cache
287: (l_index).demand_source_name IS NULL
288: AND p_demand_source_name IS NULL
289: OR inv_reservation_global.g_demand_record_cache
290: (l_index).demand_source_name = p_demand_source_name)
291: THEN
292: EXIT;
293: ELSE
291: THEN
292: EXIT;
293: ELSE
294: IF l_index =
295: inv_reservation_global.g_demand_record_cache.last THEN
296: l_index := NULL;
297: EXIT;
298: END IF;
299: l_index :=
296: l_index := NULL;
297: EXIT;
298: END IF;
299: l_index :=
300: inv_reservation_global.g_demand_record_cache.next(l_index) ;
301: END IF;
302: END LOOP;
303: END IF;
304: END IF;
322:
323: PROCEDURE add_demand_cache
324: (
325: x_return_status OUT NOCOPY VARCHAR2
326: , p_demand_record IN inv_reservation_global.demand_record
327: , x_index OUT NOCOPY NUMBER
328: ) IS
329: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
330: l_index NUMBER;
333: l_index := p_demand_record.demand_source_line_id;
334: ELSE
335: -- need to check whether there is a collision and increment accordingly
336: LOOP
337: IF inv_reservation_global.g_demand_record_cache.EXISTS(g_next_demand_entry)
338: THEN g_next_demand_entry := g_next_demand_entry + 1;
339: ELSE
340: exit; --loop
341: END IF;
339: ELSE
340: exit; --loop
341: END IF;
342: END LOOP;
343: --l_index := inv_reservation_global.g_demand_record_cache.COUNT+1;
344: l_index := g_next_demand_entry;
345: g_next_demand_entry := g_next_demand_entry + 1;
346: END IF;
347: inv_reservation_global.g_demand_record_cache(l_index)
343: --l_index := inv_reservation_global.g_demand_record_cache.COUNT+1;
344: l_index := g_next_demand_entry;
345: g_next_demand_entry := g_next_demand_entry + 1;
346: END IF;
347: inv_reservation_global.g_demand_record_cache(l_index)
348: := p_demand_record;
349:
350: x_index := l_index;
351: x_return_status := l_return_status;
374: , x_index OUT NOCOPY NUMBER
375: ) IS
376: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
377: l_index NUMBER;
378: l_rec inv_reservation_global.supply_record;
379: BEGIN
380:
381: IF inv_reservation_global.g_supply_record_cache.count > 0 THEN
382: l_index := inv_reservation_global.g_supply_record_cache.first ;
377: l_index NUMBER;
378: l_rec inv_reservation_global.supply_record;
379: BEGIN
380:
381: IF inv_reservation_global.g_supply_record_cache.count > 0 THEN
382: l_index := inv_reservation_global.g_supply_record_cache.first ;
383: LOOP
384: IF (inv_reservation_global.g_supply_record_cache
385: (l_index).supply_source_type_id IS NULL
378: l_rec inv_reservation_global.supply_record;
379: BEGIN
380:
381: IF inv_reservation_global.g_supply_record_cache.count > 0 THEN
382: l_index := inv_reservation_global.g_supply_record_cache.first ;
383: LOOP
384: IF (inv_reservation_global.g_supply_record_cache
385: (l_index).supply_source_type_id IS NULL
386: AND p_supply_source_type_id IS NULL
380:
381: IF inv_reservation_global.g_supply_record_cache.count > 0 THEN
382: l_index := inv_reservation_global.g_supply_record_cache.first ;
383: LOOP
384: IF (inv_reservation_global.g_supply_record_cache
385: (l_index).supply_source_type_id IS NULL
386: AND p_supply_source_type_id IS NULL
387: OR inv_reservation_global.g_supply_record_cache
388: (l_index).supply_source_type_id = p_supply_source_type_id)
383: LOOP
384: IF (inv_reservation_global.g_supply_record_cache
385: (l_index).supply_source_type_id IS NULL
386: AND p_supply_source_type_id IS NULL
387: OR inv_reservation_global.g_supply_record_cache
388: (l_index).supply_source_type_id = p_supply_source_type_id)
389: AND (inv_reservation_global.g_supply_record_cache
390: (l_index).supply_source_header_id IS NULL
391: AND p_supply_source_header_id IS NULL
385: (l_index).supply_source_type_id IS NULL
386: AND p_supply_source_type_id IS NULL
387: OR inv_reservation_global.g_supply_record_cache
388: (l_index).supply_source_type_id = p_supply_source_type_id)
389: AND (inv_reservation_global.g_supply_record_cache
390: (l_index).supply_source_header_id IS NULL
391: AND p_supply_source_header_id IS NULL
392: OR inv_reservation_global.g_supply_record_cache
393: (l_index).supply_source_header_id
388: (l_index).supply_source_type_id = p_supply_source_type_id)
389: AND (inv_reservation_global.g_supply_record_cache
390: (l_index).supply_source_header_id IS NULL
391: AND p_supply_source_header_id IS NULL
392: OR inv_reservation_global.g_supply_record_cache
393: (l_index).supply_source_header_id
394: = p_supply_source_header_id)
395: AND (inv_reservation_global.g_supply_record_cache
396: (l_index).supply_source_line_id IS NULL
391: AND p_supply_source_header_id IS NULL
392: OR inv_reservation_global.g_supply_record_cache
393: (l_index).supply_source_header_id
394: = p_supply_source_header_id)
395: AND (inv_reservation_global.g_supply_record_cache
396: (l_index).supply_source_line_id IS NULL
397: AND p_supply_source_line_id IS NULL
398: OR inv_reservation_global.g_supply_record_cache
399: (l_index).supply_source_line_id = p_supply_source_line_id)
394: = p_supply_source_header_id)
395: AND (inv_reservation_global.g_supply_record_cache
396: (l_index).supply_source_line_id IS NULL
397: AND p_supply_source_line_id IS NULL
398: OR inv_reservation_global.g_supply_record_cache
399: (l_index).supply_source_line_id = p_supply_source_line_id)
400: AND (inv_reservation_global.g_supply_record_cache
401: (l_index).supply_source_name IS NULL
402: AND p_supply_source_name IS NULL
396: (l_index).supply_source_line_id IS NULL
397: AND p_supply_source_line_id IS NULL
398: OR inv_reservation_global.g_supply_record_cache
399: (l_index).supply_source_line_id = p_supply_source_line_id)
400: AND (inv_reservation_global.g_supply_record_cache
401: (l_index).supply_source_name IS NULL
402: AND p_supply_source_name IS NULL
403: OR inv_reservation_global.g_supply_record_cache
404: (l_index).supply_source_name = p_supply_source_name)
399: (l_index).supply_source_line_id = p_supply_source_line_id)
400: AND (inv_reservation_global.g_supply_record_cache
401: (l_index).supply_source_name IS NULL
402: AND p_supply_source_name IS NULL
403: OR inv_reservation_global.g_supply_record_cache
404: (l_index).supply_source_name = p_supply_source_name)
405: THEN
406: EXIT;
407: ELSE
405: THEN
406: EXIT;
407: ELSE
408: IF l_index
409: = inv_reservation_global.g_supply_record_cache.last THEN
410: l_index := NULL;
411: EXIT;
412: END IF;
413: l_index :=
410: l_index := NULL;
411: EXIT;
412: END IF;
413: l_index :=
414: inv_reservation_global.g_supply_record_cache.next(l_index) ;
415: END IF;
416: END LOOP;
417: END IF;
418:
435:
436: PROCEDURE add_supply_cache
437: (
438: x_return_status OUT NOCOPY VARCHAR2
439: , p_supply_record IN inv_reservation_global.supply_record
440: , x_index OUT NOCOPY NUMBER
441: ) IS
442: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
443: l_index NUMBER;
441: ) IS
442: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
443: l_index NUMBER;
444: BEGIN
445: l_index := inv_reservation_global.g_supply_record_cache.COUNT+1;
446: inv_reservation_global.g_supply_record_cache(l_index)
447: := p_supply_record;
448:
449: x_index := l_index;
442: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
443: l_index NUMBER;
444: BEGIN
445: l_index := inv_reservation_global.g_supply_record_cache.COUNT+1;
446: inv_reservation_global.g_supply_record_cache(l_index)
447: := p_supply_record;
448:
449: x_index := l_index;
450: x_return_status := l_return_status;
475: BEGIN
476: -- Modified for common API. Secondary_inventory_name replaces
477: -- subinventory_code
478:
479: IF inv_reservation_global.g_sub_record_cache.count > 0 THEN
480: l_index := inv_reservation_global.g_sub_record_cache.first ;
481: LOOP
482: IF (inv_reservation_global.g_sub_record_cache
483: (l_index).secondary_inventory_name IS NULL
476: -- Modified for common API. Secondary_inventory_name replaces
477: -- subinventory_code
478:
479: IF inv_reservation_global.g_sub_record_cache.count > 0 THEN
480: l_index := inv_reservation_global.g_sub_record_cache.first ;
481: LOOP
482: IF (inv_reservation_global.g_sub_record_cache
483: (l_index).secondary_inventory_name IS NULL
484: AND p_subinventory_code IS NULL
478:
479: IF inv_reservation_global.g_sub_record_cache.count > 0 THEN
480: l_index := inv_reservation_global.g_sub_record_cache.first ;
481: LOOP
482: IF (inv_reservation_global.g_sub_record_cache
483: (l_index).secondary_inventory_name IS NULL
484: AND p_subinventory_code IS NULL
485: OR inv_reservation_global.g_sub_record_cache
486: (l_index).secondary_inventory_name= p_subinventory_code)
481: LOOP
482: IF (inv_reservation_global.g_sub_record_cache
483: (l_index).secondary_inventory_name IS NULL
484: AND p_subinventory_code IS NULL
485: OR inv_reservation_global.g_sub_record_cache
486: (l_index).secondary_inventory_name= p_subinventory_code)
487: AND (inv_reservation_global.g_sub_record_cache
488: (l_index).organization_id IS NULL
489: AND p_organization_id IS NULL
483: (l_index).secondary_inventory_name IS NULL
484: AND p_subinventory_code IS NULL
485: OR inv_reservation_global.g_sub_record_cache
486: (l_index).secondary_inventory_name= p_subinventory_code)
487: AND (inv_reservation_global.g_sub_record_cache
488: (l_index).organization_id IS NULL
489: AND p_organization_id IS NULL
490: OR inv_reservation_global.g_sub_record_cache
491: (l_index).organization_id = p_organization_id) THEN
486: (l_index).secondary_inventory_name= p_subinventory_code)
487: AND (inv_reservation_global.g_sub_record_cache
488: (l_index).organization_id IS NULL
489: AND p_organization_id IS NULL
490: OR inv_reservation_global.g_sub_record_cache
491: (l_index).organization_id = p_organization_id) THEN
492: EXIT;
493: ELSE
494: IF l_index = inv_reservation_global.g_sub_record_cache.last THEN
490: OR inv_reservation_global.g_sub_record_cache
491: (l_index).organization_id = p_organization_id) THEN
492: EXIT;
493: ELSE
494: IF l_index = inv_reservation_global.g_sub_record_cache.last THEN
495: l_index := NULL;
496: EXIT;
497: END IF;
498: l_index :=
495: l_index := NULL;
496: EXIT;
497: END IF;
498: l_index :=
499: inv_reservation_global.g_sub_record_cache.next(l_index) ;
500: END IF;
501: END LOOP;
502: END IF;
503:
520:
521: PROCEDURE add_sub_cache
522: (
523: x_return_status OUT NOCOPY VARCHAR2
524: , p_sub_record IN inv_reservation_global.sub_record
525: , x_index OUT NOCOPY NUMBER
526: ) IS
527: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
528: l_index NUMBER;
526: ) IS
527: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
528: l_index NUMBER;
529: BEGIN
530: l_index := inv_reservation_global.g_sub_record_cache.COUNT+1;
531: inv_reservation_global.g_sub_record_cache(l_index)
532: := p_sub_record;
533:
534: x_index := l_index;
527: l_return_status VARCHAR2(1) := fnd_api.g_ret_sts_success;
528: l_index NUMBER;
529: BEGIN
530: l_index := inv_reservation_global.g_sub_record_cache.COUNT+1;
531: inv_reservation_global.g_sub_record_cache(l_index)
532: := p_sub_record;
533:
534: x_index := l_index;
535: x_return_status := l_return_status;
580: l_value NUMBER;
581: l_locator_control NUMBER;
582: BEGIN
583:
584: IF p_org_control = inv_reservation_global.g_locator_control_no THEN
585: l_locator_control := inv_reservation_global.g_locator_control_no;
586: ELSIF p_org_control =
587: inv_reservation_global.g_locator_control_prespecified THEN
588: l_locator_control :=
581: l_locator_control NUMBER;
582: BEGIN
583:
584: IF p_org_control = inv_reservation_global.g_locator_control_no THEN
585: l_locator_control := inv_reservation_global.g_locator_control_no;
586: ELSIF p_org_control =
587: inv_reservation_global.g_locator_control_prespecified THEN
588: l_locator_control :=
589: inv_reservation_global.g_locator_control_prespecified;
583:
584: IF p_org_control = inv_reservation_global.g_locator_control_no THEN
585: l_locator_control := inv_reservation_global.g_locator_control_no;
586: ELSIF p_org_control =
587: inv_reservation_global.g_locator_control_prespecified THEN
588: l_locator_control :=
589: inv_reservation_global.g_locator_control_prespecified;
590: ELSIF p_org_control =
591: inv_reservation_global.g_locator_control_dynamic THEN
585: l_locator_control := inv_reservation_global.g_locator_control_no;
586: ELSIF p_org_control =
587: inv_reservation_global.g_locator_control_prespecified THEN
588: l_locator_control :=
589: inv_reservation_global.g_locator_control_prespecified;
590: ELSIF p_org_control =
591: inv_reservation_global.g_locator_control_dynamic THEN
592: l_locator_control :=
593: inv_reservation_global.g_locator_control_prespecified;
587: inv_reservation_global.g_locator_control_prespecified THEN
588: l_locator_control :=
589: inv_reservation_global.g_locator_control_prespecified;
590: ELSIF p_org_control =
591: inv_reservation_global.g_locator_control_dynamic THEN
592: l_locator_control :=
593: inv_reservation_global.g_locator_control_prespecified;
594: ELSIF p_org_control = inv_reservation_global.g_locator_control_by_sub THEN
595: IF p_sub_control = inv_reservation_global.g_locator_control_no THEN
589: inv_reservation_global.g_locator_control_prespecified;
590: ELSIF p_org_control =
591: inv_reservation_global.g_locator_control_dynamic THEN
592: l_locator_control :=
593: inv_reservation_global.g_locator_control_prespecified;
594: ELSIF p_org_control = inv_reservation_global.g_locator_control_by_sub THEN
595: IF p_sub_control = inv_reservation_global.g_locator_control_no THEN
596: l_locator_control := inv_reservation_global.g_locator_control_no;
597: ELSIF p_sub_control =
590: ELSIF p_org_control =
591: inv_reservation_global.g_locator_control_dynamic THEN
592: l_locator_control :=
593: inv_reservation_global.g_locator_control_prespecified;
594: ELSIF p_org_control = inv_reservation_global.g_locator_control_by_sub THEN
595: IF p_sub_control = inv_reservation_global.g_locator_control_no THEN
596: l_locator_control := inv_reservation_global.g_locator_control_no;
597: ELSIF p_sub_control =
598: inv_reservation_global.g_locator_control_prespecified THEN
591: inv_reservation_global.g_locator_control_dynamic THEN
592: l_locator_control :=
593: inv_reservation_global.g_locator_control_prespecified;
594: ELSIF p_org_control = inv_reservation_global.g_locator_control_by_sub THEN
595: IF p_sub_control = inv_reservation_global.g_locator_control_no THEN
596: l_locator_control := inv_reservation_global.g_locator_control_no;
597: ELSIF p_sub_control =
598: inv_reservation_global.g_locator_control_prespecified THEN
599: l_locator_control :=
592: l_locator_control :=
593: inv_reservation_global.g_locator_control_prespecified;
594: ELSIF p_org_control = inv_reservation_global.g_locator_control_by_sub THEN
595: IF p_sub_control = inv_reservation_global.g_locator_control_no THEN
596: l_locator_control := inv_reservation_global.g_locator_control_no;
597: ELSIF p_sub_control =
598: inv_reservation_global.g_locator_control_prespecified THEN
599: l_locator_control :=
600: inv_reservation_global.g_locator_control_prespecified ;
594: ELSIF p_org_control = inv_reservation_global.g_locator_control_by_sub THEN
595: IF p_sub_control = inv_reservation_global.g_locator_control_no THEN
596: l_locator_control := inv_reservation_global.g_locator_control_no;
597: ELSIF p_sub_control =
598: inv_reservation_global.g_locator_control_prespecified THEN
599: l_locator_control :=
600: inv_reservation_global.g_locator_control_prespecified ;
601: ELSIF p_sub_control =
602: inv_reservation_global.g_locator_control_dynamic THEN
596: l_locator_control := inv_reservation_global.g_locator_control_no;
597: ELSIF p_sub_control =
598: inv_reservation_global.g_locator_control_prespecified THEN
599: l_locator_control :=
600: inv_reservation_global.g_locator_control_prespecified ;
601: ELSIF p_sub_control =
602: inv_reservation_global.g_locator_control_dynamic THEN
603: l_locator_control :=
604: inv_reservation_global.g_locator_control_prespecified;
598: inv_reservation_global.g_locator_control_prespecified THEN
599: l_locator_control :=
600: inv_reservation_global.g_locator_control_prespecified ;
601: ELSIF p_sub_control =
602: inv_reservation_global.g_locator_control_dynamic THEN
603: l_locator_control :=
604: inv_reservation_global.g_locator_control_prespecified;
605: ELSIF p_sub_control =
606: inv_reservation_global.g_locator_control_by_item THEN
600: inv_reservation_global.g_locator_control_prespecified ;
601: ELSIF p_sub_control =
602: inv_reservation_global.g_locator_control_dynamic THEN
603: l_locator_control :=
604: inv_reservation_global.g_locator_control_prespecified;
605: ELSIF p_sub_control =
606: inv_reservation_global.g_locator_control_by_item THEN
607: IF p_item_control = inv_reservation_global.g_locator_control_no THEN
608: l_locator_control := inv_reservation_global.g_locator_control_no;
602: inv_reservation_global.g_locator_control_dynamic THEN
603: l_locator_control :=
604: inv_reservation_global.g_locator_control_prespecified;
605: ELSIF p_sub_control =
606: inv_reservation_global.g_locator_control_by_item THEN
607: IF p_item_control = inv_reservation_global.g_locator_control_no THEN
608: l_locator_control := inv_reservation_global.g_locator_control_no;
609: ELSIF p_item_control =
610: inv_reservation_global.g_locator_control_prespecified THEN
603: l_locator_control :=
604: inv_reservation_global.g_locator_control_prespecified;
605: ELSIF p_sub_control =
606: inv_reservation_global.g_locator_control_by_item THEN
607: IF p_item_control = inv_reservation_global.g_locator_control_no THEN
608: l_locator_control := inv_reservation_global.g_locator_control_no;
609: ELSIF p_item_control =
610: inv_reservation_global.g_locator_control_prespecified THEN
611: l_locator_control :=
604: inv_reservation_global.g_locator_control_prespecified;
605: ELSIF p_sub_control =
606: inv_reservation_global.g_locator_control_by_item THEN
607: IF p_item_control = inv_reservation_global.g_locator_control_no THEN
608: l_locator_control := inv_reservation_global.g_locator_control_no;
609: ELSIF p_item_control =
610: inv_reservation_global.g_locator_control_prespecified THEN
611: l_locator_control :=
612: inv_reservation_global.g_locator_control_prespecified;
606: inv_reservation_global.g_locator_control_by_item THEN
607: IF p_item_control = inv_reservation_global.g_locator_control_no THEN
608: l_locator_control := inv_reservation_global.g_locator_control_no;
609: ELSIF p_item_control =
610: inv_reservation_global.g_locator_control_prespecified THEN
611: l_locator_control :=
612: inv_reservation_global.g_locator_control_prespecified;
613: ELSIF p_item_control =
614: inv_reservation_global.g_locator_control_dynamic THEN
608: l_locator_control := inv_reservation_global.g_locator_control_no;
609: ELSIF p_item_control =
610: inv_reservation_global.g_locator_control_prespecified THEN
611: l_locator_control :=
612: inv_reservation_global.g_locator_control_prespecified;
613: ELSIF p_item_control =
614: inv_reservation_global.g_locator_control_dynamic THEN
615: l_locator_control :=
616: inv_reservation_global.g_locator_control_prespecified;
610: inv_reservation_global.g_locator_control_prespecified THEN
611: l_locator_control :=
612: inv_reservation_global.g_locator_control_prespecified;
613: ELSIF p_item_control =
614: inv_reservation_global.g_locator_control_dynamic THEN
615: l_locator_control :=
616: inv_reservation_global.g_locator_control_prespecified;
617: ELSIF p_item_control IS NULL THEN
618: l_locator_control := p_sub_control;
612: inv_reservation_global.g_locator_control_prespecified;
613: ELSIF p_item_control =
614: inv_reservation_global.g_locator_control_dynamic THEN
615: l_locator_control :=
616: inv_reservation_global.g_locator_control_prespecified;
617: ELSIF p_item_control IS NULL THEN
618: l_locator_control := p_sub_control;
619: ELSE
620: l_value := p_item_control;
651: l_wip_entity_type NUMBER;
652: l_wip_job_type VARCHAR2(15);
653: BEGIN
654:
655: IF (NOT inv_reservation_global.g_wip_record_cache.EXISTS(p_wip_entity_id)) THEN
656: -- call get_wip_entity API
657: inv_reservation_pvt.get_wip_entity_type
658: ( p_api_version_number => 1.0
659: , p_init_msg_lst => fnd_api.g_false
675: ELSIF (l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
676: RAISE fnd_api.g_exc_unexpected_error;
677: END IF;
678:
679: inv_reservation_global.g_wip_record_cache(p_wip_entity_id).wip_entity_id
680: := p_wip_entity_id;
681:
682: inv_reservation_global.g_wip_record_cache(p_wip_entity_id).wip_entity_type
683: := l_wip_entity_type;
678:
679: inv_reservation_global.g_wip_record_cache(p_wip_entity_id).wip_entity_id
680: := p_wip_entity_id;
681:
682: inv_reservation_global.g_wip_record_cache(p_wip_entity_id).wip_entity_type
683: := l_wip_entity_type;
684:
685: inv_reservation_global.g_wip_record_cache(p_wip_entity_id).wip_entity_job
686: := l_wip_job_type;
681:
682: inv_reservation_global.g_wip_record_cache(p_wip_entity_id).wip_entity_type
683: := l_wip_entity_type;
684:
685: inv_reservation_global.g_wip_record_cache(p_wip_entity_id).wip_entity_job
686: := l_wip_job_type;
687: END IF;
688:
689: x_return_status := l_return_status;