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

Postagens mais visitadas deste blog

Esconder elementos de Tela

Como inserir objetos em request via programa