通过存储过程将CURRENT_DATE分配给流程图变量

2020-09-03 22:27发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我们正在基于Web的Development Workbench v 1.120.38中使用SDI。

通过一个存储过程,我试图运行一个流程图,该流程图将使用我选择的日期或默认情况下的今天的日期填充到目标表中。 我可以通过直接运行流程图来完美地做到这一点。 我定义了一个" DATE"变量,其默认值为:CURRENT_DATE。 然后,我在目标表的列中填写$$ DATE $$。

现在,我正尝试从存储过程传递此默认值,因为我想通过同一存储过程运行多个流程图。 但是我从来没有今天的日期。 就像存储过程的CURRENT_DATE是'2002-01-01'一样,我不知道此值的来源。

这是一个存储过程的简单脚本,试图将当前日期传递到流程图的变量中:

过程" ZMODELING"。" 5_StoredProcedures :: SP_START_ZTEST_VARIABLE"()

语言SQLSCRIPT

SQL安全调用程序

默认模式" MYSCHEMA"为

BEGIN DECLARE EX_DATE NVARCHAR(21);

SQLEXCEPTION的DECARE EXIT处理程序

从DUMMY中选择:: SQL_ERROR_CODE,:: SQL_ERROR_MESSAGE;

开始自主交易

EX_DATE:= CURRENT_DATE;

END;

EXEC'开始任务" ZMODELING"。" 1_Flowgraphs :: ZFL_TEST_VARIABLE"(" DATE" =>'''|| EX_DATE ||''')';;

END

但是,它总是在目标表中插入'2002-01-01'。

我还尝试了其他分配语句,例如" SELECT CURRENT_DATE INTO EX_DATE FROM dummy;"。 但是什么都没用,就像存储过程中变量的当前日期是'2002-01-01'。

即使只使用EXEC'START TASK" ZMODELING"运行存储过程。"" 1_Flowgraphs :: ZFL_TEST_VARIABLE"(" DATE" =>'''|| CURRENT_DATE ||'')';; 的日期将为" 2002-01-01"。

有人可以帮助我吗? 您还有" 2002-01-01"吗?

还能帮助我的是,我知道如何使用存储过程中的默认变量启动流程图。 我试图在不使用输入变量或将NULL值作为输入变量的情况下启动流程图,但这会引发错误。

谢谢你读我!

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我们正在基于Web的Development Workbench v 1.120.38中使用SDI。

通过一个存储过程,我试图运行一个流程图,该流程图将使用我选择的日期或默认情况下的今天的日期填充到目标表中。 我可以通过直接运行流程图来完美地做到这一点。 我定义了一个" DATE"变量,其默认值为:CURRENT_DATE。 然后,我在目标表的列中填写$$ DATE $$。

现在,我正尝试从存储过程传递此默认值,因为我想通过同一存储过程运行多个流程图。 但是我从来没有今天的日期。 就像存储过程的CURRENT_DATE是'2002-01-01'一样,我不知道此值的来源。

这是一个存储过程的简单脚本,试图将当前日期传递到流程图的变量中:

过程" ZMODELING"。" 5_StoredProcedures :: SP_START_ZTEST_VARIABLE"()

语言SQLSCRIPT

SQL安全调用程序

默认模式" MYSCHEMA"为

BEGIN DECLARE EX_DATE NVARCHAR(21);

SQLEXCEPTION的DECARE EXIT处理程序

从DUMMY中选择:: SQL_ERROR_CODE,:: SQL_ERROR_MESSAGE;

开始自主交易

EX_DATE:= CURRENT_DATE;

END;

EXEC'开始任务" ZMODELING"。" 1_Flowgraphs :: ZFL_TEST_VARIABLE"(" DATE" =>'''|| EX_DATE ||''')';;

END

但是,它总是在目标表中插入'2002-01-01'。

我还尝试了其他分配语句,例如" SELECT CURRENT_DATE INTO EX_DATE FROM dummy;"。 但是什么都没用,就像存储过程中变量的当前日期是'2002-01-01'。

即使只使用EXEC'START TASK" ZMODELING"运行存储过程。"" 1_Flowgraphs :: ZFL_TEST_VARIABLE"(" DATE" =>'''|| CURRENT_DATE ||'')';; 的日期将为" 2002-01-01"。

有人可以帮助我吗? 您还有" 2002-01-01"吗?

还能帮助我的是,我知道如何使用存储过程中的默认变量启动流程图。 我试图在不使用输入变量或将NULL值作为输入变量的情况下启动流程图,但这会引发错误。

谢谢你读我!

付费偷看设置
发送
1条回答
SAP浪
1楼-- · 2020-09-03 23:16

嗨,

这是答案。 用当前日期开始流程图的正确语法是:

EXEC'开始任务" ZMODELING"。" 1_Flowgraphs :: ZFL_TEST_VARIABLE"(" DATE" =>'''''|| CURRENT_DATE ||''''')';

这意味着在上述过程中,我们需要将EX_DATE定义为TO_NVARCHAR('''''|| CURRENT_DATE ||''''')),而不是简单地定义EX_DATE:= CURRENT_DATE。 我们需要在CURRENT_DATE公式周围添加5个单引号。

此致

金刚烷

一周热门 更多>