Преимущества использования API QCMDEXC перед системными функциями типа system() включают:
- Возможность запускать команды из программ на высокоуровневых языках. www.ibm.com www.nicklitten.com Например, из программ, где во время компиляции не известно, какую команду нужно выполнить и какие параметры использовать. www.ibm.com
- Возможность обрабатывать ошибки. www.ibm.com Если во время обработки команды через QCMDEXC обнаружена ошибка, отправляется escape-сообщение. www.ibm.com Его можно отследить в процедуре или программе CL с помощью команды Monitor Message (MONMSG). www.ibm.com
В то же время системные функции типа system() могут быть удобны для обнаружения ошибок (нужно проверить возвращённый код) и обработки ошибок (любое возвращённое сообщение об ошибке доступно в глобальной переменной среды). www.rpgpgm.com
Выбор между API QCMDEXC и системными функциями зависит от конкретных требований и задач разработки.