В российских проектах для выгрузки в EXCEL применяется разработка ZWWW в большинстве случаев. Но она имеет несколько проблем как с быстродействием, так и с тем, что используется технология OLE. Основное неудобство на мой взгляд, это не возможность получить документ в фоне, и, например, сразу отправить его как вложение в письме и т.д.
Данную проблему можно решить используя другую разработку под названием ABAP2XLSX. Однако, из-за редкого использования многие не считают, что применяя ее невозможно использовать ранее сохраненные шаблоны. Это не так.
Рассмотрим небольшой пример в котором получим шаблон из репозитория состоящего из одного листа:
1. Скопируем этот лист со всем оформлением в новый.
2. Сохраним документ с двумя листами на локальный компьютер.
Читать далее «ABAP2XLSX Чтение шаблона из SMW0. Копирование Листов. Использование сохраненных стилей.»
Месяц: Август 2019
Ошибка CX_HRPA_VIOLATED_PRECONDITION
В ходе расширения отчета HRULPAY2, возникла необходимость вставить запись в Z инфо-тип. Для этого был использован ФМ HR_INFOTYPE_OPERATION. Но программа упорно падала в дамп в классе CL_HRPA_MASTERDATA_FACTORY, а именно при атрибуте a_is_initialized = true. Данный флаг взводился при заполнении DAQ поля стандартным ФМ HR_RU_DAQ_PAY2_ADR, и возможности его убрать не было.
Быстрое гугление показало, что данная ошибка была из-за проблем с PS буфером, и его надо просто инициализировать заново. Для этого можно было использовать подпрограмму do_nothing (sapfp50p) . Однако, дамповать стала уже после нее.
Сторно документа измерения (PM)
Для сторно в фоновом режиме используем ФМ MEASUREM_DOCUM_RFC_CANCEL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
DATA ls_return TYPE bapiret2. DATA lt_doc TYPE TABLE OF imrg_mdocm . " Таблицу lt_doc заполняем "Документами измерений" С ВЕДУЩИМИ НУЛЯМИ " Без нулей не отработает CALL FUNCTION 'MEASUREM_BUFFER_INITIALIZE' EXPORTING including_dequeue = 'X'. CALL FUNCTION 'MEASUREM_DOCUM_RFC_CANCEL' * EXPORTING * IV_PREPARE_UPDATE = 'X' IMPORTING es_return = ls_return TABLES it_cancel_requests = lt_doc * ET_IMRG_CANCELLED_BEFORE = * ET_IMRG_CANCELLED_NOW = * ET_IMRG_SUBSTITUTE = . IF ls_return-type <> 'E'. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = abap_true. * IMPORTING * RETURN = . ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK' * IMPORTING * RETURN = . ENDIF. |
Arсhivelink пример
Транзакции:
OAAD - «Документы администрирования ArchiveLink» можно использовать для просмотра документов.
OAOH - «ArchiveLink архивация и присвоение» можно сохранить свой документ
SWO1 - Построитель бизнес объектов
В системе есть несколько групп функций для работы с ArchiveLink. Я использовал следующие: