
- •Введение
- •1Предприятие
- •1.1О компании
- •1.2Деятельность предприятия
- •1.3Структура предприятия
- •1.4Система менеджмента качества чдпп «ива-Гомель-парк»
- •2Система планирования ресурсов предприятия sap r/3
- •2.1Краткие сведения о системе r/3
- •2.2Язык программирования abap/4
- •2.3Pdf-формы
- •2.4Технология doi
- •2.5Технология alv_grid
- •2.6Технология bapi
- •3Индивидуальное задание
- •3.1Постановка задачи
- •3.2Вывод данных на экран с помощью технологии alv grid
- •3.3Выгрузка сбытового заказа в pdf
- •3.4Выгрузка данных в табличный редактор ms Excel
- •3.5Корректировка значений условий поставки клиенту
- •4Инструкция пользователя
- •Заключение
- •Список использованных источников
3.3Выгрузка сбытового заказа в pdf
Для выгрузки в pdf в пользовательский pf-status была добавлена кнопка, к которой впоследствии была привязана логика выгрузки данных сбытового заказа в формат pdf (рисунок 7). Для вызова pdf-формы используется функция export_pdf, вызов которой происходит в PAI (обработка после ввода) пользовательского экрана №100. Эта функция вызывает заранее разработанную в транзакции SFP pdf-форму. При разработке этой формы во вкладке «Контекст» (рисунок 8) разработчик определил поля с переменными, которые будут использоваться формой, а во вкладке «Макет» (рисунок 9) определил, как будет располагаться на странице выходная информация, а также дизайн страниц.
Нумерация страниц и подсчёт суммы велся в самой форме с помощью компонента tableCalcs на языке javascript.
Пример подсчёта суммы по странице представлен ниже:
data.Table3.FooterRow[0].Cell3::ready:layout - (JavaScript, client)
var CurrPage = xfa.layout.page(this);
this.rawValue = tableCalcs._doSum("WAVWR",CurrPage - 1,CurrPage - 1);
Рисунок 7 – Pf-status экрана №100
Рисунок 8 – Вкладка «Контекст»
Рисунок 9 – Вкладка «Макет»
3.4Выгрузка данных в табличный редактор ms Excel
В разработанном отчёте в табличный редактор MS Excel выгружаются данные о позициях сбытового заказа, который был предварительно выбран пользователем.
Прежде всего, на alv grid позиций сбытового заказа была добавлена кнопка, к которой впоследствии была привязана логика выгрузки данных позиций сбытового заказа в формат табличный редактор MS Excel.
Код добавления кнопки в панель инструментов alv grid представлен ниже:
LOOP AT e_object->mt_toolbar INTO ls_toolbar. CHECK ls_toolbar-function EQ '&GRAPH'. gv_tabix = sy-tabix. DELETE e_object->mt_toolbar INDEX gv_tabix. ls_toolbar-function = 'EXCEL'. ls_toolbar-icon = ''."icon_export. ls_toolbar-text = text-038. ls_toolbar-quickinfo = text-027. ls_toolbar-disabled = ' '. MODIFY e_object->mt_toolbar FROM ls_toolbar. EXIT. ENDLOOP.
Обрабатывать нажатие этой кнопки будет метод handle_user_command. В нашем случае вызывается экран 300, на котором и будет размещён контейнер для выгрузки данных. Код метода handle_user_command представлен ниже:
METHOD handle_user_command. CASE e_ucomm. WHEN 'EXCEL'. CALL SCREEN 300. ENDCASE. ENDMETHOD.
Перед отображением табличного редактора на экран выводится журнал ошибок. Формирование журнала происходит в процедуре item_log. Управление журналом осуществяется с помощью функциональных модулей BAL_LOG_CREATE, BAL_LOG_MSG_ADD, BAL_DSP_LOG_DISPLAY
3.5Корректировка значений условий поставки клиенту
Для корректировки значений инкотермс, необходимо на сотом экране внести необходимые изменения и нажать переопределённую в pf-статусе кнопку «сохранить».
Сохранение изменений будет осуществляться в функции save_data с помощью программного интерфейса бизнес приложений (BAPI) BAPI_SALESORDER_CHANGE. Если данные будут успешно сохранены, будет вызван BAPI BAPI_TRANSACTION_COMMIT, подтверждающий сохранение данных, в противном случае последует вызов BAPI BAPI_TRANSACTION_ROLLBACK, который осуществит откат изменений.