Ir al final de los metadatos
Ir al inicio de los metadatos

Estás viendo una versión antigua de esta página. Ve a la versión actual.

Comparar con el actual View Version History

« Anterior Versión 15 Siguiente »

Disponible desde la versión 2.1.0.

Introducción

Estas clases proporcionan una API simple para la gestión de carpetas y archivos en repositorios. Cada clase permite realizar operaciones básicas como crear, leer, actualizar y eliminar (CRUD). La implementación es directa, y a continuación se presentan ejemplos de uso para facilitar la integración.

Clase /edge/cl_dc_api_folder

Descripción: La clase /edge/cl_dc_api_folder permite gestionar las carpetas en un repositorio. Las operaciones CRUD pueden realizarse utilizando los métodos proporcionados.

Métodos:

 Create (Crear carpeta)

Crea una nueva carpeta en el repositorio.

DATA: lo_api_folder TYPE REF TO /edge/cl_dc_api_folder.
    
    /edge/cl_dc_api_folder=>create(
      EXPORTING
        iv_foldername = 'Nombre Carpeta'     "Nombre de la carpeta
        iv_repository = 'N1'                 "ID del repositorio
        iv_bo_type    = 'BKPF'               "Tipo del BO   
        iv_bo_key     = 'AVHU00016000012024' "Clave del BO
      RECEIVING
        ro_folder     = lo_api_folder ).     "Instancia de la API de carpeta
        
 Read (Lee una carpeta)

Lee los datos de la carpeta. Devuelve el ID de la carpeta, un flag si existe en el repositorio, y una tabla con los adjuntos, si los tiene, en formato API de adjuntos.

DATA: lv_exist type xfeld,
      lv_id    type /edge/dc_repos,
      ltr_api_file type table of ref to /edge/cl_dc_api_file.

CALL METHOD lo_api_folder->read
  IMPORTING
    ev_exist     = lv_exist       "Flag de que existe la carpeta
    ev_id        = lv_id          "ID de la carpeta en el repositorio
    etr_api_file = ltr_api_file.  "Tabla con instancias API de arhivos dentro de la carpeta.
 Update (Actualiza una carpeta)

Solo disponible para Sharepoint 365 API Graph

Actualiza el nombre de la carpeta, permite mover la carpeta de su ubicación actual a otra carpeta, usando el ID de la nueva carpeta padre.

lo_api_folder->update( EXPORTING iv_new_foldername   = 'Nuevo nombre carpeta'                 "Nuevo nombre de la carpeta
                                 iv_new_folderparent = '2c14b36b-6dd2-4e54-be35-e9249f75f487' "Nueva carpeta padre ).
 Delete (Borra una carpeta)

Borra una carpeta

lo_api_folder->delete( ).
 Ejemplo completo

Lee los datos de la carpeta. Devuelve el ID de la carpeta, un flag si existe en el repositorio, y una tabla con los adjuntos, si los tiene, en formato API de adjuntos.

DATA: lv_exist type xfeld,
      lv_id    type /edge/dc_repos,
      ltr_api_file type table of ref to /edge/cl_dc_api_file.

CALL METHOD lo_api_folder->read
  IMPORTING
    ev_exist     = lv_exist 
    ev_id        = lv_id
    etr_api_file = ltr_api_file.

Clase /edge/cl_dc_api_file

Descripción: La clase /edge/cl_dc_api_file gestiona los archivos adjuntos dentro de las carpetas del repositorio. Las operaciones CRUD están disponibles para gestionar los adjuntos.

Métodos:

 Create (Crear archivo)

Crea un nuevo fichero en el repositorio y la carpeta asociada al BO si no existe.

DATA: lo_api_file TYPE REF TO /edge/cl_dc_api_file.
    
    CALL METHOD /edge/cl_dc_api_file=>create
      EXPORTING
        iv_filename   = 'Nombre de fichero'  "Nombre del archivo
        iv_ar_object  = '/EDGE/GRAP'         "Clase de documento
        iv_repository = 'N1'                 "ID del repositorio
        iv_bo_type    = 'BKPF'               "Tipo del BO   
        iv_bo_key     = 'AVHU00016000012024' "Clave del BO
        iv_extension  = 'txt'                "Extension del archivo
        iv_file       = lv_file              "Binario
      RECEIVING
        ro_file       = lo_api_file.         "Instancia de la API del archivo.
        
 Read (Lee una carpeta)

Lee los datos del archivo. Devuelve un flag si existe el archivo y el contenido.

DATA: lv_exist   type xfeld,
      lv_content type xstring.
      
CALL METHOD lo_api_file->read
   IMPORTING
     ev_content = lv_content
     ev_exist   = lv_exist.
 Update (Actualiza un archivo)

Solo disponible para Sharepoint 365 API Graph

Puede actualizar los siguientes datos del archivo en el repositorio:

  • Nombre del archivo, usando el parámetro iv_new_filename.

  • Carpeta donde está alojado, usando el parámetro iv_new_folderid. (Esto moverá el archivo de carpeta).

  • Actualizar los metadatos según la parametrización, marcando el flag iv_autoupdate_metadata.

  • Actualizar los metadatos pasándolos por el parámetro it_metadata.

DATA lt_metadata TYPE /EDGE/DC_METADATA.

    CALL METHOD lo_api_file->update
      EXPORTING
        iv_new_filename        = 'nuevo nombre.txt'.                     "Nuevo nombre del fichero
        iv_new_folderid        = '2c14b36b-6dd2-4e54-be35-e9249f75f487'  "ID de la nueva carpeta donde se moverá el archivo
        iv_autoupdate_metadata = 'X'                                     "Flag de actualización de metadatos según parametrización 
        it_metadata            = lt_metadata.                            "Tabla con los metadatos 
 Delete (Borra un archivo)

Borra un archivo

lo_api_file->delete( ).
 Ejemplo completo

Lee los datos de la carpeta. Devuelve el ID de la carpeta, un flag si existe en el repositorio, y una tabla con los adjuntos, si los tiene, en formato API de adjuntos.

DATA: lv_exist type xfeld,
      lv_id    type /edge/dc_repos,
      ltr_api_file type table of ref to /edge/cl_dc_api_file.

CALL METHOD lo_api_folder->read
  IMPORTING
    ev_exist     = lv_exist 
    ev_id        = lv_id
    etr_api_file = ltr_api_file.
  • Sin etiquetas