Elaborare documenti

Questa guida rapida mostra come elaborare i documenti (fatture) da un bucket Cloud Storage di origine e archiviare il documento elaborato (file JSON) in un bucket di destinazione utilizzando la funzionalità di elaborazione collettiva dell'API Document AI tramite l'edizione SAP BTP dell'SDK ABAP per Google Cloud.

Prima di iniziare

Prima di eseguire questa guida rapida, assicurati che tu o i tuoi amministratori abbiate completato i seguenti prerequisiti:

  • Assicurati che l'API Document AI sia abilitata nel tuo progetto Google Cloud.

    Vai alla libreria API

  • In Document AI Workbench, crea un processore di tipo INVOICE_PROCESSOR. Per scoprire di più, consulta la pagina Creare e gestire i processori.

  • In Cloud Storage, crea un bucket di origine per archiviare le fatture per l'elaborazione e inserisci le fatture in questo bucket. Per ulteriori informazioni, vedi Creare bucket.

  • In Cloud Storage, crea un bucket di destinazione per archiviare i file elaborati.

Crea una classe ABAP per elaborare i documenti

  1. Crea un pacchetto:

    1. In ADT, vai a Esplora progetti.
    2. Fai clic con il tasto destro del mouse sul pacchetto ZLOCAL e seleziona Nuovo > Pacchetto ABAP.
    3. Inserisci i seguenti dettagli per il pacchetto:

      • Nome: inserisci ZABAPSDK_TEST.
      • Descrizione: inserisci ABAP SDK Test Package.
    4. Fai clic su Avanti.

    5. Nella finestra di dialogo Seleziona una richiesta di trasporto, seleziona la casella di controllo Crea una nuova richiesta.

    6. Inserisci una descrizione per la richiesta di trasporto.

    7. Fai clic su Fine.

  2. Crea una classe ABAP per chiamare l'API Document AI:

    1. Fai clic con il tasto destro del mouse sul pacchetto ABAP e seleziona Nuovo > Classe ABAP.
    2. Inserisci i seguenti dettagli per il tuo corso ABAP:

      • Nome: inserisci ZGOOG_CL_QS_DOCUMENT_AI.
      • Descrizione: inserisci Quick start for Document AI API.
    3. Fai clic su Avanti.

    4. Seleziona una richiesta di trasporto e fai clic su Fine.

  3. Nell'editor di codice, sostituisci il codice predefinito con il seguente snippet di codice:

    " --------------------------------------------------------------------
    "  Copyright 2024 Google LLC                                         -
    "                                                                    -
    "  Licensed under the Apache License, Version 2.0 (the "License");   -
    "  you may not use this file except in compliance with the License.  -
    "  You may obtain a copy of the License at                           -
    "      https://www.apache.org/licenses/LICENSE-2.0                   -
    "  Unless required by applicable law or agreed to in writing,        -
    "  software distributed under the License is distributed on an       -
    "  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,      -
    "  either express or implied.                                        -
    "  See the License for the specific language governing permissions   -
    "  and limitations under the License.                                -
    " --------------------------------------------------------------------
    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
            " The client key DEMO_DOC_PROCESSING is an example, replace this with actual value
            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.
    

    Sostituisci quanto segue:

    • DEMO_DOC_PROCESSING: il nome della chiave client.
    • PROJECT_ID: l'ID del progetto Google Cloud in cui è attivata l'API Document AI.
    • LOCATION_ID: la posizione del processore.
    • PROCESSOR_ID: l'ID del processore.
    • SOURCE_BUCKET_URI: l'URI della cartella del bucket Cloud Storage in cui vengono conservati i documenti di origine per l'elaborazione.
    • TARGET_BUCKET_URI: l'URI del bucket Cloud Storage in cui verrà archiviato il documento elaborato (file JSON).
  4. Salva e attiva le modifiche.

  5. Esegui l'applicazione:

    1. Seleziona la classe ABAP ZGOOG_CL_QS_DOCUMENT_AI.
    2. Fai clic su Esegui > Esegui come > Applicazione ABAP (console). In alternativa, premi F9.
  6. Per convalidare i risultati:

    1. Nella console Google Cloud, vai alla pagina Bucket in Cloud Storage.

      Vai a Bucket

    2. Apri il bucket di destinazione. Il documento elaborato viene archiviato sotto forma di file JSON.

Passaggi successivi