标签: dcl

OpenVMS中的DCL符号语法

我对OpenVMS的DCL中的一些语法感到困惑.例如,这些是困扰我的一些线路:

$    wo = "write sys$output"
Run Code Online (Sandbox Code Playgroud)

它是否wo为write sys $输出创建了一个符号?

$ billing_run_number   == p1
Run Code Online (Sandbox Code Playgroud)

是否p1在执行时将参数传递给.com文件?它可以提供多少个参数?

$ wo "BILLING_RUN_NUMBER   = ''billing_run_number'"
Run Code Online (Sandbox Code Playgroud)

'abc'是否被符号abc的内容替换?为什么它''abc'而不是'abc'?我们可以使用""吗?

$ if ((status .nes. "P") .and. (status .nes. "M")) .or. (ftp_status .nes. "Y")
Run Code Online (Sandbox Code Playgroud)

什么.nes.意思?等于?我也见过.ne.,.eqs.太.他们有什么不同?

为什么"和"和"或"被两个点包围?DCL特定的语法?

如果有任何易于理解的免费在线教程,那会不会很好.谢谢你们!

dcl openvms

3
推荐指数
2
解决办法
3356
查看次数

在dcl脚本中隐藏错误消息

我有一个运行的测试脚本会产生一些错误,如下所示,我希望这些错误.反正我可以阻止它们出现在屏幕上吗?我用

$ write sys$output
Run Code Online (Sandbox Code Playgroud)

显示是否存在预期错误.

我试着用

$ DEFINE SYS$ERROR ERROR.LOG
Run Code Online (Sandbox Code Playgroud)

但是这会将我的整个错误输出日志更改为此,如果这是正确的处理方式,我可以在脚本的某端以某种方式取消设置吗?

[错误示例]

%DCL-E-OPENIN, error opening TEST$DISK:[AAA]NOTTHERE.TXT; as input
-RMS-E-FNF, file not found
%DCL-E-OPENIN, error opening TEST$DISK:[AAA]NOTTHERE.TXT; as input
-RMS-E-FNF, file not found
%DCL-W-UNDFIL, file has not been opened by DCL - check logical name
Run Code Online (Sandbox Code Playgroud)

vms dcl

2
推荐指数
1
解决办法
1062
查看次数

如何将结果存储到HP OpenVMS DCL中的变量?

我想将程序的输出保存到变量.

我使用以下方法,但失败了.

$ PIPE RUN TEST | DEFINE/JOB VALUE @SYS$PIPE $ x = f$logical("VALUE")

我收到一个错误:%DCL-W-MAXPARM, too many parameters - reenter command with fewer parameters \WORLD\

参考: 如何将程序的输出分配给VMS上的DCL com脚本中的变量?

dcl openvms

1
推荐指数
1
解决办法
790
查看次数

通过监控OpenVMS确定应用程序可执行工件范围

我们有一个基于OpenVMS的传统COBOL应用程序 - 我们对配置没有一个清晰的认识.在这种情况下,通过"配置",我说的是:

  1. 哪个可执行文件构成应用程序;
  2. 哪些原始源文件对应于哪些可执行文件.

上面的1是一个未知的东西似乎很奇怪,但随着时间的推移,可执行文件已经"来去匆匆"(并且许多仍然被使用).其中的可执行文件构成的应用程序,因为它存在的知识,今天,因为知识,其中的可执行文件,不再需要在时间已丢失不得而知.实际上,团队忠实地编译所有源代码文件并部署生成的可执行文件,尽管显然有不再使用的程序.

不言而喻,没有正式的配置管理过程,并且源代码没有保存在版本控制系统中.由于应用程序在OpenVMS上运行,因此相应基于Files-11的文件系统保留了旧版本的文件(包括源文件),这一直是不将应用程序源放入版本控制系统的借口(尽管使用的原因) VCS的扩展远远超出了以前版本的记录.

当然,有许多方法可以确定配置,但我想从第一个"小步骤"开始,即:确定构成应用程序的可执行文件集.此时我应该提到应用程序的可执行组件不仅限于OpenVMS映像,还包括DCL命令文件.我想要:

  1. 记录驻留在某个目录或目录集中的所有图像调用;
  2. 记录驻留在某个目录或目录集中的所有命令文件调用.

如果我们在延长的时间段(例如两个月)内对我们的生产系统进行此日志记录,我们可以很好地了解应用程序包含的内容.与用户咨询一起,我们将能够确认是否需要未被调用的可执行文件.

我想我已经知道如何做1以上,虽然我不确定具体,即使用SET/AUDIT.第二部分,在这个阶段,我不知道该怎么做.

因此,这项工作的主要标准是,为了获得上述信息,现有系统的影响很小.由于配置周围的问号(以及完全缺乏自动化测试),改变任何事情都是一项令人头疼的事情.

使用操作系统级服务SET/AUDIT可以让人们在不需要更改源代码和/或重新编译任何内容的情况下了解正在运行的内容.所以,我的问题是多方:

  1. 这是在OpenVMS上执行此操作的最佳方式吗?
  2. 限制SET/AUDIT为仅监视特定目录中的图像需要做什么?
  3. 如何在不更改.COM源文件的情况下记录命令文件调用?
  4. 由于记录此类信息,我应该在性能下降方面有什么期望?

vms dcl openvms

0
推荐指数
1
解决办法
184
查看次数

标签 统计

dcl ×4

openvms ×3

vms ×2