2016-03-07 75 views
0

我想以编程方式写入SAP自定义表。以编程方式写入自定义表并记录更改

如何将表条目更改到更改日志中?

我不需要运输。它只有一张表,没有相应的语言相关表。

我知道定制表更改记录到表DBTABLOG。 (这与使用更改文档的应用程序数据更改不同)。

如何以编程方式将更改更改为DBTABLOG?

我使用的事务SE56“生成表维护对话框”产生,似乎是这个任务有用的形式:

FORM bc_entry_log_fill至极所使用的FORM vim_bc_logs_put这会生成形式。

是否有示例如何使用这些生成的窗体而不生成对话框?

+0

你是什么意思下自定义故事:与'APPL2'数据类表或手动创建的表? – Suncatcher

+0

您打算根据您提交的更改填写DBTABLOG,或者您想阅读它吗? – Suncatcher

+0

我想以编程方式更改(=更改,插入,删除行)具有'APPL2'类的表时填充DBTABLOG。 –

回答

1

首先,您应该了解一下SAP的日志记录概念。登录SAP分为业务对象记录和表格记录,我们称之为技术。我们没有考虑到应用程序日志记录(SLG1),并只谈论表格数据。 业务记录由变更文件(SCDO)提供,技术记录(表格)由标准工具(SCU3)提供。

  • 变化的文档用于记录自定义业务对象(但登录标准的对象是也可以通过预定义的CD对象)。它通过更改文档对象和相应的FM来实现。
  • 技术表记录或简单地记录旨在跟踪任何表中的变化,字面上任何。它在系统设置中设置,日志存储在DBTABLOG表中。

您可以启用任何表(包括自定义的)这样记录:

  1. 确保复选框日志数据的变化表设置中启用。可以在表格的技术设置页面中检查。
  2. rec/client参数(RZ11 tcode)设置为您要跟踪更改的客户端号码。如果要为所有客户端启用日志记录,请在那里设置ALL值(不推荐!)。
  3. 重新启动应用程序服务器。

回答您的特定问题:
不需要用于填充DBTABLOG特殊的外长或方法。不管它们是如何制作的,都会记录更改:通过维护视图,编程或通过手动编辑。 您不需要任何特殊的操作来填充此表,并且您可以通过任何您喜欢的方式(编写自己的报告,创建视图或其他)来读取存储的记录。要注意的

其他几个要点:

  • 定制表格记录by default
  • should differentiate通过交付功能自定义表格和通过数据类别定制表格,即APPL02。 第一个被称为组织和定制数据而第二个被称为定制表本身。
    传递定制表称为自定义,因为它们在更新和升级过程中不会被传输。它们由客户维护。
    数据类自定义表称为自定义表,因为它们存储在数据库中的客户名称空间中,此类命名的主要原因是它们的物理表示。
    以前的项目符号特别适用于交货类自定义表。
  • 特定定制表的日志数据也可以在SPRO交易中通过查看>>转至 >>更改日志。您应该事先选择您想要查看日志的SPRO节点。
相关问题