IBM Books

Net.Data 管理与程序设计指南,OS/2、Windows NT 以及 UNIX 版

调用函数

使用 at (@) 字符后跟 FUNCTION 块名称或 MACRO_FUNCTION 块名称来从 Net.Data 宏中调用一个函数:

@function_name([ argument,... ])

function_name
这是 FUNCTION 块的名称

或要调用的 MACRO_FUNCTION 块。除非是内部函数,否则必须在 Net.Data 宏中已定义函数。

argument
这是定义的变量、字面量字符串、变量引用或函数调用的名称。函数调用上 的变元与 FUNCTION 块或 MACRO_FUNCTION 块上的参数相匹配, 在处理 FUNCTION 块或 MACRO_FUNCTION 块时,对每个参数指定 对应的变元值。变元与对应的参数必须具有相同数目和类型。

Net.Data 用以下顺序来处理与一个函数调用相关联的 FUNCTION 块 、MACRO_FUNCTION 块或内部函数。

  1. Net.Data 在 FUNCTION 块的可执行语句节中处理变量引用和函数调用。Net.Data 用 变量的当前值来代替所有变量引用,并用函数调用的返回值来执行和代替所有函数调用。 变量引用和函数调用是以被指定的顺序进行处理的。在该步骤中,Net.Data 不处理内部函数或 MACRO_FUNCTION 块。

  2. 本机语言处理器处理可执行语句节。 对于 FUNCTION 块,处理器对应于 FUNCTION 块上特定的语言环境,例如 SQL、REXX 或 Perl。 对于 MACRO_FUNCTION 块,Net.Data 起语言处理器的作用,并执行可执行语句。 内部函 数不具有可执行语句。Net.Data 用函数名来处理内部函数。

    Net.Data 将函数的参数传送给本机语言处理器。 Net.Data 只将 IN 和 INOUT 参数的值传送给本机语言处理器,并只从本机语言处理器接受 OUT 和 INOUT 参数的返回值。

  3. Net.Data 根据来自语言处理器的返回消息和返回码来设置隐式的 RETURN_CODE 和 DTW_DEFAULT_MESSAGE 变量。Net.Data 不为 MACRO_FUNCTION 块设 置这些变量。

  4. 如果 FUNCTION 块包含一个 REPORT 块,或指 定要生成的缺省报表,Net.Data 将使用任何引用的输出参数的新值来处理报表节。 Net.Data 不为内部函数生成报表。

  5. 如果 FUNCTION 块包含一个局部 MESSAGE 块,Net.Data 将处理 MESSAGE 块。当以下条 件之一发生时,Net.Data 处理全局 MESSAGE 块:

  6. Net.Data 用函数的返回值来代替函数调用。 对于 FUNCTION 块,此值是下面的某一个:

    RETURNS 参数值
    用 RETURNS 关键字来代替 FUNCTION 块。

    空字符串 ("")
    在 RETURN_CODE 是零时,不带 RETURNS 关键字来代替 FUNCTION 块。

    RETURN_CODE
    在 RETURN_CODE 零时,不带 RETURNS 关键字来代替 FUNCTION 块。

    对于 MACRO_FUNCTION 块,以处理可执行语句的结果代替函数调用 。

    对于内部函数,值取决于内部函数的格式。


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]