Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
horst_keller
Product and Topic Expert
Product and Topic Expert
This one will be short but fundamental.


Only Unicode Systems in Release 7.50


 

ABAP 7.50 is Unicode only! An AS ABAP can only run as Unicode System with system code page UTF-16. All ABAP programs must be Unicode programs where the Unicode syntax checks are effective.You must always set the respective program attribute.

 

 

 

Nothing more to say from my side.

 


New Built-in Data Type INT8


 

The existing built-in types b, s, i in the ABAP language and the respective built-in types INT1, INT2, INT4 in the ABAP Dictionary got a big brother (or is it a sister?):

 

  • int8 in ABAP language and INT8 in the ABAP Dictionary.


 

  • They specify 8-byte integers with a value range of  -9223372036854775808 to +9223372036854775807.


 

Not much to say about that either. Simply go and use it if you need big integers. The rules are mainly the same as for 4-byte integers, of course with enhanced values for alignment requirement (adress must be divisible by 8), predefined output length on screens (20) and a new calculation type  int8 for arithmetic expressions.

 

Just a little example to remind you that it is always good to use an integer calculation type if you calculate integers, especially for big integers:
DATA arg TYPE int8 VALUE 2.

cl_demo_output=>new(
)->write( |** : { arg ** 62 }|
)->write( |ipow: { ipow( base = arg exp = 62 ) }|
)->display( ).

 

While ** calculates with floating point type f and produces a wrong result, ipow calculates with int8 and produces the correct result.

 

PS: Cool way of "writing" isn't it? But only for demo purposes ...
5 Comments