0

我是 AS/400 的新手,熟悉数据描述规范 (DDS) 语句。我有两个使用数据描述规范创建的表。

我需要编写两个 RPGLE 程序来从这些表中插入和检索。

帝皇档案

                                         REF(HRFREF)      
         R EMPR                                       
           EMPID     R               REFFLD(IDNO)     
           NAME      R                                
           DOB       R                                
           STS       R                                
         K EMPID                                      

部门文件

                                         REF(HRFREF)  
         R DEPTR                                  
           DEPTID    R               REFFLD(DEPID)
           DEPNM     R                            
           STS       R                            
         K DEPTID                                 
4

4 回答 4

4

在没有实际为您完成工作的情况下,这里有一些东西可以帮助您入门。不过,我同意其他答案。你真的需要进入程序员指南和参考手册。然而,我也明白,如果你是从这里来的,没有任何 RPG IV 知识,那可能会令人生畏。

下面的示例在 RPG 中使用直接文件访问,并且仅适用于一个文件。使用此技术时,这两个文件可以被同等对待。

看第一行,这是一个 F-spec。它用于直接文件访问以声明您的文件并声明您将如何使用它。在示例中,我将其声明为外部描述、可更新、完整程序、键控和磁盘上的。其他一切都是自由形式的。

Femppers   uf a e           k disk

 /free
  //Read from EMPPERS file with a given employee id.  Change
  //the status and update it.
  EMPID = 12345;  //assuming EMPID is numeric 5,0.
  Chain (EMPID) Emppers;
  If %Found();
    STS = 'A';    //Assuming STS is a 1-byte alpha
    Update Empr;  //Update the record format, not the file.
  EndIf;

  //Add a new record to EMPPERS:
  EMPID = 45678;
  NAME = 'John Doe';
  DOB = Date('1980-01-01':*ISO);
  STS = 'A';
  Write Empr;   //Write to the record format, not the file.

  *INLR = *On;  //Tell the program that it's okay to end.
                //Note: *INLR doesn't actually end the program,
                //      it just says that it's OKAY to end.
 /end-free
于 2013-03-19T12:11:31.667 回答
1

RPG 支持对数据库的直接(文件)和 SQL 操作。

由于您参考了 DDS,我假设您对基于文件的访问更感兴趣。

有许多文件操作可用于访问数据库。

有关详细信息,请参阅在线文档。

于 2013-03-18T06:54:48.917 回答
1

对于似乎最简单的路径,JamesA 和 Buck 给出了很好的答案,使用我们称之为原生 I/O 的方式,因为它是 RPG 语言的原生方式。

如果我没有向您指出这些天通常被认为是推荐的解决方案,我会感到失职。

一般来说,我们应该在 RPG 中为我们的数据文件 I/O 使用嵌入式 SQL。无论您的文件是使用 DDS 还是 SQL (DDL) 创建的,都是如此。SQL

您可以查看IBM i 信息中心

于 2013-03-18T18:55:27.020 回答
0

这是一个奇怪的问题。它需要三个 RPG 源代码行来创建一个完整的程序来将记录写入文件(F-spec、WRITE op-code、设置 LR)和三个用于读取记录的程序。问题中缺少需要对数据执行的操作的详细信息。

于 2014-04-06T15:27:41.637 回答