abap-将BDC导数据时的错误信息封装为标准的bapi返回参数 BAPIRET2

本文介绍了一种将BDC程序中的错误信息转换为BAPIRET2输出参数的方法,通过使用SAP内部的CONVERT_BDCMSGCOLL_TO_BAPIRET2函数,简化了从BDC消息集合到BAPIRET2表的转换过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://blog.youkuaiyun.com/fangkailove/article/details/5826318

 

在将 bdc 程序封成 bapi 时,需要将 bdc 的错误信息,做为 bapi 的输出参数, 开始我是用 get_message_text 这个bapi 取得错误信息文本并一条一条添加到 BAPIRET2输出表的,后面发现其实 sap 内部有个 bapi 可以直接将 bdc 的错误信息表直接转为  BAPIRET2 的表.

如:

 

 

FUNCTION ZBAPI_XXXXXX.

*"----------------------------------------------------------------------

*"*"Local interface:

*"  EXPORTING

*"     VALUE(STRRETURN) TYPE  CHAR1

*"     VALUE(STRLIFNR) TYPE  LFA1-LIFNR

*"  TABLES

*"      ZBAPI_tab STRUCTURE  ZBAPI_TAB OPTIONAL

 

*"      RETURN STRUCTURE  BAPIRET2 OPTIONAL

*"----------------------------------------------------------------------

 

 

data : l_message like bdcmsgcoll occurs 0 with header line.

 

....

 

 

 call transaction &1 using bdcdata

                     mode 'E'

                     update 'S'

                     messages into l_message.

"上面是调用 bdc 并将信息填到内表 l_messge 中.

"下面直接将 l_message 转到自定义bapi的输出参表 RETURN.

call function 'CONVERT_BDCMSGCOLL_TO_BAPIRET2'

        TABLES

          IMT_BDCMSGCOLL = l_message[]

          EXT_RETURN = RETURN.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值