FI:DMEE配置后文件的银企直连

FI:DMEE配置后文件的银企直连
#1.业务背景
TW希望通过DMEE的配置,将文件下载直接上传给银行,实现自动付款。TW那边银行对文件的格式有规定,需要每个字段按照规定字节输出。具体需求如下(部分需求)
在这里插入图片描述
#2 业务实现
##2.1 业务配置
###2.1.1 事务码:DMEE创建格式树
在这里插入图片描述

###2.1.2 事务码:OBPM1 配置支付媒介格式
在这里插入图片描述
代码页设置为8300
##2.2 业务实现
在此次需求中,最难的是对名称长度的设置。对于数字英文字符,SAP都是一个字节,可以按照字节长度计算。
对于汉字,在SAP内部是用2个字节来表示的,关于名称,若不满40个字节会用半角空格补足,但是当文件下载下来,
发现输出的汉字是按照三个字节计算的。跟银行需要的一个汉字2个字节的输出要求不匹配。
内部做了codepage的转换也不起作用。
后面,经过多次试验,我们发现,当名称长度按照字符计算,并且满足20个字符的时候,SAP会按照一个汉字2个字节
来输出,这样就满足了银行的需求,但是前提是名称必须填满20个汉字。因为有的名称是不能满足20个汉字的,我们就
用了全角空格来填充。
具体实现如下:
在这里插入图片描述
在这里插入图片描述

DATA: ls_item TYPE dmee_paym_if_type,
l_tlen TYPE i,"DMEE定义的字段长度
l_length TYPE i,
l_field(60) TYPE c,"需要出口的DMEE字段
l_name1(40) TYPE c,
l_name TYPE string."字段值

DATA:gw_htab TYPE c.
FIELD-SYMBOLS .

gw_htab = ’ '."全角空格
l_tlen = i_extension-node-length.
IF i_item IS NOT INITIAL.
ls_item = i_item.
ENDIF.

"结构字段的时候
l_field = ‘ls_item’ && ‘-’ && i_extension-node-mp_sc_tab && ‘-’ && i_extension-node-mp_sc_fld.
ASSIGN (l_field) TO .
IF IS NOT INITIAL.
l_name = .
ELSE.
"常量的时候
l_name = i_extension-node-mp_const.
ENDIF.

"获取数据

l_length = cl_abap_list_utilities=>dynamic_output_length( l_name ).
l_length = l_length DIV 2.
IF l_length < l_tlen.
l_length = l_tlen - l_length.
DO l_length TIMES.
CONCATENATE l_name gw_htab INTO l_name.
ENDDO.
ENDIF.
c_value = l_name.

ENDFUNCTION.
##2.3 F110生成付款建议,后下载文件到本地,可以看到名称占了40个字节
在这里插入图片描述

### SAP E711 IDFF 错误解决方案 在SAP系统中遇到IDFF (Intermediate Document Flat File) 报错E711的情况通常涉及数据传输或转换过程中的编码问题以及配置错误。针对此问题,有几种可能的方法来进行修正。 对于因字符集不匹配导致的错误,比如XML文件打开后的编码问题,可以通过应用特定的支持包来解决。例如,在面对UTF-16转UTF-8的需求时,应安装并激活支持包SAPKH60012[^1]。该支持包能够调整系统的内部处理逻辑以适应不同的字符编码需求,从而减少由于编码差异引发的数据解析失败等问题。 另外一种方式是修改相关接口程序的行为模式。具体来说,可通过自定义实现BAdIs(Business Add-Ins)的方式改变原有功能模块的功能特性。特别是`DMEE_BADI_01`这一扩展点允许开发者向其中加入新的实现类如`DMEE_XML_BADI_01`,以此达到控制输出文档格式的目的。此类变更需谨慎操作,并确保新引入的代码经过充分测试验证其稳定性和兼容性。 除了上述技术手段外,还应该仔细审查整个数据流路径上的各个环节是否存在其他潜在因素影响最终结果。这包括但不限于确认源端生成的数据本身是否存在问题;中间件或其他第三方组件是否有干扰;目标接收方的应用环境设置是否恰当等等。如果必要的话,利用调试工具逐步排查直至定位根本原因所在。 ```abap * ABAP Code Example to Debug and Modify BAdI Implementation DATA: lo_badi TYPE REF TO /sapsrm/dmee_xml_badi_01. CREATE OBJECT lo_badi. CALL METHOD lo_badi->set_character_set EXPORTING character_set = 'UTF-8'. ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值