AMDP BADI执行计算

2020-09-07 08:23发布

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

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


大师们,

我目前正在尝试编写AMDP BADI,为此,我需要将选择内容传递给BADI并将其放入我的方法中。 为此,我在CUSTOM LOGIC中编写了以下代码。 在方法中处理完数据后,我希望通过ct_data将其放回多维数据集中。 在我的方法调用中,我需要将" BS121"替换为来自"帐户"维度的输入表单中的值。 它可以是一个变量,我不知道如何选择它。 拾取后,必须将其放入方法ZAMDP_PET中,在HANA中执行一些计算并将结果返回。 我该如何实现?

规格:

模型BPC提供的标准默认默认"计划"模型-尺寸/构件均未更改。

版本:BPC10.1

BW 7.5

用于Office 2.7版的分析

HANA 2.0

方法IF_UJ_CUSTOM_LOGIC〜EXECUTE。
 类型:开始于All_data,
 帐户(32)TYPE C,
 AUDITTRAIL(32)C型,
 CATEGORY(32)类型c,
 ENTITY(32)C型,
 INTERCO(32)C型,
 产品(32)C型,
 RPTCURRENCY(32)类型c,
 TIME(32)TYPE C,
 signdata类型/B28/FCUBE-/b28/s_sdata,
 END OF ALL_DATA。

 数据:ALL_DATA的AD_DATA TYPE标准表,
       TM_DATA TYPE STANDARD TABLE OF ALL_DATA。

 呼叫方法LC_DATA-> ZAMDP_PET
 出口
 IV_ACCOUNT ='BS121'" BS121"需要从输入表单的选择中选择
 输入
 AD_DATA = AD_DATA。

 CT_DATA = AD_DATA。  "将数据放回多维数据集

 ENDMETHOD。

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

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


大师们,

我目前正在尝试编写AMDP BADI,为此,我需要将选择内容传递给BADI并将其放入我的方法中。 为此,我在CUSTOM LOGIC中编写了以下代码。 在方法中处理完数据后,我希望通过ct_data将其放回多维数据集中。 在我的方法调用中,我需要将" BS121"替换为来自"帐户"维度的输入表单中的值。 它可以是一个变量,我不知道如何选择它。 拾取后,必须将其放入方法ZAMDP_PET中,在HANA中执行一些计算并将结果返回。 我该如何实现?

规格:

模型BPC提供的标准默认默认"计划"模型-尺寸/构件均未更改。

版本:BPC10.1

BW 7.5

用于Office 2.7版的分析

HANA 2.0

方法IF_UJ_CUSTOM_LOGIC〜EXECUTE。
 类型:开始于All_data,
 帐户(32)TYPE C,
 AUDITTRAIL(32)C型,
 CATEGORY(32)类型c,
 ENTITY(32)C型,
 INTERCO(32)C型,
 产品(32)C型,
 RPTCURRENCY(32)类型c,
 TIME(32)TYPE C,
 signdata类型/B28/FCUBE-/b28/s_sdata,
 END OF ALL_DATA。

 数据:ALL_DATA的AD_DATA TYPE标准表,
       TM_DATA TYPE STANDARD TABLE OF ALL_DATA。

 呼叫方法LC_DATA-> ZAMDP_PET
 出口
 IV_ACCOUNT ='BS121'" BS121"需要从输入表单的选择中选择
 输入
 AD_DATA = AD_DATA。

 CT_DATA = AD_DATA。  "将数据放回多维数据集

 ENDMETHOD。
付费偷看设置
发送
4条回答
南山jay
1楼 · 2020-09-07 08:47.采纳回答

只需查看BPC帮助中的自定义逻辑badi示例: https://help.sap.com/viewer/a2049170bfeb4178ace32222842c3ec1/10.1/zh-CN/f04254a006574fed9a65f3661a07e3e7.html

* START_BADI DECD

QUERY = ON

WRITE = ON

YEAR = 1

PERCENTAGE = 10

* END_BADI

和巴迪内部:

使用KEY hashkey ='YEAR'将表it_param读入ls_param。

IF sy-subrc NE0。

l_log ='您尚未指定必需的参数'YEAR'。

cl_ujk_logger => log(i_object = l_log)。

异常类型cx_uj_custom_logic。

退出。

ENDIF。

l_year = ls_param哈希值。

...


派大星 ヾ
2楼-- · 2020-09-07 08:36

从输入表单中提取是什么意思? 您如何运行脚本启动自定义逻辑Badi?

SAP小黑
3楼-- · 2020-09-07 08:36

Vadim Kalinin 抱歉,我是新来的。 用户将进行选择并运行程序包。 该软件包将通过逻辑脚本中的* START_BADI触发BADI。 让我们说我在lgoci脚本中提供了选择,例如Account = BS121,如何将其放入我的方法中?

闻人可可
4楼-- · 2020-09-07 09:00

Uday B

是的,就像您的评论中一样!

内部badi:

使用KEY hashkey ==读取表it_​​param  'ACCOUNT'INTO ls_param。
 ... 

请接受正确的答案。

一周热门 更多>