本篇内容介绍了“怎么在SAP ABAP编程环境里创建自己的Z表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
选中ABAP包,右键创建一个新的Database Table:
维护表名为ZBOOKING:
表实现的源代码:
@EndUserText.label : 'Jerry''s booking'@AbapCatalog.enhancementCategory : #NOT_EXTENSIBLE@AbapCatalog.tableCategory : #TRANSPARENT@AbapCatalog.deliveryClass : #A@AbapCatalog.dataMaintenance : #LIMITEDdefine 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:
看到了成功插入的两条数据:
“怎么在SAP ABAP编程环境里创建自己的Z表”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!