423: , x_item_cursor IN OUT NOCOPY VARCHAR2
424: , x_scenario OUT NOCOPY VARCHAR2
425: )
426: IS
427: l_flexfield_rec FND_FLEX_KEY_API.flexfield_type;
428: l_structure_rec FND_FLEX_KEY_API.structure_type;
429: l_segment_rec FND_FLEX_KEY_API.segment_type;
430: l_segment_tbl FND_FLEX_KEY_API.segment_list;
431: l_segment_number NUMBER;
424: , x_scenario OUT NOCOPY VARCHAR2
425: )
426: IS
427: l_flexfield_rec FND_FLEX_KEY_API.flexfield_type;
428: l_structure_rec FND_FLEX_KEY_API.structure_type;
429: l_segment_rec FND_FLEX_KEY_API.segment_type;
430: l_segment_tbl FND_FLEX_KEY_API.segment_list;
431: l_segment_number NUMBER;
432: l_mstk_segs VARCHAR2(850);
425: )
426: IS
427: l_flexfield_rec FND_FLEX_KEY_API.flexfield_type;
428: l_structure_rec FND_FLEX_KEY_API.structure_type;
429: l_segment_rec FND_FLEX_KEY_API.segment_type;
430: l_segment_tbl FND_FLEX_KEY_API.segment_list;
431: l_segment_number NUMBER;
432: l_mstk_segs VARCHAR2(850);
433: l_mcat_segs VARCHAR2(850);
426: IS
427: l_flexfield_rec FND_FLEX_KEY_API.flexfield_type;
428: l_structure_rec FND_FLEX_KEY_API.structure_type;
429: l_segment_rec FND_FLEX_KEY_API.segment_type;
430: l_segment_tbl FND_FLEX_KEY_API.segment_list;
431: l_segment_number NUMBER;
432: l_mstk_segs VARCHAR2(850);
433: l_mcat_segs VARCHAR2(850);
434: l_mcat_f VARCHAR2(2000);
446: , '> Build_Item_Cursor'
447: );
448: END IF;
449:
450: FND_FLEX_KEY_API.set_session_mode('customer_data');
451:
452: -- retrieve system item concatenated flexfield
453: l_mstk_segs := '';
454: l_flexfield_rec := FND_FLEX_KEY_API.find_flexfield('INV', 'MSTK');
450: FND_FLEX_KEY_API.set_session_mode('customer_data');
451:
452: -- retrieve system item concatenated flexfield
453: l_mstk_segs := '';
454: l_flexfield_rec := FND_FLEX_KEY_API.find_flexfield('INV', 'MSTK');
455: l_structure_rec := FND_FLEX_KEY_API.find_structure(l_flexfield_rec, 101);
456: FND_FLEX_KEY_API.get_segments
457: ( flexfield => l_flexfield_rec
458: , structure => l_structure_rec
451:
452: -- retrieve system item concatenated flexfield
453: l_mstk_segs := '';
454: l_flexfield_rec := FND_FLEX_KEY_API.find_flexfield('INV', 'MSTK');
455: l_structure_rec := FND_FLEX_KEY_API.find_structure(l_flexfield_rec, 101);
456: FND_FLEX_KEY_API.get_segments
457: ( flexfield => l_flexfield_rec
458: , structure => l_structure_rec
459: , nsegments => l_segment_number
452: -- retrieve system item concatenated flexfield
453: l_mstk_segs := '';
454: l_flexfield_rec := FND_FLEX_KEY_API.find_flexfield('INV', 'MSTK');
455: l_structure_rec := FND_FLEX_KEY_API.find_structure(l_flexfield_rec, 101);
456: FND_FLEX_KEY_API.get_segments
457: ( flexfield => l_flexfield_rec
458: , structure => l_structure_rec
459: , nsegments => l_segment_number
460: , segments => l_segment_tbl
459: , nsegments => l_segment_number
460: , segments => l_segment_tbl
461: );
462: FOR l_idx IN 1..l_segment_number LOOP
463: l_segment_rec := FND_FLEX_KEY_API.find_segment
464: ( l_flexfield_rec
465: , l_structure_rec
466: , l_segment_tbl(l_idx)
467: );
479: END IF;
480:
481: -- retrieve item category concatenated flexfield
482: l_mcat_segs := '';
483: l_flexfield_rec := FND_FLEX_KEY_API.find_flexfield('INV', 'MCAT');
484: l_structure_rec := FND_FLEX_KEY_API.find_structure
485: ( l_flexfield_rec
486: , p_cat_structure_id
487: );
480:
481: -- retrieve item category concatenated flexfield
482: l_mcat_segs := '';
483: l_flexfield_rec := FND_FLEX_KEY_API.find_flexfield('INV', 'MCAT');
484: l_structure_rec := FND_FLEX_KEY_API.find_structure
485: ( l_flexfield_rec
486: , p_cat_structure_id
487: );
488: FND_FLEX_KEY_API.get_segments
484: l_structure_rec := FND_FLEX_KEY_API.find_structure
485: ( l_flexfield_rec
486: , p_cat_structure_id
487: );
488: FND_FLEX_KEY_API.get_segments
489: ( flexfield => l_flexfield_rec
490: , structure => l_structure_rec
491: , nsegments => l_segment_number
492: , segments => l_segment_tbl
491: , nsegments => l_segment_number
492: , segments => l_segment_tbl
493: );
494: FOR l_idx IN 1..l_segment_number LOOP
495: l_segment_rec := FND_FLEX_KEY_API.find_segment
496: ( l_flexfield_rec
497: , l_structure_rec
498: , l_segment_tbl(l_idx)
499: );
628: WHEN OTHERS THEN
629: IF G_DEBUG = 'Y' THEN
630: INV_ORGHIERARCHY_PVT.Log
631: ( INV_ORGHIERARCHY_PVT.G_LOG_EXCEPTION
632: , FND_FLEX_KEY_API.message
633: );
634: END IF;
635: RAISE;
636: