RUNLOGIC_PH脚本对调用的脚本逻辑给出了不同的答案

2020-09-10 11:14发布

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

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


嗨,

我们正在从MS-SQL的BW 7.31的BPC 10.0 SP4升级-> HANA的BW 7.51的BPC 10.1。

我在RUNLOGIC_PH脚本中发现了一个奇怪的结果(该脚本在BPC 10.0中以前工作)。 如果从调用模型运行目标脚本,则与在目标模型中运行相同脚本时得到的结果不同。

因此,如果我从合并模型执行RUNLOGIC_PH,则得到的数字与直接在ICMatching模型中为同一合并范围直接运行脚本逻辑时得到的数字不同。 (就我正在分析的特定数据而言,相差9倍)。

我有一个执行RUNLOGIC_PH的整合模型

我有一个托管被调用代码的ICMatching模型。

从合并模型中调用代码:

 * START_BADI RUNLOGIC_PH
 查询=关闭
 写=开
 APPSET = DD_BPC_IFRS
 APP = ICMatching
 调试=开
 验证=开
 逻辑= ALTERPC.LGF
 尺寸ICACCOUNT = <全部>
 尺寸ICAUDITID = <全部>
 尺寸帐户= <无>
 尺寸AUDIDID = <无>
 维度中心= <无>
 维度约束= <无>
 维度LOB = <无>
 尺寸补充= <无>
 DIMENSION CATEGORY =%CATEGORY_SET%
 尺寸货币= USD,ZAR
 维度实体= <全部>
 尺寸流= <全部>
 尺寸INTERCO = 
 DIMENSION PCENTRE =%PCENTRE_SET%
 DIMENSION TIME =%TIME_SET%
 * END_BADI
 

ICMatching模型:ALTERPC.LGF(称为代码)

 * XDIM_MEMBERSET CATEGORY =%CATEGORY_SET%
 * XDIM_MEMBERSET货币= USD,ZAR
 * XDIM_MEMBERSET ENTITY = BAS(LE_GDDHP)
 * XDIM_MEMBERSET FLOW = <全部>
 * XDIM_MEMBERSET ICACCOUNT = <所有>
 * XDIM_MEMBERSET ICAUDITID = DEBIT1,CREDIT1,DEBIT2,CREDIT2
 * XDIM_MEMBERSET INTERCO = <全部>
 * XDIM_MEMBERSET PCENTRE =%PCENTRE_SET%
 * XDIM_MEMBERSET TIME =%TIME_SET%
 *当流
 * IS F99
 * REC(FACTOR = 1,FLOW =" PL99",PCENTRE = ENTITY.COUNTRY)
 *结束
 *承诺
 

就像我之前提到的那样,此正常工作在BPC 10.0中。 现在,我必须执行ICMatching模型中的代码才能给出正确的结果。 我确实得到执行RUNLOGIC的结果,只是它们不正确。

有人以前见过这样的东西吗?

亲切问候

尼克

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

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


嗨,

我们正在从MS-SQL的BW 7.31的BPC 10.0 SP4升级-> HANA的BW 7.51的BPC 10.1。

我在RUNLOGIC_PH脚本中发现了一个奇怪的结果(该脚本在BPC 10.0中以前工作)。 如果从调用模型运行目标脚本,则与在目标模型中运行相同脚本时得到的结果不同。

因此,如果我从合并模型执行RUNLOGIC_PH,则得到的数字与直接在ICMatching模型中为同一合并范围直接运行脚本逻辑时得到的数字不同。 (就我正在分析的特定数据而言,相差9倍)。

我有一个执行RUNLOGIC_PH的整合模型

我有一个托管被调用代码的ICMatching模型。

从合并模型中调用代码:

 * START_BADI RUNLOGIC_PH
 查询=关闭
 写=开
 APPSET = DD_BPC_IFRS
 APP = ICMatching
 调试=开
 验证=开
 逻辑= ALTERPC.LGF
 尺寸ICACCOUNT = <全部>
 尺寸ICAUDITID = <全部>
 尺寸帐户= <无>
 尺寸AUDIDID = <无>
 维度中心= <无>
 维度约束= <无>
 维度LOB = <无>
 尺寸补充= <无>
 DIMENSION CATEGORY =%CATEGORY_SET%
 尺寸货币= USD,ZAR
 维度实体= <全部>
 尺寸流= <全部>
 尺寸INTERCO = 
 DIMENSION PCENTRE =%PCENTRE_SET%
 DIMENSION TIME =%TIME_SET%
 * END_BADI
 

ICMatching模型:ALTERPC.LGF(称为代码)

 * XDIM_MEMBERSET CATEGORY =%CATEGORY_SET%
 * XDIM_MEMBERSET货币= USD,ZAR
 * XDIM_MEMBERSET ENTITY = BAS(LE_GDDHP)
 * XDIM_MEMBERSET FLOW = <全部>
 * XDIM_MEMBERSET ICACCOUNT = <所有>
 * XDIM_MEMBERSET ICAUDITID = DEBIT1,CREDIT1,DEBIT2,CREDIT2
 * XDIM_MEMBERSET INTERCO = <全部>
 * XDIM_MEMBERSET PCENTRE =%PCENTRE_SET%
 * XDIM_MEMBERSET TIME =%TIME_SET%
 *当流
 * IS F99
 * REC(FACTOR = 1,FLOW =" PL99",PCENTRE = ENTITY.COUNTRY)
 *结束
 *承诺
 

就像我之前提到的那样,此正常工作在BPC 10.0中。 现在,我必须执行ICMatching模型中的代码才能给出正确的结果。 我确实得到执行RUNLOGIC的结果,只是它们不正确。

有人以前见过这样的东西吗?

亲切问候

尼克

付费偷看设置
发送
8条回答
DafaDDDa
1楼 · 2020-09-10 11:27.采纳回答

尝试在VADIM_APC_INC中仅选择维度为PCENTRE的基本成员:

 * SELECT(%PC%,[ID],PCENTRE,[ID] =%PCENTRE_SET%AND [CALC] = N)//仅从%PCENTRE_SET%中选择基本成员
 * XDIM_MEMBERSET PCENTRE =%PC%
 *当流
 *是*
 * REC(FACTOR = 1,FLOW =" PL99",PCENTRE = ENTITY.COUNTRY)
 * ENDWHEN 

"正如您所提到的,当我运行ICMatching中的代码时,没有记录。很奇怪。" -无可奉告,您做错了什么。 它必须正常工作!

CJones
2楼-- · 2020-09-10 11:17

大家好,

我也在RUNLOGIC_PH代码中遇到问题。

我正在尝试运行运行分配脚本12或18个月,这需要更多时间。 然后我们计划在RUNLOGIC_PH中运行,其中时间选择将基于时间进行划分。

我们正在通过数据管理器提示传递变量。 在范围内定义。

有人可以帮她...吗?

您会看到以下代码。

* XDIM_MEMBERSET CATEGORY =%CATEGORY_SET%

* XDIM_MEMBERSET TIME =%TIME_SET%

* XDIM_MEMBERSET PROFITCENTER = $ PROFITCENTER_SELECTION $ * XDIM_MEMBERSET COSTCENTER = $ COSTCENTER_SELECTION $ * XDIM_MEMBERSET ENTITY =%ENTITY_SET%

* XDIM_MEMBERSET FLOW = CL_05

* XDIM_MEMBERSET范围= G_NONE

* XDIM_MEMBERSET RPTCURRENCY = LC

* START_BADI RUNLOGIC_PH

QUERY = OFF

WRITE = ON

VALIDATION = OFF

LOGIC = T1.LGF

//APPSET = ALMARAI

APP = FLASH_RFC_DIV

//DIMENSION CATEGORY =%CATEGORY_SET%

DIMENSION TIME =%TIME_SET%

//VARIABLE PROFITCENTER = $ PROFITCENTER_SELECTION $

//VARIABLE COSTCENTER = $ COSTCENTER_SELECTION $

//DIMENSION ENTITY =%ENTITY_SET%

//DIMENSION FLOW = CL_05

//DIMENSION SCOPE = G_NONE

//DIMENSION RPTCURRENCY = LC

CHANGED = TIME * END_BADI

FLASH_RFC_DIV模型:T1.LGF(称为代码)

* XDIM_MEMBERSET CATEGORY =%CATEGORY_SET%

* XDIM_MEMBERSET TIME =%TIME_SET%

* XDIM_MEMBERSET PROFITCENTER = $ PROFITCENTER_SELECTION $ * XDIM_MEMBERSET COSTCENTER = $ COSTCENTER_SELECTION $ * XDIM_MEMBERSET ENTITY =%ENTITY_SET%

* XDIM_MEMBERSET FLOW = CL_05

* XDIM_MEMBERSET范围= G_NONE

* XDIM_MEMBERSET RPTCURRENCY = LC

* SELECT(%PREV%,PREV_CATEGORY,CATEGORY,ID =%CATEGORY_SET%)* SELECT(%YR%,NEXTYEAR,CATEGORY,ID =%CATEGORY_SET%)

* SELECT(%CY%,YEAR,CATEGORY,ID =%CATEGORY_SET%)

* SELECT(%RFCMNTH%,STARTMNTH,CATEGORY,ID =%CATEGORY_SET%)* SELECT(%TIMYR%," [TIMEID]",TIME," [TIMEID]> =%YR%0100 AND [TIMEID] < =%YR%1200")

* SELECT(%TIMN%," [TIMEID]",TIME," [TIMEID] <>%TIMYR%AND [ID] =%TIME_SET%'")* SELECT(%MNTHSCYM%," [ID]" ,TIME," [[TIMEID]> =%CY %% RFCMNTH%AND [TIMEID] =%TIMN%'")

* FOR%GLSET%= ALMAPAYROLL

* FOR%TIM%=%MNTHSCYM%

* RUNALLOCATION * FACTOR =使用/总计

* DIM COSTCENTER WHAT = ALMANONE; WHERE = $ COSTCENTER_SELECTION $,ALMANONE;使用= <<<; 总计= <<<

* DIM帐户WHAT = ALMANONE;位置<> ALMA; 使用= <<<; 总计= <<<

* DIM PROFITCENTER WHAT = $ PRFCT $ _ND; WHERE = $ PROFITCENTER_SELECTION $; 使用= <<<; 总计= <<<

* DIM GLACCOUNT WHAT =%GLSET%_ND; WHERE = BAS(%GLSET%); 使用= <<<; 总计= <<<

* DIM TIME WHAT =%TIM%; WHERE = <<<; 使用= <<<; 总计= <<<

* DIM实体= ALMA; WHERE =%ENTITY_SET%; 使用= <<<; TOTAL = <<< * DIM类别=%CATEGORY_SET%; WHERE = <<<; 使用=%PREV%; 总计= <<<

* DIM SEGMENT WHAT = SNONE; WHERE <> ALMA; 使用= <<<; 总计= <<< *终止

* NEXT * NEXT

SAP砖家
3楼-- · 2020-09-10 11:32

"错误的结果"-毫无意义! 您必须在狭窄的范围内测试脚本,以证明某些清晰的成员集会产生不同的结果。

通过减少脚本的方式:

 * START_BADI RUNLOGIC_PH
 查询=关闭
 写=开
//APPSET = DD_BPC_IFRS-将使用当前环境!
 APP = ICMatching
 调试=开
 验证=开
 逻辑= ALTERPC.LGF
//未使用的尺寸
 尺寸帐户= <无>
 尺寸AUDIDID = <无>
 维度中心= <无>
 维度约束= <无>
 维度LOB = <无>
//使用的尺寸
 尺寸ICACCOUNT = <全部>
 尺寸ICAUDITID = DEBIT1,CREDIT1,DEBIT2,CREDIT2//!!!!!!!!!!!!!
 尺寸补充= <无>
 DIMENSION CATEGORY =%CATEGORY_SET%
 尺寸货币= USD,ZAR
 维度实体= BAS(LE_GDDHP)//!!!!!!!!!!!
 尺寸流= F99//!!!!!!!!!!!!!!!!!!
 尺寸INTERCO = 
 DIMENSION PCENTRE =%PCENTRE_SET%
 DIMENSION TIME =%TIME_SET%
 * END_BADI 

调用脚本:

 * WHEN FLOW//或其他任何尺寸名称
 *是*
 * REC(FACTOR = 1,FLOW =" PL99",PCENTRE = ENTITY.COUNTRY)
 * ENDWHEN 

范围将由RUNLOGIC_PH

Doze时光
4楼-- · 2020-09-10 11:16

2 Kaman Singh

< p>如果您需要帮助,请打开一个新问题!

我在这里不回答。

歪着头看世界
5楼-- · 2020-09-10 11:42

嗨,瓦迪姆,

感谢您的答复和对代码的帮助。 感激。 我将进行必要的调整并还原。

我看到所有作用域都是从调用脚本逻辑处理的,而不是在目标脚本逻辑处理的

"不正确的结果"是指我们在10.0系统上看到的结果(正确)与10.1服务器上的结果(错误)不同。 这是针对特定的数据片。 无论哪种方式,让我进行更改并还原。

谢谢。

亲切问候

打个大熊猫
6楼-- · 2020-09-10 11:32

嗨,瓦迪姆,

我用下面的名字打开了新帖子。

我正面临问题RUNLOGIC_PH划分时间段

愤怒的猪头君
7楼-- · 2020-09-10 11:38

感谢您的更新,Vadim。 知道了!

一周热门 更多>