Skip to content

/AWS1/IF_CRM=>CREATEANALYSISTEMPLATE()

About CreateAnalysisTemplate

Creates a new analysis template.

Method Signature

METHODS /AWS1/IF_CRM~CREATEANALYSISTEMPLATE
  IMPORTING
    !IV_DESCRIPTION TYPE /AWS1/CRMRESOURCEDESCRIPTION OPTIONAL
    !IV_MEMBERSHIPIDENTIFIER TYPE /AWS1/CRMMEMBERSHIPIDENTIFIER OPTIONAL
    !IV_NAME TYPE /AWS1/CRMTABLEALIAS OPTIONAL
    !IV_FORMAT TYPE /AWS1/CRMANALYSISFORMAT OPTIONAL
    !IO_SOURCE TYPE REF TO /AWS1/CL_CRMANALYSISSOURCE OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_CRMTAGMAP_W=>TT_TAGMAP OPTIONAL
    !IT_ANALYSISPARAMETERS TYPE /AWS1/CL_CRMANALYSISPARAMETER=>TT_ANALYSISPARAMETERLIST OPTIONAL
    !IO_SCHEMA TYPE REF TO /AWS1/CL_CRMANALYSISSCHEMA OPTIONAL
    !IO_ERRORMESSAGECONFIGURATION TYPE REF TO /AWS1/CL_CRMERRORMESSAGECONF OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_crmcreatealytmplout
  RAISING
    /AWS1/CX_CRMACCESSDENIEDEX
    /AWS1/CX_CRMCONFLICTEXCEPTION
    /AWS1/CX_CRMINTERNALSERVEREX
    /AWS1/CX_CRMRESOURCENOTFOUNDEX
    /AWS1/CX_CRMSERVICEQUOTAEXCDEX
    /AWS1/CX_CRMTHROTTLINGEX
    /AWS1/CX_CRMVALIDATIONEX
    /AWS1/CX_CRMCLIENTEXC
    /AWS1/CX_CRMSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_membershipidentifier TYPE /AWS1/CRMMEMBERSHIPIDENTIFIER /AWS1/CRMMEMBERSHIPIDENTIFIER

The identifier for a membership resource.

iv_name TYPE /AWS1/CRMTABLEALIAS /AWS1/CRMTABLEALIAS

The name of the analysis template.

iv_format TYPE /AWS1/CRMANALYSISFORMAT /AWS1/CRMANALYSISFORMAT

The format of the analysis template.

io_source TYPE REF TO /AWS1/CL_CRMANALYSISSOURCE /AWS1/CL_CRMANALYSISSOURCE

The information in the analysis template.

Optional arguments:

iv_description TYPE /AWS1/CRMRESOURCEDESCRIPTION /AWS1/CRMRESOURCEDESCRIPTION

The description of the analysis template.

it_tags TYPE /AWS1/CL_CRMTAGMAP_W=>TT_TAGMAP TT_TAGMAP

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

it_analysisparameters TYPE /AWS1/CL_CRMANALYSISPARAMETER=>TT_ANALYSISPARAMETERLIST TT_ANALYSISPARAMETERLIST

The parameters of the analysis template.

io_schema TYPE REF TO /AWS1/CL_CRMANALYSISSCHEMA /AWS1/CL_CRMANALYSISSCHEMA

schema

io_errormessageconfiguration TYPE REF TO /AWS1/CL_CRMERRORMESSAGECONF /AWS1/CL_CRMERRORMESSAGECONF

The configuration that specifies the level of detail in error messages returned by analyses using this template. When set to DETAILED, error messages include more information to help troubleshoot issues with PySpark jobs. Detailed error messages may expose underlying data, including sensitive information. Recommended for faster troubleshooting in development and testing environments.

RETURNING

oo_output TYPE REF TO /aws1/cl_crmcreatealytmplout /AWS1/CL_CRMCREATEALYTMPLOUT

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->createanalysistemplate(
  io_errormessageconfiguration = new /aws1/cl_crmerrormessageconf( |string| )
  io_schema = new /aws1/cl_crmanalysisschema(
    it_referencedtables = VALUE /aws1/cl_crmquerytables_w=>tt_querytables(
      ( new /aws1/cl_crmquerytables_w( |string| ) )
    )
  )
  io_source = new /aws1/cl_crmanalysissource(
    io_artifacts = new /aws1/cl_crmalytmplartifacts(
      io_entrypoint = new /aws1/cl_crmalytmplartifact(
        io_location = new /aws1/cl_crms3location(
          iv_bucket = |string|
          iv_key = |string|
        )
      )
      it_additionalartifacts = VALUE /aws1/cl_crmalytmplartifact=>tt_alytemplateartifactlist(
        (
          new /aws1/cl_crmalytmplartifact(
            io_location = new /aws1/cl_crms3location(
              iv_bucket = |string|
              iv_key = |string|
            )
          )
        )
      )
      iv_rolearn = |string|
    )
    iv_text = |string|
  )
  it_analysisparameters = VALUE /aws1/cl_crmanalysisparameter=>tt_analysisparameterlist(
    (
      new /aws1/cl_crmanalysisparameter(
        iv_defaultvalue = |string|
        iv_name = |string|
        iv_type = |string|
      )
    )
  )
  it_tags = VALUE /aws1/cl_crmtagmap_w=>tt_tagmap(
    (
      VALUE /aws1/cl_crmtagmap_w=>ts_tagmap_maprow(
        key = |string|
        value = new /aws1/cl_crmtagmap_w( |string| )
      )
    )
  )
  iv_description = |string|
  iv_format = |string|
  iv_membershipidentifier = |string|
  iv_name = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_analysistemplate = lo_result->get_analysistemplate( ).
  IF lo_analysistemplate IS NOT INITIAL.
    lv_analysistemplateidentif = lo_analysistemplate->get_id( ).
    lv_analysistemplatearn = lo_analysistemplate->get_arn( ).
    lv_uuid = lo_analysistemplate->get_collaborationid( ).
    lv_collaborationarn = lo_analysistemplate->get_collaborationarn( ).
    lv_uuid = lo_analysistemplate->get_membershipid( ).
    lv_membershiparn = lo_analysistemplate->get_membershiparn( ).
    lv_resourcedescription = lo_analysistemplate->get_description( ).
    lv_resourcealias = lo_analysistemplate->get_name( ).
    lv_timestamp = lo_analysistemplate->get_createtime( ).
    lv_timestamp = lo_analysistemplate->get_updatetime( ).
    lo_analysisschema = lo_analysistemplate->get_schema( ).
    IF lo_analysisschema IS NOT INITIAL.
      LOOP AT lo_analysisschema->get_referencedtables( ) into lo_row.
        lo_row_1 = lo_row.
        IF lo_row_1 IS NOT INITIAL.
          lv_tablealias = lo_row_1->get_value( ).
        ENDIF.
      ENDLOOP.
    ENDIF.
    lv_analysisformat = lo_analysistemplate->get_format( ).
    lo_analysissource = lo_analysistemplate->get_source( ).
    IF lo_analysissource IS NOT INITIAL.
      lv_analysistemplatetext = lo_analysissource->get_text( ).
      lo_analysistemplateartifac = lo_analysissource->get_artifacts( ).
      IF lo_analysistemplateartifac IS NOT INITIAL.
        lo_analysistemplateartifac_1 = lo_analysistemplateartifac->get_entrypoint( ).
        IF lo_analysistemplateartifac_1 IS NOT INITIAL.
          lo_s3location = lo_analysistemplateartifac_1->get_location( ).
          IF lo_s3location IS NOT INITIAL.
            lv_string = lo_s3location->get_bucket( ).
            lv_string = lo_s3location->get_key( ).
          ENDIF.
        ENDIF.
        LOOP AT lo_analysistemplateartifac->get_additionalartifacts( ) into lo_row_2.
          lo_row_3 = lo_row_2.
          IF lo_row_3 IS NOT INITIAL.
            lo_s3location = lo_row_3->get_location( ).
            IF lo_s3location IS NOT INITIAL.
              lv_string = lo_s3location->get_bucket( ).
              lv_string = lo_s3location->get_key( ).
            ENDIF.
          ENDIF.
        ENDLOOP.
        lv_rolearn = lo_analysistemplateartifac->get_rolearn( ).
      ENDIF.
    ENDIF.
    lo_analysissourcemetadata = lo_analysistemplate->get_sourcemetadata( ).
    IF lo_analysissourcemetadata IS NOT INITIAL.
      lo_analysistemplateartifac_2 = lo_analysissourcemetadata->get_artifacts( ).
      IF lo_analysistemplateartifac_2 IS NOT INITIAL.
        lo_hash = lo_analysistemplateartifac_2->get_entrypointhash( ).
        IF lo_hash IS NOT INITIAL.
          lv_string = lo_hash->get_sha256( ).
        ENDIF.
        LOOP AT lo_analysistemplateartifac_2->get_additionalartifacthashes( ) into lo_row_4.
          lo_row_5 = lo_row_4.
          IF lo_row_5 IS NOT INITIAL.
            lv_string = lo_row_5->get_sha256( ).
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDIF.
    LOOP AT lo_analysistemplate->get_analysisparameters( ) into lo_row_6.
      lo_row_7 = lo_row_6.
      IF lo_row_7 IS NOT INITIAL.
        lv_parametername = lo_row_7->get_name( ).
        lv_parametertype = lo_row_7->get_type( ).
        lv_parametervalue = lo_row_7->get_defaultvalue( ).
      ENDIF.
    ENDLOOP.
    LOOP AT lo_analysistemplate->get_validations( ) into lo_row_8.
      lo_row_9 = lo_row_8.
      IF lo_row_9 IS NOT INITIAL.
        lv_analysistemplatevalidat = lo_row_9->get_type( ).
        lv_analysistemplatevalidat_1 = lo_row_9->get_status( ).
        LOOP AT lo_row_9->get_reasons( ) into lo_row_10.
          lo_row_11 = lo_row_10.
          IF lo_row_11 IS NOT INITIAL.
            lv_string = lo_row_11->get_message( ).
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDLOOP.
    lo_errormessageconfigurati = lo_analysistemplate->get_errormessageconf( ).
    IF lo_errormessageconfigurati IS NOT INITIAL.
      lv_errormessagetype = lo_errormessageconfigurati->get_type( ).
    ENDIF.
  ENDIF.
ENDIF.