一个标识符(它是一个变量或函数调用)成为可见,意味着当它被说明 或例示之后就可被引用。标识符可见的区域称为它的作用域。作用域有 5 种类型:
如果您可以在一个宏中的任何地方引用一个标识符,则该标识符就具有全局作用域。 具有全局作用域的标识符有:
如果一个标识符的说明出现在任何块的外面,则它有此作用域。一个块以左括号 ({) 开始,以百分号加右括号 (%}) 结束。(注意,DEFINE 块是此定义的例外,应当将它作为独立的 DEFINE 语句处理)。与具有全局作用域的标识符不同,具有宏作用域的标识符只能由该宏中位于标识符 说明之后的项引用。
如果一个标识符满足以下条件, 则它具有函数块作用域:
如果一个标识符在函数定义的外面已经存在相同名称,那么 Net.Data 将使用函数块中的参数表中的标识符。
如果一个标识符在函数外已 被说明或初始化并且没有在函数参数表中说明,则该标识符不具有函数块作用域。标识符在函数块中的值保持不变, 除非由函数进行更新。
如果一个标识符只可以在 REPORT 块中被引用(例如表列名 N1、N2、 ...、Nn),则它具有报告块作用域。只有 Net.Data 隐式定义为表处理的一部分 的那些变量才可以具有报告块作用域。例示的任何其他变量都具有函数块作用域。
如果只可以从 ROW 块中调用一个标识符(例如表值名 V1、V2、...、Vn),则该标识 符具有行块作用域。只有 Net.Data 隐式定义为表处理的一部分的那些变量才可以具有行块作用域。例示的任何其他变量都具有函数块作用域。