要从有自定义关键字的内表中读取单行,使用 READ 语句的 WITH KEY 选项,用法如下: READ TABLE <itab> [INTO <wa>] WITH KEY <key> [BINARY SEARCH]. 用INTO 选项可以指定目标区域。如果表格有表头行,则可以忽略INTO 选项。这样,表格工作区域就成了目标区域。 系统读取<itab>中匹配<key>中所定义的关键字...
CARRIDTYPEspfli-CARRID,ENDOFTY_SPFLI.***需要定义为排序表或者哈希表 因为需要主键DATAIT_TABTYPESORTEDTABLEOFTY_SPFLIWITHUNIQUE KEY CARRID.DATAIT_SPLFITYPETABLEOFSPFLI .DATAIT_SPLF1TYPETABLEOFSPFLI .DATAIT_SPLF2TYPETABLEOFSPFLI .***定义参考表的实际数据IT_TAB = VALUE #( ( CARRID ='AA') ...
DELETETABLEitab.DELETETABLEitabFROMwa.DELETETABLEitabWITHTABLEKEYk1=f1 k2=f2...kn=fn. - 案例代码演示(使用工作区) 代码语言:javascript 复制 DATA:GT_SFLIGHTTYPETABLEOFSFLIGHTWITHNON-UNIQUEKEYCARRID,GS_SFLIGHTTYPESFLIGHT.GS_SFLIGHT-CARRID='AC'.GS_SFLIGHT-CONNID=0820.GS_SFLIGHT-FLDATE='2020...
利用关键字读取数据 READ TABLE itab FROM wa1 INTO wa2.READ TABLE itab WITH TABLE KEY k1 = f1 k2 = f2 ... kn = fn INTO wa. 案例代码演示(不使用TABLE KEY) DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT WITH NON-UNIQUE KEY CARRID,GS_SFLIGHT TYPE SFLIGHT,GS_SFLIGHT1 TYPE SFLIGHT,GS_SFL...
9, 二分查找比线性查找要高效,READ TABLE的之前使用SORT TABLE BY XXX 某个表关键字段进行排序, 然后使用READ TABLE WITH KEY XXX = ‘XXX’ BINARY SEARCH. 这个就是所谓的二分查找法的应用. 10, 避免使用SQL语句动态查询条件,动态表名和动态字段名, 必要时候用宏或者子程序模块代替. ...
select 数据1,数据2from 透明表 into table 内表.sort 内表 by 数据1数据2.DELETEADJACENTDUPLICATESFROMitab(内表名)COMPARING针对的字段.loop 内表 into 工作区.read 内表 into 工作区withkey1=值1BINARYSEARCH.modify 内表 from 工作区.endloop.
Read Table with key components READ TABLE itab WITH TABLE KEY key COMPONENTS col1 =… col2 =… INTO wa. wa = itab[ KEY key col1 =… col2 =… ]. Does record exist? READ TABLE itab ... TRANSPORTING NO FIELDS. IF sy-subrc = 0. ... ENDIF. IF line_exists( itab[ ... ] ...
①at new:控制级操作。AT NEW f. "内表行操作时若f字段及其之前的字段值有任何一项与前一行不同,则执行语句块 <statement> ENDAT.②table_line:当内表整行都由基本类型字段组成时,将内表整行作为关键字。
DATA itab_company LIKE TABLE OF company WITH UNIQUE KEY name WITH HEADER LINK. 创建了带表头的内表之后,可以认为程序中存在两个数据对象,一个是内表,另一个是与内表类型相同的结构体。在所有用于操作内表的ABAP语句中,均需指定工作区。但对于带有表头行的内表,则可以忽略这一指定,系统隐式使用表头行作为...
When using the primary table key, note that this key can be thestandard key, which can also have unexpected consequences: Outside of classes, anobsolete short formis also possible whereFROM wacan be omitted if the internal table has aheader lineitabwith the same name. The statement then us...