95: , key_flex_code => 'MICG'
96: , structure_number => 101
97: );
98: l_segment_values FND_FLEX_EXT.SegmentArray;
99: kff fnd_flex_key_api.flexfield_type;
100: str fnd_flex_key_api.structure_type;
101: seg fnd_flex_key_api.segment_type;
102: seg_list fnd_flex_key_api.segment_list;
103: j number;
96: , structure_number => 101
97: );
98: l_segment_values FND_FLEX_EXT.SegmentArray;
99: kff fnd_flex_key_api.flexfield_type;
100: str fnd_flex_key_api.structure_type;
101: seg fnd_flex_key_api.segment_type;
102: seg_list fnd_flex_key_api.segment_list;
103: j number;
104: i number;
97: );
98: l_segment_values FND_FLEX_EXT.SegmentArray;
99: kff fnd_flex_key_api.flexfield_type;
100: str fnd_flex_key_api.structure_type;
101: seg fnd_flex_key_api.segment_type;
102: seg_list fnd_flex_key_api.segment_list;
103: j number;
104: i number;
105: nsegs number;
98: l_segment_values FND_FLEX_EXT.SegmentArray;
99: kff fnd_flex_key_api.flexfield_type;
100: str fnd_flex_key_api.structure_type;
101: seg fnd_flex_key_api.segment_type;
102: seg_list fnd_flex_key_api.segment_list;
103: j number;
104: i number;
105: nsegs number;
106: ccid number;
147: -- once the segments are received, then order the segments appropriatly so
148: -- they can be used anywhere.
149: --
150:
151: kff := fnd_flex_key_api.find_flexfield('INV','MICG');
152: str := fnd_flex_key_api.find_structure(kff, 101);
153: fnd_flex_key_api.get_segments(kff, str, TRUE, nsegs, seg_list);
154:
155: --
148: -- they can be used anywhere.
149: --
150:
151: kff := fnd_flex_key_api.find_flexfield('INV','MICG');
152: str := fnd_flex_key_api.find_structure(kff, 101);
153: fnd_flex_key_api.get_segments(kff, str, TRUE, nsegs, seg_list);
154:
155: --
156: -- The segments in the seg_list array are sorted in display order.
149: --
150:
151: kff := fnd_flex_key_api.find_flexfield('INV','MICG');
152: str := fnd_flex_key_api.find_structure(kff, 101);
153: fnd_flex_key_api.get_segments(kff, str, TRUE, nsegs, seg_list);
154:
155: --
156: -- The segments in the seg_list array are sorted in display order.
157: -- i.e. sorted by segment number.
157: -- i.e. sorted by segment number.
158: --
159: for i in 1..nsegs loop
160: seg :=
161: fnd_flex_key_api.find_segment(kff,
162: str,
163: seg_list(i));
164: j := to_number(substr(seg.column_name,8));
165: EGO_Item_Catalog_Pub.G_KF_SEGMENT_VALUES(j) := l_segment_values(i);
227: FUNCTION Perform_Segment_Breakup (p_create_new BOOLEAN DEFAULT true)
228: RETURN NUMBER
229: IS
230: l_segment_values FND_FLEX_EXT.SegmentArray;
231: kff fnd_flex_key_api.flexfield_type;
232: str fnd_flex_key_api.structure_type;
233: seg fnd_flex_key_api.segment_type;
234: seg_list fnd_flex_key_api.segment_list;
235: j number;
228: RETURN NUMBER
229: IS
230: l_segment_values FND_FLEX_EXT.SegmentArray;
231: kff fnd_flex_key_api.flexfield_type;
232: str fnd_flex_key_api.structure_type;
233: seg fnd_flex_key_api.segment_type;
234: seg_list fnd_flex_key_api.segment_list;
235: j number;
236: i number;
229: IS
230: l_segment_values FND_FLEX_EXT.SegmentArray;
231: kff fnd_flex_key_api.flexfield_type;
232: str fnd_flex_key_api.structure_type;
233: seg fnd_flex_key_api.segment_type;
234: seg_list fnd_flex_key_api.segment_list;
235: j number;
236: i number;
237: nsegs number;
230: l_segment_values FND_FLEX_EXT.SegmentArray;
231: kff fnd_flex_key_api.flexfield_type;
232: str fnd_flex_key_api.structure_type;
233: seg fnd_flex_key_api.segment_type;
234: seg_list fnd_flex_key_api.segment_list;
235: j number;
236: i number;
237: nsegs number;
238: ccid number := 0;
248: , concatenated_segs =>
249: EGO_Globals.G_Catalog_Group_Rec.catalog_group_name
250: , segments => l_segment_values
251: );
252: kff := fnd_flex_key_api.find_flexfield('INV','MICG');
253: str := fnd_flex_key_api.find_structure(kff, 101);
254: fnd_flex_key_api.get_segments(kff, str, TRUE, nsegs, seg_list);
255:
256: --
249: EGO_Globals.G_Catalog_Group_Rec.catalog_group_name
250: , segments => l_segment_values
251: );
252: kff := fnd_flex_key_api.find_flexfield('INV','MICG');
253: str := fnd_flex_key_api.find_structure(kff, 101);
254: fnd_flex_key_api.get_segments(kff, str, TRUE, nsegs, seg_list);
255:
256: --
257: -- The segments in the seg_list array are sorted in display order.
250: , segments => l_segment_values
251: );
252: kff := fnd_flex_key_api.find_flexfield('INV','MICG');
253: str := fnd_flex_key_api.find_structure(kff, 101);
254: fnd_flex_key_api.get_segments(kff, str, TRUE, nsegs, seg_list);
255:
256: --
257: -- The segments in the seg_list array are sorted in display order.
258: -- i.e. sorted by segment number.
260: -- dbms_output.put_line('starting with segment ordering . . .');
261:
262: for i in 1..nsegs
263: loop
264: seg := fnd_flex_key_api.find_segment
265: (kff,
266: str,
267: seg_list(i));
268: j := to_number(substr(seg.column_name,8));
296: p_structure_number IN NUMBER)
297: RETURN VARCHAR2
298: IS
299:
300: l_key_flex_field fnd_flex_key_api.flexfield_type;
301: l_structure_type fnd_flex_key_api.structure_type;
302: l_segment_type fnd_flex_key_api.segment_type;
303: l_segment_list fnd_flex_key_api.segment_list;
304: l_segment_array fnd_flex_ext.SegmentArray;
297: RETURN VARCHAR2
298: IS
299:
300: l_key_flex_field fnd_flex_key_api.flexfield_type;
301: l_structure_type fnd_flex_key_api.structure_type;
302: l_segment_type fnd_flex_key_api.segment_type;
303: l_segment_list fnd_flex_key_api.segment_list;
304: l_segment_array fnd_flex_ext.SegmentArray;
305: l_num_segments NUMBER;
298: IS
299:
300: l_key_flex_field fnd_flex_key_api.flexfield_type;
301: l_structure_type fnd_flex_key_api.structure_type;
302: l_segment_type fnd_flex_key_api.segment_type;
303: l_segment_list fnd_flex_key_api.segment_list;
304: l_segment_array fnd_flex_ext.SegmentArray;
305: l_num_segments NUMBER;
306: l_flag BOOLEAN;
299:
300: l_key_flex_field fnd_flex_key_api.flexfield_type;
301: l_structure_type fnd_flex_key_api.structure_type;
302: l_segment_type fnd_flex_key_api.segment_type;
303: l_segment_list fnd_flex_key_api.segment_list;
304: l_segment_array fnd_flex_ext.SegmentArray;
305: l_num_segments NUMBER;
306: l_flag BOOLEAN;
307: l_concat VARCHAR2(2000);
310: BEGIN
311:
312: -- dbms_output.put_line('Performing segment concatenation . . . ');
313:
314: fnd_flex_key_api.set_session_mode('seed_data');
315:
316: l_key_flex_field :=
317: fnd_flex_key_api.find_flexfield(p_appl_short_name,
318: p_key_flex_code);
313:
314: fnd_flex_key_api.set_session_mode('seed_data');
315:
316: l_key_flex_field :=
317: fnd_flex_key_api.find_flexfield(p_appl_short_name,
318: p_key_flex_code);
319:
320: l_structure_type :=
321: fnd_flex_key_api.find_structure(l_key_flex_field,
317: fnd_flex_key_api.find_flexfield(p_appl_short_name,
318: p_key_flex_code);
319:
320: l_structure_type :=
321: fnd_flex_key_api.find_structure(l_key_flex_field,
322: p_structure_number);
323:
324: fnd_flex_key_api.get_segments(l_key_flex_field, l_structure_type,
325: TRUE, l_num_segments, l_segment_list);
320: l_structure_type :=
321: fnd_flex_key_api.find_structure(l_key_flex_field,
322: p_structure_number);
323:
324: fnd_flex_key_api.get_segments(l_key_flex_field, l_structure_type,
325: TRUE, l_num_segments, l_segment_list);
326:
327:
328: --
331: --
332: for i in 1..l_num_segments
333: loop
334: l_segment_type :=
335: fnd_flex_key_api.find_segment(l_key_flex_field,
336: l_structure_type,
337: l_segment_list(i));
338: j := to_number(substr(l_segment_type.column_name,8));
339: l_segment_array(i) := Ego_Item_Catalog_Pub.G_KF_SEGMENT_VALUES(j);
446: concat_group_name VARCHAR2(1000);
447: BEGIN
448: x_return_status := FND_API.G_RET_STS_SUCCESS;
449:
450: fnd_flex_key_api.set_session_mode('seed_data');
451: --
452: -- If the user has specified the name, id and segment then id is first
453: -- validated and rest of the values are disregarded
454: -- If the Id is not given and name and segments are given then the name
868: l_catalog_group_name VARCHAR2(1000);
869: concat_group_name VARCHAR2(1000);
870: BEGIN
871: x_return_status := FND_API.G_RET_STS_SUCCESS;
872: fnd_flex_key_api.set_session_mode('seed_data');
873:
874:
875: -- dbms_output.put_line('Performing UUI conversion . . . ');
876: