Самым распространенным способом печати в системе 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).
С практической точки зрения, настройка принтера в системе производится следующим образом:
Подробности в SAP note # 128105 - Frontend printing (collective note).
Автор: Шиболов Вячеслав Анатольевич
В Windows для печати используется протокол SAPWIN (SWIN, подробности в SAP note # 21738 - Device type SAPWIN). Особенностью данного вида печати является обязательное наличие коннекта к рабочей станции (SAP GUI), то есть фоновая печать в данном случае невозможна.
Подробности можно прочитать в курсе "ADM100 - SAP Web AS Administration I" (Unit 11).
С практической точки зрения, настройка принтера в системе производится следующим образом:
- Создать новый тип устройства ZSAPWIN. Войти в транзакцию SPAD -> кнопка «Полное администрирование» -> закладка «Типы устройств» -> строка «Типы устройств», кнопка «Просмотр». Перейти в режим «Редактировать» -> выбрать SAPWIN (Rel.4.x/SAPlpd 4.09+ ONLY!) -> кнопка «Создать по образцу (F5)». Скопировать SAPWIN в ZSAPWIN: кнопка «Выбрать» -> «Да» на запрос о создании типа устройств ZSAPWIN -> Включить в пакет (Z001) и в запрос на перенос.
- Войти во вновь созданный тип устройства ZSAPWIN, в полях «Набор знаков» и «СинтНаборЗнаков» вписать значение 1505 (Printer SAPWIN5 Russian MS-Windows codepage):
- Нажать кнопку «Форматы»,
для формата 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; - Войти в транзакцию SE73 -> «Шрифты печати» -> кнопка «Изменить» -> войти в тип устройства ZSAPWIN. Для семейств шрифтов COURIER, HELVE и TIMES изменить в поле «ОпУпрП 2» значения на SF015.
- Транзакция SPAD -> Устройства вывода -> кнопка «Просмотр» -> перейти в режим редактирования. Нажать кнопку «Создать устройство»(Shift + F1). Заполнить поля:
На закладке «Атрибуты устр-в»:
«Устройство вывода» = FRONTEND (имя для нового принтера)
«Краткое имя» = FRND (короткое имя принтера)
«Тип устройства» = ZSAPWIN
«Класс устройства» = Станд. принтер
На закладке «Связь со СпулХоста»:
«Метод» - F: Печать на хосте фронтэнда (или G: Печат на фронтэнде с технолог. упр. элем.)
«Принтер хоста» = __default (двойное подчеркивание default, без пробелов)
«Нет выбора устройства на фронтэнде» = не устанавливать
Сохранить. - Прописать всем пользователям, кто использует данный тип печати, в транзакции SU01 в закладке «ПостЗначения» поля:
«Устр. вывода» = FRONTEND
«Немедленный вывод» = установить
«Удалить после вывода» = установить
Подробности в SAP note # 128105 - Frontend printing (collective note).
Автор: Шиболов Вячеслав Анатольевич
Вячеслав, можете подробнее описать, что именно дают манипулции из пункта 3 и 4? Или скинуть ссылку на "почитать". :)
ОтветитьУдалитьИ был ли опыт решения проблем принтеров HP LaserJet 1100 и подобными, которые не знают язык PCL5?
Николай, к сожалению более подробной информации у меня нет. В первоисточнике были ссылки на SAP notes, которые оказались internal (только для внутреннего использования). Соответственно текста нот мне увидеть не удалось. Но данная настройка была проверена на практике.
ОтветитьУдалитьПроблем с принтерами не было. Может быть просто до меня не доходили.
Если у кого-то есть ссылки на доп. материалы по этому поводу - пишите, было бы интересно.
1148609 - HP Printer Models without Resident PCL5 Font
ОтветитьУдалитьВот в этой ноте как раз говорится про язык pcl5. Проблема возникает, если используется ads и формуляры. Устройства, перечисленные в ноте, не могут печатать напрямую формуляры. И я думаю, стоит указать, что ваша статья относиться только к печати стандартного alv-grid.
Николай, согласен, данные настройки только для печати ALV-grid.
ОтветитьУдалитьМетод печати "F" уже безнадежно устарел. SAP AG его уже как 2 года не поддерживает, и рекомендует переходить на "G" - Печать с управляющем элементом. Никаких больше saplpd и его заморочек. Все просто, появляется окно печати, аналогично печати из Word`a.
ОтветитьУдалитьПо поводу русификации, нет смысла заниматься "шаманством" описанном способом выше, хотя это работает. Достаточно просто выбрать "SAPWIN5", кодировку 1505 и он подставить автоматом, и знаки для инициализации русской кодировки принтера тоже "\eW204;"
Дополнительно, SAP AG рекомендует обновить тип устройств для принтера, делать это желательно регулярно. Закачка и настройки идут через "wizard" в SPAD.
Описание и обновление находятся "Note 1036961 - Device type selection wizard in transaction SPAD".
На счет метода F согласен. Настройка и принцип идентичный, только при печати на клиентской машине вместо saplpd используются dll-ки из SAP GUI. В остальном все то же. На счет "не поддерживаемости" - в списке методов при настройке есть и работает прекрасно. В остальном согласен - выбирайте метод печати F.
УдалитьНаверно, опечатка: В остальном согласен - выбирайте метод печати F. Имелось в виду G.
ОтветитьУдалитьДа. Верно) Опечатка. Сейчас выбирать лучше метод G, как более продвинутый и современный.
УдалитьВячеслав, а возможно ли настроить единый принтер для alv-grid и для ads ? Для печати ads использую device type, предоставленный производителем принтера, для печати alv - обычный SAPWIN. Если печатать alv-grid принтером с этим device type русские буквы вылезают кракозябрами.
ОтветитьУдалитьК сожалению, я способа не знаю. Только выбор из двух устройств.
УдалитьГоспода, подскажите как подавить окно выбора принтера при методе печати G ? Например в транзакции обработки выходных документов фактур vf31, при массовой печати это окошко выскакивает на каждой фактуре, чем немало досаждает пользователям. С методом F таких проблем не возникает.
ОтветитьУдалитьЗдравствуйте, может быть вопрос не по теме, а как печатать степени, специальные символы с листинга например? Обычно они решётками выходит. В этом случае ваши методы печати тоже могут помочь?
ОтветитьУдалить