Пакетный ввод BDC – пример реализации

Вводная

Пакетный ввод – это симуляция работы пользователя в одной определённой транзакции.

Программный пакетный ввод может только то, что может пользователь.

Как правило BDC используют для проведения массовых и повторяющихся действий (создание или изменение объектов или документов).

 

Пример

Для примера возьмём изменение основного средства в транзакции AS02. Нам необходимо массово изменить в карточке ОС табельный номер материально-ответственного лица.

Действия такие:

  • Зайти в AS02
  • Ввести номер ОС и перейти на вкладку “Общее”
  • Перейти на вкладку “В зависимости от времени” и изменить там поле “Табельный номер”
  • Сохранить карточку ОС
  • Ответить “Да” на запрос подтверждения

(далее…)

Очередная зазубрина в переводе

Мне так и представляется затихающее эхо “be used be used be used …“.

be used be used be used be used ...

Так и вспомнилась пара анекдотов вроде:

Идилия: утро в горах. Воздух чист как хрусталь. Терпкий аромат омытых утренней росой трав. Где-то жужжит стрекоза. Солнце уже взошло, и в бесконечной голубизне неба едва заметны маленькие белоснежные облачка. Hа склоне горы разбита не менее белоснежная палатка, из нее выходит чисто выбритый поручик Ржевский.
И, вздохнув полной грудью, произносит:
— Господи! Красота-то какая!
— твою мать, мать, мать… — привычно отозвалось эхо.

Чего-то я в этой жизни не понимаю

Вот смотрю я в ERP-систему, и вижу что есть какие-то модули, которые пишут напрямую в таблицы справочников:

прямая запись в таблицы TCURC+TCURT

Нашлись затейники, которые решили замутить такую штуку: синхронизация справочников. И пропустить это всё через SAP Process Integration. И этих справочников не пять штук. И это не в какой-нибудь  системе, а в ERP.

Просто потрясающее занятие само по себе, да ещё и решённое при помощи SAP PI.

Я даже не знаю как на это реагировать.

Похвалить или пожалеть таких людей? А может расстрелять или самому партбилет на стол положить?

Идея! А давайте ещё справочник балансовых единиц и план счетов так просинхронизируем…

* * *

Однажды вечером Резерфорд зашел в лабораторию. Хотя время было позднее, в лаборатории склонился над приборами один из его многочисленных учеников.
– Что вы делаете так поздно? – спросил Резерфорд.
– Работаю, – последовал ответ.
– А что вы делаете днем?
– Работаю, разумеется, – отвечал ученик.
– И рано утром тоже работаете?
– Да, профессор, и утром работаю, – подтвердил ученик, рассчитывая на похвалу из уст знаменитого ученого.
Резерфорд помрачнел и раздраженно спросил:
– Послушайте, а когда же вы думаете?

Ведение журнала в SBAL

Если вы пользуетесь и хотите пользоваться в дальнейшем группой функций SBAL

CALL FUNCTION ‘BAL_LOG_CREATE’

то лучше помнить о том, что эта штука очень прожорливая.

Если у вас 100’000 сообщений в журнале, то будьте готовы, что эта штука отожрёт 1,5 гигабайта оперативной памяти. Даже если вы включите фильтр (показ только ошибок) – то потребление памяти снизится всего лишь в два раза.

Альфа и Номер счёта

Предыстория

Вот создали вы собственную Z-таблицу с полем типа HKONT. Счёт главной книги используется восьмизначный.

image

И вот вы начали заполнять её данными вручную или грузить напрямую из файла без использования SM30.

wa-HKONT = ‘10100000’.
insert into zhkont values wa.

(далее…)

Что важно помнить про LSMW

Как пользоваться LSMW я уже рассказал тут: Закачка начальных данных в LSMW

Главными преимуществами LSMW над собственной программой (с пакетным вводом или BAPI)являются:

  • тюнинг в продуктивной системе без переносов
  • использование без привлечения ABAP-разработчиков

 

Собственная программа даёт большую гибкость, поэтому я предпочитаю ABAP-код: трудозатраты примерно сравнимы. Но я скорее опытный разработчик, чем консультант.

Но если от консультанта будет постановка на разработку, то условные затраты будут в три раза выше: время разработчика + время консультанта + издержки коммуникации.

Теперь о нескольких напутствиях начинающим:

(далее…)