Расширение кредитора на БЕ из делового партнера

Хотите автоматически создавать расширение кредитора на БЕ при синхронизации с деловыми партнерами? Вот вам! Код кривой, но лучше у меня нет времени и терпения 🙂 Кто поправит до красивого буду крайне благодарен! Это образец и только для моих нужд, адаптируйте. Надо сделать кнопочку Donate для пожертвований. Около 5 часов убил, чтобы найти где и как это сделать. Пожертвовали бы?

Реализуем BADI с таким интерфейсом IF_EX_CVI_CUSTOM_MAPPER~MAP_BP_TO_VENDOR

BADi искать тут: IMG — Cross-Application Components — Master Data Synchronization — Customer/Vendor Integration — Business Partner Settings — Business Add-Ins (BAdIS).

method IF_EX_CVI_CUSTOM_MAPPER~MAP_BP_TO_VENDOR.
DATA:
  l_pernr type pernr-pernr,
  lt_p0001 type table of p0001,
  wa_p0001 type p0001,
  ls_company_data type VMDS_EI_COMPANY,
  l_task TYPE VMD_EI_COMPANY_TASK,
  l_bank_detail type BUS_EI_BUPA_BANKDETAIL.
  l_pernr = i_partner-header-object_instance-bpartner.

Запускаем сеансы пакетного ввода в фоне

Ура! За свои 7+ лет САПа я не знал красивого способа запускать в фоне Batch Input! Признаюсь честно, я программист, поэтому документацию не читаю. «Идиёт», как любит говорить мой папа, когда его, профессионала, посещает здравая мысль. Решение есть — читайте документацию всегда, не зря ее пишут!

Программа
RSBDCSUB Batch Input: Process All Sessions

позволяет запускать пакетный ввод в фоне. Шедулим ее как надо и полная автоматизация. Для меня это решение проблемы создания кредиторов из HR данных. Просто планируем запуск программы создания/обновления кредитора RPRAPA00, а следом в одном же задании запуск сформированного пакетного ввода по маске RSBDCSUB! Вуаля, сервис! Я счастлив!

Пруф линк http://help.sap.com/saphelp_nw04/helpdata/en/69/c250414ba111d189750000e8322d00/frameset.htm


Мастер настройки видов оплаты

Совершенно случайно наткнулся на инструмент, который называется мастер настройки видов оплаты. Транзакция HRWTT00MAIN Wage type tool

Не уверен, что работает для России, но проверить не могу. Попробуйте кто-нибудь. Точно работает для США.


Планирование запуска пакетного ввода

В САП можно выполнение сеанса пакетного ввода запланировать на определенное время. Например, вам нужно запустить друг за другом ряд сеансов пакетного ввода. Создаем сеансы пакетного ввода. После создания они появляются в табличке APQI. Открываем и ищем наши сеансы, выписываем их идентификаторы из очереди (поле QID).

Вот и все. Теперь с помощью обычного планировщика заданий можно запустить программу RSBDCBTC с указанием идентификатора из очереди. Система прочитает данные пакетного ввода и запустит его на выполнение. Именно так работает фоновый запуск пакетного ввода в SM35. Как только вы запускаете выполнение в фоновом режиме, то создается задание с системным вариантом, где указан номер идентификатора из очереди.

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


Создание кредитора из основной записи табельного номера

Думаю ни для кого не будет секретом, что в САП можно автоматически создать из табельного номера кредитора FI для перечислений. Делается это с помощью программы RPRAPA00. Она умеет анализировать изменение в данных персонала и автоматически обновлять данные в кредиторах. Удобно, когда HR забывает сообщить в бухгалтерию, что сотрудник изменил адрес проживания или фамилию. Настроек здесь никаких нет, только user-exits, где можно поменять логику работы. Например, изменить кодирование кредиторов. Сделать код кредитора равным табельному номеру или еще как. Все расширения описаны в документации к самой программе, поэтому все просто.