콘텐츠로 이동

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 )