Hi experts,
I have a problem, when I approve the first release code (E2) should send the document to the next user Workplace, to approve the final release code (E3); and it are not doing.
The code of my Badi is :
method /IWWRK/IF_WF_WI_BEFORE_UPD_IB~BEFORE_UPDATE.
DATA ls_object TYPE swr_obj_2.
DATA lv_objtype TYPE swr_struct-object_typ.
DATA lv_objkey TYPE SWR_STRUCT-OBJECT_KEY.
DATA lv_retcode TYPE sy-subrc.
DATA lt_container TYPE TABLE OF swr_cont.
DATA ls_container_line TYPE swr_cont.
DATA LV_EBELN TYPE ekko-EBELN.
DATA ls_ekko TYPE EKKO.
CALL FUNCTION 'SAP_WAPI_GET_OBJECTS'
EXPORTING
workitem_id = is_wi_details-wi_id
IMPORTING
leading_object_2 = ls_object.
MOVE ls_object-instid TO LV_EBELN.
select single * from EKKO
into ls_ekko
where EBELN = LV_EBELN.
CALL FUNCTION 'SAP_WAPI_READ_CONTAINER'
EXPORTING
workitem_id = is_wi_details-wi_id
IMPORTING
return_code = lv_retcode
TABLES
simple_container = lt_container.
CASE iv_decision_key.
WHEN 0001. "Approved
ls_container_line-value = 'A'.
CONCATENATE ls_ekko-FRGZU 'X' INTO ls_ekko-FRGZU.
IF ls_ekko-FRGZU = 'XX'.
ls_ekko-FRGRL = space.
ls_ekko-frgke = 'L'.
ENDIF.
WHEN 0002. "Rejected
ls_container_line-value = 'R'.
ENDCASE.
ls_container_line-element = '_WI_RESULT'.
MODIFY lt_container INDEX 2 FROM ls_container_line TRANSPORTING value.
CALL FUNCTION 'SAP_WAPI_WRITE_CONTAINER'
EXPORTING
WORKITEM_ID = is_wi_details-wi_id
DO_COMMIT = 'X'
IMPORTING
RETURN_CODE = lv_retcode
TABLES
SIMPLE_CONTAINER = lt_container.
IF lv_retcode NE 0.
"Handle error
ENDIF.
update ekko from ls_ekko.
CALL FUNCTION 'SAP_WAPI_WORKITEM_COMPLETE'
EXPORTING
WORKITEM_ID = is_wi_details-wi_id.
CALL FUNCTION 'SAP_WAPI_WORKITEM_CONFIRM'
EXPORTING
WORKITEM_ID = is_wi_details-wi_id.
endmethod.
Any ideas ?
![unnamed.png]()
Sorry for my english.
Thanks,
Regards.