问题标签 [control-language]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ibm-midrange - CL 命令如何构建其确切的参数列表?
我有一个驱动 RPGLE 程序的 CMD 命令对象。因为命令可能调用几个不同的参数,其中一些是互斥的,所以我使用RPGLE中的数据结构解析传递的参数,以便处理不同位置传递参数的不同场景。
例如,CMD 文件有:
用户可以按各种标准打印:订单号、日期、日期范围。这三种方法只能选择一种。根据用户的选择,参数以不同的方式传递给被调用的 RPGLE 程序。
如您所见,后面参数的位置(如TRANSTYPE
移位位置)取决于选择了哪个较早的参数。 OrdInvCM
从 22 开始,DteInvCM
从 14 开始,RgeInvCM
从 30 开始。这不是问题,因为这个数据结构和使用它的代码能够根据我正在调用的神秘小属性选择正确的读取位置ParmType
。据我所知,互联网上的 CL 手册或 SEU 编辑器中包含的帮助中没有记录此属性(PASSATR
在线手册中没有相关信息)。我已经拼凑了一点ParmType
's 与 pass 属性有关的行为,足以使用它,但不足以完全理解它。
一些使解析PASSATR
更容易的常量(不是所有可能性):
我发现:
换句话说,ParmType
当参数是日期或日期范围时,它的十六进制值为“00”。当ParmType
参数是“订单号”的打包 *DEC (6P 0) 时,它的十六进制值为“02”。
我想了解如何将此ParmType
值设置为给定数字,以便我可以稳健地编写可以接受各种参数组合的程序。我也没有看到为什么数据范围字段从 14 开始而不是像单个日期那样从 4 开始的特定原因。我能够利用这一事实进行必要的区分,但我不知道指挥系统是否故意这样做因为它看到我有两种相同数据类型的可能性,或者这只是一个幸运的突破,不能保证会发生。如果我想添加一个额外的打包参数作为选择,就会出现类似的问题,比如发票号码。'A1' 的 'PASSATR' 十六进制值可以告诉您它已包装,但不能告诉您是哪种类型(订单号或发票号)。可能是命令系统移动位置类似于它对日期范围所做的那样,但我没有运行那个特定的实验。
简而言之,是否有关于命令如何构建其参数列表的文档或至少推导出算法,以便可以预测这些字段将包含什么以及它们将位于何处?
ibm-midrange - CLP 中的 CPYTOPCD 命令成功复制 DB2 文件(包含 XML),但文件未显示在 QDLS 子文件夹中
我有一个批处理作业,它调用 CLP 并使用 CPYTOPCD 命令复制包含 XML 数据的 DB2 文件。在 CLP 的作业日志中,它说文件已成功复制,但是当我检查 QDLS 子文件夹...QDLS/XXXXXX/XXXXX/ERR/ 时,该文件没有显示在那里。我尝试了 Iseries Navigator 以及通过命令 WRKFLR ,但都是徒劳的。当我手动运行 CPYTOPCD 命令时,它会复制文件夹中的文件。这发生在客户的 UAT 框中。
但是,当我在我们的开发框中运行批处理作业时,它会成功复制文件。
不确定这是来自开发者端还是系统管理员端的问题?
ibm-midrange - 您如何通过电子邮件发送到 CL 中的用户列表?
顾名思义。我需要修改各种程序以将报告通过电子邮件发送到用户列表,在这些用户列表中它们被硬编码以发送给某些用户,其中大量是 clles。基本上,cl 中用户列表功能的语法是什么?
ibm-midrange - 如何在 CL 中调用程序 100 次?
我想在 CL 中调用一个程序 100 次,以测量不同程序设置的调用时间。
也许是这样的?
ibm-midrange - CL 中字符串中字符的最后出现次数
我需要在 CL 中找到字符串中最后一次出现的字符。例如,如果我有一个字符串Test_01_abc.Txt
,并且我必须得到最后一次出现的“_”(下划线),我需要得到答案为 8(这是字符串中第二个下划线的位置)。我使用的是 7.2 版本,但 %SCANR 在这里不起作用。一种方法是循环并搜索它。有没有更好的办法?谢谢
ibm-midrange - 从 AS400 将数据库文件作为 excel 邮件
我正在寻找一种将数据库文件作为 excel 表附加到邮件中并从 IBM i 服务器发送出去的方法。请告知是否有任何方法可以仅使用本机 iseries 命令来执行此操作。我们公司限制使用可用的开源工具,因此寻找本地方法。
我确实有可用的 esendmail 实用程序,但它没有可用的此功能。
ibm-midrange - 如何检查变量在CL中是否为空?
我有这段代码。
我想检查是否&BLANK_VAR
为空字符串。但是由于错误消息,我的程序无法编译:
这是一个问题%TRIM
吗?我尝试使用%LEN
,但它给了我声明的变量的长度,而不是里面的实际数据。
&BLANK_VAR
长度为 10 个字符。我必须这样做吗:
ibm-midrange - 如何显示来自 CL 的 SQL Select 输出?
我正在尝试替换发出RUNQRY
命令的旧 CL 程序。
我可以从中运行 SQL 语句STRSQL
,它将产生与查询相同的输出。
我试过了RUNSQL
,RUNSQLSTM
但都不支持只做一个SELECT
是否有只显示 SQL 选择输出的命令?
ibm-midrange - 有什么方法可以知道客户端是从哪个操作系统连接的?
我正在调用STRPCCMD
命令并传递一些参数。
该命令需要在 linux 和 windows 机器上工作。
有什么方法可以找出用户从哪台机器连接以构建正确的命令?
目前我同时发布并忽略错误。
ibm-midrange - 在 CL 编程中,如何读取物理文件成员的最后一条记录
我想读取物理文件成员的最后一条记录。