0

我想通过 abap 程序而不是通过 SE11 创建备份副本 ztable。有什么办法吗?

例如,我想将 zmydbtable 复制到 zmydbtable_bckp,我该如何动态执行?

谢谢

4

1 回答 1

2

正如您所指的 SE11,我假设您要复制定义/结构,而不是内容。要存档此文件,您可以执行以下操作:

  1. 定义新的 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'.
    
  2. 使用功能模块'DDUT_OBJECT_COPY'复制旧表def。到新的

    CALL FUNCTION 'DDUT_OBJECT_COPY'
      EXPORTING
        type                 = 'TABL'
        src_name             = 'ZMYDBTABLE'
        dst_name             = 'ZMYDBTABLE_BCKP'.
    
  3. 调用函数模块 'DD_TABL_ACT' 来激活表

    CALL FUNCTION 'DD_TABL_ACT'
       EXPORTING
         tabname             = 'ZMYDBTABLE_BCKP'.
    

我只在示例中展示了您需要的基本参数;请根据需要添加其他人并进行适当的异常处理。

就个人而言,我不鼓励您这样做,因为这触及系统的核心,并且很容易变得一团糟。任何错误使用都可能导致系统出现严重问题。请注意,上述功能模块并非由 SAP 发布供客户使用,因此如果您破坏任何内容,您将无法获得任何支持。

于 2018-02-02T16:12:16.467 回答