«процедура» не найдена (293) - PullRequest
       9

«процедура» не найдена (293)

0 голосов
/ 13 сентября 2018

Я пытаюсь запустить процедуру на сервере приложений, которая настроена на локальном хосте.

** '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 голосов
/ 13 сентября 2018

Вы пытаетесь запустить внутреннюю процедуру '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».

0 голосов
/ 13 сентября 2018

Вы не можете запускать внутренние процедуры на сервере приложений.Вы должны поместить код в свой собственный файл .p и запустить его на сервере приложений..P также должен быть доступен в Propath сервера приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...