BAdI для создания расчетных сумм при сохранении журнала

При сохранении журнала вы можете добавлять или рассчитывать дополнительные суммы. Для этого нужно реализовать бизнес-модуль расширения (BAdI) UJJ_CALCULATED_AMOUNT.

Функции

Точка расширения

BAdI определяется в следующей точке расширения: UJJ_CALCULATED_AMOUNT.

При реализации нового BAdI должен быть установлен фильтр со следующими параметрами:

  • Appset_id: идентификатор модели

  • Application_id: среда

Пример реализации BAdI

Пример реализации расположен в следующей точке реализации: CALCULATED_AMOUNT_SAMPLE_IMPL.

В примере при создании записей прибылей и убытков влияние итоговой чистой прибыли (убытка) генерируется в балансовом счете нераспределенной прибыли. Это влияет на поток конечного сальдо при каждой проводке по балансовому счету.

Реализуемый интерфейс

Нужно реализовать следующий интерфейс: IF_UJJ_CALCULATED_AMOUNT.

Метод CALCULATE_AMOUNTS:

Параметр импорта

Описание

IT_JOURNALS Type UJJ_T_BADI_CA_JOURNAL

Таблица, содержащая список журналов, которые будут сохранены.

Параметр экспорта

Описание

ET_CALCULATED_AMOUNTS Type UJJ_T_BADI_CA_JOURNAL_AMOUNTS

Таблица расчетных сумм, содержащая суммы, которые будут добавлены в список журналов. Идентификатор журнала вывода должен соответствовать списку журналов ввода.

Предупреждение

В возвращенной таблице расчетных сумм должны содержаться только значения для измерений сведений. Если будет установлено значение для измерения заголовка, BAdI выведет ошибку.

Особая ситуация

Описание

CX_UJJ_EXCEPTION

Возможная особая ситуация журнала.

Типы данных

UJJ_T_BADI_CA_JOURNAL

Таблица для UJJ_S_BADI_CA_JOURNAL.

UJJ_S_BADI_CA_JOURNAL

В структуре определены следующие поля:

Поле

Тип

Описание

APPSET_ID

UJ_APPSET_ID

Идентификатор среды

APPL_ID

UJ_APPL_ID

Идентификатор модели

JRN_TMPL_ID

UJJ_JRNTMPL_ID

Идентификатор шаблона журнала

JRN_ID

UJJ_JRN_ID

Идентификатор журнала

DESCRIPTION

UJ_DESC

Описание

USERC

UJ_USER_ID

Пользователь, который сохраняет журнал

DATEMODIFIED

TIMESTAMP

Дата изменения

USERP

UJ_USER_ID

Идентификатор пользователя, который выполнил проводку журнала

DATEPOSTED

TIMESTAMP

Дата проводки

STATUS

UJ_DESC

Статус журнала

IDJ_AUTO_REV

UJ_ID

Идентификатор автоматического обращения

IDJ_OLD

UJJ_JRN_ID

Исходный идентификатор журнала

IDJ_GROUP

UJJ_JRN_ID

Идентификатор группы, к которой принадлежит журнал

AUTO_REVERSED

UJ_FLG CHAR

Истина, если журнал обращается автоматически

MUST_BE_BALANCED

UJ_FLG

Истина, если журнал должен быть сбалансирован перед сохранением

MAY_BE_REOPEN

UJ_FLG CHAR

Истина, если журнал может быть открыт повторно

EDITABLE

UJ_DIM_MEMBER

Несколько измерений заголовка для группы журналов

VARIABLET

UJ_DIM_MEMBER

Идентификатор измерения с несколькими значениями

AMOUNTS

UJJ_T_BADI_CA_AMOUNT

Таблица сумм

EXTRA_FIELDS

UJJ_T_KEYMEM

Таблица дополнительных заголовков

IS_BALANCED

UJ_FLG CHAR

Истина, если журнал балансируется

UJJ_T_BADI_CA_AMOUNT

Таблица для UJJ_S_BADI_CA_AMOUNT.

UJJ_S_BADI_CA_AMOUNT

В структуре определены следующие поля:

Поле

Тип

Описание

REMARK

UJ_STRING

Примечание

AMOUNT

UJ_KEYFIGURE

Значение сумм

DEBITCREDIT

UJJ_DEBITCREDIT

Установите значение:

  • К, если сумма является кредитом

  • Д, если сумма является дебетом

MEMBERS

UJJ_T_KEYMEM

Эта таблица содержит список измерений, которые определяют сумму журнала. В эту таблицу включены и измерения заголовка, и измерения сведений.

UJJ_T_KEYMEM

Таблица для UJJ_S_KEYMEM.

UJJ_S_KEYMEM

В структуре определены следующие поля:

Поле

Тип

Описание

TABKEY

TABKEY

Идентификатор измерения

MEMBER

UJ_VALUE

Значение элемента

IS_HDR_FLD

UJ_FLG CHAR

Истина означает, что измерение является измерением заголовка; в противном случае это измерение сведений.

UJJ_T_BADI_CA_JOURNAL_AMOUNTS

Таблица для UJJ_S_BADI_CA_JOURNAL_AMOUNTS.

UJJ_S_BADI_CA_JOURNAL_AMOUNTS

В структуре определены следующие поля:

Поле

Тип

Описание

JOURNAL_ID

UJJ_JRN_ID

Идентификатор журнала

AMOUNTS

UJJ_T_BADI_CA_AMOUNT

Таблица сумм