在SAP ABAP编程中,TRANSPORTING NO FIELDS 是一个常用的关键字,它主要用于在读取内表(internal table)时,仅仅判断该表中是否存在特定的记录,而不实际读取任何字段数据到工作区(work area)中。这种方式通常用于提高程序的性能,特别是在处理大数据量的内表时。 以下是关于 TRANSPORTING NO FIELDS 的详细解释和用法示例...
READ TABLE TAB1 INDEX 1. 只查找设置的字段: READ TABLE TAB1 COMPARING <f1> <f2> . . . . 查找内表所有字段 READ TABLE TAB1 COMPARING ALL FIELDS. 只输出设置字段 READ TABLE TAB1 TRANSPORTING <f1> <f2> . . . . 不输出任何字段: READ TABLE TAB1 TRANSPORTING NO FIELDS....
READ TABLE <目标表> WITH KEY <WHERE条件> TRANSPORTING NO FIELDS. IF sy-subrc = 0. APPEND <目标表>-field TO lt_data. ELSE. EXIT. ENDIF. ENDDO. ``` 其中,lt_data是一个内表,用于存储读取到的多条数据。循环结构会不断读取满足WHERE条件的数据,并将其添加到内表中,直到没有更多数据可读取。
"新语法 CHECK line_exists( gt_mara[ matnr = 'AT001' ] ). "得到数据在内表中的行"旧语法DATAlv_tabixTYPEsy-tabix.READTABLEgt_mara TRANSPORTING NOFIELDSWITHKEY matnr ='AT001'.IFsy-subrcEQ0. lv_tabix= sy-tabix.ENDIF."新语法DATA(lv_tabix_new) = line_index( gt_mara[ matnr ='AT001'...
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS' "Change document: Read change document items 1. EXPORTING 1. * archive_handle = 0 " sy-tabix Handle on Open Archive Files 1. changenumber = " cdpos-changenr Change document number 1. * tablekey = SPACE " cdpos-tabkey Object class table key ...
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS' "Change document: Read change document items 1. EXPORTING 1. * archive_handle = 0 " sy-tabix Handle on Open Archive Files 1. changenumber = " cdpos-changenr Change document number 1. * tablekey = SPACE " cdpos-tabkey Object class table key ...
transporting no-fields. but I get an error because when you use the transporting no-fields sentence you must write it without "INTO wa_itab". You have 2 options: READ TABLE itab WITH KEY matnr = matnr TRANSPORTING NO FIELDS. OR READ TABLE itab TRANSPORTING NO FIELDS WITH KEY matnr ...
READ TABLE ... TRANSPORTING NO FIELDS. idx = sy-tabix. DATA(idx) = line_index( itab[ ... ] ). NB: There will be a short dump if you use an inline expression that references a non-existent record.SAP says you should therefore assign a field symbol and check sy-subrc. ASSIGN lt...
You can determine whether to use a field of the B table presumably by checking if it has a value. So, once you know which fields in B have a value and their name, I think you have do something like. CASE field_count. WHEN 1. READ TABLE A TRANSPORTING NO FIELDS WITH KEY (fld1)...
ENDIF. READ TEXTPOOL 'ZHCS_MY_CLASS===CP' INTO lt_text_table_de LANGUAGE 'DE'. READ TABLE lt_text_table_de WITH KEY id = 'I' key = '026' TRANSPORTING NO FIELDS. IF sy-subrc <> 0. ls_text_table-id = 'I'. ls_text_table-key = '026'. ls_text_table-entry = 'Dynamic text...