Como ya comentamos en el anterior artículo sobre las novedades ABAP con SAP 7.40, en este segundo artículo terminaremos de presentar dichas novedades para la programación en ABAP.
A continuación, listamos algunos nuevos operadores, os serán de gran utilidad en vuestro día a día con ABAP.
Nuevos operadores
Entre las novedades ABAP con SAP 7.40 tenemos, operadores nuevos muy conocidos en otros lenguajes de programación como NEW, VALUE, COND y SWITCH, …
Estos operadores se utilizan con la siguiente sintaxis.
... operator type( ... ) ...
NEW
Muy utilizado en la programación orientada a objetos sirve para crear objetos nuevos y, junto con las declaraciones inline vistas anteriormente nos permite hacer declaraciones como estas:
Antes
DATA oref TYPE REF TO class. CREATE OBJECT oref exporting ...
Ahora
DATA(oref) = NEW class( ... ).
VALUE
VALUE es un operador que nos permite crear elementos del tipo indicado pero añadiendo los valores directamente.
Antes
DATA itab TYPE t_itab. DATA wa LIKE LINE OF itab. wa-col1 = 1. wa-col2 = 2. APPEND wa TO itab. wa-col1 = 3. wa-col2 = 4. APPEND wa TO itab.
Ahora
DATA(itab) = VALUE t_itab( ( col1 = 1 col2 = 2 ) ( col1 = 3 col2 = 4 ) ).
COND y SWITCH
Estos operadores nos permiten escribir expresiones condicionales en nuestros programas, pudiendo sustituir código previo realizado con IF y CASE.
COND construye el resultado en base a una serie de expresiones lógicas (IF).
DATA(time) = COND string( WHEN sy-timlo < '120000' THEN |{ sy-timlo TIME = ISO } AM| WHEN sy-timlo > '120000' THEN |{ CONV t( sy-timlo - 12 * 3600 ) TIME = ISO } PM| WHEN sy-timlo = '120000' THEN |High Noon| ELSE THROW cx_cant_be( ) ).
SWITCH construye el resultado en base a comparaciones de tipo igula (CASE).
DATA(number) = SWITCH string( sy-index WHEN 1 THEN 'one' WHEN 2 THEN 'two' WHEN 3 THEN 'three' ELSE THROW cx_overflow( ) ).
Estos son por el momento, todas las novedades ABAP con SAP 7.40.