标签: ibm-midrange

iSeries - 从CL程序调用SQL存储过程

如何从CL程序运行存储过程?RUNSQLSTM需要一个源成员,但我只想构建一个命令,以便用户可以轻松地传入变量,因此这不起作用.

sql control-language ibm-midrange

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

RPG编译器将类型S转换为类型P?

这是我的情况:我的程序A看起来像这样:

Fmfile     IF   E           K DISK    USROPN
d grue            s                   like(dhseqn)
d
C     *ENTRY        PLIST
C                   PARM                    grue
c                   open      mfile
c*** do something with grue
c                   close     mfile
c                   eval      *inlr = *on

dhseqn是一个2,0 S的领域.

编译清单向我展示了这个:

 *RNF7031 DHSEQN            P(2,0)                 000200     1000002D
          GRUE              P(2,0)                 000200D     000500M     000700      000800M
                            BASED(_QRNL_PRM+)

当我用一个声明为2.0 S的参数调用程序A时,我得到一个十进制数据错误.

这是预期的,还是这个编译器错误?

rpgle ibm-midrange

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

为什么PC-to-AS400,ASCII FTP传输导致AS400端的文件增长非常大?

GIVEN:我最好是AS400平台的新手

问题:我们需要将可变宽度,管道分隔的ASCII文件从Windows 2003服务器传输到在V6R1上运行的FTP服务器.文件到达并正确转换为EBCDIC,但它们非常庞大.3.5Mb文件成为200+ Mb成员.9Gb文件失败,因为我们碰到某种方式的配额.

有趣的事实:当以二进制模式(无翻译)完成时,文件在服务器端显示为FILENAME.FILE,其中一个成员名为FILENAME.MBR.传输大小是正确的,但由于ASCII编码,本机工具无法读取该文件.

有趣的事实:这已经在三台V6R1机器上尝试过,结果相同.所以我很确定这是我不太了解的正常行为.

我的直觉是,服务器正在扩展文件,因为它向它添加了新行 - 但我真的没有更好的猜测.有没有人见过这种行为,你知道如何避免这种行为吗?

提前感谢任何花时间做出贡献的人.我很感激.

ibm-midrange

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

如何从RPG程序创建新的文件成员?

我需要为我的RPG程序中的现有物理文件创建一个新成员。我知道两种方式,我必须说,我都不喜欢:

  1. 用于QCMDEXC拨打电话ADDPFM
  2. 编写一个CL程序,该程序ADDPFM从RPG 调用并调用

第一个涉及将必须解析的命令组合在一起,QCMDEXC这对执行者来说听起来并不合理(我知道,这里的扩展部分不是调用,而是成员的创建)-但是真正困扰我的是它不是我觉得很简单,但是相反,它很难遵循并且不是很美观。

第二个程序使用编译的程序,因此不涉及任何摘要和解析。同样,它在您的RPG代码中看起来并不可怕,因为它只是一个正常的过程调用。但是我必须创建一个额外的外部程序,该程序必须转移到将使用我的RPG程序的所有系统上。这也与我的审美意识产生了冲突,创建了一个额外的源代码和二进制文件,仅用于一个API调用。

有没有一种方法可以直接调用api,而无需调用QCMDEXC?或者是创建PF新成员的另一种RPGish方法?Google根本对我没有帮助。

谢谢

api rpgle ibm-midrange

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

SQLRPGLE源大小限制

SQL预编译器可以为SQLRPGLE源对象处理什么?

我在编译一个25,000行程序时遇到了一些问题,行限制是唯一可以解释我得到的错误的东西

rpg rpgle ibm-midrange

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

CPF4131在OPEN期间出现在文件中

CPF4131出现在程序文件中的可能原因是什么?

我们如何解决这个问题呢?

 Message . . . . : Error message CPF4131 appeared during OPEN for file 
 TEST (C S D F). 

Cause . . . . . : RPG procedure TEST2 in program TESTLIB/TEST2
received the message CPF4131 while performing an implicit OPEN operation on 
file SOURCE. The actual file is SOURCE. 
Run Code Online (Sandbox Code Playgroud)

rpgle ibm-midrange

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

DB2 AS/400 iseries在where子句中使用别名

我正在尝试在where子句中使用列的别名.例如:

SELECT col1 AS alias1, col2 + col3 as sums 
FROM my_table
WHERE sums > 10
Run Code Online (Sandbox Code Playgroud)

但后来我收到一条错误消息:

列总和不在指定的表中.

无论如何我能做到吗?

sql db2 ibm-midrange

3
推荐指数
2
解决办法
7019
查看次数

连接到IBM AS/400 DB2数据库

我正在尝试使用PHP的ODBC驱动程序从Ubuntu服务器连接到客户端的IBM AS/400 DB2数据库.我也安装了unixODBC.我的odbcinst.ini看起来像这样:

[IBM DB2 ODBC DRIVER]
Description = ODBC 5.1 Driver for Database
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
FileUsage = 1
Run Code Online (Sandbox Code Playgroud)

我的odbc.ini看起来像这样:

[IBM DB2 ODBC DRIVER]
Driver = IBM DB2 ODBC DRIVER
Description = ODBC 5.1 Driver DSN
Run Code Online (Sandbox Code Playgroud)

现在,我的连接代码是:

$server = '12.345.678.90' //IP
$port = '446' //PORT
$username = 'my_username';
$password = 'my_password';

$connect = odbc_connect("DRIVER = {IBM DB2 ODBC DRIVER};System=$server:$port;Uid=$username;Pwd=$password;", $username, $password);

if(!$connect)
    echo 'Cannot Connect!';
else
    echo 'Connected!';
Run Code Online (Sandbox Code Playgroud)

我得到的错误是这样的:

Warning: odbc_connect(): …
Run Code Online (Sandbox Code Playgroud)

db2 ubuntu unixodbc ibm-midrange

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

偶然发现FMTDTA(IBM i)

我偶然发现了一些FMTDTA,它似乎是一种在旧RPG系统中早于SQL的查询/排序语言.我试图解开它的用法.

例:

物理文件布局:

ORNO         S      9 0     1     9 Order No       
ORCSTNO      A     10      10    19 Custno        
ORDAT        S      6 0    20    25 Order Date     
ORAMT        S     12 2    26    37 Order Amt  
Run Code Online (Sandbox Code Playgroud)

PF源成员ORDSRT中的排序标准:

HSORTR    25A                      Keyfields are 25 characters long - Sort Ascending
FNC  20  25                        KEY 1: ORDER DATE              
FNC   1   9                        KEY 2: ORDERNO                 
FNC  10  19                        KEY 3:  CUST NO                 
FDC   1  37                        Take whole record (1-37)       
Run Code Online (Sandbox Code Playgroud)

排序命令

FMTDTA INFILE((MYLIB/ORDHED)) OUTFILE(QTEMP/ORDHED)          
SRCFILE(MYLIB/MYSRC) SRCMBR(ORDSRT) OPTION(*NOPRT)       
Run Code Online (Sandbox Code Playgroud)

结果:

成功按DATE/ORD排序#/ …

rpgle ibm-midrange

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

IBM i确定可用的编程语言

我一次又一次地读到IBM i是支持许多编程语言的现代系统。我如何确定除了COBOL和RPG之外还有哪些可用?

维基百科上提供了一份洗衣清单,我会对C,C ++,BASIC,SmallTalk和Pascal特别感兴趣。

https://zh.wikipedia.org/wiki/IBM_System_i#编程

可以运行哪些命令来确定安装了哪种语言?您如何在qshell环境中编辑这些语言的源代码?(Vi输入在qshell中似乎坏了...)

cobol rpg ibm-midrange

3
推荐指数
2
解决办法
112
查看次数

标签 统计

ibm-midrange ×10

rpgle ×5

db2 ×2

rpg ×2

sql ×2

api ×1

cobol ×1

control-language ×1

ubuntu ×1

unixodbc ×1