src/zgoog_conversation_agent/zgoog_i_conv_agent_def.prog.abap (51 lines of code) (raw):
************************************************************************************************************************
* Copyright 2024 Google LLC *
* ABAP SDK for Google Cloud is made available as "Software" under the agreement governing your use of *
* Google Cloud Platform including the Service Specific Terms available at *
* *
* https://cloud.google.com/terms/service-terms *
* *
* Without limiting the generality of the above terms, you may not modify or distribute ABAP SDK for Google Cloud *
* without express written permission from Google. *
************************************************************************************************************************
TYPES:
BEGIN OF gty_file_table,
mime_type TYPE string,
filename TYPE file_table-filename,
END OF gty_file_table.
TYPES:
BEGIN OF gty_file_data,
filename TYPE string,
mime_type TYPE string,
filedata TYPE string,
END OF gty_file_data,
gtt_file_data TYPE STANDARD TABLE OF gty_file_data.
DATA : gr_cont_sysins TYPE REF TO cl_gui_custom_container,
gr_cont_prompt TYPE REF TO cl_gui_custom_container,
gr_cont_response TYPE REF TO cl_gui_custom_container,
gr_text_sysins TYPE REF TO cl_gui_textedit,
gr_text_prompt TYPE REF TO cl_gui_textedit,
gr_text_response TYPE REF TO cl_gui_textedit,
gt_text_sysins TYPE soli_tab,
gt_text_prompt TYPE soli_tab,
p_rb1 TYPE abap_bool VALUE abap_true,
p_rb2 TYPE abap_bool,
p_model_key TYPE /goog/model_key,
p_mime_gcs TYPE string VALUE 'application/pdf',
p_mime_file TYPE string VALUE 'application/pdf',
p_gcs TYPE string,
gt_file_table TYPE STANDARD TABLE OF gty_file_table,
p_no_files TYPE string,
gv_first_run TYPE abap_bool VALUE abap_true.
CLASS lcl_main DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
authorization_check,
create_containers,
create_text_editors,
read_text_editor,
set_pf_status.
PRIVATE SECTION.
CLASS-METHODS:
execute,
browse_files,
get_file_data
EXPORTING
ev_error TYPE abap_bool
et_file_data TYPE gtt_file_data,
convert_string_to_table
IMPORTING
iv_response TYPE string
EXPORTING
et_text_response TYPE soli_tab.
ENDCLASS.