未找到“过程”(293)

时间:2018-09-13 07:30:12

标签: openedge progress-4gl

我正在尝试在本地服务器上设置的appserver上运行一个过程。

  

**找不到'testProc'。 (293)

    DEFINE VARIABLE hndle AS HANDLE NO-UNDO.
    DEFINE VARIABLE tmp AS CHARACTER NO-UNDO.
    CREATE SERVER hndle.

    PROCEDURE testProc:
        DEFINE OUTPUT PARAMETER o_tmp AS CHARACTER INITIAL "HELLO".
    END PROCEDURE.


    hndle:CONNECT ("-AppService AppServiceName-H localhost").
    RUN testProc ON hndle(OUTPUT tmp).


    hndle:DISCONNECT ().
    DELETE OBJECT hndle.

2 个答案:

答案 0 :(得分:4)

您不能在应用服务器上运行内部过程。您必须将代码放入其自己的.p文件中,然后在应用服务器上运行该文件。 .p也必须在appserver的Propath中可用。

答案 1 :(得分:1)

您正在尝试运行内部过程'testProc',而不是过程文件'testProc.p'。它们必须是两个单独的文件。在您的应用服务器上创建一个“ testProc.p”文件,并将您的逻辑放入其中:

DEFINE OUTPUT PARAMETER o_tmp AS CHARACTER INITIAL "HELLO".

在一个单独的文件中,放置调用testProc.p的代码:

DEFINE VARIABLE hndle AS HANDLE NO-UNDO.
DEFINE VARIABLE tmp AS CHARACTER NO-UNDO.

CREATE SERVER hndle.
hndle:CONNECT ("-AppService AppServiceName -H localhost").
RUN testProc.p ON hndle(OUTPUT tmp).

hndle:DISCONNECT ().
DELETE OBJECT hndle.

MESSAGE tmp VIEW-AS ALERT-BOX INFORMATION.

请注意,您的调用程序正在运行testProc.p,而不是testProc。运行此代码,您应该会收到一条弹出消息“ HELLO”。