1 变量及对象声明
1.1 变量声明
Before:
DATA text TYPE string.
text = `...`.
After:
DATA(text) = `...`.
1.2 使用工作区
Before:
DATA wa like LINE OF itab.
LOOP AT itab INTO wa.
...
ENDLOOP.
After:
LOOP AT itab INTO DATA(wa).
...
ENDLOOP.
1.3 返回参数
Before:
DATA xml TYPE xstring.
CALL TRANSFORMATION ... RESULT XML xml.
After:
CALL TRANSFORMATION ... RESULT XML DATA(xml).
1.4 引用声明
Before:
DATA ixml TYPE REF TO if_ixml.
DATA stream_factory TYPE REF TO if_ixml_stream_factory.
DATA document TYPE REF TO if_ixml_document.
ixml = cl_ixml=>create( ).
stream_factory = ixml->create_stream_factory( ).
document = ixml->create_document( ).
After:
DATA(ixml) = cl_ixml=>create( ).
DATA(stream_factory) = ixml->create_stream_factory( ).
DATA(document) = ixml->create_document( ).
1.5 对象实例化
Before:
DATA lo_human TYPE REF TO class_human.
CREATE OBJECT lo_human EXPORTING NAME = 'TONY'.
After:
lo_human = NEW class_human( name = ‘TONY’ ).
2 内表操作
2.1 READ TABLE
2.1.1 Read Table with key
Before:
READ TABLE flight_schedules INTO DATA(flight_schedule)
WITH KEY carrid = 'AA'
connid = '0017'.
After:
DATA(flight_schedule) = flight_schedules[ carrid = 'AA' connid = '0017' ].
2.1.2 Read Table index
Before:
READ TABLE itab INDEX idx
INTO wa.
After:
wa = itab[ idx ].
2.1.3 Read Table using key
Before:
READ TABLE itab INDEX idx
USING KEY key
INTO wa.
After:
wa = itab[ KEY key INDEX idx ].
2.1.4 Read Table index
Before:
DATA idx type sy-tabix.
READ TABLE …
TRANSPORTING NO FIELDS.
idx = sy-tabix.
After:
DATA(idx) =
line_index( itab[ … ] ).
2.1.5 READ TABLE ASSIGNING
Before:
FIELD-SYMBOLS: <line> type …
READ TABLE itab
ASSIGNING <line>.
After:
READ TABLE itab
ASSIGNING FIELD-SYMBOL(<line>).