The @@x statement is a variable representing an input argument for a macro. The number x is the number of the argument in the signature of the macro. So, @@1 represents the first input argument, @@2 represents the second input argument, and so on.
@@x
Where x is the number of an argument in the signature of the macro.
Each @@x input argument variable can be used multiple times within a macro expansion.
The @@x argument variable can also be used with the @@S and @@SHx argument variables within a macro expansion.
The meaning of @@x argument variables does not change if an optional variable is not provided; for example, given the following macro signature,
create macro Sample.'@ADD'(single, optional, single) as '(@@1 + @@2 + @@3)';
and the following input parameters,
@ADD("New York", , Connecticut);
the argument variables would be set to these values:
@@1 = "New York" @@2 = @_NULL @@3 = Connecticut
The following example shows a create statement for a macro with three input arguments that are added.
create macro Sample.'@SUM3'(single, single, single) as '(@@1 + @@2 + @@3)';