上一篇: abap-BAPI_MATERIAL_SAVEDATA 扩展字段的使用          下一篇: ubuntu 下 搭建 python+apache+django+mysql web开发环境

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

在将 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.