BO-派生表中的对象

时间:2018-07-23 21:25:46

标签: sap business-objects derived-table

我在UNX中有一个类似的派生表:

select field1, field2
from myTable
where myDate < @Prompt('Choose your date','D',,Mono,,Persistent,,User:-1)

我希望能够有一个提示,我可以选择“今天减去30天”。 为此,我们通常使用对象DateCal-X:

Case when year(@Prompt('Choose your date','D',,Mono,,Persistent,,User:-1))/100 = 23
then today()-30
else today()
end

这样,我选择2300年为今天减去30天。

我希望能够做类似的事情:

select field1, field2
from myTable
where myDate < @Select(DateCal-X)

但这不起作用:SQL表达式无效

我可以在查询中复制案件。我的问题是,我以相同的方式拥有40个派生表,这意味着要进行40次修改,并且每次进行修改时都要对其进行40次更改。

我正在使用SAP BO 4.2。

有没有一种方法可以简单地做我想做的事?

谢谢

1 个答案:

答案 0 :(得分:0)

您正在使用哪个数据库?我下面的语法将在SQL Server中工作。如果您使用其他数据库,则可以相应地进行调整。

您真的需要提示吗?这将使您的所有记录都比今天少-30天...

select field1, field2
from myTable
where myDate < DATEADD(DAY, -30, GETDATE())

如果确实需要提示,则可以用提示替换“ -30”和/或“ GETDATE()”,以捕获要返回的起点和起点。

Noel