C/AL Translation

djswimdjswim Member Posts: 277
Alright, this is inside a function which returns a Boolean... can someone help me translate?
WITH "Value Entry" DO
  IF "Item Ledger Entry Type" = "Item Ledger Entry Type"::Output THEN
    EXIT("Entry Type" <> "Entry Type"::"Direct Cost")
  ELSE
    EXIT("Expected Cost");

I understand the following:

1. Take the Value Entry record and look at if the entry type is Output, then...
a. ?
otherwise:
b. ?

I guess my question is if the function returns a Boolean, what is going on in those EXIT statements?

Thx in advance...
"OMG ALL MY DATA IS GONE"
"Show All..."
"Oh..."

Answers

  • djswimdjswim Member Posts: 277
    I was just about to say "I know what EXIT does, but how are those things getting returned as booleans?"

    That caused me to look again at the code and realize what was going on in there... didn't even think about "Expected Cost" being a boolean :)

    Thank you!
    "OMG ALL MY DATA IS GONE"
    "Show All..."
    "Oh..."
  • DenSterDenSter Member Posts: 8,305
    The first one:
    EXIT("Entry Type" <> "Entry Type"::"Direct Cost")
    
    What is between parentheses is an expression. Expressions always resolve to TRUE or FALSE. Basically it is a short way to write this:
    IF ("Entry Type" <> "Entry Type"::"Direct Cost") THEN
      EXIT(TRUE)
    ELSE
      EXIT(FALSE);
    

    The second one: "Expected Cost" is a boolean type field, so it will return whatever value is in that field.
Sign In or Register to comment.