Skip to content

/AWS1/IF_PTS=>GETAWSOPPORTUNITYSUMMARY()

About GetAwsOpportunitySummary

Retrieves a summary of an AWS Opportunity. This summary includes high-level details about the opportunity sourced from AWS, such as lifecycle information, customer details, and involvement type. It is useful for tracking updates on the AWS opportunity corresponding to an opportunity in the partner's account.

Method Signature

METHODS /AWS1/IF_PTS~GETAWSOPPORTUNITYSUMMARY
  IMPORTING
    !IV_CATALOG TYPE /AWS1/PTSCATALOGIDENTIFIER OPTIONAL
    !IV_RELATEDOPPORTUNITYID TYPE /AWS1/PTSOPPORTUNITYIDENTIFIER OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_ptsgetawsopportunit01
  RAISING
    /AWS1/CX_PTSACCESSDENIEDEX
    /AWS1/CX_PTSINTERNALSERVEREX
    /AWS1/CX_PTSRESOURCENOTFOUNDEX
    /AWS1/CX_PTSTHROTTLINGEX
    /AWS1/CX_PTSVALIDATIONEX
    /AWS1/CX_PTSCLIENTEXC
    /AWS1/CX_PTSSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_catalog TYPE /AWS1/PTSCATALOGIDENTIFIER /AWS1/PTSCATALOGIDENTIFIER

Specifies the catalog in which the AWS Opportunity is located. Accepted values include AWS for production opportunities or Sandbox for testing purposes. The catalog determines which environment the opportunity data is pulled from.

iv_relatedopportunityid TYPE /AWS1/PTSOPPORTUNITYIDENTIFIER /AWS1/PTSOPPORTUNITYIDENTIFIER

The unique identifier for the related partner opportunity. Use this field to correlate an AWS opportunity with its corresponding partner opportunity.

RETURNING

oo_output TYPE REF TO /aws1/cl_ptsgetawsopportunit01 /AWS1/CL_PTSGETAWSOPPORTUNIT01

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->getawsopportunitysummary(
  iv_catalog = |string|
  iv_relatedopportunityid = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_opportunityidentifier = lo_result->get_relatedopportunityid00( ).
  lv_opportunityorigin = lo_result->get_origin( ).
  lv_salesinvolvementtype = lo_result->get_involvementtype( ).
  lv_visibility = lo_result->get_visibility( ).
  lo_awsopportunitylifecycle = lo_result->get_lifecycle( ).
  IF lo_awsopportunitylifecycle IS NOT INITIAL.
    lv_date = lo_awsopportunitylifecycle->get_targetclosedate( ).
    lv_awsclosedlostreason = lo_awsopportunitylifecycle->get_closedlostreason( ).
    lv_awsopportunitystage = lo_awsopportunitylifecycle->get_stage( ).
    lv_piistring = lo_awsopportunitylifecycle->get_nextsteps( ).
    LOOP AT lo_awsopportunitylifecycle->get_nextstepshistory( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_string = lo_row_1->get_value( ).
        lv_datetime = lo_row_1->get_time( ).
      ENDIF.
    ENDLOOP.
  ENDIF.
  LOOP AT lo_result->get_opportunityteam( ) into lo_row_2.
    lo_row_3 = lo_row_2.
    IF lo_row_3 IS NOT INITIAL.
      lv_email = lo_row_3->get_email( ).
      lv_name = lo_row_3->get_firstname( ).
      lv_name = lo_row_3->get_lastname( ).
      lv_awsmemberbusinesstitle = lo_row_3->get_businesstitle( ).
    ENDIF.
  ENDLOOP.
  lo_awsopportunityinsights = lo_result->get_insights( ).
  IF lo_awsopportunityinsights IS NOT INITIAL.
    lv_string = lo_awsopportunityinsights->get_nextbestactions( ).
    lv_engagementscore = lo_awsopportunityinsights->get_engagementscore( ).
    lo_awsproductsspendinsight = lo_awsopportunityinsights->get_awsprodsspendinsightsb00( ).
    IF lo_awsproductsspendinsight IS NOT INITIAL.
      lo_awsproductinsights = lo_awsproductsspendinsight->get_partner( ).
      IF lo_awsproductinsights IS NOT INITIAL.
        lv_currencycode = lo_awsproductinsights->get_currencycode( ).
        lv_paymentfrequency = lo_awsproductinsights->get_frequency( ).
        lv_monetaryamount = lo_awsproductinsights->get_totalamount( ).
        lv_monetaryamount = lo_awsproductinsights->get_totaloptimizedamount( ).
        lv_monetaryamount = lo_awsproductinsights->get_totalpotentialsavgamount( ).
        LOOP AT lo_awsproductinsights->get_totalamountbycategory( ) into ls_row_4.
          lv_key = ls_row_4-key.
          lo_value = ls_row_4-value.
          IF lo_value IS NOT INITIAL.
            lv_monetaryamount = lo_value->get_value( ).
          ENDIF.
        ENDLOOP.
        LOOP AT lo_awsproductinsights->get_awsproducts( ) into lo_row_5.
          lo_row_6 = lo_row_5.
          IF lo_row_6 IS NOT INITIAL.
            lv_string = lo_row_6->get_productcode( ).
            lv_string = lo_row_6->get_servicecode( ).
            LOOP AT lo_row_6->get_categories( ) into lo_row_7.
              lo_row_8 = lo_row_7.
              IF lo_row_8 IS NOT INITIAL.
                lv_string = lo_row_8->get_value( ).
              ENDIF.
            ENDLOOP.
            lv_monetaryamount = lo_row_6->get_amount( ).
            lv_monetaryamount = lo_row_6->get_optimizedamount( ).
            lv_monetaryamount = lo_row_6->get_potentialsavingsamount( ).
            LOOP AT lo_row_6->get_optimizations( ) into lo_row_9.
              lo_row_10 = lo_row_9.
              IF lo_row_10 IS NOT INITIAL.
                lv_string = lo_row_10->get_description( ).
                lv_monetaryamount = lo_row_10->get_savingsamount( ).
              ENDIF.
            ENDLOOP.
          ENDIF.
        ENDLOOP.
      ENDIF.
      lo_awsproductinsights = lo_awsproductsspendinsight->get_aws( ).
      IF lo_awsproductinsights IS NOT INITIAL.
        lv_currencycode = lo_awsproductinsights->get_currencycode( ).
        lv_paymentfrequency = lo_awsproductinsights->get_frequency( ).
        lv_monetaryamount = lo_awsproductinsights->get_totalamount( ).
        lv_monetaryamount = lo_awsproductinsights->get_totaloptimizedamount( ).
        lv_monetaryamount = lo_awsproductinsights->get_totalpotentialsavgamount( ).
        LOOP AT lo_awsproductinsights->get_totalamountbycategory( ) into ls_row_4.
          lv_key = ls_row_4-key.
          lo_value = ls_row_4-value.
          IF lo_value IS NOT INITIAL.
            lv_monetaryamount = lo_value->get_value( ).
          ENDIF.
        ENDLOOP.
        LOOP AT lo_awsproductinsights->get_awsproducts( ) into lo_row_5.
          lo_row_6 = lo_row_5.
          IF lo_row_6 IS NOT INITIAL.
            lv_string = lo_row_6->get_productcode( ).
            lv_string = lo_row_6->get_servicecode( ).
            LOOP AT lo_row_6->get_categories( ) into lo_row_7.
              lo_row_8 = lo_row_7.
              IF lo_row_8 IS NOT INITIAL.
                lv_string = lo_row_8->get_value( ).
              ENDIF.
            ENDLOOP.
            lv_monetaryamount = lo_row_6->get_amount( ).
            lv_monetaryamount = lo_row_6->get_optimizedamount( ).
            lv_monetaryamount = lo_row_6->get_potentialsavingsamount( ).
            LOOP AT lo_row_6->get_optimizations( ) into lo_row_9.
              lo_row_10 = lo_row_9.
              IF lo_row_10 IS NOT INITIAL.
                lv_string = lo_row_10->get_description( ).
                lv_monetaryamount = lo_row_10->get_savingsamount( ).
              ENDIF.
            ENDLOOP.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDIF.
  ENDIF.
  lv_involvementtypechangere = lo_result->get_involvementtypechangersn( ).
  lo_awsopportunityrelateden = lo_result->get_relatedentityids( ).
  IF lo_awsopportunityrelateden IS NOT INITIAL.
    LOOP AT lo_awsopportunityrelateden->get_awsproducts( ) into lo_row_11.
      lo_row_12 = lo_row_11.
      IF lo_row_12 IS NOT INITIAL.
        lv_awsproductidentifier = lo_row_12->get_value( ).
      ENDIF.
    ENDLOOP.
    LOOP AT lo_awsopportunityrelateden->get_solutions( ) into lo_row_13.
      lo_row_14 = lo_row_13.
      IF lo_row_14 IS NOT INITIAL.
        lv_solutionidentifier = lo_row_14->get_value( ).
      ENDIF.
    ENDLOOP.
  ENDIF.
  lo_awsopportunitycustomer = lo_result->get_customer( ).
  IF lo_awsopportunitycustomer IS NOT INITIAL.
    LOOP AT lo_awsopportunitycustomer->get_contacts( ) into lo_row_15.
      lo_row_16 = lo_row_15.
      IF lo_row_16 IS NOT INITIAL.
        lv_email = lo_row_16->get_email( ).
        lv_name = lo_row_16->get_firstname( ).
        lv_name = lo_row_16->get_lastname( ).
        lv_jobtitle = lo_row_16->get_businesstitle( ).
        lv_phonenumber = lo_row_16->get_phone( ).
      ENDIF.
    ENDLOOP.
  ENDIF.
  lo_awsopportunityproject = lo_result->get_project( ).
  IF lo_awsopportunityproject IS NOT INITIAL.
    LOOP AT lo_awsopportunityproject->get_expectedcustomerspend( ) into lo_row_17.
      lo_row_18 = lo_row_17.
      IF lo_row_18 IS NOT INITIAL.
        lv_amount = lo_row_18->get_amount( ).
        lv_currencycode = lo_row_18->get_currencycode( ).
        lv_paymentfrequency = lo_row_18->get_frequency( ).
        lv_string = lo_row_18->get_targetcompany( ).
        lv_estimationurl = lo_row_18->get_estimationurl( ).
      ENDIF.
    ENDLOOP.
    lv_awspartition = lo_awsopportunityproject->get_awspartition( ).
  ENDIF.
  lv_catalogidentifier = lo_result->get_catalog( ).
ENDIF.