Ни что не предвещало беды, программа работала как надо, но на определенном объеме данных начинала выдавать ошибку HTTP_NO_MEMORY.
Simple transformation создание EXCEL
Одина из самых популярных разработок ZWWW не может(по крайней мере те версии, которые я видел) формировать документы при фоновой работе приложения. Второй недостаток это скорость обработки. Эти проблемы можно решить используя ABAP2XLSX или XLSX Workbench, но порой их может не быть на проекте. В таком случае для формирования документа EXCEL можно воспользоваться трансформациями.
REST API для работы с Confluence/Comala
Ранее я рассматривал примеры работы с REST API на примере JIRA. Сегодня рассмотрим API CONFLUENCE.
Построение запроса делается точно также как и и в случае с JIRA, поэтому код повторять не буду.
Читать далее «REST API для работы с Confluence/Comala»
Добавить файл в архив
Не часто в abap возникает задача поместить сгенерированный программой файл в архив. Мне такое пригодилось только один раз, когда понадобилось обойти ограничение почтового сервера на пересылку файлов определенного типа.
Для работы с архивом можно использовать класс cl_abap_zip
Пример кода:
Читать далее «Добавить файл в архив»
Simple Transformation парсинг HTML таблицы
Простые трансформации(Simple Transformation) позволяют преобразовывать данные ABAP в XML и обратно. Процесс преобразования данных в XML называется Сериализация, обратное действие – Десериализация.
Рассмотрим следующий пример. Нам необходимо получить данные из HTML таблицы во внутреннюю таблицу abap(На месте таблицы может быть любой другой объект с XML структурой).
Таблица имеет следующий вид:

SAP Workflow. Запуск по событию
WorkFlow позволяет делать последовательность операций и представлять это в графическом виде. Особенно удобно, когда бизнесс процессы растянуты во времени. К сожалению, или к счастью)) В своей практике приходилось сталкиваться с ними не так уж и часто. Поэтому хочу оставить небольшую напоминалку для себя на будущее. Если кому-то интересна базовая информация о WF прошу под кат. Если вы профи, то нового ничего не найдете.
REST API ABAP на примере интеграции с JIRA
REST API ( Representational State Transfer ) – архитектурный стиль для передачи данных в распределенных сетевых приложениях. REST не имеет какого-то одного стандарта, но при этом должны соблюдаться имеет основные принципы:
1. Архитектура клиент-сервер;
2. Единый интерфейс;
3. Отсутствие состояния между запросами;
4. Кешируемость;
5. Слои;
6. Код по требованию;
Думаю, что более полно о Rest API можно почитать в советующей литературе. Нет смысла копипастить это с других сайтов. Мы же
рассмотрим прикладную задачу по получению данных из внешних систем при помощи REST API. Для примера будем общаться с популярной сегодня системой JIRA
Читать далее «REST API ABAP на примере интеграции с JIRA»
Экранирование символов для GET запроса в ABAP
Для того чтобы передать в GET запросе символы кириллицы или, например, пробел. Предварительно их необходимо преобразовать.
1 2 3 4 5 |
* * DATA(lv_param) = |Строка для преобразования.Data|. lv_param = cl_http_utility=>if_http_utility~escape_url( unescaped = lv_param ). cl_demo_output=>display( lv_param ). |
Результат можем смело вставлять в запрос

WEB UI Создание и вызов всплывающего окна. Часть 4 Передача данных во всплывающее окно.
Ранее мы создали всплывающее окно: Раз, Два, Три. Скорее всего, нам потребуется передать в него какую-то информацию из исходного окна.
Делается это довольно просто. Сначала создадим сущность с данными, после передадим ее в метод OPEN
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
METHOD eh_onnexus. DATA : lo_collection TYPE REF TO if_bol_bo_col. DATA : lo_transfer TYPE REF TO if_bol_bo_property_access, ls_transfer TYPE REF TO Z_POPUP_TRANSFER_DATA. CREATE DATA ls_transfer. ls_transfer->field1 = 'Поле1'. ls_transfer->field2 = 'Поле2'. CREATE OBJECT lo_transfer TYPE cl_bsp_wd_value_node EXPORTING iv_data_ref = ls_transfer. CREATE OBJECT lo_collection TYPE cl_crm_bol_bo_col. lo_collection->add( lo_transfer ). ..... go_popup_send->open( iv_inbound_plug = 'DATA_RETRIEVAL' iv_collection = lo_collection ). ENDMETHOD. |
WEB UI Создание и вызов всплывающего окна. Часть 3 Кнопка закрытия всплывающего окна.
В предыдущих заметках: Раз, Два. Было рассмотрено создание всплывающего окна. Однако, выход из этого окна возможен только путем нажатия крестика в правом верхнем углу. Для кого-то, возможно, это будет достаточно. Мы же добавим кнопку выхода из окна.
- Первым делом добавим саму кнопку, по аналогии с тем, как мы делали это ранее для вызова окна.

Читать далее «WEB UI Создание и вызов всплывающего окна. Часть 3 Кнопка закрытия всплывающего окна.»