itab = CORRESPONDING #( itab3 MAPPING a = c b = d ).
itab = CORRESPONDING #( itab3 EXCEPT e ).
itab = CORRESPONDING #( itab2 DISCARDING DUPLICATES ).
itab_nested2 = CORRESPONDING #( DEEP itab_nested1 ).
[x] FILTER, EXCEPT
DATA(f3) = FILTER #( itab1 EXCEPT WHERE num >= 3 ).
[x] RENAMING, SUFFIX
INCLUDE TYPE street_type AS street RENAMING WITH SUFFIX _street.
[x] UP ROWS, PACKAGE SIZE
SELECT * FROM dbtab
WHERE ...
INTO TABLE @DATA(itab_upto)
UP TO 5 ROWS.
SELECT FROM dbtab
FIELDS comp1, comp2, comp3
WHERE ...
INTO TABLE itab_pack PACKAGE SIZE n.
[ ] UNBOUNDED, PRECEDING, FOLLOWING
SELECT carrid, currency, fldate,
COUNT( * ) OVER( ORDER BY currency, fldate
ROWS BETWEEN
UNBOUNDED PRECEDING
AND CURRENT ROW ) AS count1,
COUNT( * ) OVER( ORDER BY currency, fldate ) AS count2,
COUNT( * ) OVER( ORDER BY currency, fldate
ROWS BETWEEN CURRENT ROW
AND UNBOUNDED FOLLOWING ) AS count_reverse,
AVG( price AS DEC( 14,2 ) ) OVER( ORDER BY currency, fldate
ROWS BETWEEN
1 PRECEDING
AND 1 FOLLOWING ) AS avg
FROM zdemo_abap_fli
INTO TABLE @DATA(result).
[x] ACCEPTING DUPLICATE KEYS
INSERT dbtab FROM TABLE itab ACCEPTING DUPLICATE KEYS.
[ ] INDICATORS
UPDATE dbtab FROM TABLE @ind_tab INDICATORS SET STRUCTURE comp_ind.
[x] REFERENCE
METHODS stat_meth4 IMPORTING REFERENCE(n) TYPE i.
[x] INSTANCES
SET HANDLER handler2 FOR ALL INSTANCES.
[x] EXACT
DATA(exact1) = EXACT abap_bool( 'XY' ).
[ ] String template formatting (#98)
DATA(d) = |The date is { cl_abap_context_info=>get_system_date( ) DATE = USER }.|.
DATA(tm) = |The time is { cl_abap_context_info=>get_system_time( ) TIME = ISO }.|.
DATA(ts) = |Timestamp: { utclong_current( ) TIMESTAMP = SPACE }.|.
s1 = |AbCdEfG|.
s2 = |{ s1 CASE = LOWER }|. "abcdefg
s2 = |{ s1 CASE = UPPER }|. "ABCDEFG
s1 = `##`.
s2 = |{ s1 WIDTH = 10 ALIGN = LEFT }<---|. "'## <---'
s2 = |{ s1 WIDTH = 10 ALIGN = CENTER }<---|. "' ## <---'
s2 = |{ s1 WIDTH = 10 ALIGN = RIGHT PAD = `.` }<---|. "'........##<---'
s1 = |{ CONV decfloat34( - 1 / 3 ) DECIMALS = 3 }|. "'-0.333'
[x] CIRCULAR
SHIFT ch4 BY 3 PLACES LEFT CIRCULAR.
[x] ONLY
OVERLAY txt1 WITH txt2 ONLY 'ab'.
[x] SUBSTRING
FIND SUBSTRING `hi` IN str.
[x] PCRE
FIND FIRST OCCURRENCE OF PCRE `a.*?P` IN str_abap.
[x] REPLACEMENT
REPLACE FIRST OCCURRENCE OF `ap`
IN str WITH `##`
REPLACEMENT COUNT DATA(cnt2).
[x] ACTION
METHODS some_action FOR MODIFY
IMPORTING keys1 FOR ACTION bdef~some_action.
[x] RESPONSE, MAPPED, FAILED, REPORTED
DATA map1 TYPE RESPONSE FOR MAPPED entity1.
DATA fail1 TYPE RESPONSE FOR FAILED entity1.
DATA rep1 TYPE RESPONSE FOR REPORTED entity1.
[x] RESULT, ENTITIES, ENTITY, EXECUTE, LINK
MODIFY ENTITIES OF root_ent ENTITY root EXECUTE some_action CREATE FROM ...
READ ENTITIES OF root_ent
ENTITY root_ent
BY _child
ALL FIELDS WITH VALUE #( ( key_field = 1 ) )
RESULT DATA(rba_res1)
LINK DATA(links1).
- [x] GROUP SIZE, WITHOUT MEMBERS
```abap
LOOP AT spfli_tab INTO wa GROUP BY ( key1 = wa-carrid key2 = wa-airpfrom index = GROUP INDEX size = GROUP SIZE ) WITHOUT MEMBERS INTO DATA(key).
[x] THROW
test = COND #( WHEN ... THEN ... ELSE THROW cx_some_error( ) ).
[ ] ACCORDING, GIVING
ADD numbers-one THEN numbers-two
UNTIL numbers-five
ACCORDING TO position
GIVING sum
RANGE test.
Many issues found in https://github.com/SAP-samples/abap-cheat-sheets
[x] LOCALE
[x] RESULT (still not fixed)
CALL TRANSFORMATION id OPTIONS value_handling = 'accept_data_loss' SOURCE XML mi_xml_doc RESULT (lt_rtab).
[x] MAPPING, EXCEPT, DISCARDING, DEEP
[x] FILTER, EXCEPT
[x] RENAMING, SUFFIX
[x] UP ROWS, PACKAGE SIZE
[ ] UNBOUNDED, PRECEDING, FOLLOWING
[x] ACCEPTING DUPLICATE KEYS
[ ] INDICATORS
[x] REFERENCE
[x] INSTANCES
[x] EXACT
[ ] String template formatting (#98)
[x] CIRCULAR
[x] ONLY
[x] SUBSTRING
[x] PCRE
[x] REPLACEMENT
[x] ACTION
[x] RESPONSE, MAPPED, FAILED, REPORTED
[x] RESULT, ENTITIES, ENTITY, EXECUTE, LINK
READ ENTITIES OF root_ent ENTITY root_ent BY _child ALL FIELDS WITH VALUE #( ( key_field = 1 ) ) RESULT DATA(rba_res1) LINK DATA(links1).
[x] THROW
[ ] ACCORDING, GIVING