Підручник із SAP ABAP BDC (передача пакетних даних)

Зміст:

Anonim

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

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

У цьому підручнику ви дізнаєтесь:

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

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

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

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

Класичний метод пакетного введення
У цьому методі програма ABAP / 4 зчитує зовнішні дані до системи SAP і зберігає їх у сеансі пакетного введення.
Після створення сеансу ви можете запустити сеанс для виконання в ньому транзакції SAP.
Цей метод використовує функціональні модулі BDC_ OPEN, BDC_INSERT і BDC_CLOSE Сеанс
пакетного введення може бути оброблений 3 способами

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

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

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

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

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

Примітки:

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

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


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

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

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

Ви можете спостерігати за наступним процесом написання вашої програми BDC

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

Структура
вхідних даних пакета Декларація структури вхідних даних пакетного введення

ДАНІ: ПОЧАТОК З <таблиці bdc>OCCURS <відбувається параметри>.Включіть структуру BDCDATA.ДАНІ: КІНЕЦЬ <таблиці bdc>.
Назва поля Тип Довжина Опис
ПРОГРАМА ЧАР 8 Пул модулів
ДИНПРО NUMC 4 Номер Dynpro
ДИНБЕГІН ЧАР 1 Запуск dynpro
FNAM ЧАР 35 Назва поля
FVAL ЧАР 80 Значення поля

Порядок полів в даних для конкретного екрану не якесь -то значення
потрібно звернути увагу

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

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

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

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

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

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