Friday, March 29, 2013

Company List in GL

I needed to have a list of companies that I needed for a reporting LOV.  Someone prior to me working on a project had a static table with a list of companies.  I'm sure you can that the approach is a bad idea.  One of my pet peeves is when someone uses DISTINCT in the selection of the query. Using DISTINCT is fine in the development process but not when you put it into production.

Any way here is the query that I came up with:

SELECT FV.DESCRIPTION, FV.FLEX_VALUE_MEANING
FROM FND_FLEX_VALUES_VL  FV,
     FND_ID_FLEX_SEGMENTS FIFS
WHERE FIFS.APPLICATION_ID = 101 
AND FIFS.ID_FLEX_CODE = 'GL#'
AND FIFS.FLEX_VALUE_SET_ID = FV.FLEX_VALUE_SET_ID
AND FIFS.SEGMENT_NAME = 'COMPANY'
AND FV.VALUE_CATEGORY = 'blah blah COMPANY'
AND NOT EXISTS (SELECT FV.FLEX_VALUE
                   FROM FND_FLEX_VALUE_CHILDREN_V FFVC
                    WHERE FFVC.PARENT_FLEX_VALUE = FV.FLEX_VALUE)
ORDER BY  FV.FLEX_VALUE_MEANING

The subquery eliminates the companies that are rolled up to contain more than one company.