
いつもお世話になっております。
IBM AS/400の駆け出しプログラマーです。
今、配列を使ったシステムを組んでいるのですが、
たとえばAというDBの項目に同じものがいくつかあるとします。
課所コード1(KSCD1)、課所コード2(KSCD2)、・・・・
といったような項目です。
そのAのファイルを読み、課所コードを配列に入れたいのですが、
配列KSCというものに
KSC,1にはKSCD1
KSC,2にはKSCD2といった感じです。
演算仕様書でMOVEL KSCD1 KSC,1
と個々にやっていく方法以外にレコードを読んだときに自動的に配列に入れるような方法があったら教えていただきたいと思います。
何せ個々に入れていくとそれだけで80行使ってしまうので・・・・
知っている方がいらっしゃいましたらどうかお助けください。
お願い致します。
No.2ベストアンサー
- 回答日時:
以下の様にプログラミングすれば可能です。
E* テーブル
E KSC 80 5 (80はテーブル数、5は桁数)
I DS
I 1 5 KSCD1 (KSCD1はAファイルのフィールド名)
I 6 10 KSCD2
I 11 15 KSCD3
I 16 20 KSCD4
・
・
・
I 396 400 KSCD80
あとはAファイルを読み込めば KSCD1 --> KSC,1 、KSCD2 --> KSC,2 ・・・・ KSCD80 --> KSC,80に自動的にセットされます。
この方法を使えば、画面ファイルのフィールドも同様に使用できます(私は良く使用しております)。
何かわからないことがあれば、補足します。

No.1
- 回答日時:
暫くRPGから離れており自信はありませんが、、、
課所コードが同じ項目長で、連続しているならば、
ファイルのフィールドをRPG上で再定義してひとつにまとめておき、DSで分割すればよいのだと思います。
回答にあたり下記を参考にしました。
http://wague.zero-city.com/AS400/AS4001/AS4040.htm
(ファイルレコードを再定義する方法)
http://www2.odn.ne.jp/~cbn33260/AS400/rpg-cob.htm
(再配置(REDEFINES)、配列 (OCCURS))
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
Dir関数で読み取り順を操作でき...
-
エクセルでXY座標に並べられた...
-
C#でbyte配列から画像を表示さ...
-
VB.NETにて、構造体へデータを...
-
COBOLの基本的な事なので...
-
配列の中の最大値とそのインデ...
-
VBA フォルダ内のファイルを、...
-
countif/sumifのようなVBA関数
-
.NET 文字コードの変換
-
vba フィルター 複数条件 3つ以...
-
C言語
-
構造体配列
-
コンボボックスのインデックス...
-
グラフの「項目軸ラベルに使用...
-
AVERAGEIFSに相当する関数はな...
-
Redim とEraseの違いは?
-
複数のtextboxの処理を一括で行...
-
配列をランダムに並び替えても...
-
Excelのメモリ(配列)の上限は2G...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
エクセルでXY座標に並べられた...
-
Dir関数で読み取り順を操作でき...
-
vba フィルター 複数条件 3つ以...
-
配列のペースト出力結果の書式...
-
複数のtextboxの処理を一括で行...
-
Excelのメモリ(配列)の上限は2G...
-
配列の中の最大値とそのインデ...
-
大量の変数を定義するにはどう...
-
Excel2010のinputboxで複数デー...
-
COBOLの基本的な事なので...
-
構造体配列内の文字列検索のよ...
-
VBAでMODE関数をつくる
-
Redim とEraseの違いは?
-
VBScriptでCSVファイルを読み出...
-
VB6のメモリ解放に関して
-
VB.NETの配列にExcelから読み込...
-
Segmentation Fault (メモリ制限?)
-
ActiveReports(アクティブレポ...
おすすめ情報