Одина из самых популярных разработок ZWWW не может(по крайней мере те версии, которые я видел) формировать документы при фоновой работе приложения. Второй недостаток это скорость обработки. Эти проблемы можно решить используя ABAP2XLSX или XLSX Workbench, но порой их может не быть на проекте. В таком случае для формирования документа EXCEL можно воспользоваться трансформациями.
Рубрика: Uncategorized
Собеседование ABAP. Типовые вопросы
За последние годы прошел множество собеседований. Самое интересное в них это то, что задают примерно одни и те же вопросы.
Ниже кратенько разберем наиболее популярные. Обращаю внимание, что это не полное раскрытие тем, а скорее ответы в стиле блиц. Для того чтобы разобраться в вопросах, рекомендую почитать курсы, документацию или отдельные статьи, где тема раскрывается более полно.
BOL – получение значения поля в программе
Получение значения сущности BOL очень похожа на то, как мы можем просмотреть ее при помощи Транзакции CRM_ISU_BOL_BROWSER.


Отменить деблокирование запроса/задачи
Для управления статусами запросов и задач можно использовать программу RDDIT076.
ABAP Daemon Framework
Демоны abap – это фоновые сеансы с неограниченным сроком жизни. Время выполнения которых, зависит только от работы сервера. В случае ошибок, возникших во время работы, демон перезапускается.
Попробуем создать простой демон для примера. Он будет следить за входом пользователя в указанную транзакцию. По большому, счету это повторение демо-примера от SAP. Можно сразу смотреть там.
Для остальных ниже:
Читать далее «ABAP Daemon Framework»
Coding Challenge
The site was offered a task.
Challenge Directions:
Start with this line of code as the first line in your application. Requirement: make sure to cut and paste this line of code and NOT type it.
1 |
DATA(sentence) = `ABАP is excellent `. |
Using the value in the variable sentence, programmatically determine the number of words in this variable and then count the number of UNIQUE letters in each word.
Your output should look like this:

My result 6 rows.
Answer:
Перенос копии запроса SAP
Чтобы не плодить запросы и не запутаться при переносе, можно переносить копию запроса, при этом наш основной запрос останется в системе разработки.
Заходим в se10, выбираем наш основной запрос и деблокируем все задачи в нем. Сам запрос остается не деблокированным.
Читать далее «Перенос копии запроса SAP»Сторно документа измерения (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. |
Генерация XML документа средствами ABAP
Создать документ xml можно несколькими способами. Например, трансформации, использование специальных ФМов и классов.
Класс if_ixml_document позволяет создавать новый и получать данные из готового документа.
Пример создания простого xml файла:
Читать далее «Генерация XML документа средствами ABAP»ЛБД PNPCE пропускает табельный
Бывает, что табельный номер не попадает в выборку события GET pernr. Одна из причин – нехватка полномочий на один из инфо-типов или даже подтипов. Если у нас нет возможности добавить полномочий пользователю, можно использовать макрос pnp_sw_skip_pernr = N. Табельный номер не будет пропущен, но данные выберутся только из подтипов на которые есть полномочия.