问题标签 [rpg]
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.
java - SaveObject Job Fails on RPG Program Call From Java
I am trying to call an RPG program from Java. I can get the program to run correctly using the DriverManager as follows:
However...this is not the way that I want to do it. I want to use the JNDI to connect to the 400 and run the program call, as that is the way I do it to run SELECT, UPDATES, DELETES, etc...
Here is the pseudocode that I have so far, and I am having the RPG fail on the SaveObject.
Is this a problem with the JNDI connection or a problem with the RPG?
Update: It appears that when the SaveObject job goes to work, it says that the table is locked. I am doing inserts and deletes against this table before running the RPG call...any ideas? What would cause a table to still be locked even if I am closing all connections to the database after processing.
eval - 为什么未使用的文件字段具有空白值?
我有一张名为
EQRECORDS
如下-
和程序如下 -
第一次执行 READE 时,如果我想使用 Eval 查看 Fname 的值。为什么显示为空白?
表中数据如下——
ibm-midrange - 需要初学者 RPG IV 帮助
所以我学习 RPG IV 只是因为我想……而且我很难找到真正有意义的代码示例。现在我在书中的一个练习中,我不知道如何完成.. 任何人都可以看看并给我一些关于如何做到这一点的步骤或建议吗?
这是书中的练习:
下一个是需要在练习中使用的外部描述文件:
有人能帮忙吗?
rpg - “成员类型 RPGLE 不允许运行过程选项”是什么意思?
“成员类型 RPGLE 不允许运行过程选项”是什么意思?
ibm-midrange - RPG 限制特殊字符“|”的用户输入 在任何名称字段或任何数据输入字段中
我想限制用户输入特殊字符'|' (管道)在任何名称字段或数据输入字段中。
检查应该从屏幕本身而不是通过 RPG/RPGLE 程序进行(如此处所述
如何防止用户在文本字段(字符类型)中输入特殊字符(如键盘中不可见的符号)?)
我试过在显示文件中使用VALUES()函数,它只允许函数中提到的那些字符;例如。
VALUES('A' 'B'...)
而不是保留'|' 禁止它,但它变得非常受限制,因为人们可能会禁止他不应该允许的事情。
ibm-midrange - iSeries - 同一作业/会话的记录锁定
我在以下情况下遇到问题。
来自程序 A 的文件 MYFILE 上有一个记录锁。稍后 Session 突然断开连接,并在 MYFILE 上设置一个记录锁,并执行取消处理程序例程。在取消处理程序例程(程序 B)中,它尝试删除锁定在 MYFILE 中的记录,并且会话挂起,因为文件 MYFILE 是用 NOMAX 的 WAITRCD 时间编译的。现在没有人可以访问该帐户以执行其他会话的任何更新操作。
程序流程如下:
.... .... 程序 A(记录锁定) .... 程序 X(取消处理程序)->OVRDBF WAITRCD(3) 添加 .... 程序 B(会话冻结)->在上面添加 OVRDBF 后,会话没有冻结程序 C(发生会话冻结)-> 我仍然看到覆盖在那里,它是相同的默认激活组,没有承诺控制,也没有触发器
这里的场景是:由同一个作业/会话记录锁定。
我尝试了以下解决方案来解决此问题:
在取消处理程序(程序 B)中,我做了一个 OVRDBF,WAITRCD 为 3 到 5 秒。后来执行了上面的步骤,到了取消处理程序的时候,累死了删除锁定的记录,3到5秒后,它继续处理下一步,并写了锁定记录的错误消息。没有屏幕冻结。后来它继续执行另一个程序 C,它试图删除 MYFILE 中的锁定记录。但是现在会话再次挂起。
我检查了调用堆栈,所有程序都在默认激活组下,没有提交控制,也没有触发器。任何想法,为什么它克服了程序 B 而不是程序 C 的记录锁定情况。请告诉我。
问候, 苏瑞
php - 如何从 PHP 调用 IBM 外部存储过程
我终于明白了 SQL 存储过程和基于 RPG 或任何其他 AS400 对象的外部存储过程之间的区别。现在我尝试添加调用语句来执行外部存储过程,它只有一个 out 参数,由 RPG 程序生成,如下所示。
PHP:
RPG Programmer 给了我代码,她说她用Surveyor/400 转换成外部存储过程。
角色扮演游戏:
测量员/400 的 DDL:
连接成功,$result 返回为“1”,但 $RTRNFLD 没有返回任何内容。
谢谢您的帮助,
php - IBMi 错误/通知报告上的 php-cli
我们开发了一个 PHP 脚本来构建 PDF 并发送电子邮件,然后使用QP2SHELL
. 对于我们的开发人员用户,错误转到标准的 PHP 错误日志,但对于我们客户的用户,它在他们的默认打印机上打印。我们的开发人员配置文件*WRKSTN
用作打印机,当然用户拥有实际的打印机设备。有没有办法防止通过 RPG 或 PHP 打印?我们很乐意抑制所有日志,因为我们有自己的日志记录方法。我尝试过error_reporting(0);
似乎没有效果的 PHP 设置。
ibm-midrange - 将过程(长名称)调用到变量中(不是免费的)
我正在尝试调用一个过程并为输出分配一个变量。
我的问题是我的过程名称对于允许的空间来说太长了:
这是我的工作来源,是否可以使用move
或movel
做同样的事情?
...
ibm-midrange - 如何知道程序是用 ALWNULL(*USRCTL) 编译的
我需要知道如何找到一个程序是用 ALWNULL(*USRCTL) (或任何一个)编译的。
命令 DSPPGM 似乎没有提供该信息。
我们正在运行 V7r1。
谢谢你。