Про трудности перевода – инсталляция SAP Disclosure Management

Не про интеграцию совсем, но хочется поделиться.

Попала тут в руки задачка – проинсталлировать SAP Disclosure Management 10.1 и довести его до последних патчей.

Продукт изначально не SAP-овский, куплен у какой-то компании под странным названием Cundus. Предназначен для формирования финансовой отчетности из различных источников, сборки и согласования текстовых блоков и прочей сопутствующей отчетности деятельности.

Суть проблемы – на определенном этапе (установка SP6) выдается следующая ошибка:


Единственная найденная SAP-нота 2365027 “Error 27506. Error executing SQL script. UpdateScript_10_SP06” на эту тему предлагает запустить скрипт, проверяющий collation всех столбцов базы данных. В данном случае – бесполезное занятие.

Путем почти суточных поисков, раскапывания базы данных, распаковки инсталлятора и поднятия вопроса на answers.sap.com было выявлено:
– в базе данных в таблице Reports в имени столбца EntityPräfix используется немецкий символ ä (код 228 в стандартном ascii) – явно видно немецкие корни программного обеспечения
– OS Windows и Microsoft SQL Server под инсталляцию были использованы с русской локализацией

Соответственно, операционная система воспринимала имя столбца EntityPräfix как EntityPrдfix (код 228 в кодировке win-1251 – это русское “д”), а база данных столбца с русским “д” не находила.

Надо сказать, что фирма “Кундуз АГ” предусмотрела, что любая ошибка инсталлятора – это полный откат всех изменений без возможности повтора действия. То есть после ошибки можно только нажать “Ок” и оказаться в начале пути. Как в игре “Монополия” вытащить карточку “возвращайтесь на старт и не получайте $ за круг”.

Первая попытка всех обмануть – временно переименовать столбец в Reports.EntityPrдfix и запустить инсталлятор SP6 – все работает. SP7 уже такого фокуса не пропустил.

Дальнейшие изыскания навели на следующее решение: идем в Start -> Control Panel -> Clock, Language, and Region -> Region and Language -> Additional
или в русском варианте Пуск -> Панель управления -> Часы, язык и регион -> Язык и региональные стандарты -> Дополнительно

и под текстом “Текущий язык программ, не поддерживающих Юникод” видим “Русский”
Меняем на “Английский(США)”, перегружаемся – и все работает.

Знаковая такая ошибка вышла, даже скорее опечатка, небрежность при разработке – она не всплыла на тестировании, да и в ноте неправильно определена, поскольку для иностранного разработчика сложно ее повторить – вряд ли кто-то в здравом уме будет ставить себе операционную систему на венгерском или греческом, предположим. 😉

Ваш Pitroff.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *