====== Begin procedure ====== This action allows you to start a procedure declaration. A procedure contains actions inserted between a [[en:actions:ActionBeginProcedure|Begin procedure action]] and a [[en:actions:ActionEndProcedure|End procedure action]]. A procedure can be called using a [[en:actions:ActionCallProcedure|Call procedure action]] or any "If true/false/etc" parameter. When the actions contained within the procedure have been executed the execution automatically jumps after the action that made the procedure call. Procedures have the following limitations: * Each procedure has an unique, non-empty name that cannot be dynamically set * Is not allowed to declare a procedure within another procedure * Each Begin procedure action has to have exactly one End procedure action * Variables declared within the procedure will be kept outside the procedure (this is not the case in most programming languages) * Procedures doesn't have any parameters (yet) Note also that: * Recursive calls are allowed (a procedure can call itself) * You can call a procedure before it is declared * You should not use any [[en:actions:ActionGoto|Goto action]], conditional actions, nor jump outside the procedure because doing this will prevent the execution to go back to the calling action * You should not mix gotos and procedures [//Added in Actionaz 3.4.0.//] ===== Standard parameters ===== ==== Input parameters ==== == Name == The name of the procedure. ===== Exceptions ===== * [[en:actions:exceptions#Bad parameter|Bad parameter]] * [[en:actions:exceptions#Code error|Code error]] * [[en:actions:exceptions#Timeout|Timeout]]