Incluir arquivo em DMS já existente
Um mesmo número de DMS pode corresponder a vários arquivos. Você pode inserir todos na criação, mas também pode incluir depois.
Um exemplo do uso é quando um usuário precisa anexar mais um comprovante a algum tipo de solicitação.
Para isso vamos usar a BAPI_DOCUMENT_CHANGE2:
wl_doc_file-documenttype = wl_drat-dokar.
wl_doc_dt-documenttype = wl_drat-dokar.
wl_doc_file-documentnumber = wl_drat-doknr.
wl_doc_dt-documentnumber = wl_drat-doknr.
wl_doc_file-documentpart = wl_drat-doktl.
wl_doc_dt-documentpart = wl_drat-doktl.
wl_doc_file-documentversion = wl_drat-dokvr.
wl_doc_dt-documentversion = wl_drat-dokvr.
wl_doc_file-originaltype = wl_anexo-item.
wl_doc_file-description = wl_anexo-descr.
wl_doc_file-wsapplication = wl_anexo-tp_ext.
wl_doc_file-docfile = wl_anexo-path.
wl_doc_file-storagecategory = 'DMS_C1_ST'.
wl_doc_file-sourcedatacarrier = 'DEFAULT'.
wl_doc_file-checkedin = abap_true.
wl_doc_file-created_at = sy-uzeit.
wl_doc_file-created_by = sy-uname.
APPEND wl_doc_file TO tl_doc_files.
CALL FUNCTION 'BAPI_DOCUMENT_CHANGE2'
EXPORTING
documenttype = wl_doc_dt-documenttype
documentnumber = wl_doc_dt-documentnumber
documentpart = wl_doc_dt-documentpart
documentversion = wl_doc_dt-documentversion
documentdata = wl_doc_dt
documentdatax = wl_doc_dtx
IMPORTING
return = wl_bapiret2
TABLES
documentfiles = tl_doc_files.
IF wl_bapiret2-TYPE NE 'E'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = abap_true.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK' .
ENDIF.
Comentários
Postar um comentário