2013-03-18 54 views
0

我是AS/400的新手,熟悉数据描述规范(Data Description Specification,DDS)语句。 我有两个使用数据描述规范创建的表。如何创建RPG IV以从DB2插入和检索数据

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

EMPPERS FILE

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

DEPTMNT FILE

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

回答

4

没有真正的工作对于你来说,这里是让你开始的东西。但我同意其他答案。你真的需要进入程序员指南和参考手册。不过,我也明白,如果你是从这个角度来看没有任何RPG IV知识的话,那可能会让人感到恐惧。

以下示例在RPG中使用直接文件访问,并且仅适用于一个文件。使用这种技术时,这两个文件可以被视为相同。

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

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 
1

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

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

有许多File Operations可用于访问数据库。

有关更多信息,请参阅联机文档。

+0

感谢JamesA,正如我所说我对RPG不熟悉,你能举一个例子吗? – yrk 2013-03-18 07:07:24

+4

在网络论坛上通过问题和答案教授编程是不可能的。这并不意味着我们不想帮忙!在不知道任何关于你的情况下(你是否用任何语言编写过任何程序?这是作业还是工作任务?)我们所能做的就是指出参考资料的位置,并希望在告诉我们什么后再回答一个更具体的问题你试过了。请看詹姆斯的回答中的RPG程序员指南。有一个部分叫做访问数据库文件。阅读它,编写一些代码并尝试编译它。 – 2013-03-18 13:49:21

1

JamesA和巴克都给予很好的答案,什么似乎最简单的路径,使用的是什么,我们将调用本地I/O,因为它是原产于RPG语言。

如果我不指出你通常会被认为是最近推荐的解决方案,我会感到失望。

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

你可以看一下在IBM i Information Center

0

这是一个奇怪的问题。它需要三个RPG源代码行来创建一个完整的程序来向文件写入记录(F-spec,WRITE op-code,set LR on),三个用于读取记录。问题中没有详细说明需要完成的数据。

相关问题