Skip to content

/AWS1/IF_GLU=>GETTABLE()

About GetTable

Retrieves the Table definition in a Data Catalog for a specified table.

Method Signature

METHODS /AWS1/IF_GLU~GETTABLE
  IMPORTING
    !IV_CATALOGID TYPE /AWS1/GLUCATALOGIDSTRING OPTIONAL
    !IV_DATABASENAME TYPE /AWS1/GLUNAMESTRING OPTIONAL
    !IV_NAME TYPE /AWS1/GLUNAMESTRING OPTIONAL
    !IV_TRANSACTIONID TYPE /AWS1/GLUTRANSACTIONIDSTRING OPTIONAL
    !IV_QUERYASOFTIME TYPE /AWS1/GLUTIMESTAMP OPTIONAL
    !IO_AUDITCONTEXT TYPE REF TO /AWS1/CL_GLUAUDITCONTEXT OPTIONAL
    !IV_INCLUDESTATUSDETAILS TYPE /AWS1/GLUBOOLEANNULLABLE OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_glugettableresponse
  RAISING
    /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_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 database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

iv_name TYPE /AWS1/GLUNAMESTRING /AWS1/GLUNAMESTRING

The name of the table for which to retrieve the definition. 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_transactionid TYPE /AWS1/GLUTRANSACTIONIDSTRING /AWS1/GLUTRANSACTIONIDSTRING

The transaction ID at which to read the table contents.

iv_queryasoftime TYPE /AWS1/GLUTIMESTAMP /AWS1/GLUTIMESTAMP

The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with TransactionId.

io_auditcontext TYPE REF TO /AWS1/CL_GLUAUDITCONTEXT /AWS1/CL_GLUAUDITCONTEXT

A structure containing the Lake Formation audit context.

iv_includestatusdetails TYPE /AWS1/GLUBOOLEANNULLABLE /AWS1/GLUBOOLEANNULLABLE

Specifies whether to include status details related to a request to create or update an Glue Data Catalog view.

RETURNING

oo_output TYPE REF TO /aws1/cl_glugettableresponse /AWS1/CL_GLUGETTABLERESPONSE

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->gettable(
  io_auditcontext = new /aws1/cl_gluauditcontext(
    it_requestedcolumns = VALUE /aws1/cl_gluaudcolumnnamesls00=>tt_auditcolumnnameslist(
      ( new /aws1/cl_gluaudcolumnnamesls00( |string| ) )
    )
    iv_additionalauditcontext = |string|
    iv_allcolumnsrequested = ABAP_TRUE
  )
  iv_catalogid = |string|
  iv_databasename = |string|
  iv_includestatusdetails = ABAP_TRUE
  iv_name = |string|
  iv_queryasoftime = '20150101000000.0000000'
  iv_transactionid = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_table = lo_result->get_table( ).
  IF lo_table IS NOT INITIAL.
    lv_namestring = lo_table->get_name( ).
    lv_namestring = lo_table->get_databasename( ).
    lv_descriptionstring = lo_table->get_description( ).
    lv_namestring = lo_table->get_owner( ).
    lv_timestamp = lo_table->get_createtime( ).
    lv_timestamp = lo_table->get_updatetime( ).
    lv_timestamp = lo_table->get_lastaccesstime( ).
    lv_timestamp = lo_table->get_lastanalyzedtime( ).
    lv_nonnegativeinteger = lo_table->get_retention( ).
    lo_storagedescriptor = lo_table->get_storagedescriptor( ).
    IF lo_storagedescriptor IS NOT INITIAL.
      LOOP AT lo_storagedescriptor->get_columns( ) into lo_row.
        lo_row_1 = lo_row.
        IF lo_row_1 IS NOT INITIAL.
          lv_namestring = lo_row_1->get_name( ).
          lv_columntypestring = lo_row_1->get_type( ).
          lv_commentstring = lo_row_1->get_comment( ).
          LOOP AT lo_row_1->get_parameters( ) into ls_row_2.
            lv_key = ls_row_2-key.
            lo_value = ls_row_2-value.
            IF lo_value IS NOT INITIAL.
              lv_parametersmapvalue = lo_value->get_value( ).
            ENDIF.
          ENDLOOP.
        ENDIF.
      ENDLOOP.
      lv_locationstring = lo_storagedescriptor->get_location( ).
      LOOP AT lo_storagedescriptor->get_additionallocations( ) into lo_row_3.
        lo_row_4 = lo_row_3.
        IF lo_row_4 IS NOT INITIAL.
          lv_locationstring = lo_row_4->get_value( ).
        ENDIF.
      ENDLOOP.
      lv_formatstring = lo_storagedescriptor->get_inputformat( ).
      lv_formatstring = lo_storagedescriptor->get_outputformat( ).
      lv_boolean = lo_storagedescriptor->get_compressed( ).
      lv_integer = lo_storagedescriptor->get_numberofbuckets( ).
      lo_serdeinfo = lo_storagedescriptor->get_serdeinfo( ).
      IF lo_serdeinfo IS NOT INITIAL.
        lv_namestring = lo_serdeinfo->get_name( ).
        lv_namestring = lo_serdeinfo->get_serializationlibrary( ).
        LOOP AT lo_serdeinfo->get_parameters( ) into ls_row_2.
          lv_key = ls_row_2-key.
          lo_value = ls_row_2-value.
          IF lo_value IS NOT INITIAL.
            lv_parametersmapvalue = lo_value->get_value( ).
          ENDIF.
        ENDLOOP.
      ENDIF.
      LOOP AT lo_storagedescriptor->get_bucketcolumns( ) into lo_row_5.
        lo_row_6 = lo_row_5.
        IF lo_row_6 IS NOT INITIAL.
          lv_namestring = lo_row_6->get_value( ).
        ENDIF.
      ENDLOOP.
      LOOP AT lo_storagedescriptor->get_sortcolumns( ) into lo_row_7.
        lo_row_8 = lo_row_7.
        IF lo_row_8 IS NOT INITIAL.
          lv_namestring = lo_row_8->get_column( ).
          lv_integerflag = lo_row_8->get_sortorder( ).
        ENDIF.
      ENDLOOP.
      LOOP AT lo_storagedescriptor->get_parameters( ) into ls_row_2.
        lv_key = ls_row_2-key.
        lo_value = ls_row_2-value.
        IF lo_value IS NOT INITIAL.
          lv_parametersmapvalue = lo_value->get_value( ).
        ENDIF.
      ENDLOOP.
      lo_skewedinfo = lo_storagedescriptor->get_skewedinfo( ).
      IF lo_skewedinfo IS NOT INITIAL.
        LOOP AT lo_skewedinfo->get_skewedcolumnnames( ) into lo_row_5.
          lo_row_6 = lo_row_5.
          IF lo_row_6 IS NOT INITIAL.
            lv_namestring = lo_row_6->get_value( ).
          ENDIF.
        ENDLOOP.
        LOOP AT lo_skewedinfo->get_skewedcolumnvalues( ) into lo_row_9.
          lo_row_10 = lo_row_9.
          IF lo_row_10 IS NOT INITIAL.
            lv_columnvaluesstring = lo_row_10->get_value( ).
          ENDIF.
        ENDLOOP.
        LOOP AT lo_skewedinfo->get_skewedcolumnvaluelocmaps( ) into ls_row_11.
          lv_key_1 = ls_row_11-key.
          lo_value_1 = ls_row_11-value.
          IF lo_value_1 IS NOT INITIAL.
            lv_columnvaluesstring = lo_value_1->get_value( ).
          ENDIF.
        ENDLOOP.
      ENDIF.
      lv_boolean = lo_storagedescriptor->get_storedassubdirectories( ).
      lo_schemareference = lo_storagedescriptor->get_schemareference( ).
      IF lo_schemareference IS NOT INITIAL.
        lo_schemaid = lo_schemareference->get_schemaid( ).
        IF lo_schemaid IS NOT INITIAL.
          lv_glueresourcearn = lo_schemaid->get_schemaarn( ).
          lv_schemaregistrynamestrin = lo_schemaid->get_schemaname( ).
          lv_schemaregistrynamestrin = lo_schemaid->get_registryname( ).
        ENDIF.
        lv_schemaversionidstring = lo_schemareference->get_schemaversionid( ).
        lv_versionlongnumber = lo_schemareference->get_schemaversionnumber( ).
      ENDIF.
    ENDIF.
    LOOP AT lo_table->get_partitionkeys( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_namestring = lo_row_1->get_name( ).
        lv_columntypestring = lo_row_1->get_type( ).
        lv_commentstring = lo_row_1->get_comment( ).
        LOOP AT lo_row_1->get_parameters( ) into ls_row_2.
          lv_key = ls_row_2-key.
          lo_value = ls_row_2-value.
          IF lo_value IS NOT INITIAL.
            lv_parametersmapvalue = lo_value->get_value( ).
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDLOOP.
    lv_viewtextstring = lo_table->get_vieworiginaltext( ).
    lv_viewtextstring = lo_table->get_viewexpandedtext( ).
    lv_tabletypestring = lo_table->get_tabletype( ).
    LOOP AT lo_table->get_parameters( ) into ls_row_2.
      lv_key = ls_row_2-key.
      lo_value = ls_row_2-value.
      IF lo_value IS NOT INITIAL.
        lv_parametersmapvalue = lo_value->get_value( ).
      ENDIF.
    ENDLOOP.
    lv_namestring = lo_table->get_createdby( ).
    lv_boolean = lo_table->get_isregedwithlakeformation( ).
    lo_tableidentifier = lo_table->get_targettable( ).
    IF lo_tableidentifier IS NOT INITIAL.
      lv_catalogidstring = lo_tableidentifier->get_catalogid( ).
      lv_namestring = lo_tableidentifier->get_databasename( ).
      lv_namestring = lo_tableidentifier->get_name( ).
      lv_namestring = lo_tableidentifier->get_region( ).
    ENDIF.
    lv_catalogidstring = lo_table->get_catalogid( ).
    lv_versionstring = lo_table->get_versionid( ).
    lo_federatedtable = lo_table->get_federatedtable( ).
    IF lo_federatedtable IS NOT INITIAL.
      lv_federationidentifier = lo_federatedtable->get_identifier( ).
      lv_federationidentifier = lo_federatedtable->get_databaseidentifier( ).
      lv_namestring = lo_federatedtable->get_connectionname( ).
      lv_namestring = lo_federatedtable->get_connectiontype( ).
    ENDIF.
    lo_viewdefinition = lo_table->get_viewdefinition( ).
    IF lo_viewdefinition IS NOT INITIAL.
      lv_nullableboolean = lo_viewdefinition->get_isprotected( ).
      lv_arnstring = lo_viewdefinition->get_definer( ).
      LOOP AT lo_viewdefinition->get_subobjects( ) into lo_row_12.
        lo_row_13 = lo_row_12.
        IF lo_row_13 IS NOT INITIAL.
          lv_arnstring = lo_row_13->get_value( ).
        ENDIF.
      ENDLOOP.
      LOOP AT lo_viewdefinition->get_representations( ) into lo_row_14.
        lo_row_15 = lo_row_14.
        IF lo_row_15 IS NOT INITIAL.
          lv_viewdialect = lo_row_15->get_dialect( ).
          lv_viewdialectversionstrin = lo_row_15->get_dialectversion( ).
          lv_viewtextstring = lo_row_15->get_vieworiginaltext( ).
          lv_viewtextstring = lo_row_15->get_viewexpandedtext( ).
          lv_namestring = lo_row_15->get_validationconnection( ).
          lv_nullableboolean = lo_row_15->get_isstale( ).
        ENDIF.
      ENDLOOP.
    ENDIF.
    lv_nullableboolean = lo_table->get_ismultidialectview( ).
    lo_tablestatus = lo_table->get_status( ).
    IF lo_tablestatus IS NOT INITIAL.
      lv_namestring = lo_tablestatus->get_requestedby( ).
      lv_namestring = lo_tablestatus->get_updatedby( ).
      lv_timestamp = lo_tablestatus->get_requesttime( ).
      lv_timestamp = lo_tablestatus->get_updatetime( ).
      lv_resourceaction = lo_tablestatus->get_action( ).
      lv_resourcestate = lo_tablestatus->get_state( ).
      lo_errordetail = lo_tablestatus->get_error( ).
      IF lo_errordetail IS NOT INITIAL.
        lv_namestring = lo_errordetail->get_errorcode( ).
        lv_descriptionstring = lo_errordetail->get_errormessage( ).
      ENDIF.
      lo_statusdetails = lo_tablestatus->get_details( ).
      IF lo_statusdetails IS NOT INITIAL.
        lo_table_1 = lo_statusdetails->get_requestedchange( ).
        IF lo_table_1 IS NOT INITIAL.
          lv_namestring = lo_table_1->get_name( ).
          lv_namestring = lo_table_1->get_databasename( ).
          lv_descriptionstring = lo_table_1->get_description( ).
          lv_namestring = lo_table_1->get_owner( ).
          lv_timestamp = lo_table_1->get_createtime( ).
          lv_timestamp = lo_table_1->get_updatetime( ).
          lv_timestamp = lo_table_1->get_lastaccesstime( ).
          lv_timestamp = lo_table_1->get_lastanalyzedtime( ).
          lv_nonnegativeinteger = lo_table_1->get_retention( ).
          lo_storagedescriptor = lo_table_1->get_storagedescriptor( ).
          IF lo_storagedescriptor IS NOT INITIAL.
            LOOP AT lo_storagedescriptor->get_columns( ) into lo_row.
              lo_row_1 = lo_row.
              IF lo_row_1 IS NOT INITIAL.
                lv_namestring = lo_row_1->get_name( ).
                lv_columntypestring = lo_row_1->get_type( ).
                lv_commentstring = lo_row_1->get_comment( ).
                LOOP AT lo_row_1->get_parameters( ) into ls_row_2.
                  lv_key = ls_row_2-key.
                  lo_value = ls_row_2-value.
                  IF lo_value IS NOT INITIAL.
                    lv_parametersmapvalue = lo_value->get_value( ).
                  ENDIF.
                ENDLOOP.
              ENDIF.
            ENDLOOP.
            lv_locationstring = lo_storagedescriptor->get_location( ).
            LOOP AT lo_storagedescriptor->get_additionallocations( ) into lo_row_3.
              lo_row_4 = lo_row_3.
              IF lo_row_4 IS NOT INITIAL.
                lv_locationstring = lo_row_4->get_value( ).
              ENDIF.
            ENDLOOP.
            lv_formatstring = lo_storagedescriptor->get_inputformat( ).
            lv_formatstring = lo_storagedescriptor->get_outputformat( ).
            lv_boolean = lo_storagedescriptor->get_compressed( ).
            lv_integer = lo_storagedescriptor->get_numberofbuckets( ).
            lo_serdeinfo = lo_storagedescriptor->get_serdeinfo( ).
            IF lo_serdeinfo IS NOT INITIAL.
              lv_namestring = lo_serdeinfo->get_name( ).
              lv_namestring = lo_serdeinfo->get_serializationlibrary( ).
              LOOP AT lo_serdeinfo->get_parameters( ) into ls_row_2.
                lv_key = ls_row_2-key.
                lo_value = ls_row_2-value.
                IF lo_value IS NOT INITIAL.
                  lv_parametersmapvalue = lo_value->get_value( ).
                ENDIF.
              ENDLOOP.
            ENDIF.
            LOOP AT lo_storagedescriptor->get_bucketcolumns( ) into lo_row_5.
              lo_row_6 = lo_row_5.
              IF lo_row_6 IS NOT INITIAL.
                lv_namestring = lo_row_6->get_value( ).
              ENDIF.
            ENDLOOP.
            LOOP AT lo_storagedescriptor->get_sortcolumns( ) into lo_row_7.
              lo_row_8 = lo_row_7.
              IF lo_row_8 IS NOT INITIAL.
                lv_namestring = lo_row_8->get_column( ).
                lv_integerflag = lo_row_8->get_sortorder( ).
              ENDIF.
            ENDLOOP.
            LOOP AT lo_storagedescriptor->get_parameters( ) into ls_row_2.
              lv_key = ls_row_2-key.
              lo_value = ls_row_2-value.
              IF lo_value IS NOT INITIAL.
                lv_parametersmapvalue = lo_value->get_value( ).
              ENDIF.
            ENDLOOP.
            lo_skewedinfo = lo_storagedescriptor->get_skewedinfo( ).
            IF lo_skewedinfo IS NOT INITIAL.
              LOOP AT lo_skewedinfo->get_skewedcolumnnames( ) into lo_row_5.
                lo_row_6 = lo_row_5.
                IF lo_row_6 IS NOT INITIAL.
                  lv_namestring = lo_row_6->get_value( ).
                ENDIF.
              ENDLOOP.
              LOOP AT lo_skewedinfo->get_skewedcolumnvalues( ) into lo_row_9.
                lo_row_10 = lo_row_9.
                IF lo_row_10 IS NOT INITIAL.
                  lv_columnvaluesstring = lo_row_10->get_value( ).
                ENDIF.
              ENDLOOP.
              LOOP AT lo_skewedinfo->get_skewedcolumnvaluelocmaps( ) into ls_row_11.
                lv_key_1 = ls_row_11-key.
                lo_value_1 = ls_row_11-value.
                IF lo_value_1 IS NOT INITIAL.
                  lv_columnvaluesstring = lo_value_1->get_value( ).
                ENDIF.
              ENDLOOP.
            ENDIF.
            lv_boolean = lo_storagedescriptor->get_storedassubdirectories( ).
            lo_schemareference = lo_storagedescriptor->get_schemareference( ).
            IF lo_schemareference IS NOT INITIAL.
              lo_schemaid = lo_schemareference->get_schemaid( ).
              IF lo_schemaid IS NOT INITIAL.
                lv_glueresourcearn = lo_schemaid->get_schemaarn( ).
                lv_schemaregistrynamestrin = lo_schemaid->get_schemaname( ).
                lv_schemaregistrynamestrin = lo_schemaid->get_registryname( ).
              ENDIF.
              lv_schemaversionidstring = lo_schemareference->get_schemaversionid( ).
              lv_versionlongnumber = lo_schemareference->get_schemaversionnumber( ).
            ENDIF.
          ENDIF.
          LOOP AT lo_table_1->get_partitionkeys( ) into lo_row.
            lo_row_1 = lo_row.
            IF lo_row_1 IS NOT INITIAL.
              lv_namestring = lo_row_1->get_name( ).
              lv_columntypestring = lo_row_1->get_type( ).
              lv_commentstring = lo_row_1->get_comment( ).
              LOOP AT lo_row_1->get_parameters( ) into ls_row_2.
                lv_key = ls_row_2-key.
                lo_value = ls_row_2-value.
                IF lo_value IS NOT INITIAL.
                  lv_parametersmapvalue = lo_value->get_value( ).
                ENDIF.
              ENDLOOP.
            ENDIF.
          ENDLOOP.
          lv_viewtextstring = lo_table_1->get_vieworiginaltext( ).
          lv_viewtextstring = lo_table_1->get_viewexpandedtext( ).
          lv_tabletypestring = lo_table_1->get_tabletype( ).
          LOOP AT lo_table_1->get_parameters( ) into ls_row_2.
            lv_key = ls_row_2-key.
            lo_value = ls_row_2-value.
            IF lo_value IS NOT INITIAL.
              lv_parametersmapvalue = lo_value->get_value( ).
            ENDIF.
          ENDLOOP.
          lv_namestring = lo_table_1->get_createdby( ).
          lv_boolean = lo_table_1->get_isregedwithlakeformation( ).
          lo_tableidentifier = lo_table_1->get_targettable( ).
          IF lo_tableidentifier IS NOT INITIAL.
            lv_catalogidstring = lo_tableidentifier->get_catalogid( ).
            lv_namestring = lo_tableidentifier->get_databasename( ).
            lv_namestring = lo_tableidentifier->get_name( ).
            lv_namestring = lo_tableidentifier->get_region( ).
          ENDIF.
          lv_catalogidstring = lo_table_1->get_catalogid( ).
          lv_versionstring = lo_table_1->get_versionid( ).
          lo_federatedtable = lo_table_1->get_federatedtable( ).
          IF lo_federatedtable IS NOT INITIAL.
            lv_federationidentifier = lo_federatedtable->get_identifier( ).
            lv_federationidentifier = lo_federatedtable->get_databaseidentifier( ).
            lv_namestring = lo_federatedtable->get_connectionname( ).
            lv_namestring = lo_federatedtable->get_connectiontype( ).
          ENDIF.
          lo_viewdefinition = lo_table_1->get_viewdefinition( ).
          IF lo_viewdefinition IS NOT INITIAL.
            lv_nullableboolean = lo_viewdefinition->get_isprotected( ).
            lv_arnstring = lo_viewdefinition->get_definer( ).
            LOOP AT lo_viewdefinition->get_subobjects( ) into lo_row_12.
              lo_row_13 = lo_row_12.
              IF lo_row_13 IS NOT INITIAL.
                lv_arnstring = lo_row_13->get_value( ).
              ENDIF.
            ENDLOOP.
            LOOP AT lo_viewdefinition->get_representations( ) into lo_row_14.
              lo_row_15 = lo_row_14.
              IF lo_row_15 IS NOT INITIAL.
                lv_viewdialect = lo_row_15->get_dialect( ).
                lv_viewdialectversionstrin = lo_row_15->get_dialectversion( ).
                lv_viewtextstring = lo_row_15->get_vieworiginaltext( ).
                lv_viewtextstring = lo_row_15->get_viewexpandedtext( ).
                lv_namestring = lo_row_15->get_validationconnection( ).
                lv_nullableboolean = lo_row_15->get_isstale( ).
              ENDIF.
            ENDLOOP.
          ENDIF.
          lv_nullableboolean = lo_table_1->get_ismultidialectview( ).
          " Skipping lo_statusdetails->get_requestedchange( ) to avoid recursion
        ENDIF.
        LOOP AT lo_statusdetails->get_viewvalidations( ) into lo_row_16.
          lo_row_17 = lo_row_16.
          IF lo_row_17 IS NOT INITIAL.
            lv_viewdialect = lo_row_17->get_dialect( ).
            lv_viewdialectversionstrin = lo_row_17->get_dialectversion( ).
            lv_viewtextstring = lo_row_17->get_viewvalidationtext( ).
            lv_timestamp = lo_row_17->get_updatetime( ).
            lv_resourcestate = lo_row_17->get_state( ).
            lo_errordetail = lo_row_17->get_error( ).
            IF lo_errordetail IS NOT INITIAL.
              lv_namestring = lo_errordetail->get_errorcode( ).
              lv_descriptionstring = lo_errordetail->get_errormessage( ).
            ENDIF.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDIF.
  ENDIF.
ENDIF.