I need enough secure solution for transfer pernr number from one WDA application to Another.

We cant use parameter directly because experienced users can modify it and view restricted data.

Application must be completely independent without sharing interface controller variables.

Solution was found  in application HRESS_A_PERSINFO thanks to Bhaskar Tripathi’s question http://scn.sap.com/message/15249282

WD component HRESS_C_PERNR_SELECTION uses Assistance Class CL_HRESS_AS_PERNR_SELECTION.

In Sender Apllication we write data to Memory and get random ID in  RV_MEM_ID.

CALL METHOD CL_HRESS_EMPLOYEE_SERVICES=>SET_PERNR_TO_MEMORY

   EXPORTING

     iv_pernr                  = lv_pernr

*     IV_DISP_CE_ASSIGTS_SCREEN =

*     IV_NON_EIC_MODE           =

   RECEIVING

     RV_MEM_ID                 = w_value

Then we construct URL and open second application.

* Get the URL of the called application

  CALL METHOD cl_wd_utilities=>construct_wd_url

    EXPORTING

      application_name = ‘ZBHRWD_INC_CRiteria_ESS’

    IMPORTING

      out_absolute_url = w_url.

*Attach the parameters and its value with the URL that

* have to be passed to the 2nd application

  CALL METHOD cl_http_server=>append_field_url

    EXPORTING

      name  = ‘PERNR_MEM_ID’

      value = w_value

    CHANGING

      url   = w_url.

In receiver application read the pernr by Memory ID

wd_assist->get_pernr_from_memory(

           exporting

           iv_pernr_mem_id      = wd_comp_controller->gv_memid

           IMPORTING

            ev_pernr = lv_pernr ).

In this case we need not to do authorization checks in receiver application.

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

Leave a Reply