通过复制到另一个数据库表来创建数据库表



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

例如,我想将 zmydbtable 复制到zmydbtable_bckp,如何动态地执行此操作?

谢谢

当您引用 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"将旧表定义复制到新表

    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发布的供客户使用,因此如果您破坏了任何东西,您将不会获得任何支持。

相关内容

  • 没有找到相关文章

最新更新