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 ).
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
ev_id = lv_id
etr_api_file = ltr_api_file.
Update (Actualiza una carpeta)
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.