点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们有一个要求,即企业希望在总帐和成本中心基础上进行分配。
让我向您介绍当前的分配过程:
1)在营业费用单上输入交易数据。
例如:
ACCOUNT COST_CENTRE AMOUNT
CC_001 1000
B CC_002 2000
2)输入分配百分比
例如:
COST_CENTRE分配百分比
CC_003 30%
CC_004 30%
CC_005 40%
3)运行分配逻辑:
* XDIM_MEMBERSET VERSION =%VERSION_SET%
* XDIM_MEMBERSET COST_CENTER =%COST_CENTER_SET%
* XDIM_MEMBERSET LEDGER =%LEDGER_SET%
* XDIM_MEMBERSET TIME =%TIME_SET%
//存储所有操作成本
*当COST_CENTER
* IS%COST_CENTER_SET%
* REC(FACTOR = 1,COMPANY_CODE =" CO_NONE",COST_CENTER =" CC_NONE",FUNCTIONAL_AREA =" FA_NONE",PROFIT_CENTER =" PC_NONE",SEGMENT = " SEG_NONE",LINE_OF_BUSINESS =" LOB_NONE",RISK_LOCATION =" RL_NONE",RISK_REGION =" RR_NONE",CLAIM_YEAR =" CY_NONE",AUDIT_TRAIL =" AT_BPC_CC_ALLOC")
* ENDWHEN
//分配操作成本到成本中心
* XDIM_MEMBERSET VERSION =%VERSION_SET%
* XDIM_MEMBERSET LEDGER =%LEDGER_SET%
* XDIM_MEMBERSET TIME =%TIME_SET%
* RUNALLOCATION
* FACTOR =使用
* DIM_NONAGGR P_ACCOUNT WHAT = BAS(A_12); WHERE = << ;; USING = S_ALLOC
* DIM COMPANY_CODE WHAT = CO_NONE; WHERE = >>>;
* DIM COST_CENTER WHAT = CC_NONE; WHERE = >>>;
* DIM PROFIT_CENTER WHAT = PC_NONE; WHERE = >>>;
//* DIM FUNCTIONAL_AREA WHAT = FA_NONE; WHERE = >>>;
* DIM SEGMENT WHAT = SEG_NONE; WHERE = >>>;
//* DIM LINE_OF_BUSINESS WHAT = LOB_NONE; WHERE = >>>;
* DIM RISK_LOCATION WHAT = RL_NONE; WHERE = >>>;
* DIM RISK_REGION WHAT = RR_NONE; WHERE = >>>;
* DIM CLAIM_YEAR WHAT = CY_NONE; WHERE = >>>;
* DIM LINE_OF_BUSINESS WHAT = LOB_NONE; WHERE = >>>;
> * DIM AUDIT_TRAIL WHAT = AT_BPC_CC_ALLOC; WHERE = << ;; USING = AT_BPC_INPUT
* ENDALLOCATION
4)结果:
它将以COST_CENTER分配百分比表中提到的相同百分比在A和B上分配金额。
例如:
ACCOUNT COST_CENTRE AMOUNT
CC_003 300
CC_004 300
CC_005 400
B CC_003 600
B CC_004 600
B CC_005 800
新要求:
现在,企业希望对不同的帐户应用不同的%进行分配过程。
1)在营业费用单上输入交易数据。
例如:
ACCOUNT COST_CENTRE AMOUNT
CC_001 1000
B CC_002 2000
2)输入分配百分比
例如:
ACCOUNT COST_CENTRE分配百分比
CC_003 30%
CC_004 30%
CC_005 40%
B CC_003 10%
B CC_004 60%
B CC_005 30%
3)运行分配逻辑。 (需要更改)
4)结果:-
它将以COST_CENTER分配百分比表中提到的不同百分比在A和B上分配金额。
例如:
ACCOUNT COST_CENTRE AMOUNT
CC_003 300
CC_004 300
CC_005 400
B CC_003 200
B CC_004 1200
B CC_005 600
问题:
我无法理解我应该在RUN ALLOCATION脚本逻辑中应用哪些更改才能满足要求。
谢谢。
穆罕默德嗨。
在非常了解的基础上,我认为您需要更改帐户维度上的USING参数...请尝试下一个代码:
最诚挚的问候,
Joaquín。
我已经张贴了错误行的示例!
您了解" >>>"运算符的含义吗? 在帮助样本1中进行了解释。
您了解每行需要使用相同数量的参数吗?
嗨华金,
上面的脚本可以很好地验证,但是分配不会造成麻烦。
然后我尝试了另一种方法,即通过提示符更改Non-Aggregate值,以便用户可以从中选择帐户,也没有运气。
您能帮我吗?
这是我的剧本:
* XDIM_MEMBERSET VERSION =%VERSION_SET%
* XDIM_MEMBERSET COST_CENTER =%COST_CENTER_SET%
* XDIM_MEMBERSET LEDGER =%LEDGER_SET%
* XDIM_MEMBERSET TIME =%TIME_SET%
/= * BDIAC_COUNT (A_12)
* XDIM_MEMBERSET P_ACCOUNT =%P_ACCOUNT_SET%
//存储所有操作成本
*当COST_CENTER
* IS%COST_CENTER_SET%
* REC(FACTOR = 1,COMPANY_CODE =" CO_NONE",COST_CENTER =" CC_NONE",FUNCTIONAL_AREA =" FA_NONE",PROFIT_CENTER =" PC_NONE",SEGMENT = " SEG_NONE",LINE_OF_BUSINESS =" LOB_NONE",RISK_LOCATION =" RL_NONE",RISK_REGION =" RR_NONE",CLAIM_YEAR =" CY_NONE",AUDIT_TRAIL =" AT_BPC_CC_ALLOC")
* ENDWHEN
//分配操作成本到成本中心
* XDIM_MEMBERSET VERSION =%VERSION_SET%
* XDIM_MEMBERSET LEDGER =%LEDGER_SET%
* XDIM_MEMBERSET TIME =%TIME_SET%
* XDIM_MEMBERSET_PCOUNT_ACCOUNT =%P %
* RUNALLOCATION
* FACTOR =使用
* DIM COMPANY_CODE WHAT = CO_NONE; WHERE = >>>;
* DIM COST_CENTER WHAT = CC_NONE; WHERE = >>>;
* DIM PROFIT_CENTER WHAT = PC_NONE; WHERE = >>>;
* DIM SEGMENT WHAT = SEG_NONE; WHERE = >>>;
* DIM RISK_LOCATION WHAT = RL_NONE; WHERE = >>>;
* DIM RISK_REGION WHAT = RR_NONE; WHERE = >>>;
* DIM CLAIM_YEAR WHAT = CY_NONE; WHERE = >>>;
* DIM LINE_OF_BUSINESS WHAT = LOB_NONE; WHERE = >>>;
* DIM AUDIT_TRAIL WHAT = AT_BPC_CC_ALLOC; WHERE = <<<; USING = AT_BPC_INPUT
* ENDALLOCATION
//偏移分配
* XDIM_MEMBERSET VERSION =%VERSION_SET%
* XDIM_MEMBERSET LEDGER =%LEDGER_SET%
* XDIM_MEMBERSET TIME =%TIME_SET%
* XDIM_MEMBERSET P_ACCOUNT =%P_ACCOUNT_SET%
* RUNALLOCATION
* FACTOR = -1
这已更改。
* DIM COST_CENTER WHAT =%COST_CENTER_SET%; WHERE = <<<< br> * DIM COMPANY_CODE WHATE <> CO_NONE; WHERE = <<<< br> * DIM SEGMENT WHAT <> SEG_NONE; WHERE = <<<< br> * DIM PROFIT_CENTER什么<> PC_NONE; WHERE = <<<< br> * DIM AUDIT_TRAIL WHAT = AT_BW_GL_SOURCE,AT_BPC_INPUT,AT_BPC_CALC; WHERE = AT_BPC_CC_ALLOC
* ENDALLOCATION
此致
Toufiq
您对RUNALLOCATION使用的语法不正确
再次,阅读帮助并更正语法。 然后我们可以讨论其他事情。
对不起,但是您使用以下语法表示什么:
* FACTOR = USING
//* DIM P_ACCOUNT WHAT = BAS(A_12); WHERE = >>>; //需要更改。
* DIM COMPANY_CODE WHAT = CO_NONE; WHERE = >>>;
* DIM COST_CENTER WHAT = CC_NONE; WHERE = >>>;
请至少阅读RUNALLOCATION的帮助
抱歉,但是,如果您不想阅读帮助并更正语法错误,我将无济于事。
一周热门 更多>