Introducción #
En este grupo se irán poniendo las distintas sentencias que nos permiten hacer condiciones.
Estas sentencias se pueden utilizar para crear nuevas variables o ponerlas como entrada de parámetro en clases.
Ejemplo 1 #
Permite que una variable se inicialice segun una condicion determinada:
DATA(lv_updkz) = COND #( WHEN is_header-negotiation_code IS INITIAL THEN zif_rtn_data=>cv_updkz_insert
WHEN is_header-has_changed = abap_true THEN zif_rtn_data=>cv_updkz_edit ).
Ejemplo 2 #
Uso de SWITCH haciendo una conversion de variable;
<ls_cond_crud>-value = SWITCH #( <ls_conditions_values_field>-field_type
WHEN zif_rtn_negotiation_data=>cs_field_types-flex_group THEN <field>
LSE CONV string( <field> ) ).
Ejemplo 3 #
DATA lv_valor TYPE string.
DO 10 TIMES.
lv_valor = COND #( LET x = sy-index MOD 2 IN WHEN x = 0 THEN |par| ELSE |impar| ).
WRITE:/ lv_valor.
ENDDO.