问题标签 [internal-tables]

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 回答
1026 浏览

javascript - HR infotype itab 行的条件循环清除?

我不知道 ABAP - 但我的同事(也不知道)向我展示了他提出的一些代码,其中包含太多的 if 语句。在 JavaScript 中我可以改进它,但在 ABAP 中我有点迷失,因为我错过了我的数组;)。我发现使用的是内部表格。但我还是想不通。

代码放置在 EPI-USE 制作的查询管理器的列中。这只是一种调整查询结果的一种方法,我注意到如果我尝试创建报告(“已经在程序中”)并且如果我创建一个类或方法(“关闭 try-catch-block在声明新类之前”)。

问题非常简单:

有一个人有很多属性,值是数字。这些是属性

我想循环通过 PA0013-Block 并遵循以下规则:

条件:

如果PA0013-RVNUM为空,则所有其他属性都必须设置为空。

如果-ValuePA0013为空,则所有以下PA0013-Values 都必须设置为空(而不是前面的)。

如果PA0013-Value 为空,则必须将相应的PA0000-Value 设置为空。

第一个循环之后:

如果任何PA0000-Values 的值为 3,则执行命令REJECT.以将行从结果中踢出。

我的 JS 代码如下所示:

有人可以通过将我的 js 代码“翻译”成 ABAP 来帮助我吗?

我的同事在所有条件下都做了这样的事情:

...

...

他告诉我他将 PERNR 设置为空,以便查询不会用错误的 PERNR 填充它们。

0 投票
2 回答
2478 浏览

abap - 在 INSERT INTO itab 时抑制不可抑制的警告

我正在向循环内的排序内部表添加一个新条目。由于我所在的循环的排序顺序与已排序表的排序顺序不同,因此我必须使用INSERT INTO语句而不是 an APPEND TO,因为后者有违反排序顺序导致转储的风险。

但是,当我添加该代码时,我收到带有内部消息代码“ MESSAGE GJK”的语法检查警告,在 EPC 中它说:

但是“不能使用编译指示隐藏”对我不起作用。我理解警告的原因,但我知道在构建时 100% 确定在我插入新记录的内部表上没有循环将处于活动状态。然而我无法隐藏这个警告。除了在开发时引起无用的警告外,在某些环境中,我无法传输带有语法检查警告的代码!

有什么办法可以抑制这种不可抑制的警告吗?

如果做不到,有什么办法可以避免吗?我可能可以通过使用临时未排序表作为中间表然后将行追加到已排序表中来做到这一点,但我不愿意创建一个无用的(百万行)内部表只是为了绕过似乎是一个明显的疏忽。

0 投票
1 回答
596 浏览

abap - 内部表声明 OCCURS 和 TYPE TABLE OF 之间的区别?

应该首选哪一个/为什么?

所以我在本地定义了一个 TYPE :

我认为下面看到的这两个语句都会做同样的事情:

上面看到的两种陈述之间有什么区别吗?应该首选哪一种?

0 投票
6 回答
5477 浏览

performance - 在 WHERE 中使用条件 =、>=、<= 优化 LOOP AT

我的内部表包含大量数据。

我有以下代码:

数据库表包含7个字段,内部表与数据库表具有相同的类型。

在 where 子句中没有主键字段。

表中有一个由两个主键组成的复合键。表字段为transid(主键)、item1(主键)value1value2value3value4

我必须仅根据这些条件搜索表格。但这需要太多时间。如何优化它?

0 投票
1 回答
814 浏览

abap - 完全指定但未使用辅助键时发出警告,但如果指定则错误

我很困惑。如果我编译以下代码

我收到以下警告

程序 ZZY
辅助键“SEC_KEY”已完全指定。但是,主
键用于访问。检查使用“SEC_KEY”访问是否更
高效

但是如果我指定这个键,USING KEY sec_key那么我会得到一个编译时间错误!

程序 ZZY
密钥“SEC_KEY”是“HASHED KEY”类型的辅助密钥。在这些情况下必须提供所有关键组件

我在这里做错了什么?

0 投票
2 回答
700 浏览

abap - 从表中获取值并将其保存在结构中

我是 ABAP 的新手,我必须修改这些代码行:

一位同事告诉我,我必须使用结构而不是字段符号。

在这种情况下,语法将如何以及为什么要使用结构?

0 投票
3 回答
6134 浏览

abap - 从现有数据库表创建内部表的语法?

我是ABAP的新手。开始学习内部表。我正在阅读创建内部表的方法。

我遇到了以下从现有数据库表创建内部表的语法:

我很困惑,因为 mara 是一张桌子,如果 lhs 和 rhs 都是同一类型,那么它不应该只是:

mara已经是表了,还需要转换成表吗?

0 投票
1 回答
1708 浏览

abap - 使用索引更改没有标题的内部表

如何将旧的 BW3.x 代码(带标题的表格)更改为 BW7.x(不带标题的表格)

旧代码:

此处标题行发生更改,表格使用modify和更新index

不幸的是,我看不到如何index在没有标题的表上使用关键字。

到目前为止,我编码:

但我不确定它是否正确。

0 投票
2 回答
8149 浏览

dynamic - 如何在只有参考数据的表中循环

我正在使用函数 Module RSAQ_QUERY_CALL,取回一个表:

现在我怎样才能在那张桌子上循环?

我尝试了什么:

  • 分配给字段符号
  • 传递字段符号而不是 dref

两者都没有工作。

0 投票
4 回答
24139 浏览

dynamic - 循环遍历 ABAP 中的动态内部表 - 未知属性

用表名作为用户的输入字符串构造了一个动态内部表,我该如何循环呢?

请找到 MWE: