It is not the first time they ask me to "decode" a flex structure. Till now, i havent found a generic way of doing that, but the supported package fnd_flex_ext does the trick nicely for key flexfields. The function get_segs returns the concatenated display value off all segments.
Please drop me a line when you can point me to a similar function for descriptive flexfields.