Пример использования BAPI BAPI_PRODORDCONF_CREATE_HDR.
27 мая 2019
24 мая 2019
22 мая 2019
FB01: счёт от кредитора с НДС (BAPI, а также предварительная регистрация)
Используется функциональный модуль BAPI_ACC_DOCUMENT_POST. Если поставить header-doc_status = '2', то документ будет предварительно зарегистрирован.
21 мая 2019
Проверка при сохранении техкарты (транзакция CA01/CA02)
Для проверки при сохранении техкарты (тр. CA01/CA02) можно использовать enhancement spot ES_SAPLCPDI, точки EHP604_LCPDIFV1_01 и EHP604_LCPDIFP1_02. Первая сработает при нажатии на кнопку "Сохранить", вторая - если сохранить при выходе через кнопку "Назад".
16 мая 2019
Включить/отключить Microsoft Word как редактор текста
Запустить программу RSCPSETEDITOR через транзакцию SA38/SE38.
Отметить нужные галки.
Нажать "Активировать".
Отметить нужные галки.
Нажать "Активировать".
15 мая 2019
Пользовательские поля в заказе ТОРО (транзакция IW31 / IW32 / IW33)
Добавление пользовательских полей в транзакции создания/изменения/просмотра заказа ТОРО и в отчёты IW38/IW39.
14 мая 2019
Отслеживание изменений в пользовательских таблицах
Создаём объект документа изменений и выполняем запись истории изменения. Кратко.
24 апреля 2019
Выполнение команд ОС из SAP GUI
Для запуска команд операционной системы из SAP перейти в транзакцию SM69, найти команду, выделить и нажать "Выполнить". Здесь также можно создать свою команду, нажав кнопку "Создать" и указав параметры: имя команды, команда операционной системы, параметры команды.
22 апреля 2019
Получить список файлов в директории на сервере приложений
Пример использования функционального модуля EPS2_GET_DIRECTORY_LISTING.
15 апреля 2019
Пример экрана с разделителем (класс CL_GUI_SPLITTER_CONTAINER)
Выводим на экран два ALV Grid, разделённых "сплиттером".
08 января 2019
Транзакция для вызова ракурса ведения
1. Запустить SE93, указать имя транзакции, нажать "Создать".
2. Указать краткий текст, выбрать тип транзакции "Транзакция с параметрами".
3. Указать транзакцию SM30, поставить галки "Пропустить первый экран" и "Наследовать параметры GUI".
4. Параметры: VIEWNAME = имя ракурса ведения, UPDATE = X (значения параметров без кавычек и апострофов).
03 декабря 2018
26 ноября 2018
Вызов программы с передачей динамических параметров селекционного экрана
При вызове программы через SUBMIT, селекционный экран которой имеет динамические параметры, используем дополнение WITH FREE SELECTIONS lt_texpr, где lt_texpr имеет тип rsds_texpr. В следующем примере вызываем программу для транзакции FBL1N и передаём в динамический параметр "Блокировка платежа" значение "A".
DATA: lv_sydatum TYPE sy-datum, lt_items TYPE it_rfposxext, lt_trange TYPE rsds_trange, lt_texpr TYPE rsds_texpr. FIELD-SYMBOLS: <lfs_trange> LIKE LINE OF lt_trange, <lfs_frange> LIKE LINE OF <lfs_trange>-frange_t, <lfs_selopt> LIKE LINE OF <lfs_frange>-selopt_t. lv_sydatum = sy-datum. INSERT INITIAL LINE INTO TABLE lt_trange ASSIGNING <lfs_trange>. <lfs_trange>-tablename = 'BSIK'. INSERT INITIAL LINE INTO TABLE <lfs_trange>-frange_t ASSIGNING <lfs_frange>. <lfs_frange>-fieldname = 'ZLSPR'. INSERT INITIAL LINE INTO TABLE <lfs_frange>-selopt_t ASSIGNING <lfs_selopt>. <lfs_selopt>-sign = 'I'. <lfs_selopt>-option = 'EQ'. <lfs_selopt>-low = 'A'. CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_EX' EXPORTING field_ranges = lt_trange IMPORTING expressions = lt_texpr. SUBMIT rfitemap WITH kd_bukrs IN s_bukrs " БЕ WITH kd_lifnr IN s_lifnr " Кредитор WITH pa_stida EQ lv_sydatum " Открытые на отчетную дату WITH pa_vari EQ '1SAP' " Формат WITH x_aisel EQ '' " Все позиции WITH x_apar EQ '' " Позиции дебиторов WITH x_clsel EQ '' " Выровненные позиции WITH x_merk EQ '' " Памятные позиции WITH x_norm EQ 'X' " Стандартные позиции WITH x_opsel EQ '' " Открытые позиции WITH x_park EQ '' " Предв. зарегистрированные WITH x_shbv EQ '' " Операции Особой главной книги WITH FREE SELECTIONS lt_texpr EXPORTING LIST TO MEMORY AND RETURN.
15 ноября 2018
Сторно FI-документа (BAPI BAPI_ACC_DOCUMENT_REV_POST)
Для сторно FI-документа используется функциональный модуль (BAPI) BAPI_ACC_DOCUMENT_REV_POST.
Создание FI-документа с проводкой на налоговые счета (BAPI BAPI_ACC_DOCUMENT_POST)
Используется функциональный модуль BAPI_ACC_DOCUMENT_POST.
14 ноября 2018
Расчет суммы налога по коду налога и базовой сумме
Используется функциональный модуль CALCULATE_TAX_FROM_NET_AMOUNT.
CALL FUNCTION 'CALCULATE_TAX_FROM_NET_AMOUNT' EXPORTING i_bukrs = lv_bukrs i_mwskz = lv_mwskz i_waers = lv_waers i_wrbtr = lv_wrbtr IMPORTING e_fwste = lv_fwste TABLES t_mwdat = lt_mwdat EXCEPTIONS bukrs_not_found = 1 country_not_found = 2 mwskz_not_defined = 3 mwskz_not_valid = 4 ktosl_not_found = 5 kalsm_not_found = 6 parameter_error = 7 knumh_not_found = 8 kschl_not_found = 9 unknown_error = 10 account_not_found = 11 txjcd_not_valid = 12 OTHERS = 13.
13 ноября 2018
Сумма прописью
Используется функциональный модуль SPELL_AMOUNT.
DATA: lv_p1(8) TYPE p VALUE '950', ls_words TYPE spell. CALL FUNCTION 'SPELL_AMOUNT' EXPORTING amount = lv_p1 * currency = ' ' * filler = ' ' language = 'R' IMPORTING in_words = ls_words EXCEPTIONS not_found = 1 too_large = 2 OTHERS = 3. IF sy-subrc EQ 0. " ls_words-word содержит сумму прописью ENDIF.
12 ноября 2018
Создание спецификации (BOM)
Пример использования BAPI_MATERIAL_BOM_GROUP_CREATE.
26 сентября 2018
Popup окно с выбором значения в виде таблицы ALV
Есть два (а может и больше) ФМа SRM_SELECTION_POPUP_WITH_ALV и REUSE_ALV_POPUP_TO_SELECT.
DATA: lt_tab TYPE TABLE OF rbkp_key, lv_selected_line TYPE i, lv_canceled TYPE srmboolean, ls_selfield TYPE slis_selfield, lv_exit. SELECT * FROM rbkp INTO CORRESPONDING FIELDS OF TABLE lt_tab WHERE bldat BETWEEN '20180901' AND '20181231'. CALL FUNCTION 'SRM_SELECTION_POPUP_WITH_ALV' EXPORTING im_title = 'Title' im_tabname = 'RBKP_KEY' im_startx = 5 im_stopx = 100 im_starty = 1 im_stopy = 10 IMPORTING ex_selected_line = lv_selected_line ex_canceled_by_user = lv_canceled CHANGING lt_outtab = lt_tab. " Or CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT' EXPORTING i_title = 'Это заголовок' * i_selection = 'X' * i_allow_no_selection = i_zebra = 'X' * i_screen_start_column = 0 * i_screen_start_line = 0 * i_screen_end_column = 0 * i_screen_end_line = 0 * i_checkbox_fieldname = * i_linemark_fieldname = * i_scroll_to_sel_line = 'X' i_tabname = '1' i_structure_name = 'RBKP_KEY' * it_fieldcat = * it_excluding = * i_callback_program = * i_callback_user_command = * is_private = IMPORTING es_selfield = ls_selfield e_exit = lv_exit TABLES t_outtab = lt_tab EXCEPTIONS program_error = 1 OTHERS = 2.
25 сентября 2018
Добавить ZZ-поле в отчет FBL1N
1. Добавить поле в структуры RFPOS (RFPOSX) через append-структуру.
2. Запустить программу RFPOSXEXTEND, чтобы сгенерировать необходимые структуры.
3. Для заполнения поля использовать BTE 00001650 "LINE ITEM DISPLAY: Add to Data per Line" (P/S Module) или BAdI "FI_ITEMS_CH_DATA".
2. Запустить программу RFPOSXEXTEND, чтобы сгенерировать необходимые структуры.
3. Для заполнения поля использовать BTE 00001650 "LINE ITEM DISPLAY: Add to Data per Line" (P/S Module) или BAdI "FI_ITEMS_CH_DATA".
Подписаться на:
Сообщения (Atom)