SAP Підручник ABAP BDC (пакетний обмін даними).

Вступ до пакетного введення

Пакетне введення зазвичай використовується для передачі даних із систем, відмінних від R/3, до систем R/3 або для передачі даних між системами R/3.

Це техніка передачі даних, яка дозволяє автоматично передавати набори даних на екрани, що належать транзакціям, і, таким чином, на SAP система. Пакетне введення контролюється сеансом пакетного введення.

Сеанс пакетного введення

Групує серію викликів транзакцій разом із вхідними даними та діями користувача. Сеанс пакетного введення можна використовувати для виконання діалогової транзакції в пакетному введенні, де деякі або всі екрани обробляються сеансом. Сеанси пакетного введення зберігаються в базі даних як таблиці бази даних і можуть використовуватися в програмі як внутрішні таблиці під час доступу до транзакцій.

Бали, на які слід звернути увагу

  • BDI працює в звичайному режимі SAP транзакції так само, як і користувач, але виконує транзакцію автоматично.Усі перевірки екрана та перевірка бізнес-логіки виконуватимуться під час пакетного введення даних.
  • Підходить для введення великої кількості даних.
  • Ручна дія не потрібна

Методи пакетного введення

SAP забезпечують два основні методи передачі застарілих даних до системи R/3.

  1. Класичний метод пакетного введення.
  2. Метод транзакції виклику.

Класичний метод пакетного введення

У цьому методі програма ABAP/4 зчитує зовнішні дані в SAP Система та зберігає в сеансі пакетного введення.

Після створення сеансу ви можете запустити сеанс для виконання SAP трансакція в ньому.

Цей метод використовує функціональні модулі BDC_ OPEN, BDC_INSERT і BDC_CLOSE

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

  1. На передньому плані
  2. У фоновому режимі
  3. Під час обробки з відображенням помилок

Вам слід обробляти сеанси пакетного введення на передньому плані або використовувати відображення помилок, якщо ви хочете перевірити передачу даних.

Якщо ви хочете виконати передачу даних або перевірити її продуктивність, вам слід обробляти сеанси у фоновому режимі.

Варто зауважити про класичний метод пакетного введення

  • Syncхронічна обробка
  • Передача даних для кількох транзакцій.
  • Syncоновлення бази даних hronous.
  • Журнал процесу пакетного введення створюється для кожного сеансу.
  • Сеанс не може бути створений паралельно.

Метод транзакції виклику.

У цьому методі ABAPПрограма /4 використовує оператор CALL TRANSACTION USING для запуску SAP транзакція.

Весь процес пакетного введення відбувається онлайн у програмі

Метод транзакції виклику

Примітки:

  • Швидша обробка даних
  • Асинхронна обробка
  • Передача даних для однієї транзакції.
  • Журнал обробки пакетного введення не створюється.

Процедури пакетного введення

Процедури пакетного введення

Зазвичай ви дотримуєтеся наступної послідовності кроків, щоб розробити пакетне введення для вашої організації

  1. Аналіз застарілих даних. Визначте, як дані, які потрібно передати, мають бути зіставлені в SAP Структура. Також зверніть увагу на необхідні типи даних або перетворення довжини даних.
  2. Генерувати SAP структури даних для використання в програмах експорту.
  3. Експортуйте дані в послідовний файл. Зауважте, що формат символів є обов’язковим для попередньо визначеного SAP програми пакетного введення.
  4. Якщо SAP надані програми BDC не використовуються, кодуйте власну програму пакетного введення. Виберіть відповідний метод пакетного введення відповідно до ситуації.
  5. Обробити дані та додати їх до SAP SYSTEM.
  6. Проаналізуйте протокол процесу. Для методу CALL TRANSACTION, де не створюється відповідний журнал, використовуйте повідомлення, зібрані вашою програмою.
  7. За результатами аналізу процесу виправте та повторно обробіть помилкові дані.

Написання програми BDC

Ви можете спостерігати за наведеним нижче процесом написання програми BDC

  1. Проаналізуйте транзакцію(и) для обробки пакетних вхідних даних.
  2. Визначте метод пакетного введення.
  3. Читання даних із послідовного файлу
  4. Перетворення даних або перевірка помилок.
  5. Зберігання даних у структурі пакетного введення, BDCDATA.
  6. Створіть сеанс пакетного введення для класичного пакетного введення або обробіть дані безпосередньо за допомогою оператора CALL TRANSACTION USING.

Структура даних пакетного введення

Оголошення пакетної структури вхідних даних

DATA : BEGIN OF < bdc table>

OCCURS <occurs parameters>.

INCLUDE STRUCTURE BDCDATA.

DATA:END OF <bdc table>.
Назва поля тип довжина Описи конструкції
ПРОГРАМА CHAR 8 Модульний пул
DYNPRO NUMC 4 Номер Dynpro
DYNBEGIN CHAR 1 Запуск dynpro
FNAM CHAR 35 Назва поля
FVAL CHAR 80 Значення поля

Порядок полів у даних для певного екрана не має жодного значення

Бали до примітки

  • Під час заповнення даних BDC переконайтеся, що ви берете до уваги налаштування користувача. Це особливо актуально для заповнення полів, які містять числа (наприклад, кількість, сума). Налаштування користувача визначають, який символ групування для чисел. Наприклад: число п’ятдесят тисяч можна записати як 50,000.00 50.000,00 або XNUMX XNUMX залежно від налаштувань користувача.
  • Згорніть поле FVAL для полів суми та кількості, щоб вони були вирівняні за лівим краєм.
  • Зауважте, що всі поля, які ви заповнюєте через BDC, слід розглядати як поля символьного типу під час заповнення таблиці даних BDC.
  • На деяких екранах, коли ви заповнюєте значення в елементі керування таблицею за допомогою BDC, вам потрібно зазначити, скільки рядків присутнє на стандартному розмірі екрана, і закодувати стільки рядків. Якщо вам потрібно заповнити більше рядків, тоді вам доведеться закодувати функцію «Page down», як це було б, коли ви заповнюєте елемент керування таблицею вручну.
  • Кількість рядків, які з’являться у наведеному вище сценарії, відрізнятиметься залежно від розміру екрана, який використовує користувач. Тому завжди кодуйте стандартний розмір екрана та зробіть так, щоб ваш BDC завжди працював у стандартному розмірі екрана, незалежно від того, яким розміром екрану зберігає користувач.

Створення сеансу пакетного введення

  1. Відкрийте сеанс сеансу пакетного введення за допомогою функціонального модуля BDC_OPEN_GROUP.
  2. Для кожної транзакції в сеансі:
  3. Заповніть BDCDATA значеннями для всіх екранів і полів, оброблених у транзакції.
  4. Передайте транзакцію до сеансу за допомогою BDC_INSERT.
  5. Закрийте сеанс пакетного введення за допомогою BDC_CLOSE_GROUP

Реєстратор пакетного введення

Реєстратор пакетного введення (Система > Послуги > Пакетне введення > Реєстратор) записує транзакції, які вводяться вручну, і створює сеанс пакетного введення, який можна виконати пізніше за допомогою SM35.

Реєстратор пакетного введення

  • Запустіть реєстратор пакетного введення, вибравши кнопку Запис на початковому екрані пакетного введення.
  • Назва запису – це ім’я, визначене користувачем, і воно може відповідати назві сеансу пакетного введення, який можна створити із запису.
  • Введіть SAP і розпочніть оприлюднення транзакції.
  • Після завершення публікації a SAP Ви можете вибрати «Отримати транзакцію та зберегти», щоб завершити запис, або «Наступна транзакція» та опублікувати іншу транзакцію.
  • Після збереження запису ви можете створити сеанс пакетного введення із запису та/або створити програму пакетного введення із запису.
  • Сеанс пакетного введення, який ви створили, тепер можна аналізувати так само, як і будь-який інший сеанс пакетного введення.
  • Програма, яка генерується функцією запису пакетного введення, є потужним інструментом для програміста інтерфейсу даних. Він забезпечує надійну основу, яку потім можна змінювати відповідно до вимог замовника.