cancel
Showing results for 
Search instead for 
Did you mean: 

Audit log of Organizational Assignment Request

Former Member
0 Kudos

Dear Experts,

Can anyone help me out in resolving the issue regarding Audit log of Organizational Assignment Request.

The scenario is :

1) I've created custom WDP component which submit's position based request using FM : GRAC_IDM_ORG_ASSG_REQ_SERVICES.It creates request successfully, But when i see audit log of that request in search request, it shows no role.

PFB the snapshot for reference.

2)But when i try to create Organizational Assignment Request through standard application(NWBC->ACCESS MGMT->Organizational Assignment Request),The request is getting submitted successfully.And i can see the role name in the audit log as shown below.

Pls help me out to resolve this issue.

Thanks

Katrice

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

My issue is resolved.Following is the code which i've used for submitting position based request.

* Get Session object

DATA lo_session TYPE REF TO cl_grfn_api_session.

****** Fill Required Structure

DATA:

  ls_request_data         TYPE grac_s_api_req_data,

  lt_request_om_object    TYPE  grac_t_api_request_omobject,

  ls_message              TYPE grac_s_ws_api_message.

DATA ls_request_omobjects TYPE grac_s_api_request_omobject.

DATA lx_exp               TYPE REF TO cx_grfn_exception.

DATA lv_text              TYPE string.

DATA lv_req_entity_id     TYPE grfn_api_object_id.

DATA lo_api               TYPE REF TO cl_grac_api_access_request.



CALL METHOD cl_grfn_api_session=>open_daily

  EXPORTING

    iv_date     = sy-datum

    iv_language = sy-langu

  RECEIVING

    ro_instance = lo_session.





TRY .

    lv_req_entity_id cl_grac_api_access_request=>if_grac_api_access_request~create( io_session  = lo_session ).

  CATCH cx_grfn_exception .

ENDTRY.



TRY.

"Test Data: For testing only

    lo_api ?= lo_session->get( iv_object_id = lv_req_entity_id ).

    ls_request_data-bproc               = 'MM00'.

    ls_request_data-msmp_process_id     = 'SAP_GRAC_ACCESS_REQUEST_HR'.

    ls_request_data-reqjustification    = 'test'.



    ls_request_omobjects-connector      = 'Connector name'.

    ls_request_omobjects-omobject_type  = 'S'.

    ls_request_omobjects-omobject_name  'Segment Head'.

    ls_request_omobjects-omobject_id    = '55016911'.

    ls_request_omobjects-prov_item_id   = '00155D18F2051ED39DA3B525AF876083'. "Role = C:MM_NBK_MRP_COMMON

    ls_request_omobjects-prov_item_type = 'ROL'.

    ls_request_omobjects-itemnum        = '0000'.

    ls_request_omobjects-valid_from     = '20140507'.

    ls_request_omobjects-valid_to       = '99991231'.

    ls_request_omobjects-prov_action    = '006'.

    ls_request_omobjects-item_name      = 'C:MM_NBK_MRP_COMMON'.



    APPEND ls_request_omobjects TO lt_request_om_object.

    CLEAR ls_request_omobjects.



" End of test data



    lo_api->if_grac_api_access_request~update(

            EXPORTING

              is_request_data      =   ls_request_data           " Access Request  Structure for API Usage

              it_request_omobjects =   lt_request_om_object  " Request OM Object assignments

          ).

  CATCH cx_grfn_exception INTO lx_exp .

ENDTRY.



TRY .

    lo_session->save( ).



  CATCH cx_grfn_exception INTO lx_exp.

    CALL METHOD lx_exp->if_message~get_text

      RECEIVING

        result = lv_text.



    IF lv_text IS NOT INITIAL.

*        CLEAR es_message.

*        es_message-msg_no = '4'.

*        es_message-msg_type      = text-003.

*        es_message-msg_statement = lv_text.

*        CLEAR:

*           ev_req_no,

*           ev_req_id.

      RETURN." EXIT.

    ENDIF.

ENDTRY.



DATA: lo_request TYPE REF TO cl_grac_api_access_request.



CLEAR ls_request_data .

REFRESH lt_request_om_object.

TRY.



    lo_request ?= lo_session->get( lv_req_entity_id ).

    TRY.

        CALL METHOD lo_request->if_grac_api_access_request~retrieve

*          EXPORTING

**            iv_editable          =     " Boolean

**            it_wi_id             =     " Workflow: Table with Work Item IDs

          IMPORTING

*           et_requser           =     " User info

*           et_reqlineitm        = lt_reqlineitm       " Line items for access request

*           et_provlineitm       = lt_provlineitm        " Line items for UAR

*           er_ui_config         =

            es_access_request    = ls_request_data  " Access Request  Structure for API Usage

*           ev_ui_config_ddic    =     " Name of Dictionary Type

*           et_reqowner          =     " Request owner

            et_request_omobjects = lt_request_om_object.      " Request OM Object assignments

      CATCH cx_grfn_exception INTO lx_exp.



    ENDTRY.

ENDTRY.



IF ls_request_data  IS NOT INITIAL.

*    ev_req_no = ls_request_data-reqno.

*    ev_req_id = ls_request_data-req_id.

*

*    CLEAR es_message.

*    es_message-msg_no        = '0'.

*    es_message-msg_type      = text-001.

*    es_message-msg_statement = text-002.

*    RETURN.

ENDIF.

PFB the snapshot for reference.

Thanks

Katrice

Answers (0)