Некоторые задачи невозможно или очень сложно решить только средствами языка ABAP (работа с архивами, криптографией и т.п.), в таких случаях мы можем воспользоваться внешними программами либо через их вызов на сервере представления, либо на сервере приложений.
Взаимодействие с сервером представления уже было ранее описано в блоге. В данной статье рассмотрим возможности вызова команд на стороне сервера приложений.
Существует как минимум три возможности вызова команд на сервере приложений:
- Использование дополнения FILTER в OPEN DATASET
- Использование команды CALL ‘SYSTEM’
- Вызов команд через SXPG фреймворк
Первые два способа официально не рекомендуется использовать, по следующим причинам:
- Нет централизованной проверки полномочий
- Платформенная зависимость должна быть обработана на уровне ABAP кода
- Отсутствие возможности обработки исключительных ситуаций
- Возможны вредоносные внедрения системных команд
Рассмотрим третий вариант.