如何在SAP雲平臺ABAP編程環境裏建立本身的Z表

選中ABAP包,右鍵建立一個新的Database Table:sql

維護表名爲ZBOOKING:ssr

表實現的源代碼:3d

@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;

}

激活:code

下一步,建立一個ABAP類,以代碼的方式往Z表裏插入數據。blog

這個ABAP類要實現if_oo_adt_classrun接口,相似Java裏的console應用:接口

完整代碼:generator

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應用:it

成功插入兩條數據:console

選中Z表,選擇Open with Data Preview:table

看到了成功插入的兩條數據:

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":

相關文章
相關標籤/搜索