Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1427773
  • 博文数量: 931
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 10198
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-08 12:28
个人简介

测试

文章分类

全部博文(931)

文章存档

2020年(134)

2019年(792)

2018年(5)

我的朋友

分类: 架构设计与优化

2019-10-15 13:19:29

选中ABAP包,右键创建一个新的Database Table:






维护表名为ZBOOKING:



表实现的源代码:

@EndUserText.label : 'Jerry''s booking'
@AbapCatalog.enhancementCategory : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #LIMITED
define table zbooking {
  key client         : abap.clnt not null;
  key booking        : abap.int4 not null;
  customername       : abap.char(50);
  numberofpassengers : abap.int2;
  emailaddress       : abap.char(50);
  country            : abap.char(50);
  dateofbooking      : timestampl;
  dateoftravel       : timestampl;
  @Semantics.amount.currencyCode : 'zbooking.currencycode'
  cost               : abap.curr(15,2);
  currencycode       : abap.cuky;
  lastchangedat      : timestampl;

} 

激活:



下一步,创建一个ABAP类,以代码的方式往Z表里插入数据。

这个ABAP类要实现if_oo_adt_classrun接口,类似Java里的console应用:



完整代码:



CLASS zcl_data_generator DEFINITION
  PUBLIC
  FINAL
  CREATE PUBLIC .

  PUBLIC SECTION.
    INTERFACES if_oo_adt_classrun.
  PROTECTED SECTION.
  PRIVATE SECTION.
ENDCLASS.


CLASS zcl_data_generator IMPLEMENTATION.

  METHOD if_oo_adt_classrun~main.
    DATA:it_bookings TYPE TABLE OF zbooking.

*    read current timestamp
    GET TIME STAMP FIELD DATA(zv_tsl).
*   fill internal table (itab)
    it_bookings = VALUE #(
        ( booking  = '1' customername = 'Jerry' numberofpassengers = '3'
          emailaddress = 'jerry@sap.com'
          country = 'China' dateofbooking ='20190213125959' dateoftravel ='20190213125959'
          cost = '546' currencycode = 'EUR' )
        ( booking  = '2' customername = 'Tom' numberofpassengers = '1'
          emailaddress = 'tom@sap.com'
          country = 'USA' dateofbooking ='20190313125959' dateoftravel ='20190313125959' cost = '1373' currencycode = 'USD' lastchangedat = zv_tsl )
     ).

    DELETE FROM zbooking.

    INSERT zbooking FROM TABLE @it_bookings.

    SELECT * FROM zbooking INTO TABLE @it_bookings.
    out->write( sy-dbcnt ).
    out->write( 'data inserted successfully!').

  ENDMETHOD.

ENDCLASS. 

执行这个console应用:



成功插入两条数据:



选中Z表,选择Open with Data Preview:



看到了成功插入的两条数据:



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



阅读(324) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~