1
私はデータ構造の配列を作成し、私はキーの組み合わせに基づいて見たいです。つまり、下のDSで、tblNameとtblElementとtblDivisionが一致している場合に検索してインデックスを取得し、次にtblRes値を返します。RPGLEデータStrucutre配列の参照
D TblAryDs DS qualified dim(9999)
D tblName 3
D tblElement 10
D tblDivision 5
D tblRes 2
//Not Sure How to do the below lookup
idx = %lookup(tblName:TblAryDs(*).tblName) && %lookup(tblElement:TblAryDs(*).tblElement) && %lookup(tblDivision:TblAryDs(*).tblDivision);
if idx > *zeros;
return TblAryDs(*).tblRes;
endif;
私の配列に以下の要素がある場合、BIL-123-123-11とBIL-456-456-22と私は送信行を検索する必要があります。このコードは動作しません。ルックアップは常に最初の行を返します。 – Sekar
@Sekar申し訳ありませんが、あなたが必要なものを誤解しました。今はどう? – Charles
これは問題を解決します。ありがとう。 1つの質問ですが、実行時に要素を追加するので、すべての要素を追加した後に配列をソートするのは時間がかかるでしょう。実際のシナリオでは、IOを減らすためにできるだけ多くの結果をキャッシュするたびにファイルを調べるのではなく、私はあなたの意見を知りたいと思っています。ソートや検索に時間がかかりますか、ファイルIOですか? – Sekar