이글은 아래 링크의 원본 글에 대한 한글 번역 입니다
https://blogs.sap.com/2014/07/28/secure-transferring-of-parameters-between-wda-applications/
Secure transferring of parameters between WDA Applications
July 28, 2014
웹딘프로아밥 어플리케이션에서 다른 어플리케이션으로 사원 번호를 전달하기 위해서 엄청 안전한 방법이 필요했습니다.
URL 파라미터를 바로 사용할 수는 없습니다. 왜냐하면 누구나 그걸 고쳐서 다른 사람의 민감한 데이타를 볼 수 있기 때문이죠.
변수를 공유하는 방법이 아닌 완전히 독립적인 방법이여야 합니다.
해결 방법은 스탠다드 어플리케이션 HRESS_A_PERSINFO 에서 발견 할 수 있었습니다.
thanks to Bhaskar Tripathi's question http://scn.sap.com/message/15249282
웹딘프로 컴포넌트 HRESS_C_PERNR_SELECTION 에는 어시스턴스 클래스 CL_HRESS_AS_PERNR_SELECTION가 있습니다.
값을 보내는 어플리케이션에서는 값을 메모리에 올리고 랜덤 아이디를 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
이 값을 활용하여 URL을 구성하고 두번째 어플리케이션에 전달합니다.
* 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.
값을 받는 어플리케이션에서는 사원 번호를 메모리 아이디에서 가져옵니다.
wd_assist->get_pernr_from_memory(
exporting
iv_pernr_mem_id = wd_comp_controller->gv_memid
IMPORTING
ev_pernr = lv_pernr ).
이렇게 하면 권한 검사를 할 필요도 없습니다.
이글은 아래 링크의 원본 글에 대한 한글 번역 입니다
https://blogs.sap.com/2014/07/28/secure-transferring-of-parameters-between-wda-applications/
'ABAP > Web Dynpro ABAP(WDA)' 카테고리의 다른 글
[번역] 웹딘프로아밥 adaptation에 대한 상세한 분석 (0) | 2016.12.06 |
---|---|
[번역] 여러 필드 필수값 체크에 에러메시지 하나만 표시하는 방법 (0) | 2016.12.06 |
[번역] 웹딘프로아밥 ALV 에서 드래그 앤 드랍 (0) | 2016.12.05 |
[번역] 웹딘프로아밥 화면 데이타(컨텍스트) 변경을 인식하는 방법 (0) | 2016.12.05 |
[번역] 웹딘프로아밥 테이블을 엑셀로 다운로드 (FDT) (0) | 2016.12.05 |