従業員情報を含むファイルをベンダーに送信する SQR プログラムを作成しています。このファイルには、変数 $Code_1 $Code_2 $Code_3 ... を割り当てた多数のフィールドが含まれています。
各コードにはレートが関連付けられており、同様の変数 ($Rate_1、$Rate_2 など) を割り当てました。
列 EMPLID、JOBCODE、HURLY_RT を持つルックアップ テーブルがあります。すべてのコード/レートを取得するには、従業員ごとにループする必要があります。一部の従業員は、他の従業員よりも多い/少ない可能性があります。動的SQLのように、「動的」変数を持つことは可能ですか? たとえば、$Code_[$i]? 考えは、次のようなことをすることでした:
let #i = 1
begin-select
EC.JOBCODE
EC.HOURLY_RT
let $Code_[$i] = &EC.JOBCODE
let $Rate_[$i] = &EC.HOURLY_RT
let #i = #i + 1
FROM PS_ACME_LOOKUP EC
WHERE EC.EMPLID = &J.EMPLID
end-select
これは機能しませんが、これを達成するための同様の (またはより良い) 方法があるかどうか疑問に思っています。カウンターの評価を行うことができると思います: when #i = 1, $Code_1 = ... when #i=2, $Code_2 =... しかし、もっと良い方法があることを願っています。
ありがとう
編集 - 明確にするために、従業員ごとに、これらの値 (入力されているかどうかにかかわらず) のフィールドを含む 1 行がファイルに書き込まれます。 ....$Rate_1 $Rate_2 $Rate_3
さらに明確にするために、参照テーブルには従業員ごとに複数の行があるため、テーブルは次のようになります。
EMPLID JOBCODE HOURLY_RT
0001 ABC 10.50
0001 DEF 9.75
0001 GHI 9.50
テーブルをループして変数を設定するとき、$Code_1 = 'ABC'、$Rate_1 = 10.50、$Code_2 = 'DEF'、Rate_2 = 9.75 などが必要です...