Большой размер PDF форм

Еще одна любопытная особенность, которая выяснилась на днях. Если у вас PDF выходят очень большого размера (какой-нибудь групповой отчет, Т-3, Т-13 на несколько десятков мегабайт), то скорее всего в параметрах документа FILLABLE = ‘X’(интерактивная форма), а DYNAMIC = ‘ ’. Параметры передаются в структуре /1bcdwb/docparams при вызове
функционального модуля, генерирующего PDF. Чтобы PDF был интерактивным, т.е. с возможностью заполнения полей, и при этом вменяемого размера, оба параметра (FILLABLE, DYNAMIC) должны быть включены. Выглядит это примерно так:

fp_docparams-FILLABLE = ‘X’.
fp_docparams-DYNAMIC = ‘X’.

CALL FUNCTION fm_name
EXPORTING
/1bcdwb/docparams = fp_docparams
header = g_s_header
t6A = g_tab_t6a
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4.

Например, таким образом, в «RU стандарте» вызываются российские PDF формы.

Если в форме есть поля, которые пользователь может самостоятельно заполнять по кнопочке, то нужно в таблицу fp_docparams добавить два параметра:
fp_docparams-FILLABLE = ‘X’.
fp_docparams-DYNAMIC = ‘X’.

Тогда размер файла существенно сократиться, а, следовательно, и время его формирования.
Это работает только для Acrobat Reader >= 7.0

Вводная здесь: http://help.sap.com/erp2005_ehp_04/helpdata/EN/44/a36a5cdee42aabe10000000a1553f7/frameset.htm

Вспомнил, это так называются интерактивные формы! 🙂


SAPGUI.AbapEditor.1

Система виснет при попытке открыть ABAP исходник или отладчик? Встречались с такой ошибкой в трейс логе SAP GUI? Неделю убил на поиск решения. Сап поддержку напряг. Ноль результата. Оказалось все просто. Удалил все MS XML версии, Скачал MS XML4 SP 2и последние обновления к нему. Переустановил и все отлично заработало!

(Error)(29.05.09 19:44:00.592): CALL METHOD «CreateControl»[DispID=5]OF [#11/0x032D31F0/202/{83658045-6571-3232-7082-797884697868}]
#0: LONG «119»
#1: STRING «SAPGUI.AbapEditor.1»
#2: LONG «1409286144»
#3: LONG «118»
IDispatch::Invoke raised exception


Потеря MASSN, MASSG при мероприятии

Ситуация. Мероприятие прием на работу. Заполняем все правильно и красиво. Доходим до ИТ0298 и причина мероприятия оказывается пустой, хотя в 0000 мы ее указали. Оказывается проблема в том, что ряд инфо-типов очищает внутренние структуры, которые как раз и хранят наши код и причину мероприятия. Например, ИТ2006. Если вы его поставите в инфо-группе до 0298, то в ИТ0298 поле причины мероприятия будет пустым. Если ИТ2006 поставить после 0298, то все будет отлично.

Проблема в том, что данные по отпуску должны выводиться в приказ о приеме, поэтому 2006 должен быть раньше 0298. Чтобы решить проблему нужно после ИТ0000 где-то сохранить эти значения. Например, в динамическом мероприятии, а затем восстановить перед ИТ0298. Сделать это можно через собственную процедуру, которая будет вызываться и сохранять в памяти значения. Либо как-то еще — на ваш выбор.

Решить можно вот так. Прописываем в динамических мероприятиях для ИТ0000.

0000 04 390 *— FIX MASSG LOSING FOR 0298 —
0000 04 391 P T001P-MOLGA=’33’
0000 04 392 F EXPORT_MASSN_MASSG(MP029800)

Обратная подпрограмма для чтения в ИТ0298 тоже есть, вызывается при заполнении структуры, т.е. больше ничего делать не надо.


Копирование группы функций

Занялся созданием своих закладок в PPOME. Для этого потребовалось скопировать стандарную группу функций в свою и доработать. Около 15 минут было убито на поиск кнопки Копировать группу функций. Так и не нашел. Коллега, к счастью, подсказал как это делается. Решил записать себе на будущее и может еще кому пригодится.

Итак, копирование группы функций осуществляется через SE38, где вместо программы вы пишите SAPL*, где * — имя вашей группы функции. Например: SAPLZHRFPM_OM_DETAIL_SCREEN.

Нажимаете копировать и указываете в какую группу функций. Система сама копирует все инклуды, экраны, варианты и прочее.

Про добавление вкладок в PPOME можно почитать по ссылочке: Добавление стандартного инфотипа в закладки PPOME – новое!


Настройка графиков рабочего времени

Настройка графиков рабочего времени

В определении классов праздников необходимо настроить календарь праздников для РФ.

Сначала настраиваются сами праздники с указанием дат, потом праздники присваиваются календарю праздников RU Российская Федерация.

Читать далее