我想通过abap程序而不是通过SE11创建一个备份副本ztable。有什么办法吗?
例如,我想将 zmydbtable 复制到zmydbtable_bckp,如何动态地执行此操作?
谢谢
当您引用 SE11 时,我假设您要复制定义/结构,而不是内容。要存档此内容,您可以执行以下操作:
-
定义新的 TADIR 条目并使用功能模块"TR_TADIR_INTERFACE"写入它
CALL FUNCTION 'TR_TADIR_INTERFACE' EXPORTING wi_test_modus = space wi_tadir_pgmid = 'R3TR' wi_tadir_object = 'TABL' wi_tadir_obj_name = 'ZMYDBTABLE_BCKP' wi_tadir_author = sy-uname wi_tadir_devclass = 'YOUR_PACKAGE'.
-
使用函数模块"DDUT_OBJECT_COPY"将旧表定义复制到新表
CALL FUNCTION 'DDUT_OBJECT_COPY' EXPORTING type = 'TABL' src_name = 'ZMYDBTABLE' dst_name = 'ZMYDBTABLE_BCKP'.
-
调用函数模块"DD_TABL_ACT"激活表
CALL FUNCTION 'DD_TABL_ACT' EXPORTING tabname = 'ZMYDBTABLE_BCKP'.
我只在示例中展示了您需要的基本参数;请根据需要添加其他参数和适当的异常处理。
就个人而言,我不鼓励你这样做,因为这触及了系统的核心,而且很容易弄得一团糟。任何错误的使用都可能导致您的系统出现严重问题。请注意,上述功能模块不是由SAP发布的供客户使用,因此如果您破坏了任何东西,您将不会获得任何支持。