YTD到不同模型中的定期数据计算

2020-09-28 11:57发布

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

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


嗨朋友,

我们在BPC 10.0 NW上

试图将法律合并应用程序中的总帐余额(YTD)移至其他应用程序(财务类型-定期)。

脚本编写-

 * SELECT(%YR%,[YEAR],CATEGORY," [ID] ='%CATEGORY_SET%'")

 * SELECT(%MTH%,[STARTMNTH],CATEGORY," [ID] ='%CATEGORY_SET%'")

 * SELECT(%TM1%,ID,TIME," [YEAR] =%YR%AND [MONTHNUM] =%MTH%")

//* XDIM_MEMBERSET TIME =%TM1%

 * SELECT(%ACC%,[ID],ACCOUNT," [ACCTYPE] ='AST'AND [ACCTYPE] ='LEQ'AND CALC ='N'")

 * XDIM_MEMBERSET TIME =%TM1%,TMVL(-1,%TM1%)

 * XDIM_MEMBERSET ACCOUNT =%ACC%

 * XDIM_MEMBERSET CATEGORY =%CATEGORY_SET%

//* WHEN_REF_DATA = MASTER_DATA

 * DESTINATION_APP = CONSOL_PER

 *什么时候

 * IS%TM1%

 *当TIME.MONTHNUM

 *为" 12"

 *其他

 * REC(EXPRESSION =%VALUE%-[TIME]。[TMVL(-1,%TM1%)],TIME =%TM1%)

 *结束

 * ENDWHEN 

现在,当两个周期之间的流量不同时,我们面临的问题是进行减法运算。

例如,我们的财政年度于3月31日结束,因此我们有2017.12截止期,然后有2018.01截止期。

AuditTrail流程时间量

D_UPLOAD 170 2017.12 1000

D_UPLOAD 120 2017.12 200

D_UPLOAD_OP 100 2017.12 2000

D_UPLOAD_OP 100 2018.01 3200

D_UPLOAD 120 2018.01 300

2017.12期中的数据流100、120和170

但是流2018.01仅具有100和120中的数据。

此脚本的结果是

D_UPLOAD_OP 100 2018.01 1200(即3200-2000)

D_UPLOAD 120 2018.01 100(即300-200)

减法中未捕获Flow 170中的数据。

所需的输出应为-

D_UPLOAD_OP 100 2018.01 1200(即3200-2000)

D_UPLOAD 120 2018.01 100(即300-200)

D_UPLOAD 170 2018.01 -1000(即0-1000)

请帮助解决问题。

PS-该线程附带一个清晰可见的示例。

example-scrren.jpg

此致

努库尔

example-scrren.jpg (89.8 kB)

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

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


嗨朋友,

我们在BPC 10.0 NW上

试图将法律合并应用程序中的总帐余额(YTD)移至其他应用程序(财务类型-定期)。

脚本编写-

 * SELECT(%YR%,[YEAR],CATEGORY," [ID] ='%CATEGORY_SET%'")

 * SELECT(%MTH%,[STARTMNTH],CATEGORY," [ID] ='%CATEGORY_SET%'")

 * SELECT(%TM1%,ID,TIME," [YEAR] =%YR%AND [MONTHNUM] =%MTH%")

//* XDIM_MEMBERSET TIME =%TM1%

 * SELECT(%ACC%,[ID],ACCOUNT," [ACCTYPE] ='AST'AND [ACCTYPE] ='LEQ'AND CALC ='N'")

 * XDIM_MEMBERSET TIME =%TM1%,TMVL(-1,%TM1%)

 * XDIM_MEMBERSET ACCOUNT =%ACC%

 * XDIM_MEMBERSET CATEGORY =%CATEGORY_SET%

//* WHEN_REF_DATA = MASTER_DATA

 * DESTINATION_APP = CONSOL_PER

 *什么时候

 * IS%TM1%

 *当TIME.MONTHNUM

 *为" 12"

 *其他

 * REC(EXPRESSION =%VALUE%-[TIME]。[TMVL(-1,%TM1%)],TIME =%TM1%)

 *结束

 * ENDWHEN 

现在,当两个周期之间的流量不同时,我们面临的问题是进行减法运算。

例如,我们的财政年度于3月31日结束,因此我们有2017.12截止期,然后有2018.01截止期。

AuditTrail流程时间量

D_UPLOAD 170 2017.12 1000

D_UPLOAD 120 2017.12 200

D_UPLOAD_OP 100 2017.12 2000

D_UPLOAD_OP 100 2018.01 3200

D_UPLOAD 120 2018.01 300

2017.12期中的数据流100、120和170

但是流2018.01仅具有100和120中的数据。

此脚本的结果是

D_UPLOAD_OP 100 2018.01 1200(即3200-2000)

D_UPLOAD 120 2018.01 100(即300-200)

减法中未捕获Flow 170中的数据。

所需的输出应为-

D_UPLOAD_OP 100 2018.01 1200(即3200-2000)

D_UPLOAD 120 2018.01 100(即300-200)

D_UPLOAD 170 2018.01 -1000(即0-1000)

请帮助解决问题。

PS-该线程附带一个清晰可见的示例。

example-scrren.jpg

此致

努库尔

example-scrren.jpg (89.8 kB)
付费偷看设置
发送
4条回答
代楠1984
1楼-- · 2020-09-28 12:13

请更正您的帖子,使其脚本具有可读性,然后我会回答/

SAP小菜
2楼-- · 2020-09-28 12:04

嗨,瓦迪姆,

请检查是否有助于阅读脚本。

compass1988
3楼-- · 2020-09-28 12:24

确定,现在脚本可以阅读了!

但是您没有提供我的博客中提到的其他信息! 我没有时间单独问每个问题!

通常:此行是错误的

 * REC(EXPRESSION =%VALUE%-[TIME]。[TMVL(-1,%TM1%)],TIME =%TM1%)

脚本必须为:

 * SELECT(%YR%,[YEAR],CATEGORY," [ID] ='%CATEGORY_SET%'")
 * SELECT(%MTH%,[STARTMNTH],CATEGORY," [ID] ='%CATEGORY_SET%'")
 * SELECT(%TM1%,ID,TIME," [YEAR] =%YR%AND [MONTHNUM] =%MTH%")
 * SELECT(%ACC%,[ID],ACCOUNT," [ACCTYPE] ='AST'AND [ACCTYPE] ='LEQ'AND CALC ='N'")

 * XDIM_MEMBERSET ACCOUNT =%ACC%
 * XDIM_MEMBERSET CATEGORY =%CATEGORY_SET%
 * XDIM_MEMBERSET TIME =%TM1%,TMVL(-1,%TM1%)//2017.09,2017.08

 * DESTINATION_APP = CONSOL_PER
 *什么时候
 * IS%TM1%//2017.09
 * REC(EXPRESSION =%VALUE%,TIME =%TM1%)//加值
 * IS TMVL(-1,%TM1%)//2017.08
 *当TIME.MONTHNUM
 * IS <> 12//如果DEC-跳过; 如果%TM1%为JAN,则DEC为
 * REC(EXPRESSION =-%VALUE%,TIME =%TM1%)//减去值
 *结束
 * ENDWHEN 
4楼-- · 2020-09-28 12:01

请在UJKT中测试我的脚本并提供生成的lgx和日志。

"我担心如果它是* REC命令属性,它将仅在公共尺寸内进行加/减。" -绝对不正确!

一周热门 更多>