CASE de pernas para o ar
2011-08-08
Qual é a tua cor preferida?
SELECTION-SCREEN BEGIN OF BLOCK b1.
PARAMETERS: p_azul BUTTONGROUP GROUP COR DEFAULT 'X',
p_verde BUTTONGROUP GROUP COR,
p_roxo BUTTONGROUP GROUP COR.
SELECTION-SCREEN END OF BLOCK b1.
Se respondeste azul sobrevives e podes atravessar a ponte.
De qualquer das formas, em ABAP costuma fazer-se o seguinte para descobrir a cor que o utilizador escolheu:
IF p_azul = 'X'.
lv_cor = 'AZUL'.
ELSE IF p_verde = 'X'.
lv_cor = 'VERDE'.
ELSE IF p_roxo = 'X'.
lv_cor = 'ROXO'.
ENDIF.
Mas há uma forma curiosa e muito mais elegante de conseguir o mesmo. É aquilo a que se pode chamar de CASE de pernas para o ar:
CASE 'X'.
WHEN p_azul.
lv_cor = 'AZUL'.
WHEN p_verde.
lv_cor = 'VERDE'.
WHEN p_roxo.
lv_cor = 'ROXO'.
ENDCASE.
E esta, heim?
Obrigado ao itspaulkelly pela foto.
O Abapinho saúda-vos.