Skip to content

/AWS1/IF_CRM=>UPDATECOLLABORATIONCHANGEREQ()

About UpdateCollaborationChangeRequest

Updates an existing collaboration change request. This operation allows approval actions for pending change requests in collaborations (APPROVE, DENY, CANCEL, COMMIT).

For change requests without automatic approval, a member in the collaboration can manually APPROVE or DENY a change request. The collaboration owner can manually CANCEL or COMMIT a change request.

Method Signature

METHODS /AWS1/IF_CRM~UPDATECOLLABORATIONCHANGEREQ
  IMPORTING
    !IV_COLLABORATIONIDENTIFIER TYPE /AWS1/CRMCOLLABORATIONID OPTIONAL
    !IV_CHANGEREQUESTIDENTIFIER TYPE /AWS1/CRMCOLLABORATIONCHANGE00 OPTIONAL
    !IV_ACTION TYPE /AWS1/CRMCHANGEREQUESTACTION OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_crmupcollaborationc01
  RAISING
    /AWS1/CX_CRMACCESSDENIEDEX
    /AWS1/CX_CRMCONFLICTEXCEPTION
    /AWS1/CX_CRMINTERNALSERVEREX
    /AWS1/CX_CRMRESOURCENOTFOUNDEX
    /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_collaborationidentifier TYPE /AWS1/CRMCOLLABORATIONID /AWS1/CRMCOLLABORATIONID

The unique identifier of the collaboration that contains the change request to be updated.

iv_changerequestidentifier TYPE /AWS1/CRMCOLLABORATIONCHANGE00 /AWS1/CRMCOLLABORATIONCHANGE00

The unique identifier of the specific change request to be updated within the collaboration.

iv_action TYPE /AWS1/CRMCHANGEREQUESTACTION /AWS1/CRMCHANGEREQUESTACTION

The action to perform on the change request. Valid values include APPROVE (approve the change), DENY (reject the change), CANCEL (cancel the request), and COMMIT (commit after the request is approved).

For change requests without automatic approval, a member in the collaboration can manually APPROVE or DENY a change request. The collaboration owner can manually CANCEL or COMMIT a change request.

RETURNING

oo_output TYPE REF TO /aws1/cl_crmupcollaborationc01 /AWS1/CL_CRMUPCOLLABORATIONC01

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->updatecollaborationchangereq(
  iv_action = |string|
  iv_changerequestidentifier = |string|
  iv_collaborationidentifier = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_collaborationchangerequ = lo_result->get_collaborationchangereq( ).
  IF lo_collaborationchangerequ IS NOT INITIAL.
    lv_uuid = lo_collaborationchangerequ->get_id( ).
    lv_uuid = lo_collaborationchangerequ->get_collaborationid( ).
    lv_timestamp = lo_collaborationchangerequ->get_createtime( ).
    lv_timestamp = lo_collaborationchangerequ->get_updatetime( ).
    lv_changerequeststatus = lo_collaborationchangerequ->get_status( ).
    lv_boolean = lo_collaborationchangerequ->get_isautoapproved( ).
    LOOP AT lo_collaborationchangerequ->get_changes( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_changespecificationtype = lo_row_1->get_specificationtype( ).
        lo_changespecification = lo_row_1->get_specification( ).
        IF lo_changespecification IS NOT INITIAL.
          lo_memberchangespecificati = lo_changespecification->get_member( ).
          IF lo_memberchangespecificati IS NOT INITIAL.
            lv_accountid = lo_memberchangespecificati->get_accountid( ).
            LOOP AT lo_memberchangespecificati->get_memberabilities( ) into lo_row_2.
              lo_row_3 = lo_row_2.
              IF lo_row_3 IS NOT INITIAL.
                lv_memberability = lo_row_3->get_value( ).
              ENDIF.
            ENDLOOP.
            lv_displayname = lo_memberchangespecificati->get_displayname( ).
          ENDIF.
          lo_collaborationchangespec = lo_changespecification->get_collaboration( ).
          IF lo_collaborationchangespec IS NOT INITIAL.
            LOOP AT lo_collaborationchangespec->get_autoapprovedchangetypes( ) into lo_row_4.
              lo_row_5 = lo_row_4.
              IF lo_row_5 IS NOT INITIAL.
                lv_autoapprovedchangetype = lo_row_5->get_value( ).
              ENDIF.
            ENDLOOP.
          ENDIF.
        ENDIF.
        LOOP AT lo_row_1->get_types( ) into lo_row_6.
          lo_row_7 = lo_row_6.
          IF lo_row_7 IS NOT INITIAL.
            lv_changetype = lo_row_7->get_value( ).
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDLOOP.
    LOOP AT lo_collaborationchangerequ->get_approvals( ) into ls_row_8.
      lv_key = ls_row_8-key.
      lo_value = ls_row_8-value.
      IF lo_value IS NOT INITIAL.
        lv_approvalstatus = lo_value->get_status( ).
      ENDIF.
    ENDLOOP.
  ENDIF.
ENDIF.