Приложение, над которым я работаю, может работать на английском или французском языке.Существует интерактивный отчет, который отлично работает на английском языке, но когда приложение запускается на французском языке, возникает ошибка ORA, сообщающая, что один из столбцов не является допустимым идентификатором.Когда я пошел проверять журналы отладки, результирующий SQL при запуске на французском языке выглядит как более старая версия по сравнению с результирующим SQL при запуске на английском языке.
--Original Source
SELECT ...
CASE
WHEN (dependant_pkg.get_dependant_id (ee.memb_id, '0') IS NULL OR ee.re_enrolment_dt >= TRUNC (SYSDATE))
and (( SEC_USER_EXTERNAL_PKG.get_info_vc(:g_user_id,'entity_type_code') = 'AC' ) or not (:g_user_type = 'GR' and :g_brand_code = 'HB' ))
THEN ... --codes
END link,
ee.empl_contact_email
FROM empl_enrol ee, company c
WHERE ...
--FRENCH
SELECT ...
CASE
WHEN (dependant_pkg.get_dependant_id (ee.memb_id, '0') IS NULL OR ee.re_enrolment_dt >= TRUNC (SYSDATE))
and not (:g_user_type = 'GR' and :g_brand_code = 'HB') --! missing/different condiition
THEN ... --codes
END link
--missing column
FROM empl_enrol ee, company c
WHERE ...
--ENGLISH
SELECT ...
CASE
WHEN (dependant_pkg.get_dependant_id (ee.memb_id, '0') IS NULL OR ee.re_enrolment_dt >= TRUNC (SYSDATE))
and (( SEC_USER_EXTERNAL_PKG.get_info_vc(:g_user_id,'entity_type_code') = 'AC' ) or not (:g_user_type = 'GR' and :g_brand_code = 'HB' ))
THEN ... --codes
END link,
ee.empl_contact_email
FROM empl_enrol ee, company c
WHERE ...