Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет_пк.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.33 Mб
Скачать

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, который осуществит откат изменений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]