点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,
我的要求是使用BADI将实际数据复制到计划数据。 我也可以使用Logic脚本,但是我的客户希望在BADI中实现该脚本,因为它们可以灵活地使用ABAP。
我有一个模型(zsales_001),它具有以下尺寸:
1。 帐户
2。 类别
3。 实体
4。 产品
5。 时间
6。 Z_Keyfigure(具有ZKF1和ZKF2)。
我已经附上了示例源数据。
数据从IC1(BW)流向BPC模型。
现在,我的要求是通过将ZKEY1和ZKEY2的值增加到10%,将2015.01的实际数据复制到计划类别2015.02。
我已经附上了样本目标数据
我已经编写了BADI,但是在调试BADI时未执行。 请指教。
方法IF_UJ_CUSTOM_LOGIC〜EXECUTE。 类型:开始于TY_ZSALES_BPC2_1, ZACCOUNT TYPE STRING, ZCATEGORY TYPE STRING, ZENTITY TYPE STRING, ZPRODUCT TYPE STRING, ZTIME类型/BI0/OICALMONTH, ZZ_KEYFIG TYPE STRING, END OF TY_ZSALES_BPC2_1。 数据:IS_ZSALES_BPC2_1类型TY_ZSALES_BPC2_1, IS_TEMP TYPE TY_ZSALES_BPC2_1, IS_TEMP_2类型TY_ZSALES_BPC2_1, TY_ZSALES_BPC2_1的IT_TEMP类型标准表, TY_ZSALES_BPC2_1的IT_TEMP_2类型标准表, TY_ZSALES_BPC2_1的IT_ZSALES_BPC2_1类型标准表。 如果CT_DATA不是INITIAL。 IT_TEMP [] = CT_DATA []。 在IT_TEMP处进入IS_TEMP。 IS_TEMP_2 = IS_TEMP。 IS_TEMP_2-ZCATEGORY ='计划'。 将IS_TEMP_2附加到IT_TEMP_2。 结局。 按ZACCOUNT ZCATEGORY ZENTITY ZPRODUCT ZTIME排序IT_TEMP_2。 从IT_TEMP_2删除相邻的重复项。 CT_DATA [] = IT_TEMP_2 []。 万一。 方法。
下面是一段逻辑脚本代码: * XDIM_MEMBERSET TIME = 2015.01 * XDIM_MEMBERSET CATEGORY = ACTUAL * XDIM_MEMBERSET帐户= PL010 * START_BADI ZUJ_CUSTOM_LOGIC_FILT_001 * END_BADI。
此致
Praveen。
(9.0 kB)
首先-在我看来,使用badi执行复制绝对是很奇怪的(没有额外的灵活性!)标准复制程序包(或脚本逻辑)可以毫无问题地完成这项工作!
如果您想训练自己写巴迪语-请阅读:
https://archive.sap.com/kmuuid2/20f4252d-98ca-2b10-e689-f85085ae2d12/How%20to%20Pass%20Parameters%20to%20Custom%20Logic%20BADI%20using%20START_BADI。 pdf
在此描述中您唯一不需要的-您无需创建自定义链即可运行脚本逻辑,使用标准。
要调试badi执行,请在badi代码的开头插入无限循环,然后使用SM50进行调试。
P.S。 BPC帮助中提供了非常简单的自定义逻辑badi示例:
https://help.sap.com/viewer/ a2049170bfeb4178ace32222842c3ec1/10.1/zh-CN/f04254a006574fed9a65f3661a07e3e7.html
查看脚本以运行它:
* START_BADI DECD
QUERY = ON//将数据获取到ct_data
WRITE = ON//写入ct_data的结果
YEAR = 1
PERCENTAGE = 10
* END_BADI
一周热门 更多>