SAP WD4A – FPM OIF 기본 구성

SAP WD4A – FPM OIF 기본 구성

Published
2015년 03월 17일
생성자
카테고리
SAP
태그
SAP
WD4A
FPM
OIF
하위 카테고리
WD4A
여기서는 기본적인 사항만 확인하고 자세한 내용은 추후에 작성하겠습니다.
아래는 SAP SRM system 의 Standard 화면을 예시로 했다.

FPM Configuration 셋팅

SU01 -> USER Parameter 에 다음을 추가한다.
FPM_CONFIG_EXPERT X
그러면 우측 상단에 어플리케이션 계층구조 라는게 나오게된다.
FPM_OIF_COMPONENT 를 사용하고 있다.
오브젝트 인스턴스 플로어플랜 에 들어간다.
좌측 조회의 전역세팅을 확인한다.
해당 Component 는 IF_FPM_OIF_CONF_EXIT 이 구현된 WD Component 이다.
해당 기능을 사용하면 OVERRIDE_EVENT_OIF 이라는 Method 가 생긴다.
StartFragment
CHECK io_oif->mo_event->mv_event_id EQ if_fpm_constants=>gc_event–start. DATA : lt_mainview TYPE io_oif->ty_t_mainview, ls_mainview TYPE io_oif->ty_s_mainview. io_oif->get_mainviews( EXPORTING iv_variant_id = ‘VARIANT_QTE_PURCH’ IMPORTING et_mainview = lt_mainview ). LOOP AT lt_mainview INTO ls_mainview. CASE ls_mainview–id. WHEN ‘QTE_PURCH_Appr’ OR ‘QTE_PURCH_Track’. TRY . io_oif->set_hidden_mainview( EXPORTING iv_variant_id = ls_mainview–variant iv_mainview_id = ls_mainview–id iv_hidden = ‘X’ ). CATCH cx_fpm_floorplan. ” Floorplan exceptions ENDTRY. WHEN OTHERS. ENDCASE. CLEAR ls_mainview. ENDLOOP.
위와 같이 FPM Event 별로 실행되며, 상황에 따라 UIBB 를 Hidden 시킬 수 있다.
기타 사항은 IF_FPM_OIF 에서 확인하자.
예를 들어 User Role 별 Display 구성을 다르게 하고자 할 때 사용하면 된다.
물론, Role 별로 Configuration을 다르게 만들어 배포하는 것이 바람직하다.
또 다른 방법은 Variant 를 여러개 만드는 방법도 있다.
UIBB 라는걸 지정해서 화면 구성이 가능하다.
UIBB 종류
– 서식 컴포넌트
– 리스트 컴포넌트
– 탭 컴포넌트
– 검색 컴포넌트
– 트리 컴포넌트
UIBB 속성
– Component : WD Component 중 IF_FPM_UI_BUILDING_BLOCK 이 구현된 컴포넌트
– Configuration
– View
– Index
– 확대필요
Toolbar 요소 (Button Action Event)
FPM Event ID 가 중요하다.
FPM Event 를 발생하면 각각의 UIBB 에 해당되는 COMPONENTCONTROLLER 에서 구동된다.
FPM 을 사용하면 아래와 같이 5개의 Method 가 생긴다.
FPM Event 가 발생되면 PROCESS_EVENT 가 실행된다.
PROCESS_EVENT Method
CASE io_event->mv_event_id. WHEN if_fpm_constants=>gc_event-start. WHEN if_fpm_constants=>gc_event-leave_initial_screen. WHEN 'CHECK_DATA'. IF sy-subrc NE 0. ev_result = 'FAILED'. ENDIF. WHEN OTHERS. ENDCASE.
Event ID 별로 구현한다.
첫 로딩시 FPM_START 가 구현되고
초기화면에서 MAIN 화면으로 넘어가면 FPM_LEAVE_INITIAL_SCREEN 이 실행된다.
점검 이라는 버튼을 생성하고 FPM Event ID 를 CHECK_DATA 라고 지정한다.
Check Logic 을 추가하고 결과값에 따라서 더 이상 진행을 하지 않으려면
ev_result 변수에 FAILED 를 넘겨주면 된다.
PROCESS_BEFORE_OUTPUT Method
이 Method 에서는 이름 그대로 화면에 보이기 전에 필요한 사항을 적용하면 된다.
UI Element Properties etc…….
==============================================================================================================
WD4A 을 개발하다 보면 A View 에서 B View 와 상호 유기적으로 작동이 필요할 때가 있다.
이럴땐 Component 에 Event 를 추가하여 사용을 하곤 한다.
필요에 따라서 REUSE Component 도 사용하게 된다.
프로그램에 Reuse , View 도 추가에 제한이 있다. 몇개인지는 기억이 안남.
프로그램의 기능이 많아지면 Event 를 받아서 작업하는데 무리가 오게 된다.
FPM 은 RAISE_EVENTS 를 발생시켜 일관된 프로세스 작업이 가능하다.
또한 쉽게 Component 를 추가하고, 제어할 수 있다.
FPM 문서를 먼저 보면 뭔 소린지 모르겠지만, Tutorial 을 따라해 보고 문서를 읽으면 엄첨 쉽고 편리한 것을 느낄 수 있다.
OIF 보다는 OVP 가 좀 더 많은 기능을 구현할 수 있게 되어있다.
OVP 의 기능은 IF_FPM_OVP 에서 확인해 보자.
여긴 ToolBar Button 제어도 가능한 Method 들을 제공해 준다.
단점은 좀 더 무거워요.

댓글

guest