55: )
56: IS
57: --l_val BOOLEAN;
58: l_nseg NUMBER;
59: l_seglist fnd_flex_key_api.segment_list;
60: l_segs1 fnd_flex_ext.segmentarray;
61: l_segs2 fnd_flex_ext.segmentarray;
62: l_fftype fnd_flex_key_api.flexfield_type;
63: l_ffstru fnd_flex_key_api.structure_type;
58: l_nseg NUMBER;
59: l_seglist fnd_flex_key_api.segment_list;
60: l_segs1 fnd_flex_ext.segmentarray;
61: l_segs2 fnd_flex_ext.segmentarray;
62: l_fftype fnd_flex_key_api.flexfield_type;
63: l_ffstru fnd_flex_key_api.structure_type;
64: l_segment_type fnd_flex_key_api.segment_type;
65: l_item_number VARCHAR2(32000);
66: l_delim VARCHAR2(1);
59: l_seglist fnd_flex_key_api.segment_list;
60: l_segs1 fnd_flex_ext.segmentarray;
61: l_segs2 fnd_flex_ext.segmentarray;
62: l_fftype fnd_flex_key_api.flexfield_type;
63: l_ffstru fnd_flex_key_api.structure_type;
64: l_segment_type fnd_flex_key_api.segment_type;
65: l_item_number VARCHAR2(32000);
66: l_delim VARCHAR2(1);
67: l_index NUMBER;
60: l_segs1 fnd_flex_ext.segmentarray;
61: l_segs2 fnd_flex_ext.segmentarray;
62: l_fftype fnd_flex_key_api.flexfield_type;
63: l_ffstru fnd_flex_key_api.structure_type;
64: l_segment_type fnd_flex_key_api.segment_type;
65: l_item_number VARCHAR2(32000);
66: l_delim VARCHAR2(1);
67: l_index NUMBER;
68: BEGIN
66: l_delim VARCHAR2(1);
67: l_index NUMBER;
68: BEGIN
69:
70: fnd_flex_key_api.set_session_mode('customer_data');
71: -- find flex field type
72: l_fftype := fnd_flex_key_api.find_flexfield('INV'
73: ,'MSTK');
74: -- find flex structure type
68: BEGIN
69:
70: fnd_flex_key_api.set_session_mode('customer_data');
71: -- find flex field type
72: l_fftype := fnd_flex_key_api.find_flexfield('INV'
73: ,'MSTK');
74: -- find flex structure type
75: l_ffstru := fnd_flex_key_api.find_structure(l_fftype
76: ,101);
71: -- find flex field type
72: l_fftype := fnd_flex_key_api.find_flexfield('INV'
73: ,'MSTK');
74: -- find flex structure type
75: l_ffstru := fnd_flex_key_api.find_structure(l_fftype
76: ,101);
77: -- find segment list for the key flex field
78: fnd_flex_key_api.get_segments(l_fftype
79: ,l_ffstru
74: -- find flex structure type
75: l_ffstru := fnd_flex_key_api.find_structure(l_fftype
76: ,101);
77: -- find segment list for the key flex field
78: fnd_flex_key_api.get_segments(l_fftype
79: ,l_ffstru
80: ,TRUE
81: ,l_nseg
82: ,l_seglist);
82: ,l_seglist);
83: -- get the corresponding clolumn for all segments
84: FOR l_loop IN 1 .. l_nseg
85: LOOP
86: l_segment_type := fnd_flex_key_api.find_segment(l_fftype
87: ,l_ffstru
88: ,l_seglist(l_loop));
89: l_segs2(l_loop) := l_segment_type.column_name;
90: END LOOP;
178: RETURN VARCHAR2
179: IS
180: --l_val BOOLEAN;
181: l_nseg NUMBER;
182: l_seglist fnd_flex_key_api.segment_list;
183: l_segs1 fnd_flex_ext.segmentarray;
184: l_segs2 fnd_flex_ext.segmentarray;
185: l_fftype fnd_flex_key_api.flexfield_type;
186: l_ffstru fnd_flex_key_api.structure_type;
181: l_nseg NUMBER;
182: l_seglist fnd_flex_key_api.segment_list;
183: l_segs1 fnd_flex_ext.segmentarray;
184: l_segs2 fnd_flex_ext.segmentarray;
185: l_fftype fnd_flex_key_api.flexfield_type;
186: l_ffstru fnd_flex_key_api.structure_type;
187: l_segment_type fnd_flex_key_api.segment_type;
188: l_item_number VARCHAR2(32000);
189: l_delim VARCHAR2(1);
182: l_seglist fnd_flex_key_api.segment_list;
183: l_segs1 fnd_flex_ext.segmentarray;
184: l_segs2 fnd_flex_ext.segmentarray;
185: l_fftype fnd_flex_key_api.flexfield_type;
186: l_ffstru fnd_flex_key_api.structure_type;
187: l_segment_type fnd_flex_key_api.segment_type;
188: l_item_number VARCHAR2(32000);
189: l_delim VARCHAR2(1);
190: l_index NUMBER;
183: l_segs1 fnd_flex_ext.segmentarray;
184: l_segs2 fnd_flex_ext.segmentarray;
185: l_fftype fnd_flex_key_api.flexfield_type;
186: l_ffstru fnd_flex_key_api.structure_type;
187: l_segment_type fnd_flex_key_api.segment_type;
188: l_item_number VARCHAR2(32000);
189: l_delim VARCHAR2(1);
190: l_index NUMBER;
191: BEGIN
188: l_item_number VARCHAR2(32000);
189: l_delim VARCHAR2(1);
190: l_index NUMBER;
191: BEGIN
192: fnd_flex_key_api.set_session_mode('customer_data');
193: -- find flex field type
194: l_fftype := fnd_flex_key_api.find_flexfield('INV'
195: ,'MSTK');
196: -- find flex structure type
190: l_index NUMBER;
191: BEGIN
192: fnd_flex_key_api.set_session_mode('customer_data');
193: -- find flex field type
194: l_fftype := fnd_flex_key_api.find_flexfield('INV'
195: ,'MSTK');
196: -- find flex structure type
197: l_ffstru := fnd_flex_key_api.find_structure(l_fftype
198: ,101);
193: -- find flex field type
194: l_fftype := fnd_flex_key_api.find_flexfield('INV'
195: ,'MSTK');
196: -- find flex structure type
197: l_ffstru := fnd_flex_key_api.find_structure(l_fftype
198: ,101);
199: -- find segment list for the key flex field
200: fnd_flex_key_api.get_segments(l_fftype
201: ,l_ffstru
196: -- find flex structure type
197: l_ffstru := fnd_flex_key_api.find_structure(l_fftype
198: ,101);
199: -- find segment list for the key flex field
200: fnd_flex_key_api.get_segments(l_fftype
201: ,l_ffstru
202: ,TRUE
203: ,l_nseg
204: ,l_seglist);
204: ,l_seglist);
205: -- get the corresponding clolumn for all segments
206: FOR l_loop IN 1 .. l_nseg
207: LOOP
208: l_segment_type := fnd_flex_key_api.find_segment(l_fftype
209: ,l_ffstru
210: ,l_seglist(l_loop));
211: l_segs2(l_loop) := l_segment_type.column_name;
212: END LOOP;