Skip to content

/AWS1/IF_WAD=>UPDATEANSWER()

About UpdateAnswer

Update the answer to a specific question in a workload review.

Method Signature

METHODS /AWS1/IF_WAD~UPDATEANSWER
  IMPORTING
    !IV_WORKLOADID TYPE /AWS1/WADWORKLOADID OPTIONAL
    !IV_LENSALIAS TYPE /AWS1/WADLENSALIAS OPTIONAL
    !IV_QUESTIONID TYPE /AWS1/WADQUESTIONID OPTIONAL
    !IT_SELECTEDCHOICES TYPE /AWS1/CL_WADSELECTEDCHOICES_W=>TT_SELECTEDCHOICES OPTIONAL
    !IT_CHOICEUPDATES TYPE /AWS1/CL_WADCHOICEUPDATE=>TT_CHOICEUPDATES OPTIONAL
    !IV_NOTES TYPE /AWS1/WADNOTES OPTIONAL
    !IV_ISAPPLICABLE TYPE /AWS1/WADISAPPLICABLE OPTIONAL
    !IV_REASON TYPE /AWS1/WADANSWERREASON OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_wadupdateansweroutput
  RAISING
    /AWS1/CX_WADACCESSDENIEDEX
    /AWS1/CX_WADCONFLICTEXCEPTION
    /AWS1/CX_WADINTERNALSERVEREX
    /AWS1/CX_WADRESOURCENOTFOUNDEX
    /AWS1/CX_WADTHROTTLINGEX
    /AWS1/CX_WADVALIDATIONEX
    /AWS1/CX_WADCLIENTEXC
    /AWS1/CX_WADSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_workloadid TYPE /AWS1/WADWORKLOADID /AWS1/WADWORKLOADID

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

iv_lensalias TYPE /AWS1/WADLENSALIAS /AWS1/WADLENSALIAS

The alias of the lens.

For Amazon Web Services official lenses, this is either the lens alias, such as serverless, or the lens ARN, such as arn:aws:wellarchitected:us-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

iv_questionid TYPE /AWS1/WADQUESTIONID /AWS1/WADQUESTIONID

The ID of the question.

Optional arguments:

it_selectedchoices TYPE /AWS1/CL_WADSELECTEDCHOICES_W=>TT_SELECTEDCHOICES TT_SELECTEDCHOICES

List of selected choice IDs in a question answer.

The values entered replace the previously selected choices.

it_choiceupdates TYPE /AWS1/CL_WADCHOICEUPDATE=>TT_CHOICEUPDATES TT_CHOICEUPDATES

A list of choices to update on a question in your workload. The String key corresponds to the choice ID to be updated.

iv_notes TYPE /AWS1/WADNOTES /AWS1/WADNOTES

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

iv_isapplicable TYPE /AWS1/WADISAPPLICABLE /AWS1/WADISAPPLICABLE

Defines whether this question is applicable to a lens review.

iv_reason TYPE /AWS1/WADANSWERREASON /AWS1/WADANSWERREASON

The reason why a question is not applicable to your workload.

RETURNING

oo_output TYPE REF TO /aws1/cl_wadupdateansweroutput /AWS1/CL_WADUPDATEANSWEROUTPUT

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->updateanswer(
  it_choiceupdates = VALUE /aws1/cl_wadchoiceupdate=>tt_choiceupdates(
    (
      VALUE /aws1/cl_wadchoiceupdate=>ts_choiceupdates_maprow(
        value = new /aws1/cl_wadchoiceupdate(
          iv_notes = |string|
          iv_reason = |string|
          iv_status = |string|
        )
        key = |string|
      )
    )
  )
  it_selectedchoices = VALUE /aws1/cl_wadselectedchoices_w=>tt_selectedchoices(
    ( new /aws1/cl_wadselectedchoices_w( |string| ) )
  )
  iv_isapplicable = ABAP_TRUE
  iv_lensalias = |string|
  iv_notes = |string|
  iv_questionid = |string|
  iv_reason = |string|
  iv_workloadid = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_workloadid = lo_result->get_workloadid( ).
  lv_lensalias = lo_result->get_lensalias( ).
  lv_lensarn = lo_result->get_lensarn( ).
  lo_answer = lo_result->get_answer( ).
  IF lo_answer IS NOT INITIAL.
    lv_questionid = lo_answer->get_questionid( ).
    lv_pillarid = lo_answer->get_pillarid( ).
    lv_questiontitle = lo_answer->get_questiontitle( ).
    lv_questiondescription = lo_answer->get_questiondescription( ).
    lv_improvementplanurl = lo_answer->get_improvementplanurl( ).
    lv_helpfulresourceurl = lo_answer->get_helpfulresourceurl( ).
    lv_displaytext = lo_answer->get_helpfulresourcedsptext( ).
    LOOP AT lo_answer->get_choices( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_choiceid = lo_row_1->get_choiceid( ).
        lv_choicetitle = lo_row_1->get_title( ).
        lv_choicedescription = lo_row_1->get_description( ).
        lo_choicecontent = lo_row_1->get_helpfulresource( ).
        IF lo_choicecontent IS NOT INITIAL.
          lv_choicecontentdisplaytex = lo_choicecontent->get_displaytext( ).
          lv_choicecontenturl = lo_choicecontent->get_url( ).
        ENDIF.
        lo_choicecontent = lo_row_1->get_improvementplan( ).
        IF lo_choicecontent IS NOT INITIAL.
          lv_choicecontentdisplaytex = lo_choicecontent->get_displaytext( ).
          lv_choicecontenturl = lo_choicecontent->get_url( ).
        ENDIF.
        LOOP AT lo_row_1->get_additionalresources( ) into lo_row_2.
          lo_row_3 = lo_row_2.
          IF lo_row_3 IS NOT INITIAL.
            lv_additionalresourcetype = lo_row_3->get_type( ).
            LOOP AT lo_row_3->get_content( ) into lo_row_4.
              lo_row_5 = lo_row_4.
              IF lo_row_5 IS NOT INITIAL.
                lv_choicecontentdisplaytex = lo_row_5->get_displaytext( ).
                lv_choicecontenturl = lo_row_5->get_url( ).
              ENDIF.
            ENDLOOP.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDLOOP.
    LOOP AT lo_answer->get_selectedchoices( ) into lo_row_6.
      lo_row_7 = lo_row_6.
      IF lo_row_7 IS NOT INITIAL.
        lv_choiceid = lo_row_7->get_value( ).
      ENDIF.
    ENDLOOP.
    LOOP AT lo_answer->get_choiceanswers( ) into lo_row_8.
      lo_row_9 = lo_row_8.
      IF lo_row_9 IS NOT INITIAL.
        lv_choiceid = lo_row_9->get_choiceid( ).
        lv_choicestatus = lo_row_9->get_status( ).
        lv_choicereason = lo_row_9->get_reason( ).
        lv_choicenotes = lo_row_9->get_notes( ).
      ENDIF.
    ENDLOOP.
    lv_isapplicable = lo_answer->get_isapplicable( ).
    lv_risk = lo_answer->get_risk( ).
    lv_notes = lo_answer->get_notes( ).
    lv_answerreason = lo_answer->get_reason( ).
    lo_jiraconfiguration = lo_answer->get_jiraconfiguration( ).
    IF lo_jiraconfiguration IS NOT INITIAL.
      lv_jiraissueurl = lo_jiraconfiguration->get_jiraissueurl( ).
      lv_timestamp = lo_jiraconfiguration->get_lastsyncedtime( ).
    ENDIF.
  ENDIF.
ENDIF.