메뉴 건너뛰기

SAP 한국 커뮤니티



ABAP [Selection Screen]에 대한 고찰01

문바이 2011.05.13 10:36 조회 수 : 44173 추천:1

Selection Screen 의 화면구성중 이런경우가 발생할수.

 

고객으로 부터 이런화면을 구성해 줄것을 요구 받았다.

요구조건 : 유사한 유형의 검색화면을 화면하나로 구성해 줄것.

Selection Screen의 구성방법 :

  1) 아래와 같이 Frame 을 2개로 구성한다.

  2) 첫번재 Frame1 에는 [화면명]을 List-up해준다.

  3) 사용자가 Frame1의 라디오버튼을 클릭하면 해당 검색조건이 검색조건이 Frame2에 활성화 된다.

 

화면선택

 ( ) 첫번재 메인화면  /* 라디오 버튼임 */

 ( ) 두번째 메인화면

 ( ) 세번째 메인화면

 

검색조건

   검색조건[1]

   검색조건[2]

   검색조건[3]

   검색조건[4]

 

Selection Screen의 논리적 구성 ( 2진법을 활용한 화면구성)

논리표

검색조건1

검색조건2

검색조건3

검색조건4

첫번째화면

O

O

X

X

두번째화면

O

X

O

X

세번째화면

O

X

X

O

2진수

111

100

010

001

10진수

7

4

2

1

설명 : 첫번재화면은    검색조건1,검색조건2   만 활성화 한다.

            두번재화면은   검색조건1,검색조건3    만 활성화 한다.

           세번째화면은    검색조건1,검색조건4    만 활성화 한다.

          따라서 검색조건1은 2진정보 111을 가지고있으면 되고 이것은 10진수로 7을 의미한다.

          따라서 검색조건2은 2진정보 100을 가지고있으면 되고 이것은 10진수로 4을 의미한다.

          따라서 검색조건3은 2진정보 010을 가지고있으면 되고 이것은 10진수로 2을 의미한다.

          따라서 검색조건4은 2진정보 001을 가지고있으면 되고 이것은 10진수로 1을 의미한다.

 

  

Selection Screen의 코드구성 ( 2진법을 이용한 코드처리방법)

** 화면의 구성 **

SELECTION-SCREEN BEGIN OF SCREEN 1003 AS SUBSCREEN.

  SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE text-S01.
    PARAMETERS :  ps_01 RADIOBUTTON GROUP rad2 USER-COMMAND CHECK,                  

    "이벤트 발생을 위핸 User-Command 명령을 삽입하였다
                  ps_02 RADIOBUTTON GROUP rad2 ,                                       "
                  ps_03 RADIOBUTTON GROUP rad2 .                                       "
  SELECTION-SCREEN end of BLOCK B1.


  SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE text-S02.

      "검색조건을 모두 나열한다. 이때 첫번째 검색조건 SS01 은 부가정보 G07를 할당받는다.

      "G : Grouping된것을 알려주기위해 서두문자로 넣었다.

      "G07 : Groping되었으며 정보는 07이다. 이 07은 앞선 논리표에서 설명하였다.

      "MODIF ID XXX : 3자리만 기억시킬수 있는 태생적 한계가 있다.

      SELECT-OPTIONS : ss1 FOR sflight-carrid NO-EXTENSION                  MODIF ID G07,
                       ss2 FOR sflight-carrid NO-EXTENSION     NO INTERVALS MODIF ID G04 ,
                       ss3 FOR sflight-carrid NO-EXTENSION                  MODIF ID G02,
                       ss4 FOR sflight-carrid NO-EXTENSION     NO INTERVALS MODIF ID G01.
  SELECTION-SCREEN end of BLOCK B2.

SELECTION-SCREEN END OF SCREEN 1003.

 

 

 

 

 

 

 

 

 

** 이번트의 처리 **

"모든 Selection-Screen Event의 호출을 마친후 이 Event가 호출된다.
  LOOP AT SCREEN.

    if screen-group1+0(1) = 'G'.   "Group인 항목만 찾는다.
      lv_i1 = screen-group1+1(2).  "10진수 정보 2자리를 가져온다.
      mdec2bin 3 lv_i1 lv_s1.      "10진정보를 2진 정보를 치환한다.

      if ( lv_s1+0(1) = '0' and ps_01 = 'X' ) or ( lv_s1+1(1) = '0' and ps_02 = 'X' ) or ( lv_s1+2(1) = '0' and ps_03 = 'X' ).
        screen-invisible = 'X'.  "조건을 화면에서 보이게 할지 사라지게 할지 결정한다.
        SCREEN-ACTIVE = '0'.
        SCREEN-INPUT  = '0'.
        MODIFY SCREEN.
      endif.

    endif.

  ENDLOOP.

 

 

Selection Screen의 장단점

장점 :

  1) 코딩라인이 줄어든다.

  2) 동일검색조건을 계속 재활용 함에 따라 DATA를 SELECT할때 접근할 Parameter/Select-Option의 수가

     한정되어 Data Select의 프로그램 코딩라인을 줄일수 있다

 

단점

  1) 개발자가 논리표를 그려서 2진수를 10진수로 변환해야 한다.

  2) 프로그램 수정시 논리표를 재 확인해 보아야 한다. (가독성이 떨어진다)

 

 

첨언

코딩을 하다보면 자판기와 같다는 생각을 많이 합니다.

입력과 결과물은 동일할수 있으나, 그 과정은 개발자 마다 다르게 구성할수 있으니까요.

지금 설명한 방법은 재 개인적인 방법으로 이렇게도 구성할수 있음을 보여주고자 했습니다.

따라서 꼭 이렇게 사용하기를  권장하는 것이 아님을 밝혀드립니다.

 

감사합니다. 

 


 

번호 제목 글쓴이 날짜 조회 수
» ABAP [Selection Screen]에 대한 고찰01 [10] 문바이 2011.05.13 44173
1203 프로그램 에러 발생 에러 로그 분석 방법 설명 [32] file swithom 2011.05.09 43383
1202 SAP Print Setting 설명 자료 [21] file swithom 2011.05.09 20297
1201 SAP DB 보안 암호화 솔루션 [9] file PNC 2011.05.06 22391
1200 SAP - ABAP Programming-Total.htm 영문버전 [14] file 서륜파파 2011.04.28 26302
1199 Adobe Form 개발 메뉴얼 [16] file sapjoy 2011.04.27 37475
1198 소스 다운로드 파일입니다. [14] file 케리언 2011.04.19 43943
1197 unicode in sap netweaver [12] file 양키 2011.04.13 17946
1196 cl_gui_fronted_service에서 많이 쓰인는 method 올려봅니다. [30] file 버미! 2011.04.11 35717
1195 SAP Database Files [21] file 수갬 2011.04.06 21912
1194 ABAP Proxy Implement Guide - XI 자료 입니다. [26] file Giant 2011.04.04 24238
1193 Report zdynamic_itab_05 Error [3] file 청이 2011.03.31 16327
1192 아밥 기초 지식 입니다. [76] file 너구리 2011.03.28 39889
1191 스마트 폼 [13] file 청화산 2011.03.28 16826
1190 클러스터뷰 만들기 [13] file 둥맘 2011.03.25 22866
1189 [onepaper] 참고자료 Archiving 세팅에 필요한 파일소스입니다. [5] file 원니컴 2011.03.22 17209
1188 <img src=c.gif>SAP screen에 그림파일 조회하기(7)[추천:보나][추천:유리선율] [29] file 춘풍 2011.03.11 16831
1187 <img src=d.gif>SAP screen에 그림파일 조회하기(6)[추천:보나] [18] file 춘풍 2011.03.11 15782
1186 <img src=d.gif>SAP screen에 그림파일 조회하기(5)[추천:보나] [19] file 춘풍 2011.03.11 15909
1185 <img src=d.gif>SAP screen에 그림파일 조회하기(4)[추천:보나] [19] file 춘풍 2011.03.11 15538