点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我们面临的问题是将源...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我们面临的问题是将源...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我们面临的问题是将源模型从四个维度映射到目标模型中的一个维度。
场景是:
我们有2种不同的计划模型-一种用于产品,销售渠道,客户和其他级别的预算,另一种用于ECCS头寸的预算。
在模型1中完成计划后,应将数据转移到模型2中。 因此,销售渠道,销售子渠道,关键人物和产品的每个组合都映射到ECCS位置(很多组合)。
模型1的尺寸
zm_channel(销售渠道)
zm_currency
zm_cust
zm_datasrc
zm_inputyear
zm_keyfig
zm_prod(产品)
zm_profitctr
zm_subchannel(销售子渠道)
zm_time
zm_vers(版本)
模型2的尺寸
zcs_item(eccs位置)
zcs_partner(合作伙伴公司)
zcs_time
zcs_unit(法律实体)
zcs_version
zcurr
z_input_year
我的第一种方法是在逻辑脚本中进行映射,因为我不确定这种组合是否可以在转换/转换文件中使用。
这是我到目前为止所做的:
我创建了一个数据管理器软件包,其中包含针对模型一的每个维度的提示。 如果执行了程序包,则会启动该逻辑脚本:
_______________________________
* XDIM_MEMBERSET ZM_CHANNEL =%ZM_CHANNEL_SET%
* XDIM_MEMBERSET ZM_CURRENCY =%ZM_INPUTYEAR_SET%
* XDIM_MEMBERSET ZM_CUST =%ZM_CUST_SET%
* XDIM_MEMBERTYZEAR_%M * TYM_TYBER%ZEAR_%
* XDIM_MEMBERSET ZM_PROD =%ZM_PROD_SET%
* XDIM_MEMBERSET ZM_PROFITCTR =%ZM_PROFITCTR_SET%
* XDIM_MEMBERSET ZM_SUBCHANNEL =%ZM_SUBCHANNEL_SET%
* XDIM_MEM%SET%Z
//我创建了此变量,因为zm_profitctr的属性cons_unit必须在目标模型中为zcs_unit
* select(%UNIT%,CONS_UNIT,ZM_PROFITCTR,ID <>"")
* DESTINATION_APP =核心
* SKIP_DIM = ZM_DATASRC
* SKIP_DIM = ZM_CUST
* SKIP_DIM = ZM_CHANNEL
* SKIP_DIM = ZM_SUBCHANNEL
* SKIP_DIM = ZM_PROD
* SKIP_DIM = ZM_KEYFIG
* ADD_DIM ZCS_PARTNER = partner_1
* ADD_DIM ZCS_UNIT =%UNIT%
* RENAME_DIM ZM_CURRENCY = ZCURR
* RENAME_DIM ZM_INPUTYEAR = Z_INPUT_YEAR
* RENAME_DIM ZM_TIME = ZCS_TIME
* RENAME_DIM ZM_VERS = ZCS_VERSION
//zm_profitctr与zcs_item不同,但是我不知道有任何其他解决方案可以让我告诉rec语句应该是目标zcs_item
* RENAME_DIM ZM_PROFITCTR = ZCS_ITEM
**当zm_channel
* IS频道_1
*当zm_subchannel
* IS子频道_1
*当zm_prod
* IS产品_1
*当zm_keyfig
* IS keyfigure_1
*当zm_cust
* IS customer_1
* rec(EXPRESSION =%VALUE%,ZM_PROFITCTR = 12345)
* rec(EXPRESSION =%VALUE %,ZM_PROFITCTR = 54321)
* IS客户_2
* rec(EXPRESSION =%VALUE%,ZM_PROFITCTR = 54321)
* ENDWHEN
* ENDWHEN
* ENDWHEN
* ENDWHEN
* ENDWHEN
* COMMIT
这仅用于测试两个模型之间的传输。 如果我使用zm_cust客户_1执行数据管理器包,则将传输数据。 但是会生成3条记录。 这是我不明白的。 即使我
* IS客户_1
* rec(EXPRESSION =%VALUE%,ZM_PROFITCTR = 12345)
* rec(EXPRESSION =%VALUE%,ZM_PROFITCTR = 54321)
在语句中
用zm_cust customer_1执行脚本,将生成一条记录。 因此,当zm_cust为customer_2 ...时,脚本总是跳入应执行的部分。
如果这在下一步中可行,我想替换
*当zm_cust
* IS客户_1
* rec(EXPRESSION =%VALUE%,ZM_PROFITCTR = 12345)
* rec(EXPRESSION =%VALUE%,ZM_PROFITCTR = 54321)
* IS customer_2
* rec(EXPRESSION =%VALUE%,ZM_PROFITCTR = 54321)
作者
*当[zm_cust] .Properties(" int_ext")
* IS int
* rec(EXPRESSION =%VALUE%,ZM_PROFITCTR = 12345)
* rec(EXPRESSION =%VALUE%,ZM_PROFITCTR = 54321)
* IS ext
* rec(EXPRESSION =%VALUE%,ZM_PROFITCTR = 54321)
这样,完整的映射就不会那么复杂了。
由于我是脚本逻辑的初学者,并且完整的映射将具有或多或少的1k组合(而且我不知道对性能的影响),因此,更容易使用的方法将受到赞赏。
我有编程和数据库经验,但是没有调试器或更多
透明度(或脚本逻辑经验:)),这确实很耗时:D
欢呼
Tobi
由于目标利润中心是整数值,因此您可以使用模型来存储映射数据
一周热门 更多>