Memproses dokumen

Panduan memulai ini menunjukkan cara memproses dokumen (invoice) dari bucket Cloud Storage sumber dan menyimpan dokumen yang diproses (file JSON) dalam bucket target menggunakan kemampuan batch processing Document AI API melalui ABAP SDK edisi SAP BTP untuk Google Cloud.

Sebelum memulai

Sebelum menjalankan panduan memulai ini, pastikan Anda atau administrator Anda telah memenuhi prasyarat berikut:

  • Pastikan Document AI API diaktifkan di project Google Cloud Anda.

    Buka koleksi API

  • Di Document AI Workbench, buat pemroses dengan jenis INVOICE_PROCESSOR. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola pemroses.

  • Di Cloud Storage, buat bucket sumber untuk menyimpan invoice yang akan diproses dan tempatkan invoice di dalam bucket ini. Untuk mengetahui informasi selengkapnya, lihat Membuat bucket.

  • Di Cloud Storage, buat bucket target untuk menyimpan file yang diproses.

Membuat class ABAP untuk memproses dokumen

  1. Buat paket:

    1. Di ADT, buka Project Explorer.
    2. Klik kanan paket ZLOCAL, lalu pilih New > ABAP Package.
    3. Masukkan detail berikut untuk paket Anda:

      • Nama: masukkan ZABAPSDK_TEST.
      • Deskripsi: masukkan ABAP SDK Test Package.
    4. Klik Berikutnya.

    5. Pada dialog Select a Transport Request, centang kotak Create a new request.

    6. Masukkan deskripsi untuk permintaan transpor.

    7. Klik Selesai.

  2. Buat class ABAP untuk memanggil Document AI API:

    1. Klik kanan paket ABAP, lalu pilih New > ABAP Class.
    2. Masukkan detail berikut untuk class ABAP Anda:

      • Nama: masukkan ZGOOG_CL_QS_DOCUMENT_AI.
      • Deskripsi: masukkan Quick start for Document AI API.
    3. Klik Berikutnya.

    4. Pilih permintaan transpor, lalu klik Selesai.

  3. Di editor kode, ganti kode default dengan cuplikan kode berikut:

    " --------------------------------------------------------------------
    "  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.
    

    Ganti kode berikut:

    • DEMO_DOC_PROCESSING: nama kunci klien.
    • PROJECT_ID: ID project Google Cloud yang mengaktifkan Document AI API.
    • LOCATION_ID: lokasi pemroses.
    • PROCESSOR_ID: ID pemroses.
    • SOURCE_BUCKET_URI: URI folder bucket Cloud Storage tempat dokumen sumber disimpan untuk diproses.
    • TARGET_BUCKET_URI: URI bucket Cloud Storage tempat menyimpan dokumen yang diproses (file JSON).
  4. Simpan dan aktifkan perubahan.

  5. Jalankan aplikasi Anda:

    1. Pilih class ABAP ZGOOG_CL_QS_DOCUMENT_AI.
    2. Klik Jalankan > Jalankan Sebagai > Aplikasi ABAP (Konsol). Atau, tekan F9.
  6. Untuk memvalidasi hasilnya, ikuti langkah-langkah berikut:

    1. Di konsol Google Cloud, buka halaman Bucket Cloud Storage.

      Buka Bucket

    2. Buka bucket target. Dokumen yang diproses disimpan dalam bentuk file JSON.

Langkah selanjutnya