選中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的原創文章,請關注公衆號"汪子熙":