点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我已经实现了BADI定义CUSTOMER_ADD_DATA_BI,用于在方法FILL_ALE_SEGMENTS_OWN_DATA中填充idoctype Debmas06的自定义段Z1KNA1M(包含其他地址字段)。
直到我在分销模型中的细分市场E1KNA1M-Land1(美国,MX,CA)中基于客户所在的国家/地区引入了其他过滤器后,一切都很好。
现在,对于上述国家/地区的客户来说,它可以正常工作,但对于在该国家/地区无法生成通信idoc的其他国家/地区,则会出现错误,提示"内部错误:程序读取了表idoc_structure,命令data_select_for_block, 参数Z1KNA1M'。 在运行BD21或BD12时。
感谢您的答复。
谢谢
Nalinikalyan。
你好kalyani,
您能为此提供帮助吗?
我正在使用badi CUSTOMER_ADD_DATA_BI将自定义细分数据发布到数据库(此处已配置我的fm或根据合作伙伴资料调用了此badi)
在这里,我想接收自定义段和相应的sdata,然后将其提交给E_BI_STRUCT(据我所知,如果我们提交给e_bi_struct sap,将处理bdc)
但是我看到方法MODIFY_BI_STRUCT_FROM_STD_SEG没有导入自定义段,方法PASS_NON_STANDARD_SEGMENT没有导出或更改参数。
我希望使用此badi本身提交自定义细分数据。
所以请建议解决这个问题。
非常感谢您的帮助。
预先感谢。
纳利尼·卡利安(Nalini Kalyan)是对的。
您可以通过PASS_NON_STANDARD_SEGMENT方法将I_SEGMENT_DATA中存在的自定义细分数据捕获到内部表中。
将自定义细分视为" ZABCDEFGH"
如果I_SEGMENT_NAME ='ZABCDEFGH'
将I_SEGMENT_DATA附加到ITAB。
ENDIF。
即读取segment_name并捕获内部表中的数据,并可用于填充FILL_BI_TABLE_WITH_OWN_SEGMENT中的T_BI_DATA。
希望这会有所帮助。
得到答案,因为扩展名需要在BADI中传递,而起初不会传递。
嗨 卡利亚尼,
我遇到了同样的错误-
'内部错误:程序读取表idoc_structure,命令data_select_for_block,参数Zemail。' 在运行BD21/BD14时
我向Cremas03 Idoc类型添加了自定义细分。
您做了什么来解决这个问题?
添加扩展名是什么意思?
谢谢
Preeta
你好Nalini,
我有一个类似的要求,即我在KNB1表中添加了一个新字段,并且此数据通过DEBMAS06发送到另一个SAP系统。 因此,我还需要将此附加数据也传递给另一个系统。
我为DEBMAS06创建了扩展,并为其添加了自定义细分。 现在,我想使用CUSTOMER_ADD_DATA_BI来传递自定义细分数据。
如何实现此目标,即我需要在所有方法中包括发送额外数据的代码吗?
请您指导我执行以下操作。
此致
钱德拉(Chandra)
嗨kalyani,
您能告诉我如何实现方法FILL_ALE_SEGMENTS_OWN_DATA吗?
我尝试这样做,但是找不到解决方法。
非常感谢!
您好,纳利尼,
可以帮助您填充Z段(ZTAX),该段已添加到ZDEBMAS07(从DEBMAS07复制)中。
此部分最后添加了,我只能在BADI CUSTOMER_ADD_DATA_BI中看到单方法FILL_ALE_SEGMENTS_OWN_DATA。 但是没有逻辑,我该如何将其定位在树的最后。
我很容易在E1KNA1M之后或E1KNA11之后说。 请显示一些东西。
我仍然写的代码是:
类型:ty_j_1imocust的开始,
j_1icstno TYPE j_1imocust-j_1icstno,
j_1ilstno TYPE j_1imocust-j_1ilstno,
ty_j_1imocust结束。
数据:ls_j_1imocust1 TYPE ty_j_1imocust。
数据:lv_kunnr TYPE kna1-kunnr,
ls_t_idoc_data TYPE edidd。
数据:lv_flag类型为char1。
数据:lv_j1icstno TYPE j_1imocust-j_1icstno,
lv_j1ilstno TYPE j_1imocust-j_1ilstno。
数据:ls_edidd TYPE edidd。
数据:ls_j_1imocust类型j_1imocust。
清除ls_t_idoc_data。
使用segnam ='E1KNA1M'键将表t_idoc_data读入ls_t_idoc_data。
如果sy-subrc = 0。
lv_kunnr = ls_t_idoc_data-sdata + 3(10)。
ENDIF。
清除ls_t_idoc_data。
使用segnam ='ZTAX'将表t_idoc_data读入ls_t_idoc_data。
如果sy-subrc = 0。
删除t_idoc_data索引sy-tabix。
ENDIF。
清除ls_j_1imocust。
选择单个*
从j_1imocust到ls_j_1imocust,其中kunnr = lv_kunnr。
如果sy-subrc = 0。
将ls_j_1imocust-j_1icstno移动到ls_j_1imocust1-j_1icstno。
将ls_j_1imocust-j_1ilstno移动到ls_j_1imocust1-j_1ilstno。
ls_edidd-mandt = sy-mandt。
ls_edidd-segnam ='ZTAX'。
ls_edidd-sdata = ls_j_1imocust1。
附加ls_edid到t_idoc_data。
ENDIF。
一周热门 更多>