点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好
ive尝试使用谷歌搜索答案,但很不幸。真的希望得到您的帮助。
我有一个名为 ODLN 的交货通知表,在该表中,我有2个字段:" line "和" name "
我有一个名为dbo的用户定义表。 @ 驱动程序,其中有两列: drivers.lines , drivers.names
im试图创建一个SQL作业,该作业将影响所有应于明天( odln.DocDueDate = getdate()+ 1 )提交的文档(odln),并将更新其字段:< strong>名称,其值来自 @ Drivers 表中的 drivers.names 字段。 根据两个 line 字段的相似性。
例如-在上述情况下。 doc 548567将在"名称"字段中获得"乔治"。 548548文档将获得"丹尼尔",而548568文档将获得"大卫"。
有人告诉我尝试一下:
更新ODLN设置名称=(SELECT [dbo]。[@ drivers]。来自[dbo]的名称。[@ drivers]内部在[dbo]上加入ODLN。[@ drivers] .Lines = ODLN.Line
ODLN.DocEntry IN(从ODLN中选择DocEntry,其中ODLN.docduedate> getdate()))
WHERE ODLN.DocDueDate> getdate()
但这最终导致"多个结果"错误。
111.jpg (15.5 kB)
大卫,您好,
出于好奇,为什么只更新明天到期的文档,为什么不简单地全部更新呢?
对于您的问题:您应该知道GETDATE()同时返回日期和实际时间,而DocDueDate包含日期和时间00:00:00。 这意味着,根据一天中运行查询的时间,结果可能会有所不同。
也就是说,请尝试以下操作:
请注意,我对用户定义表中字段的名称做了一些假设,因此您可能需要对其进行编辑。
此致
Johan
非常感谢您的帮助。!!!
它起作用了:)
您好科姆,
首先,我想问问表 ODLN 是您创建的还是 SAP Business One 交货单中的表?/em>。
如果是SAP Business One表,则不允许在SAP Business One表上使用直接DML语句。
有关修改SAP Business One数据的准则的更多信息,您可以参考以下博客:
修改SAP业务的指南 一个数据
亲切的问候,
ANKIT CHAUHAN
SAP SME支持
hi
我只是想让我的问题尽可能清楚,所以我在帖子中使用了ODLN表,这样人们就可以理解im问的基本概念。 我认为比只谈论自己创建的表要容易理解。
如果重要的话。 我的桌子叫@OTTR(就像我上面写的一样)
另一个表是@ Drivers
我想了解的唯一一件事是如何使用基于其他值相似性的值更新表。
含义-文档X的"行"编号为1-因此它将获得写在DRIVERS表中的驱动程序名称,并且在" drivers.lines"中也具有" 1"
嗨
感谢您的回复!
当然是我创建的表格。
我创建了几个表,试图在它们上使用这些SQL作业。
我的目的仅仅是使我们每天在这里执行的更多操作自动化。
为了便于讨论,我还有一个名为OTTR的表和一个名为ODLC的表,我还需要使用相同类型的" sql作业"查询对其进行编辑
我只是不明白如何正确地编写它。
日期实际上是我所关心的最不相关的部分。
但是你走了-那就是我拥有的数据的一个例子..
再次" ODLN"只是为了我在这里的解释。它甚至不是试图更新的真实表。 桌子叫做OTTR,但我认为它会让人们感到困惑。
事实证明,这让我更加困惑:P
嗨,亚当,
在屏幕快照中提及" DocDueDate" 列,并显示其中的值。
亲切的问候,
ANKIT CHAUHAN
SAP SME支持
一周热门 更多>