/AWS1/IF_BDO=>UPDATEREGISTRYRECORD()¶
About UpdateRegistryRecord¶
Updates an existing registry record. This operation uses PATCH semantics, so you only need to specify the fields you want to change. The update is processed asynchronously and returns HTTP 202 Accepted.
Method Signature¶
METHODS /AWS1/IF_BDO~UPDATEREGISTRYRECORD
IMPORTING
!IV_REGISTRYID TYPE /AWS1/BDOREGISTRYIDENTIFIER OPTIONAL
!IV_RECORDID TYPE /AWS1/BDORECORDIDENTIFIER OPTIONAL
!IV_NAME TYPE /AWS1/BDOREGISTRYRECORDNAME OPTIONAL
!IO_DESCRIPTION TYPE REF TO /AWS1/CL_BDOUPDATEDDESCRIPTION OPTIONAL
!IV_DESCRIPTORTYPE TYPE /AWS1/BDODESCRIPTORTYPE OPTIONAL
!IO_DESCRIPTORS TYPE REF TO /AWS1/CL_BDOUPDATEDDESCRIPTORS OPTIONAL
!IV_RECORDVERSION TYPE /AWS1/BDOREGISTRYRECORDVERSION OPTIONAL
!IO_SYNCHRONIZATIONTYPE TYPE REF TO /AWS1/CL_BDOUPDATEDSYNCTYPE OPTIONAL
!IO_SYNCCONFIGURATION TYPE REF TO /AWS1/CL_BDOUPDATEDSYNCCONF OPTIONAL
!IV_TRIGGERSYNCHRONIZATION TYPE /AWS1/BDOBOOLEAN OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_bdoupdateregrecordrsp
RAISING
/AWS1/CX_BDOACCESSDENIEDEX
/AWS1/CX_BDOCONFLICTEXCEPTION
/AWS1/CX_BDOINTERNALSERVEREX
/AWS1/CX_BDORESOURCENOTFOUNDEX
/AWS1/CX_BDOTHROTTLINGEX
/AWS1/CX_BDOVALIDATIONEX
/AWS1/CX_BDOCLIENTEXC
/AWS1/CX_BDOSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_registryid TYPE /AWS1/BDOREGISTRYIDENTIFIER /AWS1/BDOREGISTRYIDENTIFIER¶
The identifier of the registry containing the record. You can specify either the Amazon Resource Name (ARN) or the ID of the registry.
iv_recordid TYPE /AWS1/BDORECORDIDENTIFIER /AWS1/BDORECORDIDENTIFIER¶
The identifier of the registry record to update. You can specify either the Amazon Resource Name (ARN) or the ID of the record.
Optional arguments:¶
iv_name TYPE /AWS1/BDOREGISTRYRECORDNAME /AWS1/BDOREGISTRYRECORDNAME¶
The updated name for the registry record.
io_description TYPE REF TO /AWS1/CL_BDOUPDATEDDESCRIPTION /AWS1/CL_BDOUPDATEDDESCRIPTION¶
The updated description for the registry record. To clear the description, include the
UpdatedDescriptionwrapper withoptionalValuenot specified.
iv_descriptortype TYPE /AWS1/BDODESCRIPTORTYPE /AWS1/BDODESCRIPTORTYPE¶
The updated descriptor type for the registry record. Changing the descriptor type may require updating the
descriptorsfield to match the new type's schema requirements.
io_descriptors TYPE REF TO /AWS1/CL_BDOUPDATEDDESCRIPTORS /AWS1/CL_BDOUPDATEDDESCRIPTORS¶
The updated descriptor-type-specific configuration containing the resource schema and metadata. Uses PATCH semantics where individual descriptor fields can be updated independently.
iv_recordversion TYPE /AWS1/BDOREGISTRYRECORDVERSION /AWS1/BDOREGISTRYRECORDVERSION¶
The version of the registry record for optimistic locking. If provided, it must match the current version of the record. The service automatically increments the version after a successful update.
io_synchronizationtype TYPE REF TO /AWS1/CL_BDOUPDATEDSYNCTYPE /AWS1/CL_BDOUPDATEDSYNCTYPE¶
The updated synchronization type for the registry record.
io_syncconfiguration TYPE REF TO /AWS1/CL_BDOUPDATEDSYNCCONF /AWS1/CL_BDOUPDATEDSYNCCONF¶
The updated synchronization configuration for the registry record.
iv_triggersynchronization TYPE /AWS1/BDOBOOLEAN /AWS1/BDOBOOLEAN¶
Whether to trigger synchronization using the stored or provided configuration. When set to
true, the service will synchronize the record metadata from the configured external source.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_bdoupdateregrecordrsp /AWS1/CL_BDOUPDATEREGRECORDRSP¶
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->updateregistryrecord(
io_description = new /aws1/cl_bdoupdateddescription( |string| )
io_descriptors = new /aws1/cl_bdoupdateddescriptors(
io_optionalvalue = new /aws1/cl_bdoupdddescrptrsunion(
io_a2a = new /aws1/cl_bdoupdateda2adescrptr(
io_optionalvalue = new /aws1/cl_bdoa2adescriptor(
io_agentcard = new /aws1/cl_bdoagentcarddefn(
iv_inlinecontent = |string|
iv_schemaversion = |string|
)
)
)
io_agentskills = new /aws1/cl_bdoupdagentskillsdesc(
io_optionalvalue = new /aws1/cl_bdoupdagskillsdescfld(
io_skilldefinition = new /aws1/cl_bdoupdatedskilldefn(
io_optionalvalue = new /aws1/cl_bdoskilldefinition(
iv_inlinecontent = |string|
iv_schemaversion = |string|
)
)
io_skillmd = new /aws1/cl_bdoupdatedskillmddefn( new /aws1/cl_bdoskillmddefinition( |string| ) )
)
)
io_custom = new /aws1/cl_bdoupddcustdescrptr( new /aws1/cl_bdocustomdescriptor( |string| ) )
io_mcp = new /aws1/cl_bdoupdatedmcpdescrptr(
io_optionalvalue = new /aws1/cl_bdoupdatedmcpdescfld(
io_server = new /aws1/cl_bdoupdatedserverdefn(
io_optionalvalue = new /aws1/cl_bdoserverdefinition(
iv_inlinecontent = |string|
iv_schemaversion = |string|
)
)
io_tools = new /aws1/cl_bdoupdatedtoolsdefn(
io_optionalvalue = new /aws1/cl_bdotoolsdefinition(
iv_inlinecontent = |string|
iv_protocolversion = |string|
)
)
)
)
)
)
io_syncconfiguration = new /aws1/cl_bdoupdatedsyncconf(
io_optionalvalue = new /aws1/cl_bdosyncconfiguration(
io_fromurl = new /aws1/cl_bdofromurlsyncconf(
it_credentialproviderconfs = VALUE /aws1/cl_bdoregreccredpvdrconf=>tt_regrecordcredpvdrconflist(
(
new /aws1/cl_bdoregreccredpvdrconf(
io_credentialprovider = new /aws1/cl_bdoregrccredpvdrunion(
io_iamcredentialprovider = new /aws1/cl_bdoregreciamcredpvdr(
iv_region = |string|
iv_rolearn = |string|
iv_service = |string|
)
io_oauthcredentialprovider = new /aws1/cl_bdoregrcoauthcredpvdr(
it_customparameters = VALUE /aws1/cl_bdocustomparammap_w=>tt_customparametermap(
(
VALUE /aws1/cl_bdocustomparammap_w=>ts_customparametermap_maprow(
key = |string|
value = new /aws1/cl_bdocustomparammap_w( |string| )
)
)
)
it_scopes = VALUE /aws1/cl_bdoscopelist_w=>tt_scopelist(
( new /aws1/cl_bdoscopelist_w( |string| ) )
)
iv_granttype = |string|
iv_providerarn = |string|
)
)
iv_credentialprovidertype = |string|
)
)
)
iv_url = |string|
)
)
)
io_synchronizationtype = new /aws1/cl_bdoupdatedsynctype( |string| )
iv_descriptortype = |string|
iv_name = |string|
iv_recordid = |string|
iv_recordversion = |string|
iv_registryid = |string|
iv_triggersynchronization = ABAP_TRUE
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_registryarn = lo_result->get_registryarn( ).
lv_registryrecordarn = lo_result->get_recordarn( ).
lv_registryrecordid = lo_result->get_recordid( ).
lv_registryrecordname = lo_result->get_name( ).
lv_description = lo_result->get_description( ).
lv_descriptortype = lo_result->get_descriptortype( ).
lo_descriptors = lo_result->get_descriptors( ).
IF lo_descriptors IS NOT INITIAL.
lo_mcpdescriptor = lo_descriptors->get_mcp( ).
IF lo_mcpdescriptor IS NOT INITIAL.
lo_serverdefinition = lo_mcpdescriptor->get_server( ).
IF lo_serverdefinition IS NOT INITIAL.
lv_schemaversion = lo_serverdefinition->get_schemaversion( ).
lv_inlinecontent = lo_serverdefinition->get_inlinecontent( ).
ENDIF.
lo_toolsdefinition = lo_mcpdescriptor->get_tools( ).
IF lo_toolsdefinition IS NOT INITIAL.
lv_schemaversion = lo_toolsdefinition->get_protocolversion( ).
lv_inlinecontent = lo_toolsdefinition->get_inlinecontent( ).
ENDIF.
ENDIF.
lo_a2adescriptor = lo_descriptors->get_a2a( ).
IF lo_a2adescriptor IS NOT INITIAL.
lo_agentcarddefinition = lo_a2adescriptor->get_agentcard( ).
IF lo_agentcarddefinition IS NOT INITIAL.
lv_schemaversion = lo_agentcarddefinition->get_schemaversion( ).
lv_inlinecontent = lo_agentcarddefinition->get_inlinecontent( ).
ENDIF.
ENDIF.
lo_customdescriptor = lo_descriptors->get_custom( ).
IF lo_customdescriptor IS NOT INITIAL.
lv_inlinecontent = lo_customdescriptor->get_inlinecontent( ).
ENDIF.
lo_agentskillsdescriptor = lo_descriptors->get_agentskills( ).
IF lo_agentskillsdescriptor IS NOT INITIAL.
lo_skillmddefinition = lo_agentskillsdescriptor->get_skillmd( ).
IF lo_skillmddefinition IS NOT INITIAL.
lv_inlinecontent = lo_skillmddefinition->get_inlinecontent( ).
ENDIF.
lo_skilldefinition = lo_agentskillsdescriptor->get_skilldefinition( ).
IF lo_skilldefinition IS NOT INITIAL.
lv_schemaversion = lo_skilldefinition->get_schemaversion( ).
lv_inlinecontent = lo_skilldefinition->get_inlinecontent( ).
ENDIF.
ENDIF.
ENDIF.
lv_registryrecordversion = lo_result->get_recordversion( ).
lv_registryrecordstatus = lo_result->get_status( ).
lv_datetimestamp = lo_result->get_createdat( ).
lv_datetimestamp = lo_result->get_updatedat( ).
lv_string = lo_result->get_statusreason( ).
lv_synchronizationtype = lo_result->get_synchronizationtype( ).
lo_synchronizationconfigur = lo_result->get_syncconfiguration( ).
IF lo_synchronizationconfigur IS NOT INITIAL.
lo_fromurlsynchronizationc = lo_synchronizationconfigur->get_fromurl( ).
IF lo_fromurlsynchronizationc IS NOT INITIAL.
lv_mcpserverurl = lo_fromurlsynchronizationc->get_url( ).
LOOP AT lo_fromurlsynchronizationc->get_credentialproviderconfs( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_registryrecordcredentia = lo_row_1->get_credentialprovidertype( ).
lo_registryrecordcredentia_1 = lo_row_1->get_credentialprovider( ).
IF lo_registryrecordcredentia_1 IS NOT INITIAL.
lo_registryrecordoauthcred = lo_registryrecordcredentia_1->get_oauthcredentialprovider( ).
IF lo_registryrecordoauthcred IS NOT INITIAL.
lv_credentialproviderarn = lo_registryrecordoauthcred->get_providerarn( ).
lv_registryrecordoauthgran = lo_registryrecordoauthcred->get_granttype( ).
LOOP AT lo_registryrecordoauthcred->get_scopes( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_string = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_registryrecordoauthcred->get_customparameters( ) into ls_row_4.
lv_key = ls_row_4-key.
lo_value = ls_row_4-value.
IF lo_value IS NOT INITIAL.
lv_string = lo_value->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_registryrecordiamcreden = lo_registryrecordcredentia_1->get_iamcredentialprovider( ).
IF lo_registryrecordiamcreden IS NOT INITIAL.
lv_iamrolearn = lo_registryrecordiamcreden->get_rolearn( ).
lv_iamsigningservicename = lo_registryrecordiamcreden->get_service( ).
lv_iamsigningregion = lo_registryrecordiamcreden->get_region( ).
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.