问题标签 [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 投票
3 回答
993 浏览

abap - 在循环另一个 itab 期间修改一个 itab

我想做以下

让我再解释一下。我有带有 bukrs、kunnr、日期、操作字段的 itab。itab2 字段为 bukrs、kunnr、name1(来自 kna1)、date01(jan)、action01、date02(Feb)、action02 ... date12(Dec)、action12。在 itab 循环期间,我想如果 itab2 有 bukrs 和 kunnr 的记录,那么它将根据 itab-date 的月份更新日期和操作,如果它不存在(bukrs,kunnr)然后插入一条记录到 itab2。

我希望这能解释我想要什么。

提前感谢埃利亚斯

PS。这是程序

0 投票
1 回答
1608 浏览

abap - 从另一个 itab 更新 itab?

如果选中了“LOCK”复选框,我的程序只是将锁锁定在用户身上。

一切正常,用户记录在USR02. 当这种变化发生时,我希望它也反映在 中IT_USR02,即 DB 表 USR02 和 itabit_usr02应该是相同的。

基本上在BAPI_USER_LOCK调用函数之后,我也希望在 IT_USR02 表中进行更改。从那里我将内容复制IT_USR02到我的自定义表中ZATO_LOCK_UNLOCK

这里的一切似乎都很好,我只是不知道如何更新我的内部表。任何帮助,将不胜感激。

0 投票
4 回答
1473 浏览

abap - 带有嵌套 SELECT 的非常慢的 itab 循环

我已经声明了一个内部表,例如:

然后我在表格中填写:

最后我有以下循环

这个循环对 3000 条记录执行 5 分钟。有人可以告诉我该怎么做才能更快吗?  

提前致谢

0 投票
1 回答
64 浏览

abap - 在 kunnr 更改时删除行或继续

我有一个 itab,其中包含 kunnr、bukrs、prodgrp 和 amound 字段。我有以下几行:

我想做以下事情:在每个客户总结金额的末尾,如果它小于让用户进入选择屏幕的金额,则删除 itab 的行。如果它更大,请离开他们。程序末尾的这个 itab 将显示出来。关于如何快速完成的任何想法?

0 投票
3 回答
13589 浏览

duplicates - 通过分组在 ABAP 内部表中查找重复项

我们都知道这些出色的 ABAP 语句,它们允许在单行中找到独特的值:

但是提取重复项呢?可以为该任务使用GROUP BY语法,或者表格理解在这里更有用吗?

我发现的唯一(虽然不是很优雅)的方法是:

有没有更漂亮的方法可以通过任意键查找重复项?

0 投票
1 回答
15184 浏览

performance - 使用 ABAP 7.40+ 语法的最有效的 itab 过滤

在 7.40 版中,我们有很多方法可以过滤内部表数据。例如,可以使用这样的 ABAP 结构:

过滤器运算符

使用VALUE构造运算符的FOR表迭代

两者之间是否有任何性能提升,为什么?

也许您知道任何其他有效执行内部表过滤的语法?

0 投票
4 回答
5391 浏览

abap - 将数据插入内部表中的特定字段

我有一张桌子,我们称之为“dbtab”。我的内部表的名称是“it_tab”。

我在“new_number”中有一个号码。

我使用以下方法将该数字插入到我的 dbtab 中的空字段“laufnr”中:

这工作得很好,但更改不在我的 it_tab 中。

如何从我的 dbtab 更新我的内部表?

或者如何将值插入到内部表中的特定字段?

0 投票
5 回答
4860 浏览

abap - 大型 itab 的 COLLECT 和 MODIFY 优化

我有两部分代码。它们都处理了 1,500,000 条记录,但第一部分需要 20 分钟,第二部分需要 13,5 小时!!!!!!
这是第一部分:

进行 13,5 小时的第二部分如下:

有人知道如何修复第二部分吗?
一些额外的东西:
it_bkpf 有 150 万条记录。
在第一个过程之后,ITAB 有 150 万条记录。
在第一个循环的第二部分,我对以 73 开头的帐户的每个 belnr 的金额求和。
在第二个循环中,我将每个 belnr 的总和与 belnr/帐户的金额进行比较,然后按照代码所说的去做。
谢谢

附加信息:
所有初始代码中的第一个存在,我添加了新代码。ITAB 存在,而 ITAB2 是我的。所以表的声明是:

根据您的建议,我进行了以下更改:

现在我在后台运行 150 万条记录,并在 1 小时后继续运行。

0 投票
2 回答
10423 浏览

abap - 更新内部表中的列的最短表示法是什么?

我有一个 ABAP 内部表。结构化,具有多个列(例如 25)。名称和类型无关紧要。该表可以变得非常大(例如 5,000 条记录)。

现在我想将其中一列(例如B)设置为特定的常数值(例如'Z')。

最短、最快和最节省内存的方法是什么?

我最好的猜测是LOOP REFERENCE INTO. 这非常有效,因为它就地更改了表,而不会浪费新的内存。但它占用了三个语句,这让我想知道是否有可能变得更短:

然后是VALUE运算符将其简化为一条语句,但效率不高,因为它创建了新的内存区域。对于大量列,它也会变得很长,因为它们必须一一列出:

有没有更好的方法?

0 投票
1 回答
85 浏览

abap - 将记录添加到内部表中

我想将记录添加到内部表中。当我尝试添加时, t 显示错误

字段“ITAB_EMPLOYEE”未知,但有一个名称相似的字段“ITAB_EMPLOYEE_I”。.