28 ноября 2011 г.

Печать в системе SAP. Часть III.

Первые две части можно прочитать тут - часть I, часть II.

На сервере приложений обработку осуществляют процессы спула (тип 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 note # 108799 - How many spool work processes for each instance?.

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


24 ноября 2011 г.

Печать в системе SAP. Часть II.

В прошлой раз я начал рассказ про настройку печати из SAP системы по типу F (Front-End Printing). В первой части описана настройка печати в системе SAP. Рассмотрим клиентскую часть.

Рабочая станция пользователя является сервером печати и получает от процесса спула запросы на печать. Данные запросы обрабатываются программой SAPLPD (saplpd.exe). Программа запускается автоматически при отправке запроса на печать и выглядит следующим образом:


Вручную программу можно запустить выполнив на рабочей станции пользователя: "Пуск" -> "Выполнить" -> "saplpd". Данная утилита использует для печати принтер, установленный в системе Windows по-умолчанию. Рекомендация – использовать максимально простое имя принтера в системе Windows.

Для корректной печати русских символов на рабочей станции пользователя необходимо:
  1.  Выполнить подмену шрифтов в saplpd. Для этого выполнить пункт меню «Options -> Font substitution» и прописать следующее:


    Либо создать и выполнить файл-реестра следующего вида:
    REGEDIT4

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
    "SAP_CODEPAGE"="1504"

    [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"
  2.  Прописать переменную окружения SAP_CODEPAGE = 1504.



21 ноября 2011 г.

Обновление системы на базе SAP NetWeaver 7.0: видео

В дополнение к посту про обновление системы есть пара роликов на youtube.

В первом ролике показан процесс обновления ядра (SAP kernel) системы.


В качестве платформы в ролике использована система SAP ERP 6.0 IDES. Ролики не мои, поэтому есть небольшие комментарии к видео:
  1. Определение текущего уровня SAP kernel - тут все наглядно и правильно.
  2. Загрузка новой версии SAP kernel - этап не показан, подробности можно посмотреть тут.
  3. Распаковка нового SAP kernel - есть избыточность в копировании sapcar. Я раньше делал также, но можно проще: если делать операцию из под пользователя <sid>adm, то у него в переменных окружения прописан путь до бинарных файлов SAP kernel и распаковать можно прямой командой:
    sapcar -xvf ARCHIVE.SAR
    подробности по работе с архиватором SAPCAR.
  4. Замена файлов старого SAP kernel новым - нет двух важных этапов: остановки системы перед копированием и создания резервной копии.
  5. Рестарт системы - если делать правильно, то тут должен быть старт системы.
    По поводу ошибки, которая возникает при старте системы после обновления SAP kernel, решение подробно описано тут.
Таким образом, данный ролик нагляден, но более правильная последовательность обновления описана в моей инструкции по обновлению SAP системы. У кого ролик не открывается, прямая ссылка - http://www.youtube.com/watch?v=MA2rbpPzBJg.

Второй ролик - про обновление SPAM/SAINT.


Этот ролик делал тоже не я. Комментарии:
  1. Распаковка SAR-архива - обратить внимание на директорию, в которой производится операция. Так как пакет небольшого размера, то можно сделать проще - загрузить обновление через SAPGUI и транзакцию SPAM.
  2. Загрузить пакет с обновлением, определить текущую версию SPAM/SAINT.
  3. Процесс обновления.
  4. Рестарт SPAM.
Прямая ссылка на ролик - http://www.youtube.com/watch?v=3_p57YUWjuc.

P.S. За наводку на ролики спасибо Роману Коробову. =)

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


15 ноября 2011 г.

Печать в системе SAP. Часть I.

Самым распространенным способом печати в системе SAP, на мой взгляд, является тип печати F (Front-End Printing) - с использованием рабочей станции пользователя в качестве сервера печати.


При отправке запроса на печать рабочий процесс спула (S) связывается с программой SAPLPD (на Windows: saplpd.exe) на рабочей станции пользователя и печатает, используя средства операционной системы, на принтере, установленном на рабочей станции пользователя по-умолчанию. На других операционных системах (MAC OS, UNIX) используются средства операционной системы без программы SAPLPD.

В Windows для печати используется протокол SAPWIN (SWIN, подробности в SAP note # 21738 - Device type SAPWIN). Особенностью данного вида печати является обязательное наличие коннекта к рабочей станции (SAP GUI), то есть фоновая печать в данном случае невозможна.

Подробности можно прочитать в курсе "ADM100 - SAP Web AS Administration I" (Unit 11).

С практической точки зрения, настройка принтера в системе производится следующим образом:
  1. Создать новый тип устройства ZSAPWIN. Войти в транзакцию SPAD -> кнопка «Полное администрирование» -> закладка «Типы устройств» -> строка «Типы устройств», кнопка «Просмотр». Перейти в режим «Редактировать» -> выбрать SAPWIN (Rel.4.x/SAPlpd 4.09+ ONLY!) -> кнопка «Создать по образцу (F5)». Скопировать SAPWIN в ZSAPWIN: кнопка «Выбрать» -> «Да» на запрос о создании типа устройств ZSAPWIN -> Включить в пакет (Z001) и в запрос на перенос.
  2. Войти во вновь созданный тип устройства ZSAPWIN, в полях «Набор знаков» и «СинтНаборЗнаков» вписать значение 1505 (Printer SAPWIN5  Russian MS-Windows codepage):


  3.  Нажать кнопку «Форматы»,
    для формата X_65_80 в «Инициализация принтера» откорректировать текст следующим образом:


    в форматы X_65_132, X_44_120, X_58_170, X_90_120, X_65_255, X_PAPER в «Инициализация принтера» добавить в конце строки:
    # wincharset 204 = ISO 8859/5
    \eW204;

    для формата X_90_120 в «Инициализация принтера» закомментировать следующую строку:
    #\ec16;

  4. Войти в транзакцию SE73 -> «Шрифты печати» -> кнопка «Изменить» -> войти в тип устройства ZSAPWIN. Для семейств шрифтов COURIER, HELVE и TIMES изменить в поле «ОпУпрП 2» значения на SF015.


  5. Транзакция SPAD -> Устройства вывода -> кнопка «Просмотр» -> перейти в режим редактирования. Нажать кнопку «Создать устройство»(Shift + F1). Заполнить поля:
    На закладке «Атрибуты устр-в»:
    «Устройство вывода» = FRONTEND (имя для нового принтера)
    «Краткое имя» = FRND (короткое имя принтера)
    «Тип устройства» = ZSAPWIN
    «Класс устройства» = Станд. принтер


    На закладке «Связь со СпулХоста»:
    «Метод» - F: Печать на хосте фронтэнда (или G: Печат на фронтэнде с технолог. упр. элем.)
    «Принтер хоста» = __default (двойное подчеркивание default, без пробелов)
    «Нет выбора устройства на фронтэнде» = не устанавливать


    Сохранить.
  6. Прописать всем пользователям, кто использует данный тип печати, в транзакции SU01 в закладке «ПостЗначения» поля:
    «Устр. вывода» = FRONTEND
    «Немедленный вывод» = установить
    «Удалить после вывода» = установить


Подробности в SAP note # 128105 - Frontend printing (collective note).

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


8 ноября 2011 г.

SAPCAR - архиватор компании SAP AG


SAPCAR это утилита для архивирования файлов компании SAP AG. Расширение архивов *.CAR и *.SAR. CAR-архивы использовались компанией до версии системы SAP R/3 4.6C и для работы с ними существовала утилита CAR. На данный момент утилита SAPCAR поддерживает оба формата (новый *.SAR и старый *.CAR). Правда, создает только SAR-архивы. CAR-архивы может читать/тестировать/распаковывать. Обычно в архивы данного формата помещаются пакеты обновления или части установочных дисков систем SAP (например, SAP kernel).

На установленной SAP системе утилиту SAPCAR можно найти в директории с SAP kernel:
UNIX: /usr/sap/<SAPSID>/sys/exe/run/
NT: <drive>:\usr\sap\<SAPSID>\sys\exe\run\
А самая свежая версия для всевозможных операционных систем всегда доступна на сайте SAP Support Portal (quick link - http://www.service.sap.com/patches) по пути "Support Packages and Patches -> Browse Our Download Catalog -> Additional Components -> SAPCAR". Не пугайтесь только расширения *.exe в файлах для UNIX-систем. Это расширение надо просто удалить после того, как скачаете утилиту.

Утилита SAPCAR commandline типа. Основные опции:
  • SAPCAR -cvf ARCHIVE.SAR * - упаковать все файлы и директории из текущей директории в ARCHIVE.SAR,
  • SAPCAR -cvf ARCHIVE.SAR dir - упаковать всю директорию "dir" в ARCHIVE.SAR,
  • SAPCAR -cvf ARCHIVE.SAR dir/* - упаковать все файлы без директорий из директории "dir" в ARCHIVE.SAR,
  • SAPCAR -avf ARCHIVE.SAR file1 file2 file3 - добавить файлы file1, file2, file3 к ARCHIVE.SAR,
  • SAPCAR -xvf ARCHIVE.SAR - распаковать ARCHIVE.SAR,
  • SAPCAR -xvf "ARCHIVE1.SAR ARCHIVE2.SAR" - распаковать 2 архива,
  • SAPCAR -xvf "*.SAR" - распаковать все архивы формата *.SAR из текущей директории.

Подробности об установке утилиты в SAP note 212876 - The new archiving tool SAPCAR, о других опциях - в выводе команды SAPCAR без параметров.

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