Session.StartSession(var Integer, Integer, String, var Record, Duration) Method

Version: Available or changed with runtime version 7.0.

Starts a session without a UI and runs the specified codeunit.


[Ok := ]  Session.StartSession(var SessionId: Integer, CodeunitId: Integer, Company: String, var Record: Record, Timeout: Duration)


This method can be invoked without specifying the data type name.


 Type: Integer
The ID of the new session that is started. The ID is assigned to the SessionID variable after the session is started successfully. This parameter is passed by reference to the method.
 Type: Integer
The ID of the codeunit to run when the session is started.
 Type: String
The company in which to start the session. By default, the session is started in the same company as the calling session.
 Type: Record
A record that is passed to the OnRun trigger of the codeunit that runs when the session is started. This parameter is optional.
 Type: Duration
Specifies the timeout of the created session. If not specified a default timeout will be used; for OnPrem, the default timeout is set on the server, for SaaS the current default timeout is 12 hours, and may change in the future.

Return Value

[Optional] Ok
 Type: Boolean
true if the operation was successful; otherwise false. If you omit this optional return value and the operation does not execute successfully, a runtime error will occur.


The session is started on the same Business Central instance from which the method is called. The session that is started is a background session and therefore has no UI. The session executes using the same user credentials as the calling AL code.

For information about how dialog boxes are handled in a background session, see Dialog box behavior.

See Also

Session Data Type
Getting Started with AL
Developing Extensions
Configuring Business Central Server - Default StartSession Timeout