首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS400 RPGLE程序

AS400 RPGLE程序
EN

Stack Overflow用户
提问于 2016-09-28 12:44:11
回答 8查看 1.8K关注 0票数 0

我正在尝试从没有键字段的物理文件PFILE中删除一条记录,但是我不知道为什么if子句中的语句不起作用,即使我有一条带有id=123的记录

代码语言:javascript
复制
0001.00 fPFILE     UF   E             DISK            
0002.00 DID               S              8P 0         
0003.00 c                   read      rec             
0004.00 c                   eval      ID=123          
0005.00 c     ID            CHAIN     PFILE           
0006.00 C     EMPID         DSPLY                     
0007.00 c                   IF        %FOUND()        
0008.00 C     EMPNAME       DSPLY                     
0009.00 c                   DELETE    REC             
0010.00 C     'DELETED'     DSPLY                     
0011.00 c                   ELSE                      
0012.00 c     'NOTFOUND'    DSPLY                     
0013.00 c                   ENDIF                     
0014.00 C                   SETON

这是我的PFILE

代码语言:javascript
复制
0001.00                 R REC                                                
0002.00                   EMPID          7P 0                                
0003.00                   EMPNAME       15A                                   
EN

回答 8

Stack Overflow用户

发布于 2016-09-28 16:10:02

Rant:

  • 停止使用固定格式RPGLE
  • 停止使用DDS

你让我得了眼癌。

答案:

%chain操作码用于通过"Key“或"RRN”访问记录。

您将表中的ID列与"RRN“混淆了

IBM Knowledge Center - CHAIN (Random Retrieval from a File)

票数 1
EN

Stack Overflow用户

发布于 2016-10-15 18:32:29

您可以使用chain来访问带有密钥或记录号的文件。

代码语言:javascript
复制
fPFILE     UF   E             DISK            
DID               S              8P 0         

 /free
   id = 123;
   chain id rec;
   if %found;
      delete rec;
   endif;
   *inlr = '1';
   return;
 /end-free
票数 1
EN

Stack Overflow用户

发布于 2016-10-24 23:15:13

要链接到一个文件,你必须告诉编译器它是键控的。在文件规范中应该有一个K。

代码语言:javascript
复制
0001.00 fPFILE     UF   E             DISK            
0002.00 DID               S              8P 0         
0003.00 c                   read      rec             
0004.00 c                   eval      ID=123          
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39738216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档