Skip to content

/AWS1/IF_GLU=>UPDATETABLE()

About UpdateTable

Updates a metadata table in the Data Catalog.

Method Signature

METHODS /AWS1/IF_GLU~UPDATETABLE
  IMPORTING
    !IV_CATALOGID TYPE /AWS1/GLUCATALOGIDSTRING OPTIONAL
    !IV_DATABASENAME TYPE /AWS1/GLUNAMESTRING OPTIONAL
    !IV_NAME TYPE /AWS1/GLUNAMESTRING OPTIONAL
    !IO_TABLEINPUT TYPE REF TO /AWS1/CL_GLUTABLEINPUT OPTIONAL
    !IV_SKIPARCHIVE TYPE /AWS1/GLUBOOLEANNULLABLE OPTIONAL
    !IV_TRANSACTIONID TYPE /AWS1/GLUTRANSACTIONIDSTRING OPTIONAL
    !IV_VERSIONID TYPE /AWS1/GLUVERSIONSTRING OPTIONAL
    !IV_VIEWUPDATEACTION TYPE /AWS1/GLUVIEWUPDATEACTION OPTIONAL
    !IV_FORCE TYPE /AWS1/GLUBOOLEAN OPTIONAL
    !IO_UPDOPENTABLEFORMATINPUT TYPE REF TO /AWS1/CL_GLUUPDOPENTBLFMTINPUT OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_gluupdatetablersp
  RAISING
    /AWS1/CX_GLUALREADYEXISTSEX
    /AWS1/CX_GLUCONCURRENTMODEX
    /AWS1/CX_GLUENTITYNOTFOUNDEX
    /AWS1/CX_GLUFEDR8NSOURCEEX
    /AWS1/CX_GLUFEDSRCRETRYABLEEX
    /AWS1/CX_GLUGLUEENCEXCEPTION
    /AWS1/CX_GLUINTERNALSERVICEEX
    /AWS1/CX_GLUINVALIDINPUTEX
    /AWS1/CX_GLUOPERATIONTIMEOUTEX
    /AWS1/CX_GLURESOURCENOTREADYEX
    /AWS1/CX_GLURESRCNUMLMTEXCDEX
    /AWS1/CX_GLUCLIENTEXC
    /AWS1/CX_GLUSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_databasename TYPE /AWS1/GLUNAMESTRING /AWS1/GLUNAMESTRING

The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase.

Optional arguments:

iv_catalogid TYPE /AWS1/GLUCATALOGIDSTRING /AWS1/GLUCATALOGIDSTRING

The ID of the Data Catalog where the table resides. If none is provided, the Amazon Web Services account ID is used by default.

iv_name TYPE /AWS1/GLUNAMESTRING /AWS1/GLUNAMESTRING

The unique identifier for the table within the specified database that will be created in the Glue Data Catalog.

io_tableinput TYPE REF TO /AWS1/CL_GLUTABLEINPUT /AWS1/CL_GLUTABLEINPUT

An updated TableInput object to define the metadata table in the catalog.

iv_skiparchive TYPE /AWS1/GLUBOOLEANNULLABLE /AWS1/GLUBOOLEANNULLABLE

By default, UpdateTable always creates an archived version of the table before updating it. However, if skipArchive is set to true, UpdateTable does not create the archived version.

iv_transactionid TYPE /AWS1/GLUTRANSACTIONIDSTRING /AWS1/GLUTRANSACTIONIDSTRING

The transaction ID at which to update the table contents.

iv_versionid TYPE /AWS1/GLUVERSIONSTRING /AWS1/GLUVERSIONSTRING

The version ID at which to update the table contents.

iv_viewupdateaction TYPE /AWS1/GLUVIEWUPDATEACTION /AWS1/GLUVIEWUPDATEACTION

The operation to be performed when updating the view.

iv_force TYPE /AWS1/GLUBOOLEAN /AWS1/GLUBOOLEAN

A flag that can be set to true to ignore matching storage descriptor and subobject matching requirements.

io_updopentableformatinput TYPE REF TO /AWS1/CL_GLUUPDOPENTBLFMTINPUT /AWS1/CL_GLUUPDOPENTBLFMTINPUT

Input parameters for updating open table format tables in GlueData Catalog, serving as a wrapper for format-specific update operations such as Apache Iceberg.

RETURNING

oo_output TYPE REF TO /aws1/cl_gluupdatetablersp /AWS1/CL_GLUUPDATETABLERSP

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->updatetable(
  io_tableinput = new /aws1/cl_glutableinput(
    io_storagedescriptor = new /aws1/cl_glustoragedescriptor(
      io_schemareference = new /aws1/cl_gluschemareference(
        io_schemaid = new /aws1/cl_gluschemaid(
          iv_registryname = |string|
          iv_schemaarn = |string|
          iv_schemaname = |string|
        )
        iv_schemaversionid = |string|
        iv_schemaversionnumber = 123
      )
      io_serdeinfo = new /aws1/cl_gluserdeinfo(
        it_parameters = VALUE /aws1/cl_gluparametersmap_w=>tt_parametersmap(
          (
            VALUE /aws1/cl_gluparametersmap_w=>ts_parametersmap_maprow(
              value = new /aws1/cl_gluparametersmap_w( |string| )
              key = |string|
            )
          )
        )
        iv_name = |string|
        iv_serializationlibrary = |string|
      )
      io_skewedinfo = new /aws1/cl_gluskewedinfo(
        it_skewedcolumnnames = VALUE /aws1/cl_glunamestringlist_w=>tt_namestringlist(
          ( new /aws1/cl_glunamestringlist_w( |string| ) )
        )
        it_skewedcolumnvaluelocmaps = VALUE /aws1/cl_glulocationmap_w=>tt_locationmap(
          (
            VALUE /aws1/cl_glulocationmap_w=>ts_locationmap_maprow(
              value = new /aws1/cl_glulocationmap_w( |string| )
              key = |string|
            )
          )
        )
        it_skewedcolumnvalues = VALUE /aws1/cl_glucolumnvalstrlist_w=>tt_columnvaluestringlist(
          ( new /aws1/cl_glucolumnvalstrlist_w( |string| ) )
        )
      )
      it_additionallocations = VALUE /aws1/cl_glulocstringlist_w=>tt_locationstringlist(
        ( new /aws1/cl_glulocstringlist_w( |string| ) )
      )
      it_bucketcolumns = VALUE /aws1/cl_glunamestringlist_w=>tt_namestringlist(
        ( new /aws1/cl_glunamestringlist_w( |string| ) )
      )
      it_columns = VALUE /aws1/cl_glucolumn=>tt_columnlist(
        (
          new /aws1/cl_glucolumn(
            it_parameters = VALUE /aws1/cl_gluparametersmap_w=>tt_parametersmap(
              (
                VALUE /aws1/cl_gluparametersmap_w=>ts_parametersmap_maprow(
                  value = new /aws1/cl_gluparametersmap_w( |string| )
                  key = |string|
                )
              )
            )
            iv_comment = |string|
            iv_name = |string|
            iv_type = |string|
          )
        )
      )
      it_parameters = VALUE /aws1/cl_gluparametersmap_w=>tt_parametersmap(
        (
          VALUE /aws1/cl_gluparametersmap_w=>ts_parametersmap_maprow(
            value = new /aws1/cl_gluparametersmap_w( |string| )
            key = |string|
          )
        )
      )
      it_sortcolumns = VALUE /aws1/cl_gluorder=>tt_orderlist(
        (
          new /aws1/cl_gluorder(
            iv_column = |string|
            iv_sortorder = 123
          )
        )
      )
      iv_compressed = ABAP_TRUE
      iv_inputformat = |string|
      iv_location = |string|
      iv_numberofbuckets = 123
      iv_outputformat = |string|
      iv_storedassubdirectories = ABAP_TRUE
    )
    io_targettable = new /aws1/cl_glutableidentifier(
      iv_catalogid = |string|
      iv_databasename = |string|
      iv_name = |string|
      iv_region = |string|
    )
    io_viewdefinition = new /aws1/cl_gluviewdefninput(
      it_representations = VALUE /aws1/cl_gluviewrepresentati00=>tt_viewrepresentationinputlist(
        (
          new /aws1/cl_gluviewrepresentati00(
            iv_dialect = |string|
            iv_dialectversion = |string|
            iv_validationconnection = |string|
            iv_viewexpandedtext = |string|
            iv_vieworiginaltext = |string|
          )
        )
      )
      it_subobjects = VALUE /aws1/cl_gluviewsubobjslist_w=>tt_viewsubobjectslist(
        ( new /aws1/cl_gluviewsubobjslist_w( |string| ) )
      )
      iv_definer = |string|
      iv_isprotected = ABAP_TRUE
    )
    it_parameters = VALUE /aws1/cl_gluparametersmap_w=>tt_parametersmap(
      (
        VALUE /aws1/cl_gluparametersmap_w=>ts_parametersmap_maprow(
          value = new /aws1/cl_gluparametersmap_w( |string| )
          key = |string|
        )
      )
    )
    it_partitionkeys = VALUE /aws1/cl_glucolumn=>tt_columnlist(
      (
        new /aws1/cl_glucolumn(
          it_parameters = VALUE /aws1/cl_gluparametersmap_w=>tt_parametersmap(
            (
              VALUE /aws1/cl_gluparametersmap_w=>ts_parametersmap_maprow(
                value = new /aws1/cl_gluparametersmap_w( |string| )
                key = |string|
              )
            )
          )
          iv_comment = |string|
          iv_name = |string|
          iv_type = |string|
        )
      )
    )
    iv_description = |string|
    iv_lastaccesstime = '20150101000000.0000000'
    iv_lastanalyzedtime = '20150101000000.0000000'
    iv_name = |string|
    iv_owner = |string|
    iv_retention = 123
    iv_tabletype = |string|
    iv_viewexpandedtext = |string|
    iv_vieworiginaltext = |string|
  )
  io_updopentableformatinput = new /aws1/cl_gluupdopentblfmtinput(
    io_updateiceberginput = new /aws1/cl_gluupdateiceberginput(
      io_updateicebergtableinput = new /aws1/cl_gluupdicebergtblinput(
        it_updates = VALUE /aws1/cl_gluicebergtableupdate=>tt_icebergtableupdatelist(
          (
            new /aws1/cl_gluicebergtableupdate(
              io_partitionspec = new /aws1/cl_gluicebergpartspec(
                it_fields = VALUE /aws1/cl_gluicebergpartfield=>tt_icebergpartspecfieldlist(
                  (
                    new /aws1/cl_gluicebergpartfield(
                      iv_fieldid = 123
                      iv_name = |string|
                      iv_sourceid = 123
                      iv_transform = |string|
                    )
                  )
                )
                iv_specid = 123
              )
              io_schema = new /aws1/cl_gluicebergschema(
                it_fields = VALUE /aws1/cl_gluicebergstructfield=>tt_icebergstructfieldlist(
                  (
                    new /aws1/cl_gluicebergstructfield(
                      io_type = /AWS1/CL_RT_DOCUMENT=>FROM_JSON_STR( |\{"foo":"this is a JSON object..."\}| )
                      iv_doc = |string|
                      iv_id = 123
                      iv_name = |string|
                      iv_required = ABAP_TRUE
                    )
                  )
                )
                it_identifierfieldids = VALUE /aws1/cl_gluintegerlist_w=>tt_integerlist(
                  ( new /aws1/cl_gluintegerlist_w( 123 ) )
                )
                iv_schemaid = 123
                iv_type = |string|
              )
              io_sortorder = new /aws1/cl_gluicebergsortorder(
                it_fields = VALUE /aws1/cl_gluicebergsortfield=>tt_icebergsortorderfieldlist(
                  (
                    new /aws1/cl_gluicebergsortfield(
                      iv_direction = |string|
                      iv_nullorder = |string|
                      iv_sourceid = 123
                      iv_transform = |string|
                    )
                  )
                )
                iv_orderid = 123
              )
              it_properties = VALUE /aws1/cl_glustrtostrmap_w=>tt_stringtostringmap(
                (
                  VALUE /aws1/cl_glustrtostrmap_w=>ts_stringtostringmap_maprow(
                    value = new /aws1/cl_glustrtostrmap_w( |string| )
                    key = |string|
                  )
                )
              )
              iv_location = |string|
            )
          )
        )
      )
    )
  )
  iv_catalogid = |string|
  iv_databasename = |string|
  iv_force = ABAP_TRUE
  iv_name = |string|
  iv_skiparchive = ABAP_TRUE
  iv_transactionid = |string|
  iv_versionid = |string|
  iv_viewupdateaction = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
ENDIF.