/AWS1/IF_QQB=>CHAT()¶
About Chat¶
Starts or continues a streaming Amazon Q Business conversation.
Method Signature¶
METHODS /AWS1/IF_QQB~CHAT
IMPORTING
!IV_APPLICATIONID TYPE /AWS1/QQBAPPLICATIONID OPTIONAL
!IV_USERID TYPE /AWS1/QQBUSERID OPTIONAL
!IT_USERGROUPS TYPE /AWS1/CL_QQBUSERGROUPS_W=>TT_USERGROUPS OPTIONAL
!IV_CONVERSATIONID TYPE /AWS1/QQBCONVERSATIONID OPTIONAL
!IV_PARENTMESSAGEID TYPE /AWS1/QQBMESSAGEID OPTIONAL
!IV_CLIENTTOKEN TYPE /AWS1/QQBCLIENTTOKEN OPTIONAL
!IO_INPUTSTREAM TYPE REF TO /AWS1/IF_QQBCHATINPUTSTREAM_IS OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_qqbchatoutput
RAISING
/AWS1/CX_QQBACCESSDENIEDEX
/AWS1/CX_QQBCONFLICTEXCEPTION
/AWS1/CX_QQBEXTERNALRESOURCEEX
/AWS1/CX_QQBINTERNALSERVEREX
/AWS1/CX_QQBLICENSENOTFOUNDEX
/AWS1/CX_QQBRESOURCENOTFOUNDEX
/AWS1/CX_QQBTHROTTLINGEX
/AWS1/CX_QQBVALIDATIONEX
/AWS1/CX_QQBCLIENTEXC
/AWS1/CX_QQBSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_applicationid TYPE /AWS1/QQBAPPLICATIONID /AWS1/QQBAPPLICATIONID¶
The identifier of the Amazon Q Business application linked to a streaming Amazon Q Business conversation.
Optional arguments:¶
iv_userid TYPE /AWS1/QQBUSERID /AWS1/QQBUSERID¶
The identifier of the user attached to the chat input.
it_usergroups TYPE /AWS1/CL_QQBUSERGROUPS_W=>TT_USERGROUPS TT_USERGROUPS¶
The group names that a user associated with the chat input belongs to.
iv_conversationid TYPE /AWS1/QQBCONVERSATIONID /AWS1/QQBCONVERSATIONID¶
The identifier of the Amazon Q Business conversation.
iv_parentmessageid TYPE /AWS1/QQBMESSAGEID /AWS1/QQBMESSAGEID¶
The identifier used to associate a user message with a AI generated response.
iv_clienttoken TYPE /AWS1/QQBCLIENTTOKEN /AWS1/QQBCLIENTTOKEN¶
A token that you provide to identify the chat input.
io_inputstream TYPE REF TO /AWS1/IF_QQBCHATINPUTSTREAM_IS /AWS1/IF_QQBCHATINPUTSTREAM_IS¶
The streaming input for the
ChatAPI.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_qqbchatoutput /AWS1/CL_QQBCHATOUTPUT¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->chat(
io_inputstream = lo_stream
it_usergroups = VALUE /aws1/cl_qqbusergroups_w=>tt_usergroups(
( new /aws1/cl_qqbusergroups_w( |string| ) )
)
iv_applicationid = |string|
iv_clienttoken = |string|
iv_conversationid = |string|
iv_parentmessageid = |string|
iv_userid = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
TRY.
WHILE lo_result->get_outputstream( )->/aws1/if_rt_stream_reader~data_available( ) = ABAP_TRUE.
lo_event = lo_result->get_outputstream( )->READ( ).
IF lo_event->get_textevent( ) IS NOT INITIAL.
" process this kind of event
ELSEIF lo_event->get_metadataevent( ) IS NOT INITIAL.
" process this kind of event
ELSEIF lo_event->get_actionreviewevent( ) IS NOT INITIAL.
" process this kind of event
ELSEIF lo_event->get_failedattachmentevent( ) IS NOT INITIAL.
" process this kind of event
ELSEIF lo_event->get_authchallengereqevent( ) IS NOT INITIAL.
" process this kind of event
ENDIF.
ENDWHILE.
ENDTRY.
ENDIF.