Is there an operator similar to VB: Select Case ?

headley27
headley27 Member Posts: 188
Instead of writing nested IF statements, is there another C/AL operator similar to Visual Basic's 'Select Case' that I can use?

Thank you very much.

Comments

  • Miklos_Hollender
    Miklos_Hollender Member Posts: 1,629
    i:=1;
    CASE i OF
      1: MESSAGE('one');
    
      2: BEGIN
            MESSAGE('two');
          END;
    END;  //does not allow ELSE
    
  • headley27
    headley27 Member Posts: 188
    Wonderful.

    I figured there must be something.

    Thank you !!
  • zeninoleg
    zeninoleg Member Posts: 236
    i:=1; 
    CASE i OF 
      1: MESSAGE('one'); 
    
      2: BEGIN 
            MESSAGE('two'); 
          END; 
    END;  //does not allow ELSE
    

    NOT true!
     i := 3;
    CASE i OF
      1 : MESSAGE('One');
      2 : MESSAGE('Two');
      ELSE 
        MESSAGE ('NotFound');
    END// ELSE
    
    :wink:
    Best Regards,
    Oleg
  • kriki
    kriki Member, Moderator Posts: 9,129
    Or also something more complicated:
    CASE TRUE OF
      SomeVariableA = SomeOtherVariableA: BEGIN
        ...
      END;
      SomeVariable IN ['A','a','@']: BEGIN
        ...
      END;
      SomeVariableB = SomeOtherVariableB: BEGIN
        ...
      END;
      ELSE BEGIN
        ...
      END;
    END;
    
    Regards,Alain Krikilion
    No PM,please use the forum. || May the <SOLVED>-attribute be in your title!