在我看来,如果我记得逻辑文件,当在Crystal REports中使用时,它不仅传递文件OEOEHDOH的所有记录,而且传递所有许多字段。这是对的吗?
如果CR只对5个字段感兴趣,那么我们如何对这个逻辑进行编码或者创建一个只会减少的新逻辑?是否会出现性能问题?
我还为此逻辑
添加了一个临时过滤器R OEORHDRR PFILE(OEORHDOH)
K OHORDT R
K OHSHTC R
K OHORDD R DESCEND
O OHSHTC COMP(EQ ' ')
bookman添加的* 我把它放在当前的O \行之前。这应该传递更少的记录?我知道有更好的方法可以为此编写代码,但我试图看看它是否首先是CRystal性能改进。 O OHORDD COMP(LT 20130101)
答案 0 :(得分:1)
使用带有水晶报告的逻辑文件,只会传递逻辑文件(LF)中的所有字段。使用DSPFFD,查看LF中的所有字段。
如果要限制LF中的字段数,请通过列出键列表之前的字段来创建LF。例如只有5个字段
R OEORHDRR PFILE(OEORHDOH)
FIELDA
FIELDB
OHORDT
OHSHTC
OHORDD
K OHORDT
K OHSHTC
K OHORDD DESCEND
O OHSHTC COMP(EQ ' ')
更好的是,将存储过程与任何过滤器,选择,逻辑等一起用作Crystal Report的Datasource。创建LF不再被认为是一种好习惯 - 而是创建索引或视图。