SAP Business One HANA查询按期间选择(YYYY-MM)

2020-09-20 19:57发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有这个脚本

/*从[dbo]中选择。[OFPR] T0 */
 声明@Period AS NVARCHAR(30)
/*在哪里*/
 SET @时段=/* T0.Code */'[%0]'
 --SET @Period ='2017-04'
 DECLARE @Date AS日期
 SET @Date =(从OFPR WHERE代码中选择T_RefDate = @Period);

 选择
     A.ItemCode,A.DistNumber,
     SUM(案例A.ActionType,当1 THEN A.Quantity,当2 THEN -1 * A.Quantity ELSE 0 END)作为数量,
     SUM(A.InvValue)作为值
 从OBVL A
     在A.ILMEntry = B.MessageID上加入OIVL B
     加入OITM C在A.ItemCode = C.ItemCode
 在哪里C.ItmsGrpCod ='103'和B.DocDate <= @Date
 GROUP BY A.ItemCode,A.DistNumber
 HAVING SUM(案例A.ActionType,当1 THEN A.Quantity当2 THEN -1 * A.Quantity ELSE 0 END)<> 0; 

在使用SQL Server的SAP B1中,它工作正常,但现在我需要将其转换为HANA DB。 我需要显示基于期间的数据。 因此,用户只需要输入年份和月份(YYYY-MM)。 我将所有双引号添加到每列中,因为众所周知,HANA区分大小写。 并将变量格式从" @"更改为":"

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有这个脚本

/*从[dbo]中选择。[OFPR] T0 */
 声明@Period AS NVARCHAR(30)
/*在哪里*/
 SET @时段=/* T0.Code */'[%0]'
 --SET @Period ='2017-04'
 DECLARE @Date AS日期
 SET @Date =(从OFPR WHERE代码中选择T_RefDate = @Period);

 选择
     A.ItemCode,A.DistNumber,
     SUM(案例A.ActionType,当1 THEN A.Quantity,当2 THEN -1 * A.Quantity ELSE 0 END)作为数量,
     SUM(A.InvValue)作为值
 从OBVL A
     在A.ILMEntry = B.MessageID上加入OIVL B
     加入OITM C在A.ItemCode = C.ItemCode
 在哪里C.ItmsGrpCod ='103'和B.DocDate <= @Date
 GROUP BY A.ItemCode,A.DistNumber
 HAVING SUM(案例A.ActionType,当1 THEN A.Quantity当2 THEN -1 * A.Quantity ELSE 0 END)<> 0; 

在使用SQL Server的SAP B1中,它工作正常,但现在我需要将其转换为HANA DB。 我需要显示基于期间的数据。 因此,用户只需要输入年份和月份(YYYY-MM)。 我将所有双引号添加到每列中,因为众所周知,HANA区分大小写。 并将变量格式从" @"更改为":"

付费偷看设置
发送
2条回答
宇峰科技
1楼-- · 2020-09-20 20:36

您可以在HANA中使用列名的双引号来强制区分大小写,如下例所示

创建列表" ABC"(" col1"整数," COL2"整数)

在这里,表ABC有两个单独的列" col1"和" COL2",区分大小写由双引号引起,是的,您可以使用":"将变量值分配给列名。

2楼-- · 2020-09-20 20:17

您必须在声明sqlscript变量时使用Declare语句,HANA支持SQL92标准;发布此更改后,请在此处显示错误信息。

 DECLARE期间NVARCHAR(30); 

一周热门 更多>