PERFORM frm_collect_message TABLES lt_return_o CHANGING lv_return lv_type.
*&---------------------------------------------------------------------*
*& Form frm_collect_message
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> LT_RETURN
*& <-- LV_RETURN
*& <-- LV_TYPE
*&---------------------------------------------------------------------*
FORM frm_collect_message TABLES pt_ret STRUCTURE bapiret2
CHANGING ps_return TYPE zswm_return
pv_flag.
DEFINE def_append_return.
ps_return-mtype = &1.
ps_return-msg = &2.
END-OF-DEFINITION.
DATA:lv_msg TYPE bapi_msg,
lv_string TYPE string.
IF line_exists( pt_ret[ type = 'E' ] ) OR
line_exists( pt_ret[ type = 'A' ] ).
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
LOOP AT pt_ret INTO DATA(pw_ret) .
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = pw_ret-id
msgnr = pw_ret-number
msgv1 = pw_ret-message_v1
msgv2 = pw_ret-message_v2
msgv3 = pw_ret-message_v3
msgv4 = pw_ret-message_v4
IMPORTING
message_text_output = lv_string.
CONCATENATE lv_msg lv_string INTO lv_msg.
ENDLOOP.
def_append_return 'E' lv_msg.
pv_flag = 'E'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
pv_flag = 'S'.
ENDIF.
ENDFORM.
Messag 收集
最新推荐文章于 2024-07-24 23:49:50 发布