Skip to content

/AWS1/IF_BDC=>STARTBATCHEVALUATION()

About StartBatchEvaluation

Starts a batch evaluation job that evaluates agent performance across multiple sessions. Batch evaluations pull agent traces from CloudWatch Logs or an existing online evaluation configuration and run specified evaluators and insights against them.

Method Signature

METHODS /AWS1/IF_BDC~STARTBATCHEVALUATION
  IMPORTING
    !IV_BATCHEVALUATIONNAME TYPE /AWS1/BDCBATCHEVALUATIONNAME OPTIONAL
    !IT_EVALUATORS TYPE /AWS1/CL_BDCEVALUATOR=>TT_EVALUATORLIST OPTIONAL
    !IT_INSIGHTS TYPE /AWS1/CL_BDCINSIGHT=>TT_INSIGHTLIST OPTIONAL
    !IO_DATASOURCECONFIG TYPE REF TO /AWS1/CL_BDCDATASOURCECONFIG OPTIONAL
    !IV_CLIENTTOKEN TYPE /AWS1/BDCCLIENTTOKEN OPTIONAL
    !IO_EVALUATIONMETADATA TYPE REF TO /AWS1/CL_BDCEVALUATIONMETADATA OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_BDCTAGSMAP_W=>TT_TAGSMAP OPTIONAL
    !IV_KMSKEYARN TYPE /AWS1/BDCKMSKEYARN OPTIONAL
    !IV_DESCRIPTION TYPE /AWS1/BDCBATCHEVALUATIONDESC OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_bdcstartbatchevalrsp
  RAISING
    /AWS1/CX_BDCACCESSDENIEDEX
    /AWS1/CX_BDCCONFLICTEXCEPTION
    /AWS1/CX_BDCINTERNALSERVEREX
    /AWS1/CX_BDCSERVICEQUOTAEXCDEX
    /AWS1/CX_BDCTHROTTLINGEX
    /AWS1/CX_BDCUNAUTHORIZEDEX
    /AWS1/CX_BDCVALIDATIONEX
    /AWS1/CX_BDCCLIENTEXC
    /AWS1/CX_BDCSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_batchevaluationname TYPE /AWS1/BDCBATCHEVALUATIONNAME /AWS1/BDCBATCHEVALUATIONNAME

The name of the batch evaluation. Must be unique within your account.

io_datasourceconfig TYPE REF TO /AWS1/CL_BDCDATASOURCECONFIG /AWS1/CL_BDCDATASOURCECONFIG

The data source configuration that specifies where to pull agent session traces from for evaluation.

Optional arguments:

it_evaluators TYPE /AWS1/CL_BDCEVALUATOR=>TT_EVALUATORLIST TT_EVALUATORLIST

The list of evaluators to apply during the batch evaluation. Can include both built-in evaluators and custom evaluators. Maximum of 10 evaluators.

it_insights TYPE /AWS1/CL_BDCINSIGHT=>TT_INSIGHTLIST TT_INSIGHTLIST

The list of insight analyses to run against sessions during the batch evaluation. Maximum of 10 insights.

iv_clienttoken TYPE /AWS1/BDCCLIENTTOKEN /AWS1/BDCCLIENTTOKEN

A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, the service ignores the request, but does not return an error.

io_evaluationmetadata TYPE REF TO /AWS1/CL_BDCEVALUATIONMETADATA /AWS1/CL_BDCEVALUATIONMETADATA

Optional metadata for the evaluation, including session-specific ground truth data and test scenario identifiers.

it_tags TYPE /AWS1/CL_BDCTAGSMAP_W=>TT_TAGSMAP TT_TAGSMAP

A map of tag keys and values to associate with the batch evaluation.

iv_kmskeyarn TYPE /AWS1/BDCKMSKEYARN /AWS1/BDCKMSKEYARN

The ARN of the KMS key used to encrypt evaluation data. If provided, customer data is encrypted at rest with the specified key.

iv_description TYPE /AWS1/BDCBATCHEVALUATIONDESC /AWS1/BDCBATCHEVALUATIONDESC

The description of the batch evaluation.

RETURNING

oo_output TYPE REF TO /aws1/cl_bdcstartbatchevalrsp /AWS1/CL_BDCSTARTBATCHEVALRSP

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->startbatchevaluation(
  io_datasourceconfig = new /aws1/cl_bdcdatasourceconfig(
    io_cloudwatchlogs = new /aws1/cl_bdccloudwatchlogssrc(
      io_filterconfig = new /aws1/cl_bdccloudwatchfiltcfg(
        io_timerange = new /aws1/cl_bdcsessfilterconfig(
          iv_endtime = '20150101000000.0000000'
          iv_starttime = '20150101000000.0000000'
        )
        it_sessionids = VALUE /aws1/cl_bdcevalstringlist_w=>tt_evaluationstringlist(
          ( new /aws1/cl_bdcevalstringlist_w( |string| ) )
        )
      )
      it_loggroupnames = VALUE /aws1/cl_bdcevalstringlist_w=>tt_evaluationstringlist(
        ( new /aws1/cl_bdcevalstringlist_w( |string| ) )
      )
      it_servicenames = VALUE /aws1/cl_bdcevalstringlist_w=>tt_evaluationstringlist(
        ( new /aws1/cl_bdcevalstringlist_w( |string| ) )
      )
    )
    io_onlineevalconfigsource = new /aws1/cl_bdconlineevalcfgsrc(
      io_timerange = new /aws1/cl_bdcsessfilterconfig(
        iv_endtime = '20150101000000.0000000'
        iv_starttime = '20150101000000.0000000'
      )
      iv_onlineevaluationconfigarn = |string|
    )
  )
  io_evaluationmetadata = new /aws1/cl_bdcevaluationmetadata(
    it_sessionmetadata = VALUE /aws1/cl_bdcsessionmetshape=>tt_sessionmetadatalist(
      (
        new /aws1/cl_bdcsessionmetshape(
          io_groundtruth = new /aws1/cl_bdcgroundtruthsource(
            io_inline = new /aws1/cl_bdcinlinegroundtruth(
              io_expectedtrajectory = new /aws1/cl_bdcevalexpectedtraj00(
                it_toolnames = VALUE /aws1/cl_bdcevaltoolnames_w=>tt_evaluationtoolnames(
                  ( new /aws1/cl_bdcevaltoolnames_w( |string| ) )
                )
              )
              it_assertions = VALUE /aws1/cl_bdcevaluationcontent=>tt_evaluationcontentlist(
                ( new /aws1/cl_bdcevaluationcontent( |string| ) )
              )
              it_turns = VALUE /aws1/cl_bdcgroundtruthturn=>tt_groundtruthturnlist(
                (
                  new /aws1/cl_bdcgroundtruthturn(
                    io_expectedresponse = new /aws1/cl_bdcevaluationcontent( |string| )
                    io_input = new /aws1/cl_bdcgrndtruthturninput( |string| )
                  )
                )
              )
            )
          )
          it_metadata = VALUE /aws1/cl_bdcstringmap_w=>tt_stringmap(
            (
              VALUE /aws1/cl_bdcstringmap_w=>ts_stringmap_maprow(
                key = |string|
                value = new /aws1/cl_bdcstringmap_w( |string| )
              )
            )
          )
          iv_sessionid = |string|
          iv_testscenarioid = |string|
        )
      )
    )
  )
  it_evaluators = VALUE /aws1/cl_bdcevaluator=>tt_evaluatorlist(
    ( new /aws1/cl_bdcevaluator( |string| ) )
  )
  it_insights = VALUE /aws1/cl_bdcinsight=>tt_insightlist(
    ( new /aws1/cl_bdcinsight( |string| ) )
  )
  it_tags = VALUE /aws1/cl_bdctagsmap_w=>tt_tagsmap(
    (
      VALUE /aws1/cl_bdctagsmap_w=>ts_tagsmap_maprow(
        key = |string|
        value = new /aws1/cl_bdctagsmap_w( |string| )
      )
    )
  )
  iv_batchevaluationname = |string|
  iv_clienttoken = |string|
  iv_description = |string|
  iv_kmskeyarn = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_batchevaluationid = lo_result->get_batchevaluationid( ).
  lv_batchevaluationarn = lo_result->get_batchevaluationarn( ).
  lv_batchevaluationname = lo_result->get_batchevaluationname( ).
  LOOP AT lo_result->get_evaluators( ) into lo_row.
    lo_row_1 = lo_row.
    IF lo_row_1 IS NOT INITIAL.
      lv_evaluatorid = lo_row_1->get_evaluatorid( ).
    ENDIF.
  ENDLOOP.
  LOOP AT lo_result->get_insights( ) into lo_row_2.
    lo_row_3 = lo_row_2.
    IF lo_row_3 IS NOT INITIAL.
      lv_insightid = lo_row_3->get_insightid( ).
    ENDIF.
  ENDLOOP.
  lv_batchevaluationstatus = lo_result->get_status( ).
  lv_timestamp = lo_result->get_createdat( ).
  lo_outputconfig = lo_result->get_outputconfig( ).
  IF lo_outputconfig IS NOT INITIAL.
    lo_cloudwatchoutputconfig = lo_outputconfig->get_cloudwatchconfig( ).
    IF lo_cloudwatchoutputconfig IS NOT INITIAL.
      lv_string = lo_cloudwatchoutputconfig->get_loggroupname( ).
      lv_string = lo_cloudwatchoutputconfig->get_logstreamname( ).
    ENDIF.
  ENDIF.
  LOOP AT lo_result->get_tags( ) into ls_row_4.
    lv_key = ls_row_4-key.
    lo_value = ls_row_4-value.
    IF lo_value IS NOT INITIAL.
      lv_tagvalue = lo_value->get_value( ).
    ENDIF.
  ENDLOOP.
  lv_kmskeyarn = lo_result->get_kmskeyarn( ).
  lv_batchevaluationdescript = lo_result->get_description( ).
ENDIF.