lunes, 14 de noviembre de 2011

Guardar archivos DMS desde un archivo local

Buenas tardes a todos. En esta nueva entrada os voy a dejar un programa para cargar archivos locales en la gestión documental de SAP. En este caso vamos a cargar un archivo y linkarlo a un equipo.




* Declaración variables

DATA: lf_doctype LIKE bapi_doc_aux-doctype,
lf_docnumber LIKE bapi_doc_aux-docnumber,
lf_docpart LIKE bapi_doc_aux-docpart,
lf_docversion LIKE bapi_doc_aux-docversion,
ls_doc LIKE bapi_doc_draw2,
path LIKE IBIPPARMS-PATH,
v_str1(200),
v_str2(3),
w_fich like ZEQUIPOS_FICH.



DATA: lt_files LIKE bapi_doc_files2 OCCURS 0 WITH HEADER LINE,
lt_drat LIKE bapi_doc_drat OCCURS 0 WITH HEADER LINE,
lt_drad LIKE bapi_doc_drad OCCURS 0 WITH HEADER LINE,
lt_charact LIKE bapi_characteristic_values OCCURS 0 WITH HEADER LINE,
RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE,
lt_links like BAPI_DOC_DRAD OCCURS 0 WITH HEADER LINE.

* Sacamos un explorador de archivos para seleccionar el fichero

CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SY-REPID
DYNPRO_NUMBER = SY-DYNNR
FIELD_NAME = 'PATH'
IMPORTING
FILE_NAME = FILE.



SPLIT file AT '.' INTO V_STR1 V_STR2.


TRANSLATE V_STR2 TO UPPER CASE.


ls_doc-documenttype = 'CER'.
ls_doc-documentnumber = '*'.
ls_doc-documentversion = '00'.
ls_doc-documentpart = '000'.
ls_doc-authoritygroup = '00000'.
ls_doc-wsapplication1 = v_str2. " Extensión del fichero a cargar

REFRESH lt_files.
CLEAR lt_files.


CLEAR lt_drat.
REFRESH lt_drat.

* Introducimos la descipción
lt_drat-language = 'S'.
lt_drat-description = 'DESCRIPCION'.
APPEND lt_drat.


lt_files-docfile = file.
lt_files-wsapplication = v_str2.
lt_files-storagecategory = 'DMS_C1_ST'.
APPEND lt_files.

* En esta tabla introducimos el link
lt_links-objectkey = equipo.
lt_links-objecttype = 'EQUI'.
append lt_links.

* Creamos el documento
CALL FUNCTION 'BAPI_DOCUMENT_CREATE2'
EXPORTING:
documentdata = ls_doc
IMPORTING:
documenttype = lf_doctype
documentnumber = lf_docnumber
documentpart = lf_docpart
documentversion = lf_docversion
return = return
TABLES:
documentdescriptions = lt_drat
objectlinks = lt_links
documentfiles = lt_files.

No hay comentarios:

Publicar un comentario