在迁移到10.1后将数据从BPC撤回ECC时出错

2020-09-05 03:26发布

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

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


您好,

我们最近已从BPC 10.0迁移到10.1(HANA上的BW)。 迁移后运行撤消作业时,观察到以下错误:

"在系统中发现错误。
在BADI中发生了异常"

我们进一步调试了BADI,看起来它正在尝试复制记录,并且引发了异常。 以下是我们用于撤消的脚本:


* SELECT(%ACCT%,ID,P_ACCT,ID> = 000000 AND ID <= 999999 AND CALC = N)

//确定时间:根据VERSION参数,应为TOTAL或INP。
* SELECT(%STARTYEAR%,STARTYEAR,VERSION,ID = $ BPC_VERSION $)
* SELECT(%LAST_YEAR_MONTH%,LAST_YEAR_MONTH,VERSION ,ID = $ BPC_VERSION $)
*选择(%LAST_YEAR_FULL%,LAST_YEAR_FULL,VERSION,ID = $ BPC_VERSION $)
* SELECT(%TIME_MONTHLY%,ID,TIME,YEAR = $ YEAR $ AND YEAR> = %STARTYEAR%AND YEAR <=%LAST_YEAR_MONTH%AND LEVEL_REPORT = MONTH AND CALC = N)
* SELECT(%TIME_YEARLY%,ID,TIME,YEAR = $ YEAR $和YEAR>%LAST_YEAR_MONTH%和YEAR <=%LAST_YEAR_FULL %AND LEVEL_REPORT = YEAR AND CALC = N)
* SELECT(%YEAR%,YEAR,TIME,ID =%TIME_MONTHLY%,%TIME_YEARLY%)

* XDIM_MEMBERSET TIME =%TIME_MONTHLY%,%TIME_YEARLY%
* XDIM_MEMBERSET P_ACCT =%ACCT%
* XDIM_MEMBERSET PROFIT_CENTRE = BAS(QRN_FUNC)
* XDIM_MEMBERSET P_DATASRC = ALLDATASRC = VER $ BPC_VERSION $

* START_BADI RETRACT_PRCTR <查询>开启=写<关闭>时间=%YEAR%//BADI可以运行很多年
ECC_VERSION = $ ECC_VERSION $
TEST_RUN = $ TEST_RUN $
* END_BADI


我尝试使用UJKT修复TIME = 2020.TOTAL和YEAR = 2020来运行脚本。 作业成功生成了准确的记录数(无重复),但所有记录均为零。 当我尝试通过数据管理器包中的year = 2020时,会生成两倍的记录,并且包失败。


迁移后看起来像逻辑脚本或TIME维度或BADI的问题。 需要您的协助来解决问题。


让我知道您是否还有其他疑问。

此致

Bharadwaj Cheruvu

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

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


您好,

我们最近已从BPC 10.0迁移到10.1(HANA上的BW)。 迁移后运行撤消作业时,观察到以下错误:

"在系统中发现错误。
在BADI中发生了异常"

我们进一步调试了BADI,看起来它正在尝试复制记录,并且引发了异常。 以下是我们用于撤消的脚本:


* SELECT(%ACCT%,ID,P_ACCT,ID> = 000000 AND ID <= 999999 AND CALC = N)

//确定时间:根据VERSION参数,应为TOTAL或INP。
* SELECT(%STARTYEAR%,STARTYEAR,VERSION,ID = $ BPC_VERSION $)
* SELECT(%LAST_YEAR_MONTH%,LAST_YEAR_MONTH,VERSION ,ID = $ BPC_VERSION $)
*选择(%LAST_YEAR_FULL%,LAST_YEAR_FULL,VERSION,ID = $ BPC_VERSION $)
* SELECT(%TIME_MONTHLY%,ID,TIME,YEAR = $ YEAR $ AND YEAR> = %STARTYEAR%AND YEAR <=%LAST_YEAR_MONTH%AND LEVEL_REPORT = MONTH AND CALC = N)
* SELECT(%TIME_YEARLY%,ID,TIME,YEAR = $ YEAR $和YEAR>%LAST_YEAR_MONTH%和YEAR <=%LAST_YEAR_FULL %AND LEVEL_REPORT = YEAR AND CALC = N)
* SELECT(%YEAR%,YEAR,TIME,ID =%TIME_MONTHLY%,%TIME_YEARLY%)

* XDIM_MEMBERSET TIME =%TIME_MONTHLY%,%TIME_YEARLY%
* XDIM_MEMBERSET P_ACCT =%ACCT%
* XDIM_MEMBERSET PROFIT_CENTRE = BAS(QRN_FUNC)
* XDIM_MEMBERSET P_DATASRC = ALLDATASRC = VER $ BPC_VERSION $

* START_BADI RETRACT_PRCTR <查询>开启=写<关闭>时间=%YEAR%//BADI可以运行很多年
ECC_VERSION = $ ECC_VERSION $
TEST_RUN = $ TEST_RUN $
* END_BADI


我尝试使用UJKT修复TIME = 2020.TOTAL和YEAR = 2020来运行脚本。 作业成功生成了准确的记录数(无重复),但所有记录均为零。 当我尝试通过数据管理器包中的year = 2020时,会生成两倍的记录,并且包失败。


迁移后看起来像逻辑脚本或TIME维度或BADI的问题。 需要您的协助来解决问题。


让我知道您是否还有其他疑问。

此致

Bharadwaj Cheruvu

付费偷看设置
发送
4条回答
土豆飞人
1楼-- · 2020-09-05 04:21

首先-您遇到badi错误,并且没有调试badi的结果,就无法为您提供帮助!

第二个-在不启动badi的情况下提供UJKT日志:

在参数中为

设置值
 $ BPC_VERSION $ 
 * SELECT(%ACCT%,ID,P_ACCT,ID> = 000000 AND ID <= 999999 AND CALC = N)
 
//确定时间:根据VERSION参数应为TOTAL或INP
 * SELECT(%STARTYEAR%,STARTYEAR,VERSION,ID = $ BPC_VERSION $)
 * SELECT(%LAST_YEAR_MONTH%,LAST_YEAR_MONTH,VERSION,ID = $ BPC_VERSION $)
 * SELECT(%LAST_YEAR_FULL%,LAST_YEAR_FULL,VERSION,ID = $ BPC_VERSION $)
 * SELECT(%TIME_MONTHLY%,ID,TIME,年= $ YEAR $和YEAR> =%STARTYEAR%和YEAR <=%LAST_YEAR_MONTH%和LEVEL_REPORT = MONTH AND CALC = N)
 * SELECT(%TIME_YEARLY%,ID,TIME,YEAR = $ YEAR $ AND YEAR>%LAST_YEAR_MONTH%AND YEAR <=%LAST_YEAR_FULL%AND LEVEL_REPORT = YEAR AND CALC = N)
 * SELECT(%YEAR%,YEAR,TIME,ID =%TIME_MONTHLY%,%TIME_YEARLY%)
 
 * XDIM_MEMBERSET TIME =%TIME_MONTHLY%,%TIME_YEARLY%
 * XDIM_MEMBERSET P_ACCT =%ACCT%
 * XDIM_MEMBERSET PROFIT_CENTRE = BAS(QRN_FUNC)
 * XDIM_MEMBERSET P_DATASRC = ALLDATASRC
 * XDIM_MEMBERSET VERSION = $ BPC_VERSION $ 

选择逻辑不清楚,请说明您要实现什么!

请阅读: https ://blogs.sap.com/2014/01/31/how-to-ask-questions-about-script-logic-issues /

渐行渐远_HoldOn
2楼-- · 2020-09-05 03:59

Anjaneya Bharadwaj Cheruvu

抱歉,请再次阅读我的答案!

我没看到 日志!

软件心理学工程师
3楼-- · 2020-09-05 04:01

嗨,瓦迪姆,

感谢您的回复。 通过更改BADI可解决问题。

在SKF中识别出重复的记录。 Collect语句正在创建一条记录。 为SKF帐户实施了BADi考虑的计量单位。

此致

Bharadwaj Cheruvu。

风早神人
4楼-- · 2020-09-05 04:22

一般来说,发出badi意味着不正确的badi代码:)

一周热门 更多>