Traiter des documents

Ce guide de démarrage rapide explique comment traiter des documents (factures) à partir d'un bucket source et stocker le document traité (fichier JSON) dans un bucket cible à l'aide de la fonctionnalité de traitement par lot de l'API Document AI.

Avant de commencer

Avant d'exécuter ce guide de démarrage rapide, assurez-vous que vous ou vos administrateurs avez rempli les conditions préalables suivantes :

Créer un programme pour traiter des documents

  1. Dans le système SAP, créez un programme exécutable dans votre espace de noms personnalisé (par exemple, Z ou Y) à l'aide de la transaction SE38.

    1. Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction SE38.

    2. Dans le champ Program (Programme), saisissez un nom pour votre programme, par exemple ZDEMO_DOCUMENT_AI.

    3. Cliquez sur Créer.

    4. Spécifiez les attributs du programme :

      1. Dans le champ Titre, saisissez un titre de votre programme, par exemple Process invoices.

      2. Dans le champ Type, sélectionnez Executable Program.

      3. Cliquez sur Enregistrer.

    5. Enregistrez le programme en tant qu'objet local.

    6. Dans l'éditeur ABAP, ajoutez le code suivant :

      **********************************************************************
      *  Copyright 2023 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.                                *
      **********************************************************************
      
      REPORT zr_qs_process_documents.
      
      * data declarations
      DATA:
        lv_p_projects_id   TYPE string,
        lv_p_locations_id  TYPE string,
        lv_p_processors_id TYPE string,
        ls_input           TYPE /goog/cl_documentai_v1=>ty_017.
      
      TRY.
      
      * open http connection
          DATA(lo_client) = NEW /goog/cl_documentai_v1( iv_key_name = 'DEMO_DOC_PROCESSING' ).
      
      * populate relevant parameters
          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
          CALL METHOD lo_client->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_client->is_success( lv_ret_code ).
            MESSAGE 'Success' TYPE 'S'.
          ELSE.
            MESSAGE lv_err_text TYPE 'E'.
          ENDIF.
      
      * close http connection
          lo_client->close( ).
      
        CATCH /goog/cx_sdk INTO DATA(lo_exception).
          MESSAGE lo_exception->get_text( ) TYPE 'E'.
      ENDTRY.
      

      Remplacez les éléments suivants :

      • DEMO_DOC_PROCESSING : nom de la clé client.
      • PROJECT_ID : ID du projet Google Cloud.
      • LOCATION_ID : emplacement de l'outil de traitement.
      • PROCESSOR_ID : ID de l'outil de traitement.
      • SOURCE_BUCKET_URI : URI du dossier du bucket Cloud Storage dans lequel les documents sources sont conservés afin d'être traités.
      • TARGET_BUCKET_URI : URI du bucket Cloud Storage dans lequel le document traité (fichier JSON) sera stocké.
  2. Exécutez votre application dans SE38.

  3. Pour valider les résultats, procédez comme suit :

    1. Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.

    2. Ouvrez le bucket cible. Le document traité est stocké sous la forme d'un fichier JSON.

Étapes suivantes