SWITCH – Operador condicional

Como a própria tradução já diz, SWITCH quer dizer, mudar, trocar… ou seja esse operador deve ser utilizado para substituir um valor por outro. Além disso ele substitui o IF… ELSEIF e o CASE, é bem fácil de usa-lo… vejamos.

Abaixo fiz um exemplo simples para concatenar na descrição do material o idioma da tradução.

 SELECT *
    INTO TABLE @DATA(lt_makt)
  FROM makt
 WHERE matnr EQ ‘000000000000100100’.

LOOP AT lt_makt ASSIGNING FIELDSYMBOL(<fs_makt>).
  <fs_makt>maktx |{ <fs_makt>maktx }  SWITCH maktx<fs_makt>spras 

                                                                                       WHEN ‘S’ THEN ‘Espanhol’
                                                                                       WHEN ‘P’ THEN ‘Português’
                                                                                       WHEN ‘E’ THEN ‘Inglês’

                                                                                       ELSE ‘Idioma desconhecido’   }|.

  WRITE/ <fs_makt>maktx.
ENDLOOP.

SWITCHO resultado é esse ai <<—

 

 

 

Fiz um comparativo de desempenho utilizando IF… ELSEIF e o CASE, não tivemos diferenças significativas (como no READ TABLE) que justifiquem a utilização do SWITCH, porém, este pode ser utilizado com InLine o que na minha opinião é a melhor justificativa.

SWITCH

 

SWITCH

Pontos importantes

Para considerar quando utilizar o SWITCH:

  • Você pode determinar o valor retornado manualmente ou deixar que o compilador determine automaticamente usando #;
  • Deve haver pelo menos um WHEN; “Esse comentário não faz muito sentido mas achei que deveria colocar aqui rsrsr
  • Você pode utilizar  variáveis temporárias depois do THEN;

 

SAP GUI 7.40É isso ai, para um tema simples, um post simples… abraços.

LNUNES

Quer receber todas os posts sobre a versão 7.40 gratuitamente no seu e-mail? Inscreva-se em nossa lista de novidades

* Campo obrigatório