Skip to content

/AWS1/IF_GLU=>CREATETABLE()

About CreateTable

Creates a new table definition in the Data Catalog.

Method Signature

METHODS /AWS1/IF_GLU~CREATETABLE
  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
    !IT_PARTITIONINDEXES TYPE /AWS1/CL_GLUPARTITIONINDEX=>TT_PARTITIONINDEXLIST OPTIONAL
    !IV_TRANSACTIONID TYPE /AWS1/GLUTRANSACTIONIDSTRING OPTIONAL
    !IO_OPENTABLEFORMATINPUT TYPE REF TO /AWS1/CL_GLUOPENTABLEFMTINPUT OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_glucreatetablersp
  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 catalog database in which to create the new table. For Hive compatibility, this name is entirely lowercase.

Optional arguments:

iv_catalogid TYPE /AWS1/GLUCATALOGIDSTRING /AWS1/GLUCATALOGIDSTRING

The ID of the Data Catalog in which to create the Table. If none is supplied, 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

The TableInput object that defines the metadata table to create in the catalog.

it_partitionindexes TYPE /AWS1/CL_GLUPARTITIONINDEX=>TT_PARTITIONINDEXLIST TT_PARTITIONINDEXLIST

A list of partition indexes, PartitionIndex structures, to create in the table.

iv_transactionid TYPE /AWS1/GLUTRANSACTIONIDSTRING /AWS1/GLUTRANSACTIONIDSTRING

The ID of the transaction.

io_opentableformatinput TYPE REF TO /AWS1/CL_GLUOPENTABLEFMTINPUT /AWS1/CL_GLUOPENTABLEFMTINPUT

Specifies an OpenTableFormatInput structure when creating an open format table.

RETURNING

oo_output TYPE REF TO /aws1/cl_glucreatetablersp /AWS1/CL_GLUCREATETABLERSP

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->createtable(
  io_opentableformatinput = new /aws1/cl_gluopentablefmtinput(
    io_iceberginput = new /aws1/cl_gluiceberginput(
      io_createicebergtableinput = new /aws1/cl_glucreicebergtblinput(
        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_writeorder = 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(
              key = |string|
              value = new /aws1/cl_glustrtostrmap_w( |string| )
            )
          )
        )
        iv_location = |string|
      )
      iv_metadataoperation = |string|
      iv_version = |string|
    )
  )
  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(
              key = |string|
              value = new /aws1/cl_gluparametersmap_w( |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(
                  key = |string|
                  value = new /aws1/cl_gluparametersmap_w( |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(
            key = |string|
            value = new /aws1/cl_gluparametersmap_w( |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(
          key = |string|
          value = new /aws1/cl_gluparametersmap_w( |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(
                key = |string|
                value = new /aws1/cl_gluparametersmap_w( |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|
  )
  it_partitionindexes = VALUE /aws1/cl_glupartitionindex=>tt_partitionindexlist(
    (
      new /aws1/cl_glupartitionindex(
        it_keys = VALUE /aws1/cl_glukeylist_w=>tt_keylist(
          ( new /aws1/cl_glukeylist_w( |string| ) )
        )
        iv_indexname = |string|
      )
    )
  )
  iv_catalogid = |string|
  iv_databasename = |string|
  iv_name = |string|
  iv_transactionid = |string|
).

This is an example of reading all possible response values

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