Пример использования 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)