Начинающие ABAPеры не всегда знают как правильно расширить класс и используют для этого неявные точки расширения. Однако, можно сделать немного по другому, что на мой взгляд, более соответствует концепции принятой в SAP.
Перенос копии запроса SAP
Чтобы не плодить запросы и не запутаться при переносе, можно переносить копию запроса, при этом наш основной запрос останется в системе разработки.
Заходим в se10, выбираем наш основной запрос и деблокируем все задачи в нем. Сам запрос остается не деблокированным.
Читать далее «Перенос копии запроса SAP»Интеграция HCM и Success Factors
Опишу свой небольшой опыт интеграции данных систем. Данная статья не является полноценным гайдом, а скорее позволит войти в курс дела новичку. Или как небольшая шпаргалка по программам и пунктам меню.
Вообще, полноценная самостоятельная настройка не возможна, т.к. HCM подстраивается под требования SF, а у нас, как специалистов по сапу, нет доступа к его настройкам.Имхо
Работа на стороне HCM сводится к настройке шаблонов для передачи и приема данных, загрузки справочников, небольших доработок в BADI и запуска программ передачи и получения данных.
Настройка происходит в транзакции SPRO
ABAP2XLSX Чтение шаблона из SMW0. Копирование Листов. Использование сохраненных стилей.
В российских проектах для выгрузки в EXCEL применяется разработка ZWWW в большинстве случаев. Но она имеет несколько проблем как с быстродействием, так и с тем, что используется технология OLE. Основное неудобство на мой взгляд, это не возможность получить документ в фоне, и, например, сразу отправить его как вложение в письме и т.д.
Данную проблему можно решить используя другую разработку под названием ABAP2XLSX. Однако, из-за редкого использования многие не считают, что применяя ее невозможно использовать ранее сохраненные шаблоны. Это не так.
Рассмотрим небольшой пример в котором получим шаблон из репозитория состоящего из одного листа:
1. Скопируем этот лист со всем оформлением в новый.
2. Сохраним документ с двумя листами на локальный компьютер.
Читать далее «ABAP2XLSX Чтение шаблона из SMW0. Копирование Листов. Использование сохраненных стилей.»
Ошибка 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. Я использовал следующие:
Создание инфо-типа ОМ
Инфо-типы организационного менеджмента разделяются на ИТ с табличной частью и без нее (Инфо-тип таблицы и Инфо-тип поля) и служат для хранения данных об объектах ОМ.
Различие понятно из названия. Инфо-тип поля - хранит все данные в структуре HRPXXXX, где XXXX номер ИТ. Инфо-тип таблицы в структуре имеет поле TABNR, которое является ключем таблицы HRTXXXX, в которой хранятся строки с данными для ИТ.
Читать далее «Создание инфо-типа ОМ»Создание инфо-типа PA
Наверное, все кто пишет про HR, всегда пишут заметку про создание ИТ. Напишу и я.
Для создания пользовательских инфо-типов выделен диапазон номеров 9XXX.
Инфо-тип администрирования персонала создается при помощи транзакции PM01.
Создадим инфо-тип PA с подтипами:
Скрыть поле на экране инфо-типа
Периодически требуется скрыть\сделать обязательными\только для вывода те или иные поля в инф0-типах. Если разработчику пришла такая задача, то это не верно. Т.к. все делается при помощи настройки в ракурсе V_T588M.
Читать далее «Скрыть поле на экране инфо-типа»