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 |
Таблица сумм |