Про трудности перевода — инсталляция 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.

Поделиться:
Share on FacebookShare on VKShare on LinkedInTweet about this on TwitterShare on Google+Digg thisPin on PinterestShare on RedditShare on TumblrEmail this to someonePrint this page

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

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