Я готовлюсь к предстоящему интеграционному проекту, в котором мне нужно будет импортировать / экспортировать некоторые данные в / из нашей ERP в файловую систему. Мы запускаем JD Edwards World 9.2 на компьютере IBM iSeries / AS400 V6R1.
Программное обеспечение, с которым мы интегрируем, требует, чтобы мы интегрировали его с использованием файлов CSV, которые экспортируются / импортируются по расписанию и доступны через SFTP.
У меня установлен Zend-сервер (apache), и я счастлив, что использую Apache, PHP и SQL, но практически не имею знаний о программировании на CL и RPG (но готов учиться). У нас также нет WebQuery. Для экспортируемых файлов требуются данные между таблицами, которые должны быть объединены и отфильтрованы, поэтому потребуется SQL или аналогичный, поэтому я не ожидаю, что это будет прямой CPYTOIMPF.
В качестве очень грубой схемы я подумал, что мог бы написать быстрый php-файл, который будет запускать SQL-запрос для анализа результатов в CSV-формате в IFS и наоборот, загруженный cget-wget (или эквивалентом IBM).
Прежде чем начать, я хочу посмотреть, может ли кто-нибудь порекомендовать лучший подход
Какие стратегии и / или ссылки вы бы порекомендовали? Каковы эквиваленты cron и wget?
Cron эквивалент будет планировщик заданий. Он поставляется в двух вариантах от IBM, базовая версия включена в каждую систему «Работа с записями расписания заданий (WRKJOBSCDE)» и Расширенный планировщик заданий «Работа с заданиями с использованием планировщика заданий (WRKJOBJS)».
В вашей системе также может быть один или несколько сторонних планировщиков.
В ОС нет встроенного аналога wget. Существуют различные сторонние утилиты и даже некоторые бесплатные и / или открытые утилиты. Также вы можете установить и использовать AIX-версию wget в PASE.
http://yips.idevcloud.com/wiki/index.php/PASE/PackageManager
Теперь, насколько импорт / экспорт. IBM, конечно, предоставляет команды CPYTOIMPF и CPYFRMIMPF. Но для производительности и гибкости в обработке ошибок многие предпочитают катиться самостоятельно, используя RPG. PHP будет альтернативой для вас.
Еще пара очков …
Хотя это правда, что CPYTOIMPF не поддерживает запрос. Он поддерживает копирование из представления SQL. Так что, пока вы можете создать представление, которое обеспечивает «объединение и фильтрацию», о котором вы упомянули, требуется, CPYTOIMPF может работать.
Наконец, IBM включает команду «Выполнить операторы SQL» (RUNSQLSTM), которая будет выполнять операторы SQL, содержащиеся в элементе исходного файла; в том числе INSERT INTO somefile (SELECT ...)
так что вы можете загрузить физическую таблицу, на которой вы затем можете использовать CPYTOIMPF. Кроме того, в этом исходном члене вы можете включить команды CL, добавив к ним префикс CL:
Навигатор System I имеет инструмент «Запуск сценариев SQL». Этот инструмент имеет возможность сохранить результаты, и один из вариантов в файл CSV.