/AWS1/IF_CHS=>GETCHANNELMESSAGE()¶
About GetChannelMessage¶
Gets the full details of a channel message.
The x-amz-chime-bearer request header is mandatory. Use the
ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in
the header.
Method Signature¶
METHODS /AWS1/IF_CHS~GETCHANNELMESSAGE
IMPORTING
!IV_CHANNELARN TYPE /AWS1/CHSCHIMEARN OPTIONAL
!IV_MESSAGEID TYPE /AWS1/CHSMESSAGEID OPTIONAL
!IV_CHIMEBEARER TYPE /AWS1/CHSCHIMEARN OPTIONAL
!IV_SUBCHANNELID TYPE /AWS1/CHSSUBCHANNELID OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_chsgetchannelmsgrsp
RAISING
/AWS1/CX_CHSBADREQUESTEX
/AWS1/CX_CHSFORBIDDENEXCEPTION
/AWS1/CX_CHSNOTFOUNDEXCEPTION
/AWS1/CX_CHSSERVICEFAILUREEX
/AWS1/CX_CHSSERVICEUNAVAILEX
/AWS1/CX_CHSTHROTTLEDCLIENTEX
/AWS1/CX_CHSUNAUTHDCLIENTEX
/AWS1/CX_CHSCLIENTEXC
/AWS1/CX_CHSSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_channelarn TYPE /AWS1/CHSCHIMEARN /AWS1/CHSCHIMEARN¶
The ARN of the channel.
iv_messageid TYPE /AWS1/CHSMESSAGEID /AWS1/CHSMESSAGEID¶
The ID of the message.
iv_chimebearer TYPE /AWS1/CHSCHIMEARN /AWS1/CHSCHIMEARN¶
The ARN of the
AppInstanceUserorAppInstanceBotthat makes the API call.
Optional arguments:¶
iv_subchannelid TYPE /AWS1/CHSSUBCHANNELID /AWS1/CHSSUBCHANNELID¶
The ID of the SubChannel in the request.
Only required when getting messages in a SubChannel that the user belongs to.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_chsgetchannelmsgrsp /AWS1/CL_CHSGETCHANNELMSGRSP¶
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->getchannelmessage(
iv_channelarn = |string|
iv_chimebearer = |string|
iv_messageid = |string|
iv_subchannelid = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_channelmessage = lo_result->get_channelmessage( ).
IF lo_channelmessage IS NOT INITIAL.
lv_chimearn = lo_channelmessage->get_channelarn( ).
lv_messageid = lo_channelmessage->get_messageid( ).
lv_content = lo_channelmessage->get_content( ).
lv_metadata = lo_channelmessage->get_metadata( ).
lv_channelmessagetype = lo_channelmessage->get_type( ).
lv_timestamp = lo_channelmessage->get_createdtimestamp( ).
lv_timestamp = lo_channelmessage->get_lasteditedtimestamp( ).
lv_timestamp = lo_channelmessage->get_lastupdatedtimestamp( ).
lo_identity = lo_channelmessage->get_sender( ).
IF lo_identity IS NOT INITIAL.
lv_chimearn = lo_identity->get_arn( ).
lv_resourcename = lo_identity->get_name( ).
ENDIF.
lv_nonnullableboolean = lo_channelmessage->get_redacted( ).
lv_channelmessagepersisten = lo_channelmessage->get_persistence( ).
lo_channelmessagestatusstr = lo_channelmessage->get_status( ).
IF lo_channelmessagestatusstr IS NOT INITIAL.
lv_channelmessagestatus = lo_channelmessagestatusstr->get_value( ).
lv_statusdetail = lo_channelmessagestatusstr->get_detail( ).
ENDIF.
LOOP AT lo_channelmessage->get_messageattributes( ) into ls_row.
lv_key = ls_row-key.
lo_value = ls_row-value.
IF lo_value IS NOT INITIAL.
LOOP AT lo_value->get_stringvalues( ) into lo_row_1.
lo_row_2 = lo_row_1.
IF lo_row_2 IS NOT INITIAL.
lv_messageattributestringv = lo_row_2->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
lv_subchannelid = lo_channelmessage->get_subchannelid( ).
lv_contenttype = lo_channelmessage->get_contenttype( ).
LOOP AT lo_channelmessage->get_target( ) into lo_row_3.
lo_row_4 = lo_row_3.
IF lo_row_4 IS NOT INITIAL.
lv_chimearn = lo_row_4->get_memberarn( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.