28 мая 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

15 мая 2019

24 апреля 2019

Выполнение команд ОС из SAP GUI

Для запуска команд операционной системы из SAP перейти в транзакцию SM69, найти команду, выделить и нажать "Выполнить". Здесь также можно создать свою команду, нажав кнопку "Создать" и указав параметры: имя команды, команда операционной системы, параметры команды.

08 января 2019

Транзакция для вызова ракурса ведения

1. Запустить SE93, указать имя транзакции, нажать "Создать".
2. Указать краткий текст, выбрать тип транзакции "Транзакция с параметрами".
3. Указать транзакцию SM30, поставить галки "Пропустить первый экран" и "Наследовать параметры GUI".
4. Параметры: VIEWNAME = имя ракурса ведения, UPDATE = X (значения параметров без кавычек и апострофов).

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.