четверг, 20 октября 2011 г.

Отмена перевода часов в 2011 году

Помните "проблему 2000 года"? В 2011 году у нас в стране похожая проблема - в России принят закон об отмене перевода часов на летнее/зимнее время.

Таким образом, с момента принятия закона в России меняются все часовые пояса - смещаются на час вперед (см. таблицу) и отменяется обязательный перевод часов 2 раза в год. Чем это грозит для нас? А тем, что мы автоматизировали-автоматизировали процесс перевода часов на серверах, а теперь его надо раз-автоматизировать. =)


Система SAP (СУБД тоже) берет за основу время из операционной системы. Таким образом, для отмены перевода часов надо отменить его на уровне операционной системы, а вот часовые пояса подправить придется и в системе SAP.

Начнем с операционных систем. Для семейства операционных систем MS Windows компания Microsoft в августе 2011 года выпустила пакет патчей KB2443685, которые решают эту проблему. Описание проблемы можно найти тут. А патчи для своей версии ОС можно скачать тут. До установки патча было так:


После "вступления закона в силу на сервере" так:


Для HP-UX есть UNOF (unofficial) патчи для версий системы HP-UX 11.11, 11.23, 11.31. Патчи имеют вид типа: UNOF_tztab_1111_09_10.depot. Официальные версии компания HP обещает выпустить в конце III квартала 2011 года. Патч изменяет файл /usr/lib/tztab. Раньше для московского часового пояса было так:

# Western Russia (Moscow) Time, Western Russia (Moscow) Daylight Savings
# Time
WST-3WSTDST
0 3 25-31 3  1983-2038 0   WSTDST-4
0 2 24-30 9  1983-1995 0   WST-3
0 2 25-31 10 1996-2038 0   WST-3

Теперь это выглядит так:

# Western Russia (Moscow) Time, Western Russia (Moscow) Daylight Savings
# Time
WST-3WSTDST
0 3 25-31 3  1983-2011 0   WSTDST-4
0 2 24-30 9  1983-1995 0   WST-3
0 2 25-31 10 1996-2010 0   WST-3
После установки патча перезагружать систему не надо. Используемый часовой пояс в файле /etc/TIMEZONE не изменяется - TZ=WST-3WSTDST.

Так же HP предлагает обновить TZ для java специальной утилитой. Подробности описаны тут.


Теперь посмотрим, что у нас есть для системы SAP. Компания SAP AG выпустила 2 SAP notes:

По второй ноте можно импортировать в систему новые часовые пояса (TIME ZONE). Для этого необходимо войти в систему и выполнить отчет TZCUSTIM, в котором указать путь до файла tzdata.dat.




Данный импорт необходимо провести для всех мандантов системы (включая 000). После этого можно проверить настройки отчетом TZONECHECK.



Подробности в вышеуказанной второй ноте в прикрепленном файле. Для систем с SAP_BASIS ниже версии 620 (SAP R/3 4.6C, SAP R/3 Enterprise 4.7) вышеуказанные отчеты предлагается создать в системе самим. Данные настройки можно произвести и вручную, подробности в первой ноте.

Напоминаю, что настройка системного часового пояса в системе SAP производится через транзакцию STZAC. Старые часовые пояса выглядели так:


После применения вышеуказанных SAP notes так:


После этого 30 октября можно спать спокойно. =)

Автор: Шиболов Вячеслав Анатольевич


6 комментариев:

  1. Странно, но у меня ни как не проходит импорт tzdata.dat
    Говорит "Импорт данных настройки Загрузка не выполнена" (

    В чем может быть затык?

    ОтветитьУдалить
  2. Проверьте путь до файла и тот нюанс, что имя файла с расширением в строчке пути тоже должно быть.

    ОтветитьУдалить
  3. так и делал, как на скрине )

    /home/sidadm/tz_2011_v10/tzdata.dat

    ОтветитьУдалить
  4. а /home/sidadm/ - это на рабочей станции или на сервере? Загрузка идет с рабочей станции через SAP GUI в базу.

    ОтветитьУдалить
  5. >> /home/sidadm/ - это на рабочей станции или на сервере?
    это на сервере

    >> Загрузка идет с рабочей станции через SAP GUI в базу.
    вот же засада, я и сервер инстанции указывал путь и на сервер БД, а вот про рабочую станцию как-то даже и мыслей не возникло.
    завтра попробую )

    ОтветитьУдалить
  6. в общем решил, проблему
    с линуха вообще ни в какую не хотел он этот файл грузить, пришлось винду в виртуалку ставить. Там все прошло просто замечательно.

    ОтветитьУдалить