Skip to content

/AWS1/IF_CWS=>GETINSTRCONFIGURATION()

About GetInstrumentationConfiguration

Returns the details of a single instrumentation configuration identified by service, environment, signal type, and location. Use this to audit or display configuration details.

Method Signature

METHODS /AWS1/IF_CWS~GETINSTRCONFIGURATION
  IMPORTING
    !IV_INSTRUMENTATIONTYPE TYPE /AWS1/CWSINSTRUMENTATIONTYPE OPTIONAL
    !IV_SERVICE TYPE /AWS1/CWSSTRING OPTIONAL
    !IV_ENVIRONMENT TYPE /AWS1/CWSSTRING OPTIONAL
    !IV_SIGNALTYPE TYPE /AWS1/CWSDYNINSTRSIGNALTYPE OPTIONAL
    !IO_LOCATIONIDENTIFIER TYPE REF TO /AWS1/CL_CWSLOCATIONIDENTIFIER OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_cwsgetinstrconfrsp
  RAISING
    /AWS1/CX_CWSRESOURCENOTFOUNDEX
    /AWS1/CX_CWSTHROTTLINGEX
    /AWS1/CX_CWSVALIDATIONEX
    /AWS1/CX_CWSCLIENTEXC
    /AWS1/CX_CWSSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_instrumentationtype TYPE /AWS1/CWSINSTRUMENTATIONTYPE /AWS1/CWSINSTRUMENTATIONTYPE

Type of instrumentation configuration (BREAKPOINT or PROBE). Required to identify the configuration to retrieve.

iv_service TYPE /AWS1/CWSSTRING /AWS1/CWSSTRING

Service name for the instrumentation configuration.

iv_environment TYPE /AWS1/CWSSTRING /AWS1/CWSSTRING

Environment name for the instrumentation configuration.

iv_signaltype TYPE /AWS1/CWSDYNINSTRSIGNALTYPE /AWS1/CWSDYNINSTRSIGNALTYPE

Signal type for the instrumentation configuration.

io_locationidentifier TYPE REF TO /AWS1/CL_CWSLOCATIONIDENTIFIER /AWS1/CL_CWSLOCATIONIDENTIFIER

Location identifier - either full code location or a pre-computed hash.

RETURNING

oo_output TYPE REF TO /aws1/cl_cwsgetinstrconfrsp /AWS1/CL_CWSGETINSTRCONFRSP

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->getinstrconfiguration(
  io_locationidentifier = new /aws1/cl_cwslocationidentifier(
    io_codelocation = new /aws1/cl_cwscodelocation(
      iv_classname = |string|
      iv_codeunit = |string|
      iv_filepath = |string|
      iv_language = |string|
      iv_linenumber = 123
      iv_methodname = |string|
    )
    iv_locationhash = |string|
  )
  iv_environment = |string|
  iv_instrumentationtype = |string|
  iv_service = |string|
  iv_signaltype = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_instrumentationconfigur = lo_result->get_configuration( ).
  IF lo_instrumentationconfigur IS NOT INITIAL.
    lv_instrumentationtype = lo_instrumentationconfigur->get_instrumentationtype( ).
    lv_string = lo_instrumentationconfigur->get_service( ).
    lv_string = lo_instrumentationconfigur->get_environment( ).
    lv_dynamicinstrumentations = lo_instrumentationconfigur->get_signaltype( ).
    lo_location = lo_instrumentationconfigur->get_location( ).
    IF lo_location IS NOT INITIAL.
      lo_codelocation = lo_location->get_codelocation( ).
      IF lo_codelocation IS NOT INITIAL.
        lv_programminglanguage = lo_codelocation->get_language( ).
        lv_string = lo_codelocation->get_codeunit( ).
        lv_string = lo_codelocation->get_classname( ).
        lv_string = lo_codelocation->get_methodname( ).
        lv_string = lo_codelocation->get_filepath( ).
        lv_integer = lo_codelocation->get_linenumber( ).
      ENDIF.
    ENDIF.
    lv_string = lo_instrumentationconfigur->get_locationhash( ).
    lv_string = lo_instrumentationconfigur->get_description( ).
    lv_timestamp = lo_instrumentationconfigur->get_expiresat( ).
    LOOP AT lo_instrumentationconfigur->get_attributefilters( ) into lt_row.
      LOOP AT lt_row into ls_row_1.
        lv_key = ls_row_1-key.
        lo_value = ls_row_1-value.
        IF lo_value IS NOT INITIAL.
          lv_string = lo_value->get_value( ).
        ENDIF.
      ENDLOOP.
    ENDLOOP.
    lo_captureconfiguration = lo_instrumentationconfigur->get_captureconfiguration( ).
    IF lo_captureconfiguration IS NOT INITIAL.
      lo_codecaptureconfiguratio = lo_captureconfiguration->get_codecapture( ).
      IF lo_codecaptureconfiguratio IS NOT INITIAL.
        LOOP AT lo_codecaptureconfiguratio->get_capturearguments( ) 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.
        lv_boolean = lo_codecaptureconfiguratio->get_capturereturn( ).
        lv_boolean = lo_codecaptureconfiguratio->get_capturestacktrace( ).
        LOOP AT lo_codecaptureconfiguratio->get_capturelocals( ) 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.
        lo_capturelimitsconfig = lo_codecaptureconfiguratio->get_capturelimits( ).
        IF lo_capturelimitsconfig IS NOT INITIAL.
          lv_integer = lo_capturelimitsconfig->get_maxhits( ).
          lv_integer = lo_capturelimitsconfig->get_maxstringlength( ).
          lv_integer = lo_capturelimitsconfig->get_maxcollectionwidth( ).
          lv_integer = lo_capturelimitsconfig->get_maxcollectiondepth( ).
          lv_integer = lo_capturelimitsconfig->get_maxstackframes( ).
          lv_integer = lo_capturelimitsconfig->get_maxstacktracesize( ).
          lv_integer = lo_capturelimitsconfig->get_maxobjectdepth( ).
          lv_integer = lo_capturelimitsconfig->get_maxfieldsperobject( ).
        ENDIF.
      ENDIF.
    ENDIF.
    lv_timestamp = lo_instrumentationconfigur->get_createdat( ).
    lv_instrumentationconfigur_1 = lo_instrumentationconfigur->get_arn( ).
  ENDIF.
ENDIF.