SELECT FFV.APPLICATION_TABLE_NAME,
       FFV.DESCRIPTIVE_FLEXFIELD_NAME AS DESCRIPTIVE_FLEXFIELD_CODE,
       FFV.CONTEXT_COLUMN_NAME,
       FFV.TITLE,
       ATT.descriptive_flex_context_code,
       ATT.APPLICATION_COLUMN_NAME,
       ATT.END_USER_COLUMN_NAME,
       ATT.COLUMN_SEQ_NUM,
       ATT.ENABLED_FLAG,
       ATT.REQUIRED_FLAG,
       ATT.SECURITY_ENABLED_FLAG,
       ATT.DISPLAY_FLAG,
       ATT.FLEX_VALUE_SET_ID,
       ATT.FORM_LEFT_PROMPT
FROM FND_DESCRIPTIVE_FLEXS_VL FFV,
     FND_DESCR_FLEX_COL_USAGE_VL ATT
WHERE FFV.DESCRIPTIVE_FLEXFIELD_NAME = ATT.DESCRIPTIVE_FLEXFIELD_NAME
  AND (
        ATT.descriptive_flex_context_code LIKE :ip_context_code
        OR COALESCE(:ip_context_code, NULL) IS NULL
      )
  AND (
        FFV.DESCRIPTIVE_FLEXFIELD_NAME LIKE :ip_DESCRIPTIVE_FLEXFIELD_CODE
        OR COALESCE(:ip_DESCRIPTIVE_FLEXFIELD_CODE, NULL) IS NULL
      )
  AND (
        FFV.APPLICATION_TABLE_NAME LIKE UPPER(:ip_APPLICATION_TABLE_NAME)
        OR COALESCE(:ip_APPLICATION_TABLE_NAME, NULL) IS NULL
      )
ORDER BY FFV.APPLICATION_TABLE_NAME,
         ATT.COLUMN_SEQ_NUM ASC;