在RDi中,
然后在另一个会话中从命令行启动程序。
RDi确认“调试”透视开关。但是,我没有选择使用更新生产文件= *是开始调试的选项,所以我收到了DBGP0003E消息。
通过作业日志检查的根本原因似乎是:
UPDPROD(* NO)时无法打开成员myfile
根据Paul Tuohy的风格指南,以及其他我以前读过的资料,在创建ILE RPG程序时应该避免使用默认的激活组QILE.然而,谷歌搜索这个主题我似乎无法找出原因.
根据这个pdf演示文稿, QILE经常被系统使用,这可能是为什么应该避免它?
这里提到QILE是激活组的不良选择但没有给出理由.
SQL查询:
select type,count(*), 'Active'
from file where removed = '0'
union all
select type,count(*), 'Removed'
from file where removed = '1'
Run Code Online (Sandbox Code Playgroud)
得到:
TYPE COUNT ( * ) Constant value
A 24,168 Active
A 1 Removed
B 8,280 Active
B 1,263 Removed
Run Code Online (Sandbox Code Playgroud)
但是,如何更改SQL以获取:
TYPE Active Removed
A 24,168 1
B 8,280 1,263
Run Code Online (Sandbox Code Playgroud)
补充的可选问题:包含以下总数的最佳方法是什么?
TYPE Active Removed
A 24,168 1
B 8,280 1,263
Total 32,448 1,264
Run Code Online (Sandbox Code Playgroud)
这是对补充内容的最佳答案,如果您发现任何缺陷或改进,请告诉我:
select
type,
sum(CASE WHEN removed = '0' THEN 1 ELSE 0 END) 'Active',
sum(CASE WHEN …Run Code Online (Sandbox Code Playgroud) 我有一个包含文件的目录.存档非常大,里面有150万个pdf文件.
该目录存储在带有OS V7R1的IBM i服务器上,并且该机器是新的且速度非常快.
这些文件的名称如下:
invoice_[custno]_[year']_[invoice_number].pdf
invoice_081500_2013_7534435564.pdf
Run Code Online (Sandbox Code Playgroud)
不,我尝试使用命令行使用find命令查找文件.
find . -name 'invoice_2013_*.pdf' -type f | ls -l > log.dat
Run Code Online (Sandbox Code Playgroud)
命令花了很长时间,所以我中止了操作而没有结果.
如果我尝试使用较小的目录,一切正常.
后来我希望有一份工作能够在过去的24小时内运行,并且我发现这些文件运行速度太慢,我可以忘记这一点.
如何查询位于IBM AS/400系统上的IBM AS/400系统上的物理文件.
使用RPG/400进行此操作非常简单:
logical file的File Definitions但是,如何在AS/400系统上使用C++源文件来实现相同的目标呢?我没有在IBM上找到任何有用的东西https://publib.boulder.ibm.com.
提前致谢!
如果我使用DFTACTGRP创建一个ILE RPG程序(*NO),我的理解是程序保留在内存中,直到激活组被销毁.如果我在关闭LR的情况下退出程序,那么下次调用时变量会重新初始化还是保持它们的值?
从CLLE调用RPGLE时,我应该传递打包的数字字段吗?或者将它们转换为字符传递它们并将它们转换回RPG中的数字.如果推荐前者,这是怎么做到的?