In dieser Kurzanleitung erfahren Sie, wie Sie Dokumente (Rechnungen) aus einem Cloud Storage-Quell-Bucket verarbeiten und das verarbeitete Dokument (JSON-Datei) in einem Ziel-Bucket speichern. Dazu verwenden Sie die Batchverarbeitungsfunktion von Document AI API über die SAP BTP-Version des ABAP SDK for Google Cloud.
Hinweise
Bevor Sie diese Kurzanleitung ausführen, müssen Sie oder Ihre Administratoren die folgenden Voraussetzungen erfüllt haben:
Sie haben ein Google Cloud-Konto und -Projekt.
Die Abrechnung ist für Ihr Projekt aktiviert. Prüfen, ob die Abrechnung für Ihr Projekt aktiviert ist
Die SAP BTP-Version des ABAP SDK for Google Cloud ist installiert und konfiguriert. SAP BTP-Edition des ABAP SDK for Google Cloud installieren und konfigurieren.
Die Authentifizierung für den Zugriff auf Google Cloud APIs ist eingerichtet. Authentifizierung einrichten
Sie haben Zugriff auf die SAP BTP, ABAP-Umgebung.
Sie haben die neuesten ABAP-Entwicklungstools (ADT) auf die neueste Eclipse-Plattform heruntergeladen und installiert.
Sie haben ein ABAP-Cloud-Projekt erstellt.
Achten Sie darauf, dass die Document AI API in Ihrem Google Cloud-Projekt aktiviert ist.
Erstellen Sie in der Document AI Workbench einen Prozessor mit dem Typ
INVOICE_PROCESSOR
. Weitere Informationen finden Sie unter Prozessoren erstellen und verwalten.Erstellen Sie in Cloud Storage einen Quell-Bucket, um die Rechnungen für die Verarbeitung zu speichern, und legen Sie die Rechnungen in diesem Bucket ab. Weitere Informationen finden Sie unter Buckets erstellen.
Erstellen Sie in Cloud Storage einen Ziel-Bucket zum Speichern der verarbeiteten Dateien.
ABAP-Klasse zum Verarbeiten von Dokumenten erstellen
Paket erstellen:
- Rufen Sie in ADT den Project Explorer auf.
- Klicken Sie mit der rechten Maustaste auf das Paket
ZLOCAL
und wählen Sie Neu > ABAP-Paket aus. Geben Sie die folgenden Details für das Paket ein:
- Name: Geben Sie
ZABAPSDK_TEST
ein. - Beschreibung: Geben Sie
ABAP SDK Test Package
ein.
- Name: Geben Sie
Klicken Sie auf Next (Weiter).
Klicken Sie im Dialogfeld Transportanfrage auswählen das Kästchen Neue Anfrage erstellen an.
Geben Sie eine Beschreibung für die Transportanfrage ein.
Klicken Sie auf Finish (Beenden).
Erstellen Sie eine ABAP-Klasse, um die Document AI API aufzurufen:
- Klicken Sie mit der rechten Maustaste auf Ihr ABAP-Paket und wählen Sie Neu > ABAP-Klasse aus.
Geben Sie die folgenden Details für Ihre ABAP-Klasse ein:
- Name: Geben Sie
ZGOOG_CL_QS_DOCUMENT_AI
ein. - Beschreibung: Geben Sie
Quick start for Document AI API
ein.
- Name: Geben Sie
Klicken Sie auf Next (Weiter).
Wählen Sie eine Transportanfrage aus und klicken Sie auf Fertigstellen.
Ersetzen Sie im Codeeditor den Standardcode durch das folgende Code-Snippet:
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.
Ersetzen Sie Folgendes:
DEMO_DOC_PROCESSING
: Name des Clientschlüssels.PROJECT_ID
: Die ID des Google Cloud-Projekts, in dem sich Ihre Quell- und Ziel-Buckets befinden.LOCATION_ID
: Standort des Prozessors.PROCESSOR_ID
: ID des Prozessors.SOURCE_BUCKET_URI
: URI des Cloud Storage-Bucket-Ordners, in dem Quelldokumente für die Verarbeitung gespeichert werden.TARGET_BUCKET_URI
: URI des Cloud Storage-Buckets, in dem das verarbeitete Dokument (JSON-Datei) gespeichert werden soll.
Speichern und aktivieren Sie die Änderungen.
Führen Sie Ihre Anwendung aus:
- Wählen Sie die ABAP-Klasse
ZGOOG_CL_QS_DOCUMENT_AI
aus. - Klicken Sie auf Ausführen > Ausführen als > ABAP-Anwendung (Console).
Alternativ können Sie
F9
drücken.
- Wählen Sie die ABAP-Klasse
So prüfen Sie die Ergebnisse:
Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Öffnen Sie den Ziel-Bucket. Das verarbeitete Dokument wird in Form einer JSON-Datei gespeichert.
Nächste Schritte
- Lesen Sie den Leitfaden Anwendungsentwicklung mit der SAP BTP Edition des ABAP SDK for Google Cloud.
- In den Cloud-Foren können Sie Ihre Fragen stellen und über die ABAP SDK für Google Cloud mit der Community sprechen.