#abap #sap-erp #dynpro #badi
Вопрос:
Есть ли возможность добавить поле «Дата ввода» в платежный блок в код Miro, чтобы пользователь мог выбрать «Дата ввода» вместо «Базовая дата». Есть ли какие-нибудь БАди или БАПИ?
Комментарии:
1. Вы можете делать в программном обеспечении SAP все, что захотите, потому что исходный код предоставлен, и SAP разрешает его поддерживать. Следовательно, добавление поля экрана всегда возможно. Вообще говоря, некоторые BADI могут позволить вам реализовать новые поля экрана, которые легко проверить, просмотрев сведения об экране и проверив, существует ли пустая область подэкранного режима, которая, вероятно, зарезервирована выходом пользователя, т. Е. вы можете включить свой собственный экран. Что касается BAPI, я не понимаю, как это может быть связано с модификацией экрана.
2. Возникает несколько вопросов. INVFO-BLDAT находится на вкладке Основные данные. INVFO доступен на всех вкладках. Предлагаю вам дважды проверить это требование. К какому именно полю у них нет доступа ???
Ответ №1:
Нет прямого и простого способа добавить поля на вкладку «Оплата MIRO», вы можете добавить только одно из них в «Сведения» ( LFDCB001
улучшение проверки).
Однако вы можете изменить значения вкладок платежей «на лету» на все, что вам нужно, с помощью MRM_PAYMENT_TERMS BAdI. Для изменения базовой даты в PAYMENT_TERMS_SET
методе поместите что-то вроде этого:
DATA: h_drseg TYPE mmcr_drseg,
h_reindat TYPE RBKP-REINDAT.
LOOP AT ti_drseg INTO h_drseg WHERE selkz = 'X'.
SELECT SINGLE budat FROM ekbe INTO h_reindat WHERE
ebeln = h_drseg-ebeln AND
ebelp = h_drseg-ebelp AND
lfbnr = h_drseg-lfbnr AND
lfgja = h_drseg-lfgja AND
lfpos = h_drseg-lfpos AND
vgabe = '2'.
CHECK sy-subrc = 0.
e_zfbdt = h_reindat.
EXIT.
ENDLOOP.
Вот h_reindat
«Дата Inv. recpt», которая назначается базовой дате во время выполнения.
Если вы все равно хотите сделать его видимым в пользовательском интерфейсе для ручного ввода, я рекомендую придерживаться стандартного подхода, описанного здесь: Как активировать Дату получения счета в заголовке документа для любой компании
Он будет помещен на вкладку MIRO basic, а затем значение будет скопировано на базовую дату на вкладке оплата.
Для справки: SAP Примечание 1156325 — BAdIs в среде проверки счетов-фактур логистики