SAP IDoc状态处理

FUNCTION zfm_idoc_status.
*"----------------------------------------------------------------------
"“Local interface:
*” TABLES
*" IT_STATUS STRUCTURE BDIDOCSTAT
*" ET_IDOSTS STRUCTURE BDIDOCSTAT
*"----------------------------------------------------------------------
*—如果IDOC需要做多步操作, 有的步骤可能操作成功, 有的可能操作失败------
*—1. 如果都操作成功, 则we02可以看到每步骤都成功
*—2. 如果都操作失败, 则we02可以看到每步骤都成功
*—3. 如果是有成功的, 有失败的, 尤其是先成功, 后失败, 则we02就不能显示
*— 每个步骤情况, 此时IDOC的状态记录失败, 每个操作步骤可以去返回的
*— IDOC: ZRETURN查看------------------------------------------------

DATA: lv_53 TYPE c, "IDOC process code 操作成功
lv_51 TYPE c. "IDOC process code 操作失败

CLEAR lv_53.
CLEAR lv_51.
READ TABLE it_status WITH KEY status = ‘53’.
IF sy-subrc = 0 .
lv_53 = ‘X’ .
ENDIF.

READ TABLE it_status WITH KEY status = ‘51’.
IF sy-subrc = 0 .
lv_51 = ‘X’ .
ENDIF.

IF lv_53 = ‘X’ AND lv_51 = space. "都成功
LOOP AT it_status.
CLEAR et_idosts.
et_idosts = it_status.
APPEND et_idosts.
ENDLOOP.
ELSEIF lv_53 = ‘X’ AND lv_51 = ‘X’. "有成功, 有失败
LOOP AT it_status WHERE status = ‘51’.
CLEAR et_idosts.
et_idosts = it_status.
APPEND et_idosts.
ENDLOOP.
ELSEIF lv_53 = space AND lv_51 = ‘X’. "都失败
LOOP AT it_status.
CLEAR et_idosts.
et_idosts = it_status.
APPEND et_idosts.
ENDLOOP.
"ELSE.

ENDIF.

ENDFUNCTION.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值