数据是如何存储在 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 软件,您可以将表中的一行连接到子程序的调用。基本计划是只使用 Linux 或 Windows 上的 SQL INSERT 语句连接到 OpenVMS 目标的 ODBC 数据源。然后,连接软件将调用可共享库中的 OpenVMS 子例程来处理行,视情况使用或至少重新使用现有业务逻辑进行验证、规范化或反规范化。是的,他们还可以公开 SELECT 或 MODIFY 以进行比 SQL 描述的更复杂的查找。大家开心!您可以使用现代工具,它们可以使用旧代码和检查。
当然,另一种历史悠久的方法是只使用一个 FTP 放置点来输入数据。一些 OpenVMS 作业扫描约定的目录以查找“操作”文件,并运行 OpenVMS 程序以类似于终端 UI 应用程序的方式处理数据。Cobol,Basic,尽可能多地重用现有的终端代码和逻辑
祝你好运!海因