Skip to content

/AWS1/IF_TCE=>UPDATEREGISTRYRECORD()

About UpdateRegistryRecord

Updates a registry record. The update is asynchronous: the record is returned with the UPDATING status while it is processed. Fields that use update wrappers follow PATCH semantics: omit the field to leave it unchanged.

Method Signature

METHODS /AWS1/IF_TCE~UPDATEREGISTRYRECORD
  IMPORTING
    !IV_REGISTRYID TYPE /AWS1/TCEREGISTRYIDENTIFIER OPTIONAL
    !IV_RECORDID TYPE /AWS1/TCERECORDIDENTIFIER OPTIONAL
    !IV_NAME TYPE /AWS1/TCEREGISTRYRECORDNAME OPTIONAL
    !IO_DISPLAYNAME TYPE REF TO /AWS1/CL_TCEUPDATEDDISPLAYNAME OPTIONAL
    !IO_DESCRIPTION TYPE REF TO /AWS1/CL_TCEUPDATEDDESCRIPTION OPTIONAL
    !IV_RECORDTYPE TYPE /AWS1/TCERECORDTYPE OPTIONAL
    !IO_DESCRIPTORS TYPE REF TO /AWS1/CL_TCEUPDATEDDESCRIPTORS OPTIONAL
    !IV_RECORDVERSION TYPE /AWS1/TCEREGISTRYRECORDVERSION OPTIONAL
    !IV_TRIGGERSYNCHRONIZATION TYPE /AWS1/TCEBOOLEAN OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_tceupdateregrecordrsp
  RAISING
    /AWS1/CX_TCEACCESSDENIEDEX
    /AWS1/CX_TCECONFLICTEXCEPTION
    /AWS1/CX_TCEINTERNALSERVEREX
    /AWS1/CX_TCERESOURCENOTFOUNDEX
    /AWS1/CX_TCETHROTTLINGEX
    /AWS1/CX_TCEVLDTNEXCEPTION
    /AWS1/CX_TCECLIENTEXC
    /AWS1/CX_TCESERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_registryid TYPE /AWS1/TCEREGISTRYIDENTIFIER /AWS1/TCEREGISTRYIDENTIFIER

The identifier of the registry containing the record (ARN or ID)

iv_recordid TYPE /AWS1/TCERECORDIDENTIFIER /AWS1/TCERECORDIDENTIFIER

The identifier of the registry record to update (ARN or ID)

Optional arguments:

iv_name TYPE /AWS1/TCEREGISTRYRECORDNAME /AWS1/TCEREGISTRYRECORDNAME

The updated name of the registry record. Omit to leave the name unchanged.

io_displayname TYPE REF TO /AWS1/CL_TCEUPDATEDDISPLAYNAME /AWS1/CL_TCEUPDATEDDISPLAYNAME

The updated display name of the registry record. Omit to leave the display name unchanged; provide an empty wrapper to unset it.

io_description TYPE REF TO /AWS1/CL_TCEUPDATEDDESCRIPTION /AWS1/CL_TCEUPDATEDDESCRIPTION

The updated description of the registry record. Omit to leave the description unchanged; provide an empty wrapper to unset it.

iv_recordtype TYPE /AWS1/TCERECORDTYPE /AWS1/TCERECORDTYPE

The updated type of the registry record. Omit to leave the record type unchanged.

io_descriptors TYPE REF TO /AWS1/CL_TCEUPDATEDDESCRIPTORS /AWS1/CL_TCEUPDATEDDESCRIPTORS

The updated typed descriptor content for the registry record. Omit to leave the descriptors unchanged.

iv_recordversion TYPE /AWS1/TCEREGISTRYRECORDVERSION /AWS1/TCEREGISTRYRECORDVERSION

The updated version of the registry record. Omit to leave the version unchanged.

iv_triggersynchronization TYPE /AWS1/TCEBOOLEAN /AWS1/TCEBOOLEAN

Whether to trigger synchronization of the record's descriptor content from its source

RETURNING

oo_output TYPE REF TO /aws1/cl_tceupdateregrecordrsp /AWS1/CL_TCEUPDATEREGRECORDRSP

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_tceupdateddescription( |string| )
  io_descriptors = new /aws1/cl_tceupdateddescriptors(
    io_optionalvalue = new /aws1/cl_tceupdtdescrptrsflds(
      io_a2aagentcard = new /aws1/cl_tceupta2aagcarddesc(
        io_optionalvalue = new /aws1/cl_tceupta2aagcrddescfld(
          io_data = new /aws1/cl_tceupdtdescrptrdata( |string| )
          io_dataschemaversion = new /aws1/cl_tceupdtdataschemavrs( |string| )
          io_source = new /aws1/cl_tceupdtdescrptrsource(
            io_optionalvalue = new /aws1/cl_tcedescriptorsource(
              io_fromurl = new /aws1/cl_tcedescrptrsrcfromurl(
                it_credentialproviderconfs = VALUE /aws1/cl_tceregreccredpvdrconf=>tt_regrecordcredpvdrconflist(
                  (
                    new /aws1/cl_tceregreccredpvdrconf(
                      io_credentialprovider = new /aws1/cl_tceregrccredpvdrunion(
                        io_iamcredentialprovider = new /aws1/cl_tceregreciamcredpvdr(
                          iv_region = |string|
                          iv_rolearn = |string|
                          iv_service = |string|
                        )
                        io_oauthcredentialprovider = new /aws1/cl_tceregrcoauthcredpvdr(
                          it_customparameters = VALUE /aws1/cl_tcecustomparammap_w=>tt_customparametermap(
                            (
                              VALUE /aws1/cl_tcecustomparammap_w=>ts_customparametermap_maprow(
                                key = |string|
                                value = new /aws1/cl_tcecustomparammap_w( |string| )
                              )
                            )
                          )
                          it_scopes = VALUE /aws1/cl_tcescopelist_w=>tt_scopelist(
                            ( new /aws1/cl_tcescopelist_w( |string| ) )
                          )
                          iv_granttype = |string|
                          iv_providerarn = |string|
                        )
                      )
                      iv_credentialprovidertype = |string|
                    )
                  )
                )
                iv_url = |string|
              )
            )
          )
        )
      )
      io_agentskillsdefinition = new /aws1/cl_tceuptagentskldefdesc(
        io_optionalvalue = new /aws1/cl_tceuptagskldefdescfld(
          io_additionaldata = new /aws1/cl_tceuptagskladdldata(
            io_optionalvalue = new /aws1/cl_tceuptgskladdldatafld(
              io_skillmd = new /aws1/cl_tceuptagentsklmddesc(
                io_optionalvalue = new /aws1/cl_tceuptagsklmddescfld(
                  io_data = new /aws1/cl_tceupdtdescrptrdata( |string| )
                  io_dataschemaversion = new /aws1/cl_tceupdtdataschemavrs( |string| )
                  io_source = new /aws1/cl_tceupdtdescrptrsource(
                    io_optionalvalue = new /aws1/cl_tcedescriptorsource(
                      io_fromurl = new /aws1/cl_tcedescrptrsrcfromurl(
                        it_credentialproviderconfs = VALUE /aws1/cl_tceregreccredpvdrconf=>tt_regrecordcredpvdrconflist(
                          (
                            new /aws1/cl_tceregreccredpvdrconf(
                              io_credentialprovider = new /aws1/cl_tceregrccredpvdrunion(
                                io_iamcredentialprovider = new /aws1/cl_tceregreciamcredpvdr(
                                  iv_region = |string|
                                  iv_rolearn = |string|
                                  iv_service = |string|
                                )
                                io_oauthcredentialprovider = new /aws1/cl_tceregrcoauthcredpvdr(
                                  it_customparameters = VALUE /aws1/cl_tcecustomparammap_w=>tt_customparametermap(
                                    (
                                      VALUE /aws1/cl_tcecustomparammap_w=>ts_customparametermap_maprow(
                                        key = |string|
                                        value = new /aws1/cl_tcecustomparammap_w( |string| )
                                      )
                                    )
                                  )
                                  it_scopes = VALUE /aws1/cl_tcescopelist_w=>tt_scopelist(
                                    ( new /aws1/cl_tcescopelist_w( |string| ) )
                                  )
                                  iv_granttype = |string|
                                  iv_providerarn = |string|
                                )
                              )
                              iv_credentialprovidertype = |string|
                            )
                          )
                        )
                        iv_url = |string|
                      )
                    )
                  )
                )
              )
            )
          )
          io_data = new /aws1/cl_tceupdtdescrptrdata( |string| )
          io_dataschemaversion = new /aws1/cl_tceupdtdataschemavrs( |string| )
        )
      )
      io_custom = new /aws1/cl_tceupdtcustomdescrptr( new /aws1/cl_tceuptcustdescfields( new /aws1/cl_tceupdtdescrptrdata( |string| ) ) )
      io_mcpserver = new /aws1/cl_tceupdtmcpsrvdescrptr(
        io_optionalvalue = new /aws1/cl_tceuptmcpsrvdescfld(
          io_additionaldata = new /aws1/cl_tceupdtmcpsrvaddldata(
            io_optionalvalue = new /aws1/cl_tceuptmcpsrvaddldat00(
              io_tools = new /aws1/cl_tceupdtmcptlsdescrptr(
                io_optionalvalue = new /aws1/cl_tceuptmcptoolsdescfld(
                  io_data = new /aws1/cl_tceupdtdescrptrdata( |string| )
                  io_dataschemaversion = new /aws1/cl_tceupdtdataschemavrs( |string| )
                )
              )
            )
          )
          io_data = new /aws1/cl_tceupdtdescrptrdata( |string| )
          io_dataschemaversion = new /aws1/cl_tceupdtdataschemavrs( |string| )
          io_source = new /aws1/cl_tceupdtdescrptrsource(
            io_optionalvalue = new /aws1/cl_tcedescriptorsource(
              io_fromurl = new /aws1/cl_tcedescrptrsrcfromurl(
                it_credentialproviderconfs = VALUE /aws1/cl_tceregreccredpvdrconf=>tt_regrecordcredpvdrconflist(
                  (
                    new /aws1/cl_tceregreccredpvdrconf(
                      io_credentialprovider = new /aws1/cl_tceregrccredpvdrunion(
                        io_iamcredentialprovider = new /aws1/cl_tceregreciamcredpvdr(
                          iv_region = |string|
                          iv_rolearn = |string|
                          iv_service = |string|
                        )
                        io_oauthcredentialprovider = new /aws1/cl_tceregrcoauthcredpvdr(
                          it_customparameters = VALUE /aws1/cl_tcecustomparammap_w=>tt_customparametermap(
                            (
                              VALUE /aws1/cl_tcecustomparammap_w=>ts_customparametermap_maprow(
                                key = |string|
                                value = new /aws1/cl_tcecustomparammap_w( |string| )
                              )
                            )
                          )
                          it_scopes = VALUE /aws1/cl_tcescopelist_w=>tt_scopelist(
                            ( new /aws1/cl_tcescopelist_w( |string| ) )
                          )
                          iv_granttype = |string|
                          iv_providerarn = |string|
                        )
                      )
                      iv_credentialprovidertype = |string|
                    )
                  )
                )
                iv_url = |string|
              )
            )
          )
        )
      )
    )
  )
  io_displayname = new /aws1/cl_tceupdateddisplayname( |string| )
  iv_name = |string|
  iv_recordid = |string|
  iv_recordtype = |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_registryrecorddisplayna = lo_result->get_displayname( ).
  lv_description = lo_result->get_description( ).
  lv_recordtype = lo_result->get_recordtype( ).
  lo_descriptors = lo_result->get_descriptors( ).
  IF lo_descriptors IS NOT INITIAL.
    lo_mcpserverdescriptor = lo_descriptors->get_mcpserver( ).
    IF lo_mcpserverdescriptor IS NOT INITIAL.
      lv_descriptordata = lo_mcpserverdescriptor->get_data( ).
      lv_dataschemaversion = lo_mcpserverdescriptor->get_dataschemaversion( ).
      lo_mcpserveradditionaldata = lo_mcpserverdescriptor->get_additionaldata( ).
      IF lo_mcpserveradditionaldata IS NOT INITIAL.
        lo_mcptoolsdescriptor = lo_mcpserveradditionaldata->get_tools( ).
        IF lo_mcptoolsdescriptor IS NOT INITIAL.
          lv_descriptordata = lo_mcptoolsdescriptor->get_data( ).
          lv_dataschemaversion = lo_mcptoolsdescriptor->get_dataschemaversion( ).
        ENDIF.
      ENDIF.
      lo_descriptorsource = lo_mcpserverdescriptor->get_source( ).
      IF lo_descriptorsource IS NOT INITIAL.
        lo_descriptorsourcefromurl = lo_descriptorsource->get_fromurl( ).
        IF lo_descriptorsourcefromurl IS NOT INITIAL.
          lv_descriptorsourceurl = lo_descriptorsourcefromurl->get_url( ).
          LOOP AT lo_descriptorsourcefromurl->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.
    lo_a2aagentcarddescriptor = lo_descriptors->get_a2aagentcard( ).
    IF lo_a2aagentcarddescriptor IS NOT INITIAL.
      lv_descriptordata = lo_a2aagentcarddescriptor->get_data( ).
      lv_dataschemaversion = lo_a2aagentcarddescriptor->get_dataschemaversion( ).
      lo_descriptorsource = lo_a2aagentcarddescriptor->get_source( ).
      IF lo_descriptorsource IS NOT INITIAL.
        lo_descriptorsourcefromurl = lo_descriptorsource->get_fromurl( ).
        IF lo_descriptorsourcefromurl IS NOT INITIAL.
          lv_descriptorsourceurl = lo_descriptorsourcefromurl->get_url( ).
          LOOP AT lo_descriptorsourcefromurl->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.
    lo_agentskillsdefinitionde = lo_descriptors->get_agentskillsdefinition( ).
    IF lo_agentskillsdefinitionde IS NOT INITIAL.
      lv_descriptordata = lo_agentskillsdefinitionde->get_data( ).
      lv_dataschemaversion = lo_agentskillsdefinitionde->get_dataschemaversion( ).
      lo_agentskillsadditionalda = lo_agentskillsdefinitionde->get_additionaldata( ).
      IF lo_agentskillsadditionalda IS NOT INITIAL.
        lo_agentskillsmddescriptor = lo_agentskillsadditionalda->get_skillmd( ).
        IF lo_agentskillsmddescriptor IS NOT INITIAL.
          lv_descriptordata = lo_agentskillsmddescriptor->get_data( ).
          lv_dataschemaversion = lo_agentskillsmddescriptor->get_dataschemaversion( ).
          lo_descriptorsource = lo_agentskillsmddescriptor->get_source( ).
          IF lo_descriptorsource IS NOT INITIAL.
            lo_descriptorsourcefromurl = lo_descriptorsource->get_fromurl( ).
            IF lo_descriptorsourcefromurl IS NOT INITIAL.
              lv_descriptorsourceurl = lo_descriptorsourcefromurl->get_url( ).
              LOOP AT lo_descriptorsourcefromurl->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.
      ENDIF.
    ENDIF.
    lo_customdescriptor = lo_descriptors->get_custom( ).
    IF lo_customdescriptor IS NOT INITIAL.
      lv_descriptordata = lo_customdescriptor->get_data( ).
    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( ).
ENDIF.