逻辑脚本:如何循环播放Time成员以复制数据

2020-09-09 03:12发布

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

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


你好,

产品版本:BPCNW 10.1 Classic

在模型Planning中,我们有TIME,VERSION,ACCOUNT,COMPANY_CODE等几个维度。

在"时间"属性有用的情况下:-在"时间"维度中,我们具有属性HCM_FLAG,在运行预算的月份中,其值将为" P"。

由Data Manager软件包启动的脚本。
逻辑:当用户通过DMP打发时间时,我们希望基于某些因素(用户以输入形式输入)和同一时期的帐户工资来计算一些帐户。 此数据应复制到当前财政年度的未来几个月,即2019.04至2019.03

例如:如果选择的时间是2019.04,则当月发生的计算应发布到当月加下一个期间,即2019.05至2020.03,同样,如果时间是2019.06,则6月数据应发布到6月加未来的月份,即2019.07直到 2020.03等。

我写了只在当月有效的脚本。 我在如何循环一个财政年度以及如何根据通过DMP传递的时间将数据发布到所有月份方面感到困惑。

正在发布当前月份数据的示例代码。
(PS:无法附加文件。)
* XDIM_MEMBERSET VERSION = ACTUAL,%VERSION_SET%
* XDIM_MEMBERSET P_ACCOUNT = A611000
* XDIM_MEMBERSET TIME =%TIME_SET%
//* XDIM_FILTER TIME = [TIME]。PROPERTIES(" HCM_FLAG")= P <*>当版本
* IS%VERSION_SET%<*>当COMPANY_CODE <*> ISIS CO1700 <*> REC(EXPRESSION =( [P_ACCOUNT]。[A611000],[VERSION]。[ACTUAL])* [P_ACCOUNT]。[FICA],P_ACCOUNT = A610685,VERSION =%VERSION_SET%)
* REC(表达式=([P_ACCOUNT]。[A611000 ],[VERSION]。[ACTUAL])* [P_ACCOUNT]。[401K],P_ACCOUNT = A610684,VERSION =%VERSION_SET%)
* ENDWHEN
* ENDWHEN


感谢,
Ambika

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

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


你好,

产品版本:BPCNW 10.1 Classic

在模型Planning中,我们有TIME,VERSION,ACCOUNT,COMPANY_CODE等几个维度。

在"时间"属性有用的情况下:-在"时间"维度中,我们具有属性HCM_FLAG,在运行预算的月份中,其值将为" P"。

由Data Manager软件包启动的脚本。
逻辑:当用户通过DMP打发时间时,我们希望基于某些因素(用户以输入形式输入)和同一时期的帐户工资来计算一些帐户。 此数据应复制到当前财政年度的未来几个月,即2019.04至2019.03

例如:如果选择的时间是2019.04,则当月发生的计算应发布到当月加下一个期间,即2019.05至2020.03,同样,如果时间是2019.06,则6月数据应发布到6月加未来的月份,即2019.07直到 2020.03等。

我写了只在当月有效的脚本。 我在如何循环一个财政年度以及如何根据通过DMP传递的时间将数据发布到所有月份方面感到困惑。

正在发布当前月份数据的示例代码。
(PS:无法附加文件。)
* XDIM_MEMBERSET VERSION = ACTUAL,%VERSION_SET%
* XDIM_MEMBERSET P_ACCOUNT = A611000
* XDIM_MEMBERSET TIME =%TIME_SET%
//* XDIM_FILTER TIME = [TIME]。PROPERTIES(" HCM_FLAG")= P <*>当版本
* IS%VERSION_SET%<*>当COMPANY_CODE <*> ISIS CO1700 <*> REC(EXPRESSION =( [P_ACCOUNT]。[A611000],[VERSION]。[ACTUAL])* [P_ACCOUNT]。[FICA],P_ACCOUNT = A610685,VERSION =%VERSION_SET%)
* REC(表达式=([P_ACCOUNT]。[A611000 ],[VERSION]。[ACTUAL])* [P_ACCOUNT]。[401K],P_ACCOUNT = A610684,VERSION =%VERSION_SET%)
* ENDWHEN
* ENDWHEN


感谢,
Ambika

付费偷看设置
发送
12条回答
奄奄一息的小鱼
1楼 · 2020-09-09 04:05.采纳回答

您已在DM用户提示符下选择了一个月。 并且您想要将乘法结果复制到从用户选择的月份开始到年底的所有月份!

//%TIME_SET%= 2019.04
 * SELECT(%TID%,TIMEID,TIME,ID =%TIME_SET%)//%TID%= 20190400
 * SELECT(%Y%,YEAR,TIME,ID =%TIME_SET%)//%Y%= 2019将包含会计年度
 * SELECT(%TARGETMONTHS%,ID,TIME,TIMEID> =%TID%AND YEAR =%Y%AND CALC = N)
//%TARGETMONTHS%=2019.04,2019.05,...,2020.03

 * XDIM_MEMBERSET VERSION = ACTUAL//仅作用域为ACTUAL
 * XDIM_MEMBERSET P_ACCOUNT = A611000
 * XDIM_MEMBERSET TIME =%TIME_SET%

 *当COMPANY_CODE
 * IS CO1700
 * FOR%T%=%TARGETMONTHS%
 * REC(EXPRESSION =%VALUE%*([P_ACCOUNT]。[FICA],[VERSION]。[%VERSION_SET%]),P_ACCOUNT = A610685,VERSION =%VERSION_SET%,TIME =%T%)
 *下一个
 *结束

 

使用RUNALLOCATION可以完成相同的操作

歪着头看世界
2楼-- · 2020-09-09 04:05
wang628962
3楼-- · 2020-09-09 03:51

带有RUNALLOCATION的版本:

//%TIME_SET%= 2019.04
 * SELECT(%TID%,TIMEID,TIME,ID =%TIME_SET%)//%TID%= 20190400
 * SELECT(%Y%,YEAR,TIME,ID =%TIME_SET%)//%Y%= 2019将包含会计年度
 * SELECT(%TARGETMONTHS%,ID,TIME,TIMEID> =%TID%AND YEAR =%Y%AND CALC = N)
//%TARGETMONTHS%=2019.04,2019.05,...,2020.03

 *分配
 * FACTOR = USING//通过使用乘以
 * DIM P_ACCOUNT WHAT = A611000; WHERE = A610685; USING = FICA
 * DIM VERSION WHAT = ACTUAL; WHERE =%VERSION_SET%; USING =%VERSION_SET%
 * DIM TIME WHAT =%TIME_SET%; WHERE =%TARGETMONTHS%; USING =%TIME_SET%
 * ENDALLOCATION 
xfwsx85
4楼-- · 2020-09-09 04:04

请发布完整矩阵:

Acc1 * Acc2-> AccTarget

此信息对于正确答案至关重要!

My梦
5楼-- · 2020-09-09 03:46

嗨,瓦迪姆,

我尝试在更正后执行以上代码。

观察结果:当尝试运行第一个月(即2019.04)时,它正常工作。 从当月2019.04(从DMP传递过来)中选择源数据,并将结果发布到一年中预算类别下的12个月中。

结果:-

但是尝试运行2019.07月份时,结果与预期不符。

结果:-

预期:-根据2019.07月份的源数据,它应该已经发布了2019.07至2020.03的结果

在下面的代码中,只需将属性YEAR更新为TYEAR,即可正确提取年份。

还有一点要指出的是,在TIME维度中,由于会计年度为4月至3月,因此对于成员2019.04至2020.03,YEAR属性保持为2020年。 但是我试图添加属性TYEAR并为这些成员维护2019年以检查代码,但未获得预期结果。 让我知道我是否想念任何东西。

Ambika

ZJXianG
6楼-- · 2020-09-09 03:55

嗨,瓦迪姆,

在这种RUNALLOCATION中,实际上我对25个不同的目标帐户进行了约25次计算。

请为每个帐户编写此RUNALLOCATION psection吗?

谢谢

Ambika

一周热门 更多>