En esta guía de inicio rápido, se muestra cómo procesar documentos (facturas) desde un bucket de Cloud Storage de origen y almacenar el documento procesado (archivo JSON) en un bucket de destino mediante el uso de la capacidad de procesamiento por lotes de Document API de IA a través de la edición SAP BTP del SDK de ABAP para Google Cloud.
Antes de comenzar
Antes de ejecutar esta guía de inicio rápido, asegúrate de que tú o tus administradores hayan completado los siguientes requisitos previos:
Tienes una cuenta y un proyecto de Google Cloud.
La facturación está habilitada en tu proyecto. Descubre cómo confirmar que tienes habilitada la facturación en un proyecto.
Se instala y configura la edición SAP BTP del SDK de ABAP para Google Cloud. Aprende a instalar y configurar la edición SAP BTP del SDK de ABAP para Google Cloud.
Se configuró la autenticación para acceder a las APIs de Google Cloud. Consulta cómo configurar la autenticación.
Tienes acceso al entorno de SAP BTP y ABAP.
Descargaste e instalaste las herramientas de desarrollo de ABAP (ADT) más recientes en la última plataforma de Eclipse.
Creaste un proyecto ABAP de Cloud.
Asegúrate de que la API de Document AI esté habilitada en tu proyecto de Google Cloud.
En Document AI Workbench, crea un procesador con el tipo
INVOICE_PROCESSOR
. Para obtener más información, consulta Crea y administra procesadores.En Cloud Storage, crea un bucket de origen para almacenar las facturas por procesamiento y coloca las facturas en este bucket. Para obtener más información, consulta Crea buckets.
En Cloud Storage, crea un bucket de destino para almacenar los archivos procesados.
Crea una clase ABAP para procesar documentos
Crea un paquete:
- En ADT, ve al Explorador de proyectos.
- Haz clic con el botón derecho en el paquete
ZLOCAL
y selecciona Nuevo > Paquete de ABAP. Ingresa los siguientes detalles para tu paquete:
- Nombre: Ingresa
ZABAPSDK_TEST
. - Descripción: ingresa
ABAP SDK Test Package
.
- Nombre: Ingresa
Haz clic en Siguiente.
En el cuadro de diálogo Seleccionar una solicitud de transporte, selecciona la casilla de verificación Crear una solicitud nueva.
Ingresa una descripción para la solicitud de transporte.
Haz clic en Finish (Finalizar).
Crea una clase ABAP para llamar a la API de Document AI:
- Haz clic con el botón derecho en tu paquete ABAP y selecciona Nueva > Clase ABAP.
Ingresa los siguientes detalles para tu clase ABAP:
- Nombre: Ingresa
ZGOOG_CL_QS_DOCUMENT_AI
. - Descripción: ingresa
Quick start for Document AI API
.
- Nombre: Ingresa
Haz clic en Siguiente.
Selecciona una solicitud de transporte y haz clic en Finalizar.
En el editor de código, reemplace el código predeterminado por el siguiente fragmento de código:
CLASS zcl_qs_process_documents DEFINITION PUBLIC FINAL CREATE PUBLIC. PUBLIC SECTION. INTERFACES if_oo_adt_classrun. ENDCLASS. CLASS zcl_qs_process_documents IMPLEMENTATION. METHOD if_oo_adt_classrun~main. DATA lv_p_projects_id TYPE string. DATA lv_p_locations_id TYPE string. DATA lv_p_processors_id TYPE string. DATA ls_input TYPE /goog/cl_documentai_v1=>ty_017. DATA lo_docai TYPE REF TO /goog/cl_documentai_v1. TRY. " Open HTTP connection lo_docai = NEW #( iv_key_name = 'DEMO_DOC_PROCESSING' ). " Populate relevant parameters to be passed to API lv_p_projects_id = 'PROJECT_ID'. lv_p_locations_id = 'LOCATION_ID'. lv_p_processors_id = 'PROCESSOR_ID'. ls_input-input_documents-gcs_prefix-gcs_uri_prefix = 'SOURCE_BUCKET_URI'. ls_input-document_output_config-gcs_output_config-gcs_uri = 'TARGET_BUCKET_URI'. " Call API method lo_docai->batch_process_processors( EXPORTING iv_p_projects_id = lv_p_projects_id iv_p_locations_id = lv_p_locations_id iv_p_processors_id = lv_p_processors_id is_input = ls_input IMPORTING es_output = DATA(ls_output) ev_ret_code = DATA(lv_ret_code) ev_err_text = DATA(lv_err_text) es_err_resp = DATA(ls_err_resp) ). IF lo_docai->is_success( lv_ret_code ) = abap_true. out->write( |API call successful| ). ELSE. out->write( |Error occurred during API call| ). out->write( lv_err_text ). ENDIF. " Close HTTP connection lo_docai->close( ). CATCH /goog/cx_sdk INTO DATA(lo_exception). " Handle exception here ENDTRY. ENDMETHOD. ENDCLASS.
Reemplaza lo siguiente:
DEMO_DOC_PROCESSING
: el nombre de la clave del cliente.PROJECT_ID
: El ID del proyecto de Google Cloud en el que existen tus buckets de origen y destino.LOCATION_ID
: la ubicación del procesador.PROCESSOR_ID
: Es el ID del procesador.SOURCE_BUCKET_URI
: El URI de la carpeta del bucket de Cloud Storage en la que se conservan los documentos de origen para su procesamiento.TARGET_BUCKET_URI
: El URI del bucket de Cloud Storage en el que se almacenará el documento procesado (archivo JSON).
Guarda y activa los cambios.
Ejecuta tu aplicación:
- Selecciona la clase de ABAP
ZGOOG_CL_QS_DOCUMENT_AI
. - Haz clic en Run > Run As > ABAP Application (Console).
También puedes presionar
F9
.
- Selecciona la clase de ABAP
Para validar los resultados, sigue estos pasos:
En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
Abre el bucket de destino. El documento procesado se almacena en forma de un archivo JSON.
¿Qué sigue?
- Lee la guía Desarrollo de aplicaciones con la edición SAP BTP del SDK de ABAP para Google Cloud.
- Haz tus preguntas y analiza el SDK de ABAP para Google Cloud con la comunidad en Cloud Forums.