问题标签 [opensql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
11692 浏览

select - ABAP 7.40 SELECT .. ENDSELECT UP TO n ROWS 语法?

更新:问题应该撤回,语法正确。显然,SAP 通过语法定义 ABAP,然后通过纯文本的附加规则对其进行修改。我错过了第二部分。


我正在查看 ABAP 关键字文档 7.40,SELECT -> SELECT 添加。对于加法最多 n 行,它给出了示例

我在 SAP 7.40 系统中验证了该代码并得到了错误

第 7 行:“INTO”在这里无效。'。' 是期待

另一方面,接受以下代码,尽管文档中给出的 SELECT 语法没有涵盖它:UP TO n ROWS 应该在 FROM 之后。

当我们正在编写一个自动生成 ABAP 代码的工具时,很高兴知道什么是合法的,什么是不合法的。有没有“确定的”文件?一般来说,是否值得尝试联系 SAP 的人员进行更正?(你看,我对 SAP 世界有点陌生)如果是,那会是谁?

0 投票
2 回答
7007 浏览

select - 选择带有偏移量的语句?

我正在尝试在 ABAP 中使用此 SELECT 语句:

但我不能对 dbtab 列使用偏移量。我怎么解决这个问题?

我试图避免像这样的循环

0 投票
1 回答
486 浏览

abap - 重复记录读取到内部表

我的内部表在显示时有双重记录,例如:帐单凭证中有 10 个,但我的内部表中有 20 个。MAKTX 显示其中一个 SPEC-TEST 添加到重复值。

上面的sql是否导致错误?

0 投票
2 回答
61 浏览

abap - 如何检索版本号最高的数据?

我使用下面的 sql 来加入 DRAT & DRAP。

但是当我显示时,我只想显示版本号最高的记录(DRAP~DOKVR)。有哪些可能的方法来消除版本较低的记录?

0 投票
1 回答
43 浏览

abap - 如何在abap sql中显示每个文档的最大版本号?

我希望使用下面的语句来显示每个文档的最大版本号,但是,DOKVR 的值是空白的。任何人都可以帮忙吗?

0 投票
3 回答
1618 浏览

abap - ABAP 将值递增到选择查询中

我在 ABAP 中有一个结构:

我的查询是:

可以添加一个包含可递增值的字段 id,例如:

并做一些这样的选择

我的解决方案是进行循环lt_store并手动添加值,但我认为如果我们直接在查询中这样做是优化的。

0 投票
2 回答
907 浏览

abap - 当 SELECT...FOR ALL ENTRIES 有货币字段时出错

我收到此错误:

在 SELECT 访问中,读取的文件无法放置在提供的目标字段中。

执行这行代码时:

我一一尝试,每次放一个货币字段都会触发这个转储。有人知道根本原因吗?

0 投票
2 回答
4959 浏览

subquery - FOR ALL ENTRIES 中的嵌套子查询

顾问给我发了这个代码示例,这是他希望得到的东西

问题是我看不出它在当前语法中应该如何工作。我考虑派生内部选择并将其用作主要选择的条件,但是是否有适当的方法来编写这种嵌套结构?

据我了解,如果嵌套语句 = 0,则执行主查询。这里的问题是嵌套语句中的情况。在ABAP中甚至可能吗?在我看来,这个检查可以在主 SQL 查询之外使用。

欢迎任何建议。

0 投票
3 回答
7223 浏览

abap - 具有多个值的字段的sql select语句

我的选择屏幕上的复选框很少。每个复选框对应一个表的字段可以取的值。然后我必须触发一个选择查询,其中表的特定字段可以具有所有值,其对应的复选框被选中。

假设我有 5 个对应于值 a1-a5 的复选框。现在,如果选中复选框 1、3 和 4,则表的字段可以具有值 a1 或 a3 或 a4。

一种方法是创建 5 个变量,然后做这样的事情

等等所有复选框。

接着

如果有 15 个复选框,这将变得很困难。有一个更好的方法吗?

0 投票
1 回答
3275 浏览

aggregate-functions - 从表中选择 MAX() 的最快方法

从透明表中选择 MAX 值的最有效和最优雅的方法是什么?例如,让我们尝试选择 T100、Messages这样的简单表。让我们假设我们应该在某个应用程序区域内选择最大消息数。我们可以通过多种方式做到这一点。
最明显的是使用MAX聚合函数

另一个是 usingUP TO 1 ROWS子句

在上面,所有 SQL 语句都在本地 Oracle SQL 中给出,因为我在 DBACOCKPIT 中进行测试,这是强制性的。

内置的驾驶舱工具对两个请求显示几乎相同的结果:

  • 它们的估计成本都是 3,但是,第二个查询在计划中只有 2 个步骤,而第一个查询有 3 个。
  • 第一个查询的估计 CPU 成本每步21.564 ,但第二个查询的成本为 21.964。

所以我们可以得出结论,第二种变体在这里更有效。
但是,这会是普通情况下的重点吗?这个结果在不同的数据库上会有所不同,还是我们可以将其视为经验法则?