标签: ibm-midrange

从.NET到DB2的分布式事务

我有一个问题,我必须调用AS400 db2从我的.net调用一系列插入/更新存储过程,然后更新一些SQL2005表,如果AS400数据库中的所有内容都很好.我正在使用的驱动程序没有分布式事务,因此我想知道您是否可以使用任何IBM iSeries Drivers for DB2来创建将参与分布式事务的COM +/.NET组件.请让我知道,如果之前有任何人做过这样的事情或任何指针将不胜感激.

.net db2 com+ ibm-midrange

0
推荐指数
1
解决办法
1808
查看次数

验证rpgs的用户,密码和打开菜单

我的AS400应用程序(rpg400)中有一个登录模块.验证了用户名和密码,只有密码匹配,用户才能访问菜单屏幕,菜单屏幕还包含导航到后续模块的RPG程序.

我现在想要实现的是,当用户被验证时,登录的用户名必须出现在每个屏幕或者每个rpg屏幕上.(即必须维护用户会话)请不要指导管理员属性.这是来自低水平的工作点.

以下是用户的PF:

       USER PF


A          R USRREC                
A            USER          10A     
A            PWD           10A     
A            USRTYP         2A     
A          K USRTYP                
Run Code Online (Sandbox Code Playgroud)

键入用户类型.如何允许所有pgms访问登录的人的变量?

db2 rpg rpgle ibm-midrange

0
推荐指数
1
解决办法
429
查看次数

显示加载了排序数据库记录的子文件

比方说,例如,我有这些表:

USRMF(主物理文件)

User ID   User Name  
A00001    SAMUEL
A00002    ADAM
Run Code Online (Sandbox Code Playgroud)

USRTS

user id   date   time in    time out
A000001   080812 084555     104545 
A000001   080812 120800     150000
A000001   080812 170000     180000
A000001   090812 084555     104545
A000001   090812 170000     180000
A000002   080812 084555     104545 
A000002   080812 120800     150000
A000002   080812 170000     190000
A000002   090812 084555     104545
A000002   090812 170000     190000
Run Code Online (Sandbox Code Playgroud)

我的子文件应该看起来像这样:

Option:  5-display

OPT   User ID   User Name  Date   TimeIn  TimeOut
 _    A000001   SAMUEL     090812 084555  180000
 _    A000002   ADAM       090812 084555 …
Run Code Online (Sandbox Code Playgroud)

rpg rpgle ibm-midrange

0
推荐指数
1
解决办法
2258
查看次数

在 SSRS 报告中使用 AS400 日期

使用 IBMDA400 OleDb 提供程序对 AS400 运行 SELECT 似乎将日期作为字符串值返回,当您尝试将日期格式应用于字段时,SSRS 只是嘲笑您。我在 SELECT 中尝试了一个简单的 CAST 无济于事。

如何从 iSeries OleDb 提供程序获取实际的 DBTYPE_DBDATE 结构?

我应该提到,有问题的日期都是由 DATE 类型的 UDF 返回的。IBM 似乎将 DATE 类型映射到 DBTYPE_STR OleDb 类型。

oledb date reporting-services ibm-midrange

0
推荐指数
1
解决办法
1475
查看次数

as/400 RPG指针和地址

在AS/400上,在RPG中有没有办法将指针地址设置为变量的值而不是变量本身的地址?

例:

    variable = 'NewVariable' 
Run Code Online (Sandbox Code Playgroud)

其中值将是程序内部使用的实际变量

pointer = %addr('NewVariable') VS pointer = %addr(variable)

address of value VS address of variable

pointers rpgle ibm-midrange

0
推荐指数
1
解决办法
1073
查看次数

RPG - 什么是+ =这里?

你能解释一下+=这句话中的意思吗?

Eval      AssGr2Pun += FinQty#        
Run Code Online (Sandbox Code Playgroud)

以下是上下文的其余代码:

 Exsr      FinItmTot                 
 Eval      AssGr2Pun += FinQty#      
 If        OrderAdd = 'N'            
 Eval      Gr2TPass += 1             
 Eval      OrderAdd = 'Y'            
 Endif                               
 Eval      AssGr2Pst += 1            
 When      OhReqd = Today            
 Exsr      FinItmTot                 
 Eval      AssGr2Tun += FinQty#      
 If        OrderAdd = 'N'            
 Eval      Gr2TTday += 1             
 Eval      OrderAdd = 'Y'            
 Endif                               
 Eval      AssGr2Tod += 1            
 When      OhReqd = Tomorrow         
 Exsr      FinItmTot               
Run Code Online (Sandbox Code Playgroud)

rpgle ibm-midrange

0
推荐指数
1
解决办法
1235
查看次数

我想在 as400 中创建 64000 作为固定文件长度

我想将固定文件长度创建为 64000,但它会抛出类似的错误消息

参数 RCDLEN 的数值无效

db2 cobol ibm-midrange

0
推荐指数
1
解决办法
825
查看次数

RPGLE - CL数据类型比较

我问自己,在IBMi中RPGLE和CL之间的数据类型的正确比较是什么.

所以:

*DEC  <> Packed numeric (es DCL-S ... PACKED(7:0))
*CHAR <> Fixed length string (es DCL-S ... CHAR(10))
*LGL  <> Indicator (es DCL-S ... IND)
*PTR  <> Pointer (es DCL-S ... POINTER)
Run Code Online (Sandbox Code Playgroud)

我缺少的是*INT*UINT.阅读IBM知识中心我发现:

对于字符或整数CL变量,请指定CL变量的字节数.

然后,他们BINDEC(在位置上B)或INT/UNS(I/U)数据类型?

types rpgle ibm-midrange

0
推荐指数
1
解决办法
240
查看次数

CURRENT_TIMESTAMP并不总是填充

这是DB2 for i在7.3版本上运行.

我目前正在评估我们需要做什么才能将DDS定义的物理和逻辑文件转换为DDL定义的表和视图.作为我测试的一部分,我遇到了一个不同寻常的发现.给定一个列定义为a的表TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,有时当从RPGLE程序写入新行时,该值会正确填充 - 但大多数情况下它不会.SQL INSERT似乎一直很好.

这是来源:

QDDLSRC/SOT

CREATE OR REPLACE TABLE SOT (                                               
  ID   BIGINT        GENERATED ALWAYS AS IDENTITY (START WITH 1),           
  DESC CHAR(20)      NOT NULL DEFAULT '',                                   
  CTS  TIMESTAMP     NOT NULL DEFAULT CURRENT_TIMESTAMP,                    
  UTS  TIMESTAMP     NOT NULL FOR EACH ROW ON UPDATE AS ROW CHANGE TIMESTAMP,
  PRIMARY KEY(ID)                                                            
) RCDFMT SOTR;                                                              
Run Code Online (Sandbox Code Playgroud)

并编译它:

RUNSQLSTM SRCFILE(MYLIB/QDDLSRC) SRCMBR(SOT) DFTRDBCOL(MYLIB)
Run Code Online (Sandbox Code Playgroud)

这是一个普通的旧RPGLE程序的源代码WRITE:

QRPGLESRC/SOT1(普通旧RPGLE代码)

  CTL-OPT Optimize(*full);
  CTL-OPT Option(*nodebugio : *noshowcpy : *nounref : *srcstmt); …
Run Code Online (Sandbox Code Playgroud)

rpgle db2-400 ibm-midrange

0
推荐指数
1
解决办法
268
查看次数

SETLL READE用于带前缀的文件

在RPGLE程序中读取文件时,我遇到了这个奇怪的问题.

fmosdp00   if   e           k disk    prefix(xx:2)              

  SetLL ('HF':'30':'032':'SK':'0095320':'002':0:0001) mosdp00a; 
  Reade ('HF':'30':'032':'SK':'0095320':'002':0) mosdp00a;      

  *Inlr = *On;  
Run Code Online (Sandbox Code Playgroud)

上面的SETLL和READE似乎没有根据需要设置MOSDP00文件的字段值.

当我在调试模式下运行该程序并在READE上执行EVAL XXMORD(MOSDP00字段)时,它是空白的.

但是如果我使用任何这些字段添加一些操作,例如DSPLY XXMORD,那么程序似乎设置了这个字段值.

有人可以帮助理解这一点.

rpgle ibm-midrange

0
推荐指数
1
解决办法
78
查看次数

标签 统计

ibm-midrange ×10

rpgle ×7

db2 ×3

rpg ×2

.net ×1

cobol ×1

com+ ×1

date ×1

db2-400 ×1

oledb ×1

pointers ×1

reporting-services ×1

types ×1