`
JerryWang_SAP
  • 浏览: 1030624 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论
阅读更多

Created by Jerry Wang on Feb 20, 2014

Report source code could be found below:

REPORT ztable.

PARAMETERS: tabname TYPE char32 OBLIGATORY.
DATA: lt_new_object         TYPE comt_gox_def_header,
      lt_old_object         LIKE lt_new_object,
      lv_dbtab1_name        TYPE char32,
      ls_new_object         LIKE LINE OF lt_new_object,
      ls_new_object_details TYPE LINE OF comt_gox_table_entry_fields,
      lt_returntab          TYPE bapirettab,
      ls_return             LIKE LINE OF lt_returntab.

ls_new_object-object_type = 'TABLE'.
ls_new_object-object_name = tabname.

TRY.
    DATA(lv_guid) = cl_system_uuid=>if_system_uuid_static~create_uuid_c32( ).
  CATCH cx_uuid_error .
ENDTRY.

ls_new_object-key_guid = lv_guid.
DATA(lv_parent_guid) = ls_new_object-key_guid.
ls_new_object_details-fieldname = 'TABCLASS'.
ls_new_object_details-fieldvalue = 'TRANSP'.
APPEND ls_new_object_details TO ls_new_object-details.
CLEAR ls_new_object_details.
ls_new_object_details-fieldname = 'TABKAT'.
ls_new_object_details-fieldvalue = '0'.
APPEND ls_new_object_details TO ls_new_object-details.
CLEAR ls_new_object_details.
ls_new_object_details-fieldname = 'TABART'.
ls_new_object_details-fieldvalue = 'APPL2'.
APPEND ls_new_object_details TO ls_new_object-details.
CLEAR ls_new_object_details.
ls_new_object_details-fieldname = 'PUFFERUNG'.
ls_new_object_details-fieldvalue = 'X'.
APPEND ls_new_object_details TO ls_new_object-details.
CLEAR ls_new_object_details.
ls_new_object_details-fieldname = 'CONTFLAG'.
ls_new_object_details-fieldvalue = 'S'.
APPEND ls_new_object_details TO ls_new_object-details.
CLEAR ls_new_object_details.
ls_new_object_details-fieldname = 'MAINFLAG'.
ls_new_object_details-fieldvalue = 'X'.
APPEND ls_new_object_details TO ls_new_object-details.
CLEAR ls_new_object_details.
ls_new_object_details-fieldname = 'BUFFALLOW'.
ls_new_object_details-fieldvalue = 'X'.
APPEND ls_new_object_details TO ls_new_object-details.
CLEAR ls_new_object_details.
ls_new_object_details-fieldname = 'SCHFELDANZ'.
ls_new_object_details-fieldvalue = '0'.
APPEND ls_new_object_details TO ls_new_object-details.
CLEAR ls_new_object_details.
APPEND ls_new_object TO lt_new_object.
CLEAR ls_new_object.

ls_new_object-object_type = 'TABLE_FIELD'.
TRY.
    lv_guid = cl_system_uuid=>if_system_uuid_static~create_uuid_c32(
           ).
  CATCH cx_uuid_error .
ENDTRY.
ls_new_object-key_guid = lv_guid.
ls_new_object-parent_key = lv_parent_guid.
lv_parent_guid = lv_guid.
ls_new_object-object_name = 'CODE_VALUE'.
ls_new_object_details-fieldname = 'POSITION'.
ls_new_object_details-fieldvalue = '1'.
APPEND ls_new_object_details TO ls_new_object-details.
CLEAR ls_new_object_details.
ls_new_object_details-fieldname = 'KEYFLAG'.
ls_new_object_details-fieldvalue = 'X'.
APPEND ls_new_object_details TO ls_new_object-details.
CLEAR ls_new_object_details.
ls_new_object_details-fieldname = 'NOTNULL'.
ls_new_object_details-fieldvalue = 'X'.
APPEND ls_new_object_details TO ls_new_object-details.
CLEAR ls_new_object_details.
ls_new_object_details-fieldname = 'ROLLNAME'.
ls_new_object_details-fieldvalue = 'COMT_PRODUCT_ID'.
APPEND ls_new_object_details TO ls_new_object-details.
CLEAR ls_new_object_details.
APPEND ls_new_object TO lt_new_object.
CLEAR ls_new_object.
REFRESH lt_returntab.
CLEAR lv_parent_guid.

lv_dbtab1_name = tabname.
CALL FUNCTION 'GOX_GEN_TABLE_STD'
  EXPORTING
    iv_object_name = lv_dbtab1_name
    it_object_new  = lt_new_object
    it_object_old  = lt_old_object
    iv_devclass    = '$TMP'

  IMPORTING
    et_bapireturn  = lt_returntab.

CHECK lt_returntab IS NOT INITIAL.

DATA: lv_ddobjname TYPE ddobjname,
      ls_dd02v     TYPE dd02v.

lv_ddobjname = lv_dbtab1_name.
CALL FUNCTION 'DDIF_TABL_GET'
  EXPORTING
    name          = lv_ddobjname
    state         = 'A'
    langu         = sy-langu
  IMPORTING
    dd02v_wa      = ls_dd02v
  EXCEPTIONS
    illegal_input = 1
    OTHERS        = 2.
IF sy-subrc <> 0.
   RETURN.
ENDIF.

ls_dd02v-mainflag = 'X'.
CALL FUNCTION 'DDIF_TABL_PUT'
  EXPORTING
    name              = lv_ddobjname
    dd02v_wa          = ls_dd02v
  EXCEPTIONS
    tabl_not_found    = 1
    name_inconsistent = 2
    tabl_inconsistent = 3
    put_failure       = 4
    put_refused       = 5
    OTHERS            = 6.
IF sy-subrc <> 0.
   RETURN.
ENDIF.

CALL FUNCTION 'DDIF_TABL_ACTIVATE'
  EXPORTING
    name     = lv_ddobjname
    auth_chk = ' '.

CHECK sy-subrc = 0.

WRITE:/ 'Table: ', lv_ddobjname, ' generated successfully'.

specify the table name:

 

 

run the report and the table is generated successfully and could be found in SE11:

 

 

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

0
2
分享到:
评论

相关推荐

    SAP ABAP SE11创建表操作步骤.pdf

    在SAP ABAP环境中,使用SE11事务代码进行数据库表的创建是常见的数据库管理任务。下面是通过SE11创建自定义表的详细步骤,这些步骤由河南心创明天科技有限公司的专业顾问李彪提供。 首先,打开SAP系统并输入事务...

    sap批量删除、添加、修改透明表数据

    通过上述示例代码可以看出,利用ABAP编程语言可以在SAP系统中有效地管理透明表数据。需要注意的是,在实际应用中应谨慎处理批量操作,尤其是删除操作,以避免意外损失数据。此外,还可以通过增强错误处理机制来...

    ABAP代码性能指导

    - **减少透明表索引数量**:避免为透明表创建过多的索引。 - **减少特定条件使用**:在WHERE条件中尽量减少使用、&gt;、&lt;、&like%等条件。 ##### 6. 使用BINARY SEARCH - **优化循环中的表读取**:在循环中使用`READ ...

    SAP数据表大全ABAP数据表大全

    - 透明表:这是最常见的一种数据表类型,数据直接映射到数据库表,可以使用SQL语句进行操作。 - 内部表:这是一种在内存中操作的数据结构,不直接对应数据库表,但可以与透明表进行交互。 - 查找表:用于提供固定...

    abap 维护表视图

    - 在ABAP Development Workbench中,你可以使用SE11事务代码来维护透明表视图,SE16N用于结构化表视图。 - 这些工具允许你查看、编辑、删除和创建表视图,以及更新其字段和索引。 4. **使用表视图** - ABAP程序...

    SAP ABAP动态内表构建与例子

    如果内表是透明表的行类型,可以直接插入记录;如果是结构类型的内表,需要先用`DESCRIBE TABLE`获取结构信息,然后通过`FIELD-SYMBOLS`来填充数据。 4. **填充内表**:使用`FIELD-SYMBOLS`来动态定义字段并赋值,...

    查找透明表

    透明表的数据存储方式与数据库表相同,因此,当创建透明表时,系统会自动在数据库中创建对应的物理表。透明表的主要特点是数据直接存储在数据库中,并且可以被外部应用程序访问。 ### 二、报告ZTABLEFIND代码分析 ...

    30天学会ABAP很好的教程

    ABAP字典实现了透明表的概念,使得开发者在ABAP层面上操作的表与底层数据库类型无关,提高了程序的移植性和可维护性。 在实际学习过程中,本教程会从基础篇开始,逐步讲解ABAP的基础知识,包括ABAP的定义、开发环境...

    ABAP Dictionary

    8. 与ABAP代码的交互:ABAP字典中的对象可以直接在ABAP源代码中引用,通过DDL语句(Data Definition Language)进行创建和修改,或者通过ABAP字典工具进行图形化操作。 9. 数据一致性:ABAP字典确保了数据库表和...

    SAP ABAP编程手册

    手册会讲解如何创建、填充和操作内部表,以及使用不同类型如透明表、结构化表和索引表。 3. **选择屏幕和输入帮助**:在SAP系统中,用户界面是关键部分。这章可能会讲述如何定义和使用选择屏幕来收集用户输入,以及...

    SAP ABPA 损益表

    在给定的代码片段中,“REPORT ZFI002”指示这是一个名为ZFI002的ABAP报告程序,由DAJUN.XU创建于2011年7月5日,旨在实现ALV(Application List Viewer)和Smartforms的功能,用于展示损益表的数据。ALV是SAP的一个...

    SAP abap实例大全

    同时,学习如何处理透明表(Transparent Tables)、视图(Views)和结构体(Structures)。 7. **程序间通信**:学习如何通过CALL FUNCTION或调用其他REPORT和CLASS实现模块间的通信。 8. **异常处理**:理解并...

    SAP ABAP – Tables讲解

    - 可以为表定义各种属性,比如透明表或内部表等。 2. **定义结构**: - 同样在SE11中,选择“创建结构”,输入结构名称,并定义其包含的字段。 - 结构主要用于定义复杂数据类型,可以被用作表的列或变量的类型。...

    从实例学SAP ABAP编程(1-19章).zip

    你将学习如何创建、填充、遍历和操作内部表,以及使用不同类型如透明表、结构化表和索引表。 3. **选择屏幕和对话模块**:在SAP中,用户与系统的交互是通过选择屏幕和对话模块实现的。这部分将教授如何定义和处理...

    ABAP中文训练手册

    2. **内部表**:ABAP中的内部表类似于其他语言中的数组,是处理大量数据的主要工具。它们可以动态调整大小,支持各种操作,如遍历、筛选、合并等。 3. **选择屏幕**:ABAP允许开发者创建自定义的选择屏幕,用户可以...

    ABAP4编程宝典中文版(完整版)

    2. **内部表处理**:内部表是ABAP中处理数据的重要工具,学习如何创建、操作和遍历内部表,以及如何使用不同类型(如透明表、结构表、行集等)的内部表。 3. **数据库交互**:了解ABAP如何与数据库进行交互,包括...

    abap试题

    - **透明表与内表的区别**:透明表是ABAP中用于数据库存储的数据结构,与数据库表直接对应;而内表则是在内存中存储数据的集合,用于程序中的数据处理。`DATA myvar TYPE dbtab.`定义了一个与透明表`dbtab`结构相同...

    ABAP QUERY报表开发

    5. 在报表开发步骤中,把所需要的字段拖到字段组01抬头:物料管理双击字段可看到字段名,用来核对是不是透明表中的相应字段。保存,退出,跳出如下窗口:点击“是”。 6. 在报表开发步骤中,点击用户组分配,选择...

    sap abap bc400

    11. **单元测试**:理解单元测试的重要性,并学习如何使用ABAP Unit进行单元测试,确保代码的质量和可靠性。 12. **ABAP Objects**:虽然BC400主要关注基础,但也会涉及ABAP Objects的基本概念,如类、接口、继承和...

    abap语法大全中文版

    外部表(透明表)是数据库中的表,需要使用SQL语句进行操作。 14. **报表参数**:允许用户在运行时输入参数,通过`PARAMETERS`语句定义参数。 15. **动态编程**:允许在运行时生成和执行代码,这在处理不确定数据...

Global site tag (gtag.js) - Google Analytics