SAP查询生成器/预览-必须指定要从中选择的表

2020-09-01 07:01发布

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

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


您好,其他开发人员。 我知道这个问题肯定已经回答了几次,原因是为什么可以在查询预览中引发该错误,但是我的情况可能有所不同,因为我还没有理解为什么这段代码在使用参数时无法在SAP中执行。

(案例T2。4时的水平
                           (选择左(K1.AcctCode,6)+':'+ K1.AcctName
                             从SAP_LOG_TZN_PROD.dbo.OACT L42内部联接
                                                    SAP_LOG_TZN_PROD.dbo.OACT K1 ON L42.FatherNum = K1.AcctCode
                             在哪里L42.AcctCode =
                                                        (选择L41.FatherNum
                                                          来自SAP_LOG_TZN_PROD.dbo.OACT L41
                                                          在哪里L41.AcctCode = T3.AcctCode))
                           (选择左(K2.AcctCode,6)+':'+ K2.AcctName
                             从SAP_LOG_TZN_PROD.dbo.OACT L43内联接
                                                    SAP_LOG_TZN_PROD.dbo.OACT K2 ON L43.FatherNum = K2.AcctCode
                             L43.AcctCode = T3.AcctCode)END)作为"帐户级别1" 

可以看出,表已被别名化。 当我将这段代码添加到没有它就可以正常执行的其余代码块中时,整个查询将失败,并且 ...必须指定要从中选择的表... 。 我尝试了几种方法来修改它,但均未成功,以使其与其余代码一起运行。

任何帮助,我都会非常感谢。

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

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


您好,其他开发人员。 我知道这个问题肯定已经回答了几次,原因是为什么可以在查询预览中引发该错误,但是我的情况可能有所不同,因为我还没有理解为什么这段代码在使用参数时无法在SAP中执行。

(案例T2。4时的水平
                           (选择左(K1.AcctCode,6)+':'+ K1.AcctName
                             从SAP_LOG_TZN_PROD.dbo.OACT L42内部联接
                                                    SAP_LOG_TZN_PROD.dbo.OACT K1 ON L42.FatherNum = K1.AcctCode
                             在哪里L42.AcctCode =
                                                        (选择L41.FatherNum
                                                          来自SAP_LOG_TZN_PROD.dbo.OACT L41
                                                          在哪里L41.AcctCode = T3.AcctCode))
                           (选择左(K2.AcctCode,6)+':'+ K2.AcctName
                             从SAP_LOG_TZN_PROD.dbo.OACT L43内联接
                                                    SAP_LOG_TZN_PROD.dbo.OACT K2 ON L43.FatherNum = K2.AcctCode
                             L43.AcctCode = T3.AcctCode)END)作为"帐户级别1" 

可以看出,表已被别名化。 当我将这段代码添加到没有它就可以正常执行的其余代码块中时,整个查询将失败,并且 ...必须指定要从中选择的表... 。 我尝试了几种方法来修改它,但均未成功,以使其与其余代码一起运行。

任何帮助,我都会非常感谢。

付费偷看设置
发送
10条回答
小灯塔
1楼-- · 2020-09-01 07:53

嗨,

您必须在查询中声明参数变量。

关于

Nagarajan

太Q了
2楼-- · 2020-09-01 07:52

嗨,山姆B,

感谢您的回信,因此我将整个代码块与CASE块一起附加了错误的代码,第二个附件没有它,并且运行良好,没有任何问题。 请注意,只有当我在SAP查询生成器上运行此程序时,才会遇到此问题。 只有2个参数,一个用于Year,另一个用于Month。 唯一的问题是,一旦我将CASE块放到了不会出现上述错误消息的地方。

CASE块的结果是告诉我我从日记帐中获取的每笔交易,并向我提供"帐户级别",以了解其在资产,负债,销售成本等下的情况。

谢谢您的帮助。

attachment-1-with-the-bad-code.txt

attachment-2-without-the-bad-code.txt

宇峰Kouji
3楼-- · 2020-09-01 07:50

您好麦克唐纳·恩戈维

我可以帮忙。

请参阅问题中包含的代码,很难进一步解决问题。 请以2个附件的形式共享整个代码,附件1:包括代码块的整个代码,附件2:没有代码块的完整代码。

按参数,您是指用户输入参数吗? 如果是这样,我们将在您的代码中看不到任何此类参数。

也请描述查询成功运行后的预期结果。

感谢与问候,

Sam

小熊yu生菜
4楼-- · 2020-09-01 07:39

感谢您的回信,

1。

 1)。  [Microsoft] [SQL Server Native Client 11.0] [SQL Server]必须指定要选择的表。  2)。 无法准备[Microsoft] [SQL Server Native Client 11.0] [SQL Server]声明"(SWEI)。

2。 是的,这些是用户定义的字段,并链接到UDT,[@ TRIP_H]

歪着头看世界
5楼-- · 2020-09-01 07:30

您好麦克唐纳·恩戈威

感谢2个附件。 您能否再澄清两个问题?

  1. 您看到了哪种错误? 如果您可以共享错误消息的详细信息或显示错误的屏幕截图,将不胜感激。
  2. 查看您的附件1-with-bad-code后,我可以找到2个链接到UDT的参数。 UDT:U_Trip_Status和U_Trip_Close。 输入参数:[%Year]和[%Month]。 这样对吗?

此致

Sam

Alawn_Xu
6楼-- · 2020-09-01 07:50

CASE语句块的复杂性可能是查询管理器无法识别表或其块中的别名。 没有该CASE块,查询运行良好,并且如果我直接提供参数详细信息,则在Microsoft SQL Server Management Studio中整体运行良好。

我想我需要重写CASE块以使其更简单或更容易分解,以获得与我需要的结果相同的结果,因为这是要告诉我我在数据中查看的每个帐户的帐户级别。

一周热门 更多>