1647:
1648: delimiter_null exception;
1649: wrong_combination exception;
1650:
1651: ffield FND_FLEX_KEY_API.FLEXFIELD_TYPE;
1652: fstruct FND_FLEX_KEY_API.STRUCTURE_TYPE;
1653: slist FND_FLEX_KEY_API.SEGMENT_LIST;
1654: fsegment FND_FLEX_KEY_API.SEGMENT_TYPE;
1655:
1648: delimiter_null exception;
1649: wrong_combination exception;
1650:
1651: ffield FND_FLEX_KEY_API.FLEXFIELD_TYPE;
1652: fstruct FND_FLEX_KEY_API.STRUCTURE_TYPE;
1653: slist FND_FLEX_KEY_API.SEGMENT_LIST;
1654: fsegment FND_FLEX_KEY_API.SEGMENT_TYPE;
1655:
1656: nsegs NUMBER;
1649: wrong_combination exception;
1650:
1651: ffield FND_FLEX_KEY_API.FLEXFIELD_TYPE;
1652: fstruct FND_FLEX_KEY_API.STRUCTURE_TYPE;
1653: slist FND_FLEX_KEY_API.SEGMENT_LIST;
1654: fsegment FND_FLEX_KEY_API.SEGMENT_TYPE;
1655:
1656: nsegs NUMBER;
1657: charcol VARCHAR2(70);
1650:
1651: ffield FND_FLEX_KEY_API.FLEXFIELD_TYPE;
1652: fstruct FND_FLEX_KEY_API.STRUCTURE_TYPE;
1653: slist FND_FLEX_KEY_API.SEGMENT_LIST;
1654: fsegment FND_FLEX_KEY_API.SEGMENT_TYPE;
1655:
1656: nsegs NUMBER;
1657: charcol VARCHAR2(70);
1658: numbcol NUMBER;
1704: If l_debug_on THEN
1705: wsh_debug_sv.logmsg(l_module_name, 'Calling set session mode');
1706: END IF;
1707:
1708: fnd_flex_key_api.set_session_mode(session_mode =>'seed_data');
1709:
1710: If l_debug_on THEN
1711: wsh_debug_sv.logmsg(l_module_name, 'Calling find flexfield');
1712: END IF;
1711: wsh_debug_sv.logmsg(l_module_name, 'Calling find flexfield');
1712: END IF;
1713:
1714:
1715: ffield := fnd_flex_key_api.find_flexfield(p_app_short_name, p_key_flx_code);
1716: fstruct := fnd_flex_key_api.find_structure(ffield, p_struct_number);
1717: fnd_flex_key_api.get_segments(ffield, fstruct, TRUE, nsegs, slist);
1718:
1719: delimiter := fnd_flex_ext.get_delimiter(
1712: END IF;
1713:
1714:
1715: ffield := fnd_flex_key_api.find_flexfield(p_app_short_name, p_key_flx_code);
1716: fstruct := fnd_flex_key_api.find_structure(ffield, p_struct_number);
1717: fnd_flex_key_api.get_segments(ffield, fstruct, TRUE, nsegs, slist);
1718:
1719: delimiter := fnd_flex_ext.get_delimiter(
1720: application_short_name => p_app_short_name,
1713:
1714:
1715: ffield := fnd_flex_key_api.find_flexfield(p_app_short_name, p_key_flx_code);
1716: fstruct := fnd_flex_key_api.find_structure(ffield, p_struct_number);
1717: fnd_flex_key_api.get_segments(ffield, fstruct, TRUE, nsegs, slist);
1718:
1719: delimiter := fnd_flex_ext.get_delimiter(
1720: application_short_name => p_app_short_name,
1721: key_flex_code => p_key_flx_code,
1729: IF (delimiter IS NOT NULL) THEN
1730: concat_string := '';
1731:
1732: FOR i IN 1..nsegs LOOP
1733: fsegment := fnd_flex_key_api.find_segment(ffield, fstruct, slist(i));
1734: charcol := fsegment.column_name;
1735: if l_debug_on then
1736: wsh_debug_sv.log(l_module_name, 'charcol', charcol);
1737: end if;
1807: END IF;
1808: --
1809: WHEN others THEN
1810: IF l_debug_on THEN
1811: WSH_DEBUG_SV.log(l_module_name, 'Exception:', fnd_flex_key_api.message);
1812: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
1813: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
1814: END IF;
1815: END Validate_Flexfields;