Пара полезных "фишек" по поводу обновления (установки патчей) операционной системы MS Windows.
Для того, чтобы принудительно выполнить запрос на поиск новых обновлений MS Windows, необходимо в командной строке из под пользователя с правами администратора выполнить команду:
> wuauclt /detectnow
В результате выполнения система запустит фоновую проверку обновлений. Перед выполнением необходимо проверить настройки автоматического обновления Windows.
Команда бывает полезна при подготовке сервера, после начальной установки Windows, когда необходимо установить все последние обновления перед установкой СУБД или SAP систем.
После установки некоторых обновлений (патчей) MS Windows требуется перезагрузка для вступления обновлений в силу:
Даже на рабочей станции не всегда есть время, чтобы закрыть все приложения и перезагрузить систему (у меня средняя работа без перезагрузки 2-3 недели). Про сервер я уж и не говорю. Чтобы это диалоговое окно не надоедало, достаточно просто остановить службу обновления командой:
> sc stop wuauserv
В результате выполнения команды происходит останов службы "Автоматическое обновление Windows", которая автоматически запустится после ручной перезагрузки в удобное для администратора время, а до тех пор диалоговое окно появляться и надоедать не будет.
Данное решение оправдано и логично. Пока до конца не применены текущие обновления Windows, установка новых производиться не будет.
Друзья! Поздравляю вас всех с Наступающим Новым Годом! В этом году количество читателей моего блога выросло. С кем-то из Вас я знаком лично, с кем-то по переписке, а кто-то просто использует информацию из блога в своей работе и любимом (или не очень) деле. :-)
Я очень ценю, что Вы были со мной этот год. И неважно присоединились Вы ко мне в середине года или читаете меня уже пару лет. Ведь именно для Вас я и пишу тут. :-)
Я не особый поклонник праздников, но Новый Год это не просто повод съесть тарелочку оливье и посмотреть в очередной раз "Иронию судьбы...". Лично для меня это черта, время подвести итоги года и запланировать следующий год.
Желаю Вам отметить этот праздник так, как любите это делать Вы.
И пусть следующий год будет лучше, светлее и удачливее, чем год прошедший!
Интересной работы, хороших людей, вдохновляющих идей и толстых конвертов! Еще раз с Наступающим Новым Годом!
Любая SAP система после установки содержит в себе 2 предустановленных языка - английский и немецкий. Мы живем в России (или другой дружественной стране) и разговариваем на русском (украинском и т.д.) языке. Поэтому возникает необходимость в установке дополнительного языка в SAP систему.
До версии 6.20 в SAP системе поддерживалась установка других языков, но в определенных комбинациях при одновременной установке. То есть разные комбинации активных языков в системе, в рамках одной кодовой страницы. Что касается русского языка, то он уживается только с английским языком (немецкий язык приходится деактивировать). Подробности можно прочитать в SAP Note # 73606 - Supported Languages and Code Pages.
Для тех кому "кровь из носа" нужны были "несовместимые" в рамках одной кодовой страницы языки, мог использовать MDMP системы (Multi-Display/Multi-Processing), в которых кодовые страницы динамически переключались на уровне сервера приложений.
Начиная с версии системы SAP NetWeaver 7.0, SAP вводит для хранения кодовую страницу - Unicode и прекращает поддержку MDMP систем. Unicode позволяет кодировать символы практически любого языка и помогает "ужиться" большему количеству активных языков в SAP системе. В результате установка дополнительного языка упрощается. Но за все надо платить. В случае Unicode приходится платить увеличенными требованиями к аппаратному обеспечению сервера (база вырастает примерно на 30 %, а требования к CPU, ОЗУ и сети на 30-50 %). На данный момент все новые версии SAP систем возможны только в установке "с Unicode". Для старых систем компания SAP рекомендует апгрейд на Unicode.
Кстати, посмотреть кодовую страницу данной SAP системы можно через меню "Система -> Статус":
Так как дополнительный язык (а таким компания SAP считает все кроме английского, немецкого и японского) может не охватывать все транзакции и поля, то необходимо (рекомендуется) после основного импорта языка выполнять процедуру замещения (supplement) дополнительного языка вторым языком системы. Для русского таким является английский.
Основные этапы установки дополнительного (русского) языка в систему (смотрите внимательно какие этапы для какой системы необходимы):
Запустить отчет RSCPINST. Добавить новый язык (русский), если данная база данных не-Unicode, то необходимо удалить несовместимый немецкий язык. Выполнить сначало simulate, если пройдет нормально, то затем выполнить active.
Выставить следующие параметры в профайле инстанции (на примере установленного русского и английского языка): install/codepage/appl_server 1500 (параметр для не-Unicode системы) zcsa/installed_languages ER zcsa/second_language E zcsa/system_language R
Войти в транзакцию SMLT, добавить в список русский язык. Указать путь до пакета (до уровня RU) и импортировать. Пакет удобно положить в директорию \usr\sap\trans\EPS\in.
Перезапустить сервер приложений SAP.
Запустить Supplementation with English через транзакцию SMLT.
После этого в систему возможен вход на русском языке.
Для последних SAP систем появилась транзакция I18N, которая объединяет ссылки на нужные транзакции связанные с установкой языков.
На нашей любимой видео-трубе есть хороший видео-ролик про установку русского языка в ERP систему.
В ролике показаны все этапы установки языка в Unicode систему. Хочу обратить внимание, что на 12-й минуте есть момент, как импортировать профили инстанции в базу данных. Правда, потом редактирование параметров профиля идет через "Basic Maintenance".
Подробности по данной теме можно найти в курсе ADM102 (Unit 5. Globalization).
SAP система имеет трезвенную архитектуру, состоящую из сервера базы данных (DB), сервера приложений и сервера презентации. Если мы не используем тонкого клиента, сервером презентации является рабочая станция пользователя с установленным клиентским местом SAP - SAP GUI. Сервер базы данных это СУБД того или иного вендора (ORACLE, MS SQL, DB2). В типовых случаях сервер базы данных не масштабируется. Сервер приложений в минимальной конфигурации состоит из центральной инстанции (CI), в состав которой обязательно входит Message Server (MS).
SAP позволяет масштабировать уровень приложений, устанавливая дополнительные сервера приложений или диалоговые инстанции (DI). Данные инстанции в минимальной установке содержат диспетчер и несколько рабочих процессов (любого типа, но часто диалоговых).
Рабочие процессы открывают соединение до процессов базы данных на сервер базы данных, а диспетчер диалоговой инстанции регистрирует себя у Message Server'а центральной инстанции.
В моем блоге я уже не раз в постах упоминал про диалоговые инстанции и особенности работы с ними:
На сервере приложений обработку осуществляют процессы спула (тип S). Количество процессов определяется параметром инстанции: rdisp/wp_no_spo. По умолчанию, он равен 1.
При большом количестве пользователей часто один процесс спула не справляется с потоком печати и образуется очередь к процессу спула, которая нервирует пользователей и тормозит бизнес-процессы компании. Естественным решением в данном случае является увеличение количества процессов спула инстанции, то есть увеличение параметра rdisp/wp_no_spo с перезагрузкой сервера приложений.
Но простое увеличение данного параметра не ведет к избавлению от очереди печати, так как можно обнаружить, что запросы на печать все равно обрабатывает только один процесс спула.
Это легко проверить, войдя в транзакцию SM50 и нажав кнопку "ЦП (Ctrl+Shift+F6)" и посмотрев сколько времени центрального процессора потратил каждый процесс инстанции.
Для включения в работу всех процессов спула необходимо увеличить параметр системы rdisp/wp_no_spo_Fro_max.Сделать его значение равным значению параметра rdisp/wp_no_spo.
В прошлой раз я начал рассказ про настройку печати из SAP системы по типу F (Front-End Printing). В первой части описана настройка печати в системе SAP. Рассмотрим клиентскую часть.
Рабочая станция пользователя является сервером печати и получает от процесса спула запросы на печать. Данные запросы обрабатываются программой SAPLPD (saplpd.exe). Программа запускается автоматически при отправке запроса на печать и выглядит следующим образом:
Вручную программу можно запустить выполнив на рабочей станции пользователя: "Пуск" -> "Выполнить" -> "saplpd". Данная утилита использует для печати принтер, установленный в системе Windows по-умолчанию. Рекомендация – использовать максимально простое имя принтера в системе Windows.
Для корректной печати русских символов на рабочей станции пользователя необходимо:
Выполнить подмену шрифтов в saplpd. Для этого выполнить пункт меню «Options -> Font substitution» и прописать следующее:
Либо создать и выполнить файл-реестра следующего вида:
[HKEY_CURRENT_USER\Software\SAP\SAPlpd\SAPLPD] "SAPFont1"="Courier New" "PrinterFont1"="Courier New Cyr" "SAPFont2"="Arial" "PrinterFont2"="Arial Cyr" "SAPFont3"="Times New Roman" "PrinterFont3"="Times New Roman Cyr" "SAPFont4"=" Courier" "PrinterFont4"=" Courier New Cyr" "WinCharSet"="204"
В первом ролике показан процесс обновления ядра (SAP kernel) системы.
В качестве платформы в ролике использована система SAP ERP 6.0 IDES. Ролики не мои, поэтому есть небольшие комментарии к видео:
Определение текущего уровня SAP kernel - тут все наглядно и правильно.
Загрузка новой версии SAP kernel - этап не показан, подробности можно посмотреть тут.
Распаковка нового SAP kernel - есть избыточность в копировании sapcar. Я раньше делал также, но можно проще: если делать операцию из под пользователя <sid>adm, то у него в переменных окружения прописан путь до бинарных файлов SAP kernel и распаковать можно прямой командой: sapcar -xvf ARCHIVE.SAR подробности по работе с архиватором SAPCAR.
Замена файлов старого SAP kernel новым - нет двух важных этапов: остановки системы перед копированием и создания резервной копии.
Рестарт системы - если делать правильно, то тут должен быть старт системы. По поводу ошибки, которая возникает при старте системы после обновления SAP kernel, решение подробно описано тут.
Распаковка SAR-архива - обратить внимание на директорию, в которой производится операция. Так как пакет небольшого размера, то можно сделать проще - загрузить обновление через SAPGUI и транзакцию SPAM.
Загрузить пакет с обновлением, определить текущую версию SPAM/SAINT.