Введение в пакетный ввод
Пакетный ввод обычно используется для передачи данных из систем, не поддерживающих R / 3, в системы R / 3 или для передачи данных между системами R / 3.
Это метод передачи данных, который позволяет автоматически переносить наборы данных на экраны, принадлежащие транзакциям, и, следовательно, в систему SAP. Пакетный ввод контролируется сеансом пакетного ввода.
В этом уроке вы узнаете:
- Введение в пакетный ввод
- Методы пакетного ввода
- Процедуры пакетного ввода
- Написание программы BDC
- Создание сеанса пакетного ввода
- Регистратор пакетного ввода
- BDI работает, выполняя обычные транзакции SAP так же, как и пользователь, но выполняет транзакцию автоматически. Все проверки экрана и проверки бизнес-логики будут выполняться при использовании пакетного ввода данных.
- Подходит для ввода большого количества данных.
- Никакого ручного вмешательства не требуется
Методы пакетного ввода
SAP предоставляет два основных метода переноса устаревших данных в систему R / 3.
- Классический метод пакетного ввода.
- Вызов метода транзакции.
Классический метод пакетного ввода
В этом методе программа ABAP / 4 считывает внешние данные в систему SAP и сохраняет их в сеансе пакетного ввода.
После создания сеанса вы можете запустить сеанс для выполнения в нем транзакции SAP.
В этом методе используются функциональные модули BDC_ OPEN, BDC_INSERT и BDC_CLOSE.
Сеанс пакетного ввода может обрабатываться 3 способами.
- На переднем плане
- На заднем фоне
- Во время обработки с отображением ошибки
Вы должны обрабатывать сеансы пакетного ввода на переднем плане или использовать отображение ошибок, если вы хотите протестировать передачу данных.
Если вы хотите выполнить передачу данных или протестировать ее производительность, вам следует обрабатывать сеансы в фоновом режиме.
На заметку о классическом методе пакетного ввода
- Синхронная обработка
- Передача данных для нескольких транзакций.
- Синхронное обновление базы данных.
- Журнал процесса пакетного ввода создается для каждого сеанса.
- Сессия не может быть сгенерирована параллельно.
Вызов метода транзакции.
В этом методе программа ABAP / 4 использует оператор CALL TRANSACTION USING для выполнения транзакции SAP.
Весь процесс пакетного ввода происходит онлайн в программе
На заметку:
- Более быстрая обработка данных
- Асинхронная обработка
- Передача данных за одну транзакцию.
- Журнал обработки пакетного ввода не создается.
Процедуры пакетного ввода
Обычно вы будете соблюдать следующую последовательность шагов для разработки пакетного ввода для вашей организации.
- Анализ устаревших данных. Определите, как переносимые данные должны отображаться в структуре SAP. Также обратите внимание на необходимые преобразования типа или длины данных.
- Создание структур данных SAP для использования в программах экспорта.
- Экспортируйте данные в последовательный файл. Обратите внимание, что формат символов требуется предопределенными программами пакетного ввода SAP.
- Если поставляемые SAP программы BDC не используются, запрограммируйте свою собственную программу пакетного ввода. Выберите подходящий метод пакетного ввода в зависимости от ситуации.
- Обработайте данные и добавьте их в систему SAP.
- Проанализируйте журнал процесса. Для метода CALL TRANSACTION, где не создается надлежащий журнал, используйте сообщения, собранные вашей программой.
- По результатам анализа процесса исправьте и повторно обработайте ошибочные данные.
Написание программы BDC
Вы можете наблюдать следующий процесс, чтобы написать свою программу BDC.
- Проанализируйте транзакцию (транзакции) для обработки данных пакетного ввода.
- Решите, какой метод пакетного ввода использовать.
- Чтение данных из последовательного файла
- Выполните преобразование данных или проверку ошибок.
- Сохранение данных в структуре пакетного ввода BDCDATA.
- Создайте сеанс пакетного ввода для классического пакетного ввода или обработайте данные напрямую с помощью оператора CALL TRANSACTION USING.
Структура данных пакетного ввода
Объявление структуры данных пакетного ввода
ДАННЫЕ: НАЧАЛО <таблицы bdc>OCCURS <параметры возникновения>.ВКЛЮЧИТЕ СТРУКТУРУ BDCDATA.ДАННЫЕ: КОНЕЦ <таблицы bdc>.
Имя поля | Тип | Длина | Описание |
---|---|---|---|
ПРОГРАММА | СИМВОЛ | 8 | Пул модулей |
DYNPRO | NUMC | 4 | Номер Dynpro |
ДИНБЕГИН | СИМВОЛ | 1 | Запуск dynpro |
FNAM | СИМВОЛ | 35 год | Имя поля |
FVAL | СИМВОЛ | 80 | Значение поля |
Порядок полей в данных для конкретного экрана не какое -то значение
нужно обратить внимание
- При заполнении данных BDC убедитесь, что вы приняли во внимание пользовательские настройки. Это особенно актуально при заполнении полей с числами (например, количество, сумма). Это пользовательская настройка, которая определяет, какой символ группировки для чисел. Например: число пятьдесят тысяч может быть записано как 50 000,00 или 50 000,00 в зависимости от настройки пользователя.
- Сожмите поле FVAL для полей количества и количества, чтобы они были выровнены по левому краю.
- Обратите внимание, что все поля, которые вы заполняете через BDC, должны рассматриваться как поля символьного типа при заполнении таблицы данных BDC.
- На некоторых экранах, когда вы заполняете значения в элементе управления таблицей с помощью BDC, вы должны отметить, сколько строк присутствует на экране по умолчанию, и код для такого количества строк. Если вам нужно заполнить больше строк, вам нужно закодировать функцию «Page down», как если бы вы заполняли элемент управления таблицей вручную.
- Количество строк, которые появятся в приведенном выше сценарии, будет отличаться в зависимости от размера экрана, который использует пользователь. Поэтому всегда используйте код для стандартного размера экрана и заставляйте свой BDC всегда работать со стандартным размером экрана, независимо от того, какой размер экрана пользователь сохраняет.
Создание сеанса пакетного ввода
- Откройте сеанс сеанса пакетного ввода с помощью функционального модуля BDC_OPEN_GROUP.
- Для каждой транзакции в сеансе:
- Заполните BDCDATA значениями для всех экранов и полей, обрабатываемых в транзакции.
- Перенесите транзакцию в сеанс с BDC_INSERT.
- Закройте сеанс пакетного ввода с помощью BDC_CLOSE_GROUP
Регистратор пакетного ввода
Регистратор пакетного ввода (Система> Службы> Пакетный ввод> Регистратор) записывает транзакции, которые вводятся вручную, и создает сеанс пакетного ввода, который может быть выполнен позже с помощью SM35.
- Запустите регистратор пакетного ввода, нажав кнопку записи на начальном экране пакетного ввода.
- Имя записи - это имя, определяемое пользователем, которое может совпадать с именем сеанса пакетного ввода, которое может быть создано из записи.
- Введите транзакцию SAP и начните разноску транзакции.
- После завершения разноски транзакции SAP вы либо выбираете «Получить транзакцию» и «Сохранить», чтобы завершить запись, либо «Следующая транзакция» и разносить другую транзакцию.
- После того, как вы сохранили запись, вы можете создать сеанс пакетного ввода из записи и / или сгенерировать программу пакетного ввода из записи.
- Созданный сеанс пакетного ввода теперь можно анализировать так же, как и любой другой сеанс пакетного ввода.
- Программа, созданная функцией регистратора пакетного ввода, является мощным инструментом для программиста интерфейса данных. Он обеспечивает прочную основу, которая затем может быть изменена в соответствии с требованиями заказчика.