How to create functions (procedures in AL)
In this post some examples of how to accomplish things in AL. I’m sharing this because it saves me time if I don’t know anymore how to do certain things.
- A simple global function
- A simple local function
- Global function with OnPrem scope attribute
- Global function with Cloud scope attribute
- Local function with parameter list and return value
Simple global function:
procedure GlobalFunction() var Int: Integer; begin Int := 1+1; Message(Format(Int)); end;
Simple local function:
local procedure LocalFunction() var Int: Integer; begin Int := 1+2; Message(Format(Int)); end;
By default global functions in codeunits for example are available as methods in webservices if the codeunit is published as a webservice. By using the scope attribute a function can still be Public without being available as a webservice method;
- Global function not available as webservice method
- Global function available as webservice method
Global function not available as webservice method
[Scope('OnPrem')]
procedure GlobalFunction()
var
Int: Integer;
begin
Int := 1+3;
Message(Format(Int));
end;
Global function available as webservice method: see the default global function. Global functions are by default a webservice method when the object is exposed as a webservice. The scope attribute is by default ‘Cloud’. So specifying is not neccesary:
[Scope('Cloud')]
procedure GlobalFunction()
var
Int: Integer;
begin
Int := 1+4;
Message(Format(Int));
end;
Local function with parameter list and return value could look like this for example:
local procedure SumFunction (x:integer;y:integer) "SumResult" : integer begin Exit(x+y); end;
This was originally posted here.

Like
Report
*This post is locked for comments