Есть ли другое поведение в хане между хранимой процедурой и консолью sql - PullRequest
1 голос
/ 17 февраля 2020

Я пытаюсь запустить потоковую диаграмму из хранимой процедуры. Блок-схема использует физическую таблицу (в hana) в качестве источника данных и тип таблицы в целевом объекте данных. На потоковом графике определены две переменные. Я пробую утверждение в консоли sql и в Dynami c sql (EXE C -Statement), и это сработало оба. Используя следующую инструкцию в хранимой процедуре:

create local temporary table #ILTMP_BusinessPartner like "IL_BusinessPartner_TT";
START TASK "FG_IL_BusinessPartner_TT" (
        RUNID => '1DDA0970D72353FE16001100A77DE766',
        IDOFDATASET => '0020002933')
        PROCEDURE PARAMETERS( #ILTMP_BusinessPartner );
drop table #ILTMP_BusinessPartner;

возвращает следующее сообщение об ошибке:

Could not execute 'CALL "X601484_FSDM_INTEGRATION_DELTA"."PR_Test_Parallel"()'
Error: (dberror) [2]: general error: Output argument should be a variable; $condition$=name

Я пропускаю специальное поведение в хранимой процедуре?

Спасибо за ваш совет.

1 Ответ

0 голосов
/ 24 марта 2020

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

DECLARE VAR_OUTPUT IL_BusinessPartner_TT;
START TASK "Test_No_Parameter_tempTable" PROCEDURE PARAMETERS (:VAR_OUTPUT);
...