CASE dentro de SELECT (brevemente em todos os SAPs)
2015-07-20
![images/thumbnail.jpg - Thumbnail](/2015/07/case-dentro-de-select-brevemente-em-todos-os-saps/images/thumbnail_hu284608f583d08939e649fd445b6772e5_58782_300x0_resize_q75_box.jpg)
Prepara-te porque em breve terás muitas surpresas. É que o ABAP está a aprender troques novos. Repara neste:
CONSTANTS:
lc_menina TYPE STRING VALUE ‘MENINA',
lc_menino TYPE STRING VALUE ‘MENINO’,
lc_senhor TYPE STRING VALUE ’SENHOR’,
lc_senhora TYPE STRING VALUE ‘SENHORA’.
SELECT nome,
CASE
WHEN sexo_id = ‘M' AND idade < 18 THEN @lc_menino
WHEN sexo_id = ‘F’ AND idade < 18 THEN @lc_menina
WHEN sexo_id = ‘M' AND idade >=18 THEN @lc_senhor
WHEN sexo_id = ‘F’ AND idade >=18 THEN @lc_senhora
END AS titulo
FROM zpessoa
WHERE pessoa_id = @pessoa_id
INTO CORRESPONDING FIELDS OF @lt_pessoas.
Só tens de esperar pela versão 7.40.
Obrigado Sérgio Fraga pela dica.
O Abapinho saúda-vos.