导出..到共享缓冲区...

2020-09-06 07:47发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我尝试使用此命令,但在帮助示例中我不理解。 (共享缓冲区上的F1)。 (粗体)

表格索引。

类型:开始于ITAB3_TYPE,

CONT(4),

ITAB3_TYPE的结尾。

数据:类似于INDXKEY INDX-SRTFD值'KEYVALUE'

F1(4),F2 TYPE P,

带有

的ITAB3_TYPE的ITAB3类型标准表

非唯一默认键初始大小2,

WA_INDX TYPE INDX。

  • 在CLUSTR之前填充数据字段

  • 在实际导出之前

INDX-AEDAT = SY-DATUM。
INDX-USERA = SY-UNAME。

  • 导出数据。

从F1导出F1

F2从F2

来自ITAB3的ITAB3

从WA_INDX ID INDXKEY共享缓冲区INDX(ST)。

弗雷德里克

(SAP 4.6C)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我尝试使用此命令,但在帮助示例中我不理解。 (共享缓冲区上的F1)。 (粗体)

表格索引。

类型:开始于ITAB3_TYPE,

CONT(4),

ITAB3_TYPE的结尾。

数据:类似于INDXKEY INDX-SRTFD值'KEYVALUE'

F1(4),F2 TYPE P,

带有

的ITAB3_TYPE的ITAB3类型标准表

非唯一默认键初始大小2,

WA_INDX TYPE INDX。

  • 在CLUSTR之前填充数据字段

  • 在实际导出之前

INDX-AEDAT = SY-DATUM。
INDX-USERA = SY-UNAME。

  • 导出数据。

从F1导出F1

F2从F2

来自ITAB3的ITAB3

从WA_INDX ID INDXKEY共享缓冲区INDX(ST)。

弗雷德里克

(SAP 4.6C)

付费偷看设置
发送
6条回答
shere_lin
1楼-- · 2020-09-06 08:02

我认为示例是错误的。

必须替换

INDX-AEDAT = SY-DATUM。

INDX-USERA = SY-UNAME。

通过

WA_INDX-AEDAT = SY-DATUM。

WA_INDX-USERA = SY-UNAME。

Frédéric。

shere_lin
2楼-- · 2020-09-06 08:06

我认为该示例是正确的,但是我仍然无法弄清dbtab(ar)的含义。

问候,

Subramanian V。

吹牛啤
3楼-- · 2020-09-06 08:17

共享内存,从名称本身来看,我们认为这是由各种应用程序共享的内存 (至少可以,如果我做错了,请告诉我)。

因此,如果同一个程序同时运行,则其中一个程序可能没有正确的数据,因此,当您添加时间和日期时,它会充当时间戳。

我相信这是主意。

问候,

Subramanian V。

大简至美
4楼-- · 2020-09-06 08:15

因为当每个人都在同一张桌子上工作时,您不能 保证数据一致性。 此外,INDX的"免费组件"仅是示例。 您可能需要使用自己的特定信息来定义自己的字段。 这里是完整的说明,如何必须在表中创建。 请注意最后一个条目的第二个。 您完全可以随意添加组件,并且不限于SAP的INDX示例!

INDX类型的结构:

第一个字段 如果要特定于客户端存储数据对象,则必须是客户端的CLNT类型的名为MANDT的关键字段。 对于跨客户端存储,此组件不适用。

第二个字段必须是名为RELID且类型为CHAR且长度为2的键字段。它存储区域ar规范。

第三个字段必须是名为SRTFD的CHAR类型的键字段,最大长度为55个字符。 它存储在id中指定的标识符。

第四个字段必须是类型为INT4的名为SRTF2的键字段。 它包含一个存储的数据集群的行号,该行可以跨越多行,并且由系统自动填充。

然后可以跟随任意数量的具有可自由选择的名称和类型的组件。 它们由FROM wa的规范提供值。 IMPORT语句的TO TO wa再次导出这些字段。

最后两个组件必须命名为CLUSTR和CLUSTD,并且类型为INT2和LRAW,且长度不限。 在CLUSTR中,存储了每行的当前字段长度,而CLUSTD包含了实际的数据簇。

ZJXianG
5楼-- · 2020-09-06 08:02

HelloFrédéric,

EXPORT TO SHARED BUFFER语句, 如文档所述,用于将数据对象作为群集存储在交叉事务处理应用程序缓冲区中。

但是,此语句的变体仅在您要存储诸如USER-ID,DATE和其他信息之类的详细信息以及实际数据时才相关。 此数据主要供进口商了解谁导出了数据以及何时导出。

是否指定信息由您决定。 这不是强制性的。

希望说明很清楚。 但是我仍然觉得F1文档更好。

问候,

Anand Mandalika。

小c菟菟
6楼-- · 2020-09-06 07:59

关于FROM WA_INDX:

在FROM之后,可以指定工作区wa,该工作区的数据类型必须与数据库表dbtab相同。 导出时,位于字段SRTF2和CLUSTR之间的wa组件的当前值将写入数据库表的数据集群占用的所有行中。

如果是外部类,则未指定添加FROM wa,而是使用语句TABLES为数据库表dbtab声明一个Table工作区,然后在导出时声明该组件的当前值。 位于工作表SRTF2和CLUSTR之间的表工作区dbtab写在数据库表的行中。

关于在存储区中使用WA_INDX:

在共享存储器中存储某些内容时,即使数据是数据,也要引用数据库表 不会存储在表本身中,而是存储在相应创建的内存表中。

关于表结构:

在数据库表和 在共享内存的应用程序缓冲区中,您必须指定特定结构的数据库表。

SAP提供的数据库表INDX具有所需的结构,可以用作创建自己的数据库表和进行测试的模式。 我明确建议在生产系统中使用自己的INDX型数据库表。

一周热门 更多>