默认逻辑不起作用,但脚本通过UJKT起作用

2020-09-25 07:47发布

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

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


专家们,

我在默认逻辑中存在触发脚本的问题。

但是在通过UJKT运行时,同一脚本可以正确执行。

下面是脚本

* XDIM_MEMBERSET类别=
* XDIM_MEMBERSET TIME = 2022.001
* XDIM_MEMBERSET RPTCURRENCY = USD
* XDIM_MEMBERSET MEASURES = YTD
* XDIM_MEMBERSET FLOW = <所有>

*当帐户
* IS" 2920000"
*当CS_DATASRC
* IS" DS_LOAD"
*当流量
* IS" F_ACTIVITY"
* REC(EXPRESSION =%VALUE% ,ACCOUNT =" 2920000",CS_DATASRC =" DS_CALC")
* ENDWHEN
* ENDWHEN
* ENDWHEN

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

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


专家们,

我在默认逻辑中存在触发脚本的问题。

但是在通过UJKT运行时,同一脚本可以正确执行。

下面是脚本

* XDIM_MEMBERSET类别=
* XDIM_MEMBERSET TIME = 2022.001
* XDIM_MEMBERSET RPTCURRENCY = USD
* XDIM_MEMBERSET MEASURES = YTD
* XDIM_MEMBERSET FLOW = <所有>

*当帐户
* IS" 2920000"
*当CS_DATASRC
* IS" DS_LOAD"
*当流量
* IS" F_ACTIVITY"
* REC(EXPRESSION =%VALUE% ,ACCOUNT =" 2920000",CS_DATASRC =" DS_CALC")
* ENDWHEN
* ENDWHEN
* ENDWHEN

付费偷看设置
发送
5条回答
d56caomao
1楼 · 2020-09-25 08:32.采纳回答

正确的default.lgf-没有任何XDIM_MEMBERSET!

 *当RPTCURRENCY
 * IS USD//仅用于美元过帐!
 *当流
 * IS F_ACTIVITY//仅用于F_ACTIVITY
 *当CS_DATASRC
 * IS DS_INPUT//仅适用于DS_INPUT
   * REC(EXPRESSION =%VALUE%-[CS_DATASRC]。[DS_LOAD],CS_DATASRC = DS_CALC)
 *结束
 *结束
 * ENDWHEN 

请阅读我有关default.lgf的博客: https://blogs.sap.com/2014/06/09/how-to-write-defaultlgf /

SC_Yao
2楼-- · 2020-09-25 08:29

嗨,瓦迪姆,

我已根据您的博客进行了一些更改。 下面是我更新的脚本。

场景:-

1)来自BW的数据被加载到DS_LOAD。 例如说1000美元

2)然后在DS_INPUT中输入数据。 例如说1100美元

3)基于以下条件,应触发脚本逻辑通过输入窗体在DS_INPUT中输入的数据,并且应将DS_INPUT和DS_LOAD的差额(即DS_INPUT-DS_LOAD)发布到DS_CALC。

因此差异1100-1000,即100应该记入DS_CALC

现在问题仅是1100被发布到DS_CALC,而不是1100-1000之间的差额。 所以第二个条件不起作用

默认脚本:-

* XDIM_MEMBERSET类别=
* XDIM_MEMBERSET TIME =
* XDIM_MEMBERSET RPTCURRENCY = USD
* XDIM_MEMBERSET度量= YTD
* XDIM_MEMBERSET FLOW = F_ACTIVITY

//下面是当条件是将数据从DS_INPUT进一步移动到DS_CALC时,在DS_INPUT输入了输入表单数据,因此将DS_INPUT的数据复制到了DS_CALC

*当CS_DATASRC
* IS DS_INPUT
* REC(FACTOR = 1,CS_DATASRC = DS_CALC)

//下面是将数据从DS_LOAD移到DS_CALC时的条件,下面的数据也必须移到DS_CALC的条件。
* ELSE
*当CS_DATASRC
* IS DS_LOAD
* REC( FACTOR = -1,CS_DATASRC = DS_CALC)
* ENDWHEN
* ENDWHEN

追夢秋陽
3楼-- · 2020-09-25 08:30

请解释一下您的意思是"出现问题触发脚本"。 根本就不会触发它吗? 还是执行默认逻辑时出现错误?

您如何触发默认逻辑? 通常,只要发生数据更改,就会触发默认逻辑。

请提供有关您的问题的更多详细信息,因为目前没有足够的详细信息可以理解。

此致

Peter Kreutlein

My梦
4楼-- · 2020-09-25 08:43

嗨,瓦迪姆,

我已根据您的博客进行了一些更改。 下面是我更新的脚本。

方案:-

1)来自BW的数据被加载到DS_LOAD。 例如说1000美元

2)然后在DS_INPUT中输入数据。 例如说1100美元

3)基于以下条件,应触发脚本逻辑通过输入窗体在DS_INPUT中输入的数据,并且应将DS_INPUT和DS_LOAD的差额(即DS_INPUT-DS_LOAD)发布到DS_CALC。

因此差异1100-1000,即100应该记入DS_CALC

现在问题仅是1100被发布到DS_CALC,而不是1100-1000之间的差额。 所以第二个条件不起作用

默认脚本:-

* XDIM_MEMBERSET类别=
* XDIM_MEMBERSET TIME =
* XDIM_MEMBERSET RPTCURRENCY = USD
* XDIM_MEMBERSET度量= YTD
* XDIM_MEMBERSET FLOW = F_ACTIVITY

//下面是当条件是将数据从DS_INPUT进一步移动到DS_CALC时,在DS_INPUT输入了输入表单数据,因此将DS_INPUT的数据复制到了DS_CALC

*当CS_DATASRC
* IS DS_INPUT
* REC(FACTOR = 1,CS_DATASRC = DS_CALC)

//下面是将数据从DS_LOAD移到DS_CALC时的条件,下面的数据也必须移到DS_CALC的条件。
* ELSE
*当CS_DATASRC
* IS DS_LOAD
* REC( FACTOR = -1,CS_DATASRC = DS_CALC)
* ENDWHEN
* ENDWHEN

吹牛啤
5楼-- · 2020-09-25 08:30

首先:您没有按照以下条件准备问题: https://blogs.sap.com/2014/01/31/如何询问关于脚本逻辑问题的问题/

请更正并添加缺少的信息。

第二个-default.lgf的行为与DM包中的脚本不同。 但是无论如何,您都需要解释所需的逻辑!

一周热门 更多>