标签: ibm-midrange

DB2 for IBM iSeries:IF EXISTS 语句语法

我熟悉Sybase,它允许使用以下格式进行查询:IF EXISTS () THEN ... ELSE ... END IF(或非常接近)。这是一个强大的语句,允许:“如果存在,则更新,否则插入”。

我正在 IBM iSeries 机器上编写 DB2 查询。我已经看到了 CASE 关键字,但我无法使其工作。我总是收到错误:“不需要关键字 CASE。”

样本:

如果存在(从 MYTABLE WHERE KEY = xxx 中选择 *)
然后更新 MYTABLE 设置值 = zzz WHERE KEY = xxx
否则插入 MYTABLE (KEY, VALUE) VALUES (xxx, zzz)
万一

有没有办法针对 IBM iSeries 上的 DB2 执行此操作?目前,我运行两个查询。首先是选择,然后我的 Java 代码决定更新/插入。我宁愿编写一个查询,因为我的服务器位于很远的地方(横跨太平洋)。

db2 syntax if-statement exists ibm-midrange

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

如何确定 CPYFRMIMPF 命令中使用的 CCSID?

我正在尝试将 IFS 流文件复制到 AS400 数据文件,但使用默认的 CCSID 设置,复制的数据最终会出现一些奇怪的字符。在QSH下使用cat命令可以正确显示流文件的内容,所以我怀疑这与CCSID有关。我的问题是如何确定在我的情况下使用的正确 CCSID 是什么?

ibm-midrange

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

为单个用户设置默认 PASE IBM i shell

PASE环境默认提供并使用 korn shell。ibmpaseforishell变量可用于更改默认值,但这适用于所有用户。使用 SSH 登录时如何更改用户的默认 shell?

bash shell ibm-midrange

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

如何学习 Mapics ERP / Infor XA

我收到了一份工作机会,工作内容是 Mapics (infor XA) ERP 套件。请问任何人都可以指导如何找到资源来对此进行介绍吗?我用谷歌搜索了一下,但没有多大帮助:(

erp ibm-midrange

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

AS400数据库 - 错误 - PWS98​​01 - 用户出口程序拒绝的功能

我试图使用ODBC驱动程序和VBA从远程计算机上的AS400数据库中读取数据.我可以成功建立连接,但没有查询返回数据.所有查询都会遇到错误"[IBM] [System i Access ODBC Driver] [DB2 for i5/OS] PWS98​​01 - 库SQLSECR0 QSYSMCD中的用户出口程序拒绝了该函数".请帮我...

vba ibm-midrange

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

AS400/RPG 中的舍入与 Java 中的舍入

我正在尝试将一些AS400/RPG代码转换为Java.

我能够在网上找到一个示例,该示例反映了我在代码中看到的内容:

d elevensix       s             11  6 inz(26285.88991)  
d seventwo        s              7  2                   
c                   eval(h)   seventwo      = elevensix 
c                   eval      *inlr = *on
Run Code Online (Sandbox Code Playgroud)

我已经编写了代码,Java我发现我在RPG代码中看到的舍入结果与我在Java. 这是我正在做的舍入示例Java

private Long roundAmount(Double amount) {
        return Math.round(amount);
}
Run Code Online (Sandbox Code Playgroud)

在实践中,我的代码生成的结果与代码的结果相匹配,RPG但是我发现了逻辑不一致的示例;有些按预期四舍五入,而另一些则没有。

我曾大量使用 Java;这是我第一次涉足RPG。老实说,我什至不确定从哪里开始。例如,在RPG上面的代码中;它究竟是如何工作的?我看到操作的结果被放入一个标有 2 个小数位的变量中;四舍五入是隐含的吗?在线搜索我发现以下关于 Java 如何处理舍入的定义

Java 中的 Math.round() 方法用于将数字四舍五入到它的? 最接近的整数。这是通过将 1/2 加到数字上,取结果的下限,并将结果转换为整数数据类型来完成的。

老实说,这是清晰而简洁的。我还没有找到关于它如何工作的类似解释RPG;需要明确的是,这是在使用 的 AS400 …

java rpg ibm-midrange

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

在 RPGLE 中,如何检查 10 大小变量的最后 3 个字符是否为数字

我有一个大小为 10 的变量。它存储一个 10 大小的值,如“KUNAL12345”。如何检查值的最后 3 个字符是否为数字。在这种情况下,最后 3 个字符是 345,它是数值。

rpgle ibm-midrange

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

使用 std::fstream 会导致程序在 PASE for i (7.3) 中以 SIGILL 结束

我正在 IBM 的 CECC 服务的 IBM i 7.3 环境中工作。我正在尝试在 PASE 环境中测试大型应用程序,但在使用该库的脚本时遇到了问题<fstream>。以写入模式打开文件会导致脚本以SIGILL.

为了测试这个问题,我编写了以下脚本:

#include <iostream>
#include <fstream>

int main()
{
        std::ofstream writer;

        std::cout << "Writing file.\n" << std::endl;

        writer.open( "out.txt" );
        if ( !writer.is_open() || !writer.good() )
        {
            std::cerr << "Unable to open file." << std::endl;
            return (1);
        }

        writer << "This is a test.\n" << std::endl;

        writer.close();

        return (0);

}
Run Code Online (Sandbox Code Playgroud)

执行脚本的结果是:

Writing file.

Illegal instruction (core dumped)
Run Code Online (Sandbox Code Playgroud)

在GDB中:

(gdb) run
Starting program: /storage/persist/[app-directory]/test/log/test_write
[New Thread 1] …
Run Code Online (Sandbox Code Playgroud)

c++ fstream g++ ibm-midrange

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

CRTPGM 和 UPDPGM 有什么区别

假设我的模块发生了一些变化,所以我必须更新服务程序,结果签名发生了变化。那么我应该选择哪个选项呢?我应该使用 CRTPGM 或 UPDPGM 重新创建使用服务程序的程序。在这种情况下,您能区分 CRTPGM 和 UPDPGM 之间的区别吗?

rpgle ibm-midrange

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

达到总和后停止 SQL 选择

我的数据库是 IBM i 的 Db2。

我具有只读访问权限,因此我的查询必须仅使用基本 SQL 选择命令。

=================================================== ===========

目标:

我想选择表中的每条记录,直到金额列的总和超过预定限制。

例子:

我想匹配表中的每个项目,直到“价格”列中匹配值的总和 >= $9.00。

在此输入图像描述

期望的结果:

在此输入图像描述

这可能吗?

sql sum db2-400 ibm-midrange

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

标签 统计

ibm-midrange ×10

rpgle ×2

bash ×1

c++ ×1

db2 ×1

db2-400 ×1

erp ×1

exists ×1

fstream ×1

g++ ×1

if-statement ×1

java ×1

rpg ×1

shell ×1

sql ×1

sum ×1

syntax ×1

vba ×1