0

私は AS/400 の初心者であり、Data Description Specification (DDS) ステートメントに精通しています。Data Description Specification を使用して作成された 2 つのテーブルがあります。

これらのテーブルから挿入および取得するには、2 つの 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で直接ファイルアクセスを使用しており、1つのファイルのみを対象としています。この手法を使用すると、両方のファイルを同じように扱うことができます。

最初の行を見ると、これは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
于 2013-03-19T12:11:31.667 に答える
1

JamesA と Buck は、RPG 言語にネイティブであるため、私たちがネイティブ I/O と呼ぶものを使用して、最も単純なパスに見えるかもしれないものに対して、良い答えを出しました。

最近、一般的に推奨される解決策と見なされるものも指摘しなければ、気が進まないでしょう。

一般に、RPG のデータ ファイル I/O には埋め込み SQL を使用する必要があります。これは、ファイルが DDS または SQL (DDL) で作成されたかどうかに当てはまります。SQL

IBM i Information Centerを参照してください。

于 2013-03-18T18:55:27.020 に答える
1

RPG は、データベースに対する直接 (ファイル) 操作と SQL 操作をサポートします。

DDS を参照しているので、ファイル ベースのアクセスに関心があると思います。

データベースへのアクセスに使用できるファイル操作は多数あります。

詳細については、オンライン ドキュメントを参照してください。

于 2013-03-18T06:54:48.917 に答える
0

変な質問です。レコードをファイルに書き込むための完全なプログラム (F-spec、WRITE op-code、LR をオンに設定) を作成するには、3 つの RPG ソース行が必要であり、レコードを読み取るために 3 つの行が必要です。データで何をする必要があるかの詳細が質問にありません。

于 2014-04-06T15:27:41.637 に答える