问题标签 [rpgle]

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.

0 投票
1 回答
587 浏览

ibm-midrange - 使用一行设置 %nullind rpg

RPG中有没有一种方法可以在没有if语句的情况下在一行中分配一个布尔值?

例如在 C# 中你可以这样做:

有没有办法在 rpg 中做这样的事情:

这是正确的方法(唯一的方法):

还,

当我最初打开 nullind 时,是否必须将其关闭才能使字段更新为非空值?

0 投票
2 回答
379 浏览

ibm-midrange - IBM i RPG 程序不做任何事情

以下代码在 CRTBNDRPG 下编译,但在运行时仅停留在 1 个 I/O 上。

我所要做的就是 - 我们所有的表的订单号都是 8,但这个文件的订单号是 10。所以我只是创建了 2 个字段,我需要一个将其设为 8,另一个就可以了。任何想法为什么这个小程序没有起飞?

0 投票
1 回答
3289 浏览

db2 - 在 DB2 和 RPG 中设置 NULL 值

我有一个 rpg 程序,其中包含一个更新 db2 表的例程。

我在程序中声明了一个本地变量

它抱怨该字段不能为空。

我在 SQL 更新语句中使用此变量

如何将 X 设置为空?

0 投票
2 回答
1144 浏览

db2 - 清除 AS/400 上的记录

我必须删除一些被认为无用的记录。

有一个地址文件和一个订单历史文件。在拥有消费品的公司中,他们会收到许多产品咨询或开始销售,而这些产品永远不会成为销售。

每个查询都会在地址文件中获得一条记录,即客户编号。在订单历史文件中是相同的客户编号和后缀字段。它从 000 开始,并在有新订单时递增。大部分业务实际上是一个循环模型。

只有“000”记录(可能有多个 000)的客户,意味着他们从未购买过我们希望从这些文件中清除它们的任何东西。

我正在考虑一个简单的 RPG 程序,但如果可能的话,我也对使用 SQL 或其他方法感兴趣。

在这个阶段,我们实际上不会删除,而是将建议的记录复制到一个输出文件中,该文件将被审查并存储以防需要恢复。

**基本上在 orderhistory 上设置为不同的逻辑并读取只要我们有匹配的客户编号并且如果有后缀 not = 000 然后我们打开标志并退出。

清除 subr 将不得不再次通读以获取从 orderhistory 文件中清除所需的记录,方法是使用仍在读取地址文件中的相同客户编号。因为我不确定 subr 对客户有什么价值,我不想存储它。

然后它将写入新文件,包括地址文件,然后我们可以迭代读取地址文件中的下一个客户。

我们也不能假设如果有人买了,他们有一个 001,也许它多年来被删除了。

如果我们这样做了,我可以简单地链接它。

0 投票
3 回答
4738 浏览

rpgle - XML 解析器检测到错误代码 302

我正在使用 XML-INTO 操作码来解析 Web 服务请求。我时不时地在日志中得到错误

302 的帮助是

据我所知,第一个字符是“<”,并且请求是从以前的 Web 服务调用生成的,所以如果 CCSID 发生了变化,我会非常惊讶。

对于特定查询,该错误是可重复的,因此几乎可以肯定它与数据相关,我只是不确定如何识别有问题的项目。

关于如何确定问题的任何想法,或者更好的是,如何克服它?

干杯

0 投票
2 回答
931 浏览

ibm-midrange - 淘汰库对象的 CL(IBM i 系列)程序?

我有四个库,每个库都有一组不同的程序选择。不幸的是,我无法使用 SQL 删除库中未使用的程序,因为我需要停用它们(因此它们不会留在我们的客户端服务器上)。

有没有办法为此制作一个 CL 程序?我们的高级程序员说做不到,但我想在被迫手动淘汰 2300 个对象之前探索每一种可能性。

它最初是 Aldon 变更管理软件中的一个功能,我确实有一个 SQL 查询来选择所需的对象。

0 投票
1 回答
597 浏览

ibm-midrange - 在 AS400 RPG 中限制输出工作文件

目前,我们需要限制这些临时工作文件的输出。原因是这些是巨大的主文件,并且需要永远运行。如果我们不创建文件*NOMAX,那么必须有人来回答更多扩展的消息,并且它持有作业队列。目前,我们希望显示数据被正确选择。但是我添加了这些计数字段,但它并没有停止程序。

0 投票
1 回答
1701 浏览

rpgle - RPGLE 打印到命令窗口

希望可以有人帮帮我。我在命令窗口中看不到 RPGLE 程序的 DSPLY 'some text' 输出。我正在使用 IBM Websphere development studio client for iseries 创建一个简单的 RPGLE 程序。我可以毫无错误地编译该程序,但在运行它时看不到显示文本以查看它是否工作 CALL MYLIB/TESTRPG。这是我的程序代码:

请帮忙。感觉就像我在“在黑暗中学习”。

提前致谢

0 投票
1 回答
1293 浏览

rpgle - 当我显示 sfl 窗口帮助时,主屏幕消失,在 power7 v7r1m0 rpg ile 程序中

我在我的 rpg 程序中显示一个 sfl 屏幕,在一个字段中WPROV,我正在使用F4=Help,如果用户键入 F4,程序会显示一个 sfl 窗口帮助,但程序会擦除旧屏幕和主屏幕,我只能看到帮助 sfl 屏幕。如何在屏幕中放入主屏幕和 sfl 窗口帮助屏幕?另一件事我正在我的 rpg 程序中检查屏幕中的字段,如果有错误我打开*IN71, *IN72,但我在屏幕上看不到消息错误,为什么?

这是主屏幕:

sfl 窗口屏幕是:

0 投票
1 回答
1448 浏览

ibm-midrange - 获取非活动子文件的子文件记录号

我有一个程序可以显示与此类似的 4 个子文件:

这些子文件显示各种类型的摘要信息,用户希望能够单击任何这些摘要数字并“向下钻取”到底层详细信息。为了做到这一点,我必须知道他们点击了哪个子文件中的哪条记录。

我正在从中检索光标位置,INFDS因此当用户单击屏幕时,我知道他们正在单击哪个子文件(因为我知道他们单击了哪一行)。

SFLCSRRRN关键字非常适合子文件,SFLAA因为它是“活动”子文件(程序执行EXFMT CTLAA,所有其他控制格式都通过 显示WRITE)。到目前为止,我还无法弄清楚如何确定子文件的哪条记录已被点击,如果它是SFLBBSFLCCSFLDD.

每个子文件最多可容纳约 100 条记录(一次全部加载),因此用户有可能(并且很可能)在单击子文件之前滚动了它们。

如果用户单击“非活动”子文件之一,我如何确定用户单击了哪个子文件记录?

---- 开始编辑 ----

我可以很好地获取用户在屏幕上单击的行/列,我的问题是当用户向下滚动 SFLBB、SFLCC 或 SFLDD 以说出第 75 个子文件记录然后他们单击该子文件时。我可以说他们点击了屏幕上的第 8 行(这将是 SFLBB 的第一行)——但我不能说这是 SFLBB 中的第 75 行记录。

----结束编辑----

我已经尝试过SFLCSRRRN,SFLRCDNBRSFLSCROLL各种组合,但无法为非活动子文件工作。

以下是来自的相关代码DSPF

SFLCC/CTLCC子文件和控制记录SFLDD/CTLDD在逻辑上相同,SFLBB/CTLBB所以我省略了它们。

相关RPGLE代码: