CLONE_UI_RUNTIME_INST¶
목적¶
동일한 UI Instance를 복사 생성하는 방법을 설명
주요 단계¶
1. 복사 생성할 UI Object 및 Event 생성¶
1.1 UI Object 생성 및 Event 구성¶
o 복사 생성할 대상 UI Object("Form") 생성 및 복사 Event를 수행할 UI Object(Button) 생성

<사진 1> 복사 생성 대상 UI Object와 Event 구성 화면
2. Method 구성¶
2.1 CLONE_UI_RUNTIME_INST Method 구성¶
o CLONE_UI_RUNTIME_INST 를 사용하여 UI Instance 복사 생성
o ABAP 소스 코드 Example (EV_CLONE)
METHOD EV_CLONE_UI.
DATA : LO_FORM TYPE REF TO /U4A/CL_UO01001,
LO_FORM1 TYPE REF TO /U4A/CL_UO01001.
DATA : LO_PAGE TYPE REF TO /U4A/CL_UO00389.
*--------------------------------------------------------------------*
"FORM UI INSTANCE.
LO_FORM ?= ME->/U4A/IF_SERVER~AR_VIEW->GET_UI_INSTANCE( I_ID = 'FORM1' ).
CHECK LO_FORM IS BOUND.
"복사 생성될 FORM UI INSTANCE.
LO_FORM1 ?= /U4A/CL_UTILITIES=>CLONE_UI_RUNTIME_INST(
EXPORTING
IO_VIEW = ME->/U4A/IF_SERVER~AR_VIEW " [U4A] UI Element Super Class
IO_SOURCE = LO_FORM " 복사 대상 UI
IV_TARGET_ID = 'CPFORM1' " ID(복사 된 UI의 NEW ID 예 PAGE1 -> CPPAGE1)
).
CHECK LO_FORM1 IS BOUND.
"PAGE UI INSTANCE.
LO_PAGE ?= ME->/U4A/IF_SERVER~AR_VIEW->GET_UI_INSTANCE( I_ID = 'PAGE' ). " UI Object ID
CHECK LO_PAGE IS BOUND.
" 복사 생성된 Form UI 삽입.
CALL METHOD LO_PAGE->ADDCONTENT
EXPORTING
CONTENT = LO_FORM1. " content
ENDMETHOD.
3. Application 실행 및 UI CLONE EVENT 버튼 동작¶
3.1 UI CLONE EVENT 버튼 클릭¶
o Application 실행 후, 상단 "UI CLONE EVENT" 버튼 클릭

<사진 2> UI CLONE EVENT 버튼 실행 화면
4. 실행 결과 확인¶
4.1 복사 생성된 UI Instance 확인¶
o CLONE_UI_RUNTIME_INST 실행 결과로 기존과 동일한 Form UI 복사 생성 확인

<사진 3> 복사 생성된 Form UI 화면
추가 정보¶
o 복사 생성된 UI의 ID는 기존 ID와 구분 가능하도록 새로운 ID로 할당됨
( 예: 기존 ID = PAGE, 복사된 ID = CPPAGE )