Hi,
is there any solution for changing the Documentstatus in BADI?
I try this:
METHOD if_ex_document_main01~after_save.
BREAK-POINT.
DATA: dokexistiert TYPE bapi_doc_aux-flag.
CALL FUNCTION 'BAPI_DOCUMENT_EXISTENCECHECK'
EXPORTING
documenttype = draw-dokar
documentnumber = draw-doknr
documentpart = draw-doktl
documentversion = draw-dokvr
IMPORTING
* DOCUMENTISDELETED =
documentexists = dokexistiert
* RETURN =
.
IF dokexistiert = 'X'.
DATA: ls_return_commit TYPE bapiret2.
IF draw-dokst = 'IA'.
DATA: lf_doctype TYPE bapi_doc_draw-documenttype,
lf_docnumber TYPE bapi_doc_draw-documentnumber,
lf_docpart TYPE bapi_doc_draw-documentpart,
lf_docversion TYPE bapi_doc_draw-documentversion,
lf_statusextern TYPE bapi_doc_draw-statusextern,
lf_statusintern TYPE bapi_doc_draw-statusintern,
lf_statuslog TYPE bapi_doc_draw-statuslog,
ls_return TYPE bapiret2.
lf_docnumber = draw-doknr. "'Documentnumber'.
lf_doctype = draw-dokar." 'DRW'.
lf_docversion = draw-dokvr." '00'.
lf_docpart = draw-doktl." '000'.
lf_statusintern = 'FR'.
CALL FUNCTION 'BAPI_DOCUMENT_SETSTATUS'
EXPORTING:
documenttype = lf_doctype
documentnumber = lf_docnumber
documentpart = lf_docpart
documentversion = lf_docversion
statusextern = lf_statusextern
statusintern = lf_statusintern
statuslog = lf_statuslog
IMPORTING:
return = ls_return.
* Errors occurred ??
*** IF ls_return-TYPE CA 'EA'.
*** ROLLBACK WORK.
*** MESSAGE ID '26' TYPE 'I' NUMBER '000'
*** WITH ls_return-MESSAGE.
*** ELSE.
*** COMMIT WORK.
*** ENDIF.
ENDIF.
ENDIF. "dokument existiert
ENDMETHOD.
When i activate the badi, i get a dump... (file attached).
Thankfull for every solution.
Regards
Sebastian