How to fetch meanings of each segment related to a code combination id?
To fetch the details like description, meaning, id and value related to each segment based on code combination id.
Tables related to Flexi fields:
FND_ID_FLEXS
FND_ID_FLEX_SEGMENTS
FND_ID_FLEX_STRUCTURES
FND_FLEX_VALUES
FND_FLEX_VALUE_HIERARCHIES
Below are queries used by me to reach out the main query..
QUERY 1:
The table (fnd_id_flexs) used in the below query stores registration information about key flexfields.
Each row includes the four–character code that identifies the key flexfield and can be used to dig further
The "id_flex_code" is the column which can be used to dig further
SELECT application_table_name
,DECODE (application_table_type,
'S','Specific',
'G','Generic'
) table_type
,concatenated_segs_view_name
,set_defining_column_name
,unique_id_column_name
,description
,id_flex_code -- Used to drill down
FROM fnd_id_flexs
WHERE id_flex_name LIKE 'Accounting%';
QUERY 2:
The below query gives information about the segment meanings
We got this data by using the value we got for "id_flex_code" in query 1
SELECT segment_name
,segment_num
,enabled_flag
,required_flag
,flex_value_set_id -- Used to drill down
,additional_where_clause
FROM fnd_id_flex_segments
WHERE id_flex_code = 'GL#';
QUERY 3:
This query can be used to get various possible values for each segment.
SELECT ffv.flex_value_set_id
,ffv.flex_value_id
,ffv.flex_value
,ffv.enabled_flag
,ffvt.LANGUAGE
,ffvt.description
FROM fnd_flex_values ffv
,fnd_flex_values_tl ffvt
WHERE ffv.flex_value_id = ffvt.flex_value_id
AND ffv.flex_value_set_id = '&id from query 2';
Main Query
Below is our highlight and it can be used to get all possible information based on code combination id
I had simplified the same. The decode statement differs from client to client. But it can be framed with use of query 2
SELECT fifs.segment_name
,fifs.segment_num
,ffv.flex_value
,ffvt.description
FROM fnd_flex_values ffv
,fnd_flex_values_tl ffvt
,fnd_id_flex_segments fifs
,gl_code_combinations glv
WHERE ffv.flex_value_id = ffvt.flex_value_id
AND ffv.flex_value_set_id = fifs.flex_value_set_id
AND fifs.id_flex_code = 'GL#'
AND ffv.flex_value = DECODE(fifs.segment_name
,'BUSINESS UNIT',glv.segment1
,'LOCATION' ,glv.segment2
,'DEPARTMENT' ,glv.segment3
,'ACCOUNT' ,glv.segment4
,'PROJECT' ,glv.segment5
,'INTERCOMPANY' ,glv.segment6
,'SPARE' ,glv.segment7
)
AND glv.code_combination_id = '&code_combination_id'
ORDER BY ffv.flex_value_set_id;
No comments:
Post a Comment