2964:
2965: PROCEDURE validate_ccid_required (x_asset_key_required out nocopy varchar2) IS
2966:
2967: l_asset_key_flex_struct number;
2968: l_flexfield fnd_flex_key_api.flexfield_type;
2969: l_structure fnd_flex_key_api.structure_type;
2970: l_num_segments number;
2971: l_segments fnd_flex_key_api.segment_list;
2972: l_segment fnd_flex_key_api.segment_type;
2965: PROCEDURE validate_ccid_required (x_asset_key_required out nocopy varchar2) IS
2966:
2967: l_asset_key_flex_struct number;
2968: l_flexfield fnd_flex_key_api.flexfield_type;
2969: l_structure fnd_flex_key_api.structure_type;
2970: l_num_segments number;
2971: l_segments fnd_flex_key_api.segment_list;
2972: l_segment fnd_flex_key_api.segment_type;
2973:
2967: l_asset_key_flex_struct number;
2968: l_flexfield fnd_flex_key_api.flexfield_type;
2969: l_structure fnd_flex_key_api.structure_type;
2970: l_num_segments number;
2971: l_segments fnd_flex_key_api.segment_list;
2972: l_segment fnd_flex_key_api.segment_type;
2973:
2974: l_asset_key_required varchar2(1) := 'N';
2975:
2968: l_flexfield fnd_flex_key_api.flexfield_type;
2969: l_structure fnd_flex_key_api.structure_type;
2970: l_num_segments number;
2971: l_segments fnd_flex_key_api.segment_list;
2972: l_segment fnd_flex_key_api.segment_type;
2973:
2974: l_asset_key_required varchar2(1) := 'N';
2975:
2976: BEGIN
2978: SELECT asset_key_flex_structure
2979: INTO l_asset_key_flex_struct
2980: FROM fa_system_controls;
2981:
2982: fnd_flex_key_api.set_session_mode('seed_data');
2983:
2984: l_flexfield := fnd_flex_key_api.find_flexfield(
2985: appl_short_name => 'OFA',
2986: flex_code => 'KEY#');
2980: FROM fa_system_controls;
2981:
2982: fnd_flex_key_api.set_session_mode('seed_data');
2983:
2984: l_flexfield := fnd_flex_key_api.find_flexfield(
2985: appl_short_name => 'OFA',
2986: flex_code => 'KEY#');
2987:
2988: l_structure := fnd_flex_key_api.find_structure(
2984: l_flexfield := fnd_flex_key_api.find_flexfield(
2985: appl_short_name => 'OFA',
2986: flex_code => 'KEY#');
2987:
2988: l_structure := fnd_flex_key_api.find_structure(
2989: flexfield => l_flexfield,
2990: structure_number => l_asset_key_flex_struct);
2991:
2992: fnd_flex_key_api.get_segments(
2988: l_structure := fnd_flex_key_api.find_structure(
2989: flexfield => l_flexfield,
2990: structure_number => l_asset_key_flex_struct);
2991:
2992: fnd_flex_key_api.get_segments(
2993: flexfield => l_flexfield,
2994: structure => l_structure,
2995: enabled_only => TRUE,
2996: nsegments => l_num_segments,
3000:
3001: IF l_num_segments > 0 THEN
3002: FOR l_ind IN 1 .. l_num_segments
3003: LOOP
3004: l_segment := fnd_flex_key_api.find_segment(l_flexfield,l_structure,l_segments(l_ind));
3005: IF l_segment.required_flag = 'Y' AND l_segment.enabled_flag = 'Y' THEN
3006: l_asset_key_required := 'Y';
3007: exit;
3008: END IF;