今天学习一下内表的表达式在ABAP 7.4之后的语法: SELECT * FROM mara INTO TABLE @DATA(gt_mara)UP TO 10 ROWS. DATA gt_mara_sort TYPE SORTED TABLE OF mara WITH UNIQUE KEY primary_key COMPONENTS matnr. "旧语法DATA LV_MATKL TYPE MARA-MATKL. INTO DATA(LS_MARA).READ TABLE gt_mara_
什么是内表:内表是内存中建立的一个临时表,你可以在程序运行时对表中的数据进行,插入,修改,删除等操作,程序跑完了,就会被释放. 定义类型:通过types开头定义 TYPES: BEGIN OF line, field1 TYPE i, field2 TYPE i, END OF line. 参考类型定义结构.工作区域.变量:定义结构通过data开头定义 DATA: WA _ITAB TYPE(LIKE) line. “ 声明一个内表工作区 DATA: ITAB TYPE(LIKE) STANDA
1.语法为 CONV dTYPE|#(...)\ # 代表任意类型 "7.40之前表达式 . DATA helper TYPE string. DATA xstr TYPE xstring. helper = text. xstr = cl_abap_codepage=>convert_to( source = helper ). "7.40之后 DATA text TYPE c LENGTH 255. text = 'zhujx'. DATA(xstr1) = cl_abap_
内表访问表达式是ABAP 7.4中引入的重要特性,可以使语句变得更加简洁.美观.那么它的读写性能怎么样呢?我进行了一点点测试. 读取 测试代码,使用三种方式读取同一内表,分别是read table关键字.表达式和read table...binary search: REPORT ztest_read. DATA: BEGIN OF gs_test, index TYPE i, des TYPE string, END OF gs_test. DATA: gt_test LIKE STANDAR
刚开始学ABAP的时候,学到iternal table时,感觉一阵混乱.搞不清楚什么是work area,什么是header line,以及occurs是干什么用的.今天终于差不多搞明白了(我还是太弱啊...BS自己一下)所以还是记录下来..省得自己以后再忘记... 先是用TYPES关键字定义一个行(row)的类型.如下:TYPES: BEGIN OF line, field1 TYPE i, field2 TYPE i,END OF line.这里的line,就相当于一个自定义的类型,表示