R189 – IF/ELSE could be CASE (WMB)

IF/ELSE could be CASE (WMB)

According to IBM Best Practices, replacing an IF/ELSE/ELSEIF with a CASE statement can improve performance.

IF Thing=’A’ THEN
   SET REF_Content.(XMLNSC.Attribute)stuff=’1′;
ELSEIF Thing=’B’ THEN
   SET REF_Content.(XMLNSC.Attribute)stuff=’2′;
ELSEIF Thing=’C’ THEN
   SET REF_Content.(XMLNSC.Attribute)stuff=’3′;
ELSEIF Thing=’D’ THEN
   SET REF_Content.(XMLNSC.Attribute)stuff=’4′;
ELSE
   SET REF_Content.(XMLNSC.Attribute)stuff=’5′;
END IF;

Can be replaced with the following:

CASE Thing
WHEN ‘A’ THEN
   SET REF_Content.(XMLNSC.Attribute)stuff=’1′;
WHEN ‘B’ THEN
   SET REF_Content.(XMLNSC.Attribute)stuff=’1′;
WHEN ‘C’ THEN
   SET REF_Content.(XMLNSC.Attribute)stuff=’1′;
WHEN ‘D’ THEN
   SET REF_Content.(XMLNSC.Attribute)stuff=’1′;
ELSE
   SET REF_Content.(XMLNSC.Attribute)stuff=’5′;
END;