Автоматизация ввода данных в VMS с помощью E-Term32

Меня попросили найти способ сделать это, поэтому, пожалуйста, объясните мне, возможно ли это вообще, или это не следует делать.


Цель — автоматизировать ввод данных в VMS (мы используем E-Term32 для подключения к VMS). Вещи, которые обсуждались для этой цели: электронные таблицы Excel, динамический обмен данными, инструменты макросов, доступные в E-Term32 (язык команд эмуляции - ECL), автоматизация OLE и т. д.

Предполагаемый процесс будет выглядеть следующим образом:

  1. Получить файл Excel (или другой формат данных, например текстовый файл)
  2. Подключиться к ВМС
  3. Запустить макрос
  4. Макрос перемещается по системе меню и использует данные из файла Excel для ввода данных.

Я знаю, что есть «лучшие» или более простые способы сделать это, например, создать приложение для ввода данных, но мои руководители обеспокоены тем, чтобы обойти бизнес-логику, встроенную в меню/приложения «Синего экрана». В любом случае, они также приверженцы создания новых приложений для подобных вещей.


person cbailey    schedule 18.07.2014    source источник


Ответы (1)


Как данные хранятся в OpenVMS, можно предположить, в собственных (индексированных) файлах RMS? или какая-то база данных (RDB, Oracle, Adabas,...)?

Как бы то ни было, вполне возможно записать непосредственно в хранилище данных с помощью какого-либо метода ODBC или JDBC. Бесплатное или коммерческое ПО (ConnX, Attunity,...). Просто погуглите: OpenVMS ODBC

Как только вы найдете метод для прямого доступа к данным, действительно следует побеспокоиться о бизнес-логике. Форматирование полей, диапазоны значений, внешние ключи... Таким образом, доступ может быть предоставлен только (программное обеспечение, управляемое) доверенным игрокам команды. Но с этим вполне можно справиться, и вы можете обнаружить, что новый метод можно сделать более надежным, чем эти приложения с зеленым экраном.

Если прямой доступ к данным не подлежит обсуждению, то вариантов еще много. Скрины-скраперы были построены, вы не должны пытаться писать с нуля.

Ознакомьтесь с коммерческими инструментами модернизации, ориентированными на терминалы, такими как: http://www.rocketsoftware.com/products/rocket-legasuite-gui

презентация: http://de.openvms.org/Spring2009/03-Dutch_Police_FINAL.pdf (Я не связан с прекрасными людьми @ Rocket, это всего лишь один пример, о котором я знаю. Наверняка есть и другие (коммерческие) варианты.

Теперь об этих бизнес-правилах. Насколько чисто это орудие? Строгое разделение формы/функции? Наверное, нет, иначе вы бы не спрашивали.

Существует несколько доступных бесплатных и платных методов RPC, GSOAP, которые позволяют вызывать подпрограммы обслуживания OpenVMS, передавая внешние данные. Это, наверное, лучший путь вперед.

Компания Attunity, в которой я работаю, продает такие инструменты «устаревшего адаптера» в дополнение к прямому доступу к файлам через ODBC/JDBC. Например, с помощью программного обеспечения Attunity Connect вы можете связать строку в таблице с вызовом подпрограммы. Базовый план состоит в том, чтобы просто использовать оператор SQL INSERT в Linux или Windows для источника данных ODBC, который подключен к цели OpenVMS. Программное обеспечение для подключения затем вызовет подпрограмму OpenVMS в общей библиотеке для обработки строки, используя или, по крайней мере, повторно используя существующую бизнес-логику для проверки, нормализации или денормализации, в зависимости от обстоятельств. И да, они также могут предоставлять SELECT или MODIFY для поиска, которые более сложны, чем могут быть описаны в SQL. Все счастливы! Можно использовать современные инструменты, они могут использовать старый код и проверки.

И, конечно же, еще один проверенный временем метод — просто иметь точку доступа FTP для ввода данных. Некоторое задание OpenVMS сканирует согласованный каталог на наличие файлов «действия» и запускает программу OpenVMS для обработки данных способом, аналогичным приложению пользовательского интерфейса терминала. Cobol, Basic, повторное использование как можно большей части существующего терминального кода и логики

Удачи! Хайн

person Hein    schedule 19.07.2014