问题标签 [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.
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。这是程序
abap - 从另一个 itab 更新 itab?
如果选中了“LOCK”复选框,我的程序只是将锁锁定在用户身上。
一切正常,用户记录在USR02
. 当这种变化发生时,我希望它也反映在 中IT_USR02
,即 DB 表 USR02 和 itabit_usr02
应该是相同的。
基本上在BAPI_USER_LOCK
调用函数之后,我也希望在 IT_USR02 表中进行更改。从那里我将内容复制IT_USR02
到我的自定义表中ZATO_LOCK_UNLOCK
。
这里的一切似乎都很好,我只是不知道如何更新我的内部表。任何帮助,将不胜感激。
abap - 带有嵌套 SELECT 的非常慢的 itab 循环
我已经声明了一个内部表,例如:
然后我在表格中填写:
最后我有以下循环
这个循环对 3000 条记录执行 5 分钟。有人可以告诉我该怎么做才能更快吗?
提前致谢
abap - 在 kunnr 更改时删除行或继续
我有一个 itab,其中包含 kunnr、bukrs、prodgrp 和 amound 字段。我有以下几行:
我想做以下事情:在每个客户总结金额的末尾,如果它小于让用户进入选择屏幕的金额,则删除 itab 的行。如果它更大,请离开他们。程序末尾的这个 itab 将显示出来。关于如何快速完成的任何想法?
duplicates - 通过分组在 ABAP 内部表中查找重复项
我们都知道这些出色的 ABAP 语句,它们允许在单行中找到独特的值:
但是提取重复项呢?可以为该任务使用GROUP BY
语法,或者表格理解在这里更有用吗?
我发现的唯一(虽然不是很优雅)的方法是:
有没有更漂亮的方法可以通过任意键查找重复项?
abap - 将数据插入内部表中的特定字段
我有一张桌子,我们称之为“dbtab”。我的内部表的名称是“it_tab”。
我在“new_number”中有一个号码。
我使用以下方法将该数字插入到我的 dbtab 中的空字段“laufnr”中:
这工作得很好,但更改不在我的 it_tab 中。
如何从我的 dbtab 更新我的内部表?
或者如何将值插入到内部表中的特定字段?
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 小时后继续运行。
abap - 更新内部表中的列的最短表示法是什么?
我有一个 ABAP 内部表。结构化,具有多个列(例如 25)。名称和类型无关紧要。该表可以变得非常大(例如 5,000 条记录)。
现在我想将其中一列(例如B)设置为特定的常数值(例如'Z')。
最短、最快和最节省内存的方法是什么?
我最好的猜测是LOOP REFERENCE INTO
. 这非常有效,因为它就地更改了表,而不会浪费新的内存。但它占用了三个语句,这让我想知道是否有可能变得更短:
然后是VALUE
运算符将其简化为一条语句,但效率不高,因为它创建了新的内存区域。对于大量列,它也会变得很长,因为它们必须一一列出:
有没有更好的方法?
abap - 将记录添加到内部表中
我想将记录添加到内部表中。当我尝试添加时, t 显示错误
字段“ITAB_EMPLOYEE”未知,但有一个名称相似的字段“ITAB_EMPLOYEE_I”。.