/AWS1/IF_APY=>CREATECHANNELNAMESPACE()¶
About CreateChannelNamespace¶
Creates a ChannelNamespace for an Api.
Method Signature¶
METHODS /AWS1/IF_APY~CREATECHANNELNAMESPACE
IMPORTING
!IV_APIID TYPE /AWS1/APYSTRING OPTIONAL
!IV_NAME TYPE /AWS1/APYNAMESPACE OPTIONAL
!IT_SUBSCRIBEAUTHMODES TYPE /AWS1/CL_APYAUTHMODE=>TT_AUTHMODES OPTIONAL
!IT_PUBLISHAUTHMODES TYPE /AWS1/CL_APYAUTHMODE=>TT_AUTHMODES OPTIONAL
!IV_CODEHANDLERS TYPE /AWS1/APYCODE OPTIONAL
!IT_TAGS TYPE /AWS1/CL_APYTAGMAP_W=>TT_TAGMAP OPTIONAL
!IO_HANDLERCONFIGS TYPE REF TO /AWS1/CL_APYHANDLERCONFIGS OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_apycrechannelnamesp01
RAISING
/AWS1/CX_APYBADREQUESTEX
/AWS1/CX_APYCONCURRENTMODEX
/AWS1/CX_APYCONFLICTEXCEPTION
/AWS1/CX_APYINTERNALFAILUREEX
/AWS1/CX_APYNOTFOUNDEXCEPTION
/AWS1/CX_APYSERVICEQUOTAEXCDEX
/AWS1/CX_APYUNAUTHORIZEDEX
/AWS1/CX_APYCLIENTEXC
/AWS1/CX_APYSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_apiid TYPE /AWS1/APYSTRING /AWS1/APYSTRING¶
The
ApiID.
iv_name TYPE /AWS1/APYNAMESPACE /AWS1/APYNAMESPACE¶
The name of the
ChannelNamespace. This name must be unique within theApi
Optional arguments:¶
it_subscribeauthmodes TYPE /AWS1/CL_APYAUTHMODE=>TT_AUTHMODES TT_AUTHMODES¶
The authorization mode to use for subscribing to messages on the channel namespace. This configuration overrides the default
Apiauthorization configuration.
it_publishauthmodes TYPE /AWS1/CL_APYAUTHMODE=>TT_AUTHMODES TT_AUTHMODES¶
The authorization mode to use for publishing messages on the channel namespace. This configuration overrides the default
Apiauthorization configuration.
iv_codehandlers TYPE /AWS1/APYCODE /AWS1/APYCODE¶
The event handler functions that run custom business logic to process published events and subscribe requests.
it_tags TYPE /AWS1/CL_APYTAGMAP_W=>TT_TAGMAP TT_TAGMAP¶
tags
io_handlerconfigs TYPE REF TO /AWS1/CL_APYHANDLERCONFIGS /AWS1/CL_APYHANDLERCONFIGS¶
The configuration for the
OnPublishandOnSubscribehandlers.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_apycrechannelnamesp01 /AWS1/CL_APYCRECHANNELNAMESP01¶
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->createchannelnamespace(
io_handlerconfigs = new /aws1/cl_apyhandlerconfigs(
io_onpublish = new /aws1/cl_apyhandlerconfig(
io_integration = new /aws1/cl_apyintegration(
io_lambdaconfig = new /aws1/cl_apylambdaconfig( |string| )
iv_datasourcename = |string|
)
iv_behavior = |string|
)
io_onsubscribe = new /aws1/cl_apyhandlerconfig(
io_integration = new /aws1/cl_apyintegration(
io_lambdaconfig = new /aws1/cl_apylambdaconfig( |string| )
iv_datasourcename = |string|
)
iv_behavior = |string|
)
)
it_publishauthmodes = VALUE /aws1/cl_apyauthmode=>tt_authmodes(
( new /aws1/cl_apyauthmode( |string| ) )
)
it_subscribeauthmodes = VALUE /aws1/cl_apyauthmode=>tt_authmodes(
( new /aws1/cl_apyauthmode( |string| ) )
)
it_tags = VALUE /aws1/cl_apytagmap_w=>tt_tagmap(
(
VALUE /aws1/cl_apytagmap_w=>ts_tagmap_maprow(
value = new /aws1/cl_apytagmap_w( |string| )
key = |string|
)
)
)
iv_apiid = |string|
iv_codehandlers = |string|
iv_name = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_channelnamespace = lo_result->get_channelnamespace( ).
IF lo_channelnamespace IS NOT INITIAL.
lv_string = lo_channelnamespace->get_apiid( ).
lv_namespace = lo_channelnamespace->get_name( ).
LOOP AT lo_channelnamespace->get_subscribeauthmodes( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_authenticationtype = lo_row_1->get_authtype( ).
ENDIF.
ENDLOOP.
LOOP AT lo_channelnamespace->get_publishauthmodes( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_authenticationtype = lo_row_1->get_authtype( ).
ENDIF.
ENDLOOP.
lv_code = lo_channelnamespace->get_codehandlers( ).
LOOP AT lo_channelnamespace->get_tags( ) into ls_row_2.
lv_key = ls_row_2-key.
lo_value = ls_row_2-value.
IF lo_value IS NOT INITIAL.
lv_tagvalue = lo_value->get_value( ).
ENDIF.
ENDLOOP.
lv_string = lo_channelnamespace->get_channelnamespacearn( ).
lv_timestamp = lo_channelnamespace->get_created( ).
lv_timestamp = lo_channelnamespace->get_lastmodified( ).
lo_handlerconfigs = lo_channelnamespace->get_handlerconfigs( ).
IF lo_handlerconfigs IS NOT INITIAL.
lo_handlerconfig = lo_handlerconfigs->get_onpublish( ).
IF lo_handlerconfig IS NOT INITIAL.
lv_handlerbehavior = lo_handlerconfig->get_behavior( ).
lo_integration = lo_handlerconfig->get_integration( ).
IF lo_integration IS NOT INITIAL.
lv_string = lo_integration->get_datasourcename( ).
lo_lambdaconfig = lo_integration->get_lambdaconfig( ).
IF lo_lambdaconfig IS NOT INITIAL.
lv_invoketype = lo_lambdaconfig->get_invoketype( ).
ENDIF.
ENDIF.
ENDIF.
lo_handlerconfig = lo_handlerconfigs->get_onsubscribe( ).
IF lo_handlerconfig IS NOT INITIAL.
lv_handlerbehavior = lo_handlerconfig->get_behavior( ).
lo_integration = lo_handlerconfig->get_integration( ).
IF lo_integration IS NOT INITIAL.
lv_string = lo_integration->get_datasourcename( ).
lo_lambdaconfig = lo_integration->get_lambdaconfig( ).
IF lo_lambdaconfig IS NOT INITIAL.
lv_invoketype = lo_lambdaconfig->get_invoketype( ).
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.