The macro language, in addition to having access to over 100 built-in functions, also has access to most of the information about the current state of the diary generation, at the moment your macro is called (originating macro token, token date, output page, page of template, …).
➢These system variables do not change value during the execution of a macro's code.
These system variables' names are distinguished by the underscore, "_", that follows their first letter, used to indicate the variable type (n_GridPage, n_TokenDate, …). You cannot modify system variables at run-time, nor can you give your own variables names that contain an underscore.
See also: result variables.