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);
226: FUNCTION Perform_Segment_Breakup (p_create_new BOOLEAN DEFAULT true)
227: RETURN NUMBER
228: IS
229: l_segment_values FND_FLEX_EXT.SegmentArray;
230: kff fnd_flex_key_api.flexfield_type;
231: str fnd_flex_key_api.structure_type;
232: seg fnd_flex_key_api.segment_type;
233: seg_list fnd_flex_key_api.segment_list;
234: j number;
227: RETURN NUMBER
228: IS
229: l_segment_values FND_FLEX_EXT.SegmentArray;
230: kff fnd_flex_key_api.flexfield_type;
231: str fnd_flex_key_api.structure_type;
232: seg fnd_flex_key_api.segment_type;
233: seg_list fnd_flex_key_api.segment_list;
234: j number;
235: i number;
228: IS
229: l_segment_values FND_FLEX_EXT.SegmentArray;
230: kff fnd_flex_key_api.flexfield_type;
231: str fnd_flex_key_api.structure_type;
232: seg fnd_flex_key_api.segment_type;
233: seg_list fnd_flex_key_api.segment_list;
234: j number;
235: i number;
236: nsegs number;
229: l_segment_values FND_FLEX_EXT.SegmentArray;
230: kff fnd_flex_key_api.flexfield_type;
231: str fnd_flex_key_api.structure_type;
232: seg fnd_flex_key_api.segment_type;
233: seg_list fnd_flex_key_api.segment_list;
234: j number;
235: i number;
236: nsegs number;
237: ccid number := 0;
247: , concatenated_segs =>
248: EGO_Globals.G_Catalog_Group_Rec.catalog_group_name
249: , segments => l_segment_values
250: );
251: kff := fnd_flex_key_api.find_flexfield('INV','MICG');
252: str := fnd_flex_key_api.find_structure(kff, 101);
253: fnd_flex_key_api.get_segments(kff, str, TRUE, nsegs, seg_list);
254:
255: --
248: EGO_Globals.G_Catalog_Group_Rec.catalog_group_name
249: , segments => l_segment_values
250: );
251: kff := fnd_flex_key_api.find_flexfield('INV','MICG');
252: str := fnd_flex_key_api.find_structure(kff, 101);
253: fnd_flex_key_api.get_segments(kff, str, TRUE, nsegs, seg_list);
254:
255: --
256: -- The segments in the seg_list array are sorted in display order.
249: , segments => l_segment_values
250: );
251: kff := fnd_flex_key_api.find_flexfield('INV','MICG');
252: str := fnd_flex_key_api.find_structure(kff, 101);
253: fnd_flex_key_api.get_segments(kff, str, TRUE, nsegs, seg_list);
254:
255: --
256: -- The segments in the seg_list array are sorted in display order.
257: -- i.e. sorted by segment number.
259: -- dbms_output.put_line('starting with segment ordering . . .');
260:
261: for i in 1..nsegs
262: loop
263: seg := fnd_flex_key_api.find_segment
264: (kff,
265: str,
266: seg_list(i));
267: j := to_number(substr(seg.column_name,8));
295: p_structure_number IN NUMBER)
296: RETURN VARCHAR2
297: IS
298:
299: l_key_flex_field fnd_flex_key_api.flexfield_type;
300: l_structure_type fnd_flex_key_api.structure_type;
301: l_segment_type fnd_flex_key_api.segment_type;
302: l_segment_list fnd_flex_key_api.segment_list;
303: l_segment_array fnd_flex_ext.SegmentArray;
296: RETURN VARCHAR2
297: IS
298:
299: l_key_flex_field fnd_flex_key_api.flexfield_type;
300: l_structure_type fnd_flex_key_api.structure_type;
301: l_segment_type fnd_flex_key_api.segment_type;
302: l_segment_list fnd_flex_key_api.segment_list;
303: l_segment_array fnd_flex_ext.SegmentArray;
304: l_num_segments NUMBER;
297: IS
298:
299: l_key_flex_field fnd_flex_key_api.flexfield_type;
300: l_structure_type fnd_flex_key_api.structure_type;
301: l_segment_type fnd_flex_key_api.segment_type;
302: l_segment_list fnd_flex_key_api.segment_list;
303: l_segment_array fnd_flex_ext.SegmentArray;
304: l_num_segments NUMBER;
305: l_flag BOOLEAN;
298:
299: l_key_flex_field fnd_flex_key_api.flexfield_type;
300: l_structure_type fnd_flex_key_api.structure_type;
301: l_segment_type fnd_flex_key_api.segment_type;
302: l_segment_list fnd_flex_key_api.segment_list;
303: l_segment_array fnd_flex_ext.SegmentArray;
304: l_num_segments NUMBER;
305: l_flag BOOLEAN;
306: l_concat VARCHAR2(2000);
309: BEGIN
310:
311: -- dbms_output.put_line('Performing segment concatenation . . . ');
312:
313: fnd_flex_key_api.set_session_mode('seed_data');
314:
315: l_key_flex_field :=
316: fnd_flex_key_api.find_flexfield(p_appl_short_name,
317: p_key_flex_code);
312:
313: fnd_flex_key_api.set_session_mode('seed_data');
314:
315: l_key_flex_field :=
316: fnd_flex_key_api.find_flexfield(p_appl_short_name,
317: p_key_flex_code);
318:
319: l_structure_type :=
320: fnd_flex_key_api.find_structure(l_key_flex_field,
316: fnd_flex_key_api.find_flexfield(p_appl_short_name,
317: p_key_flex_code);
318:
319: l_structure_type :=
320: fnd_flex_key_api.find_structure(l_key_flex_field,
321: p_structure_number);
322:
323: fnd_flex_key_api.get_segments(l_key_flex_field, l_structure_type,
324: TRUE, l_num_segments, l_segment_list);
319: l_structure_type :=
320: fnd_flex_key_api.find_structure(l_key_flex_field,
321: p_structure_number);
322:
323: fnd_flex_key_api.get_segments(l_key_flex_field, l_structure_type,
324: TRUE, l_num_segments, l_segment_list);
325:
326:
327: --
330: --
331: for i in 1..l_num_segments
332: loop
333: l_segment_type :=
334: fnd_flex_key_api.find_segment(l_key_flex_field,
335: l_structure_type,
336: l_segment_list(i));
337: j := to_number(substr(l_segment_type.column_name,8));
338: l_segment_array(i) := Ego_Item_Catalog_Pub.G_KF_SEGMENT_VALUES(j);
445: concat_group_name VARCHAR2(1000);
446: BEGIN
447: x_return_status := FND_API.G_RET_STS_SUCCESS;
448:
449: fnd_flex_key_api.set_session_mode('seed_data');
450: --
451: -- If the user has specified the name, id and segment then id is first
452: -- validated and rest of the values are disregarded
453: -- If the Id is not given and name and segments are given then the name
867: l_catalog_group_name VARCHAR2(1000);
868: concat_group_name VARCHAR2(1000);
869: BEGIN
870: x_return_status := FND_API.G_RET_STS_SUCCESS;
871: fnd_flex_key_api.set_session_mode('seed_data');
872:
873:
874: -- dbms_output.put_line('Performing UUI conversion . . . ');
875: