Как добавить поле «Дата ввода» на вкладку «Оплата» в MIRO?

#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 Примечание 1156325BAdIs в среде проверки счетов-фактур логистики