ITPub博客

首页 > 应用开发 > IT综合 > 如何在SAP云平台ABAP编程环境里创建自己的Z表

如何在SAP云平台ABAP编程环境里创建自己的Z表

原创 IT综合 作者:i042416 时间:2019-09-29 19:25:03 0 删除 编辑

选中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的原创文章,请关注公众号"汪子熙":




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24475491/viewspace-2658783/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
测试

注册时间:2018-01-20

  • 博文量
    3822
  • 访问量
    1982413