【发布时间】:2016-10-10 14:15:27
【问题描述】:
我正在编写一个 SQR 程序来向供应商发送一个包含员工信息的文件。该文件包含许多我已为其分配变量的字段 $代码_1 $代码_2 $代码_3 ....
每个代码都有一个关联的费率,我分配了类似的变量($Rate_1、$Rate_2 等...)
我有一个查找表,其中包含 EMPLID、JOBCODE、HOURLY_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 =... 但我希望有更好的方法。
谢谢
编辑 - 只是为了更清楚地说明,对于每个员工,将在文件中写入一行,其中包含每个值的字段(填充或未填充) - 因此该行将具有: $EMPLID $Code_1 $Code_2 $Code_3.....$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 等等...
【问题讨论】:
-
代码的位置有什么意义吗?例如,如果 EMPLID 0001 没有 DEF 的 JOBCODE,那么该文件是否仍应保留该空间,还是仅使用 GHI 填充它?根据您的回答,我认为您可以通过以下两种方式之一使用 SQL 来做到这一点。
标签: peoplesoft sqr