반응형

     

     

    이번 포스팅에서는 ABAP의 꽃 중 하나인 Search Help를 알아보려 합니다. 데이터를 입력할 때 필드별로 어떤 값을 넣어야 하는지 그 범위를 아는 것은 쉽지 않을 수 있습니다. 마치 제빵에서 레시피를 아는 이와 모르는이 둘의 차이를 보는둣합니다. 사용자 입장에서 Possible Entry를 제공하는 것은 참으로 편리합니다.

     

    그러면서 개발자가 Possible Entry 제공을 위해 투여하는 시간 또한 적절하면 좋겠죠. SAP의 Search Help는 다양하고 직관적으로 잘만들어져 있습니다. 

     

    Search Help는 제공은 화면에서 값을 입력할때 사용하므로 편의상 크게 3가지로 분류해 접근해 보겠습니다.

    1) 레포트 프로그램(Type-1)의 Select-Screen 구성시

    2) 온라인 프로그램(Type-M)의 필드 구성시

    3) Grid, Table Control과 같은 Component의 필드 구성시

     

    Search Help( Input Help, Match Code)는 크게 자동 제공되는 것과 사용자가 생성하는 것으로 나눌 수 있겠습니다.

     

    1) Table, Structure를 참조하여 필드선언시 해당 필드가 Search Help를 가지고 있는 경우.

    -. Explicit search help attachment to field

    -. Input help implemented with check table

    -. Explicit search help attachment to data element

    -. Input Help with Fixed Value

    -. Input Help base on Data Type

       

    이전글인 [SAP ABAP 강좌 6] 테이블 (Table) - Search Help 참조 바람.

     

    2) Data Type이 지원하는 Static Search Help 필드를 참조하는 경우.

    Date, Time Data형을 참조하여 선언하면 달력, 시계 등으로 값을 선택할 수 있음.

     

    3) 사용자가 코딩을 사용해서 Search Help를 생성하는 경우.

    CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST' 과 같은 코딩을 소스에 넣어서 구현할 수 있습니다.

    Dictionary에서 Search Help를 생성

    Table을 만들듯이 Search Help를 생성하여 프로그램이나 Table등의 다른 Object에서 사용이 가능하다.

    SE80 -> Dictionary -> 우클릭 Create 선택 -> Search Help를 선택하고 생성할 Search Help 이름을 넣고 실행합니다.

    이때 기본으로 선택되는 Elementary search help를 선택합니다.

     

     

    Search Help 생성화면을 상단과 하단을 나누어서 살펴보자.

    예는 T025(평가클래스 마스터)라는 테이블로 Search Help를 만들며 테스트 해보겠다.

     

     

    1) 상단의 Search Help 데이타 정의 부분이다.

     

     

    Selection method

    : Search Help를 만들 데이터를 가져올 원천을 정한다. Table, View가 가능하다 View는 Database View, Projection VIew, Help VIew가 가능하다. Table의 경우 Text Table을 가진 경우 자동으로 표시된다.

     

    Dialog Type

    : Search Help화면을 띄우는 방식의 옵션을 정한다. 

    -. Dialog depends in set values(A) : 적중리스트기준100이상이면 C로 , 이하이면 D로 조회
    -. Display values immediately(D) : 즉시 리스트 조회       

    -. Dialog with value restriction(C) : 사용자로부터 값을 입력받아야만 리스트 조회

     

    Search help exit

    : Function을 등록하여 Search help 화면과 데이터를 개발자가 코딩으로 제어할 때 사용한다.

     

    2) 하단의 Search help 화면에 보일 값을 입력해보자.

    Search help parameter에서 Possible Entry를 띄워보면 상단에서 Selection method에서 등록한 T025 테이블의 필드들이 보인다.

     

     

    IMP(Import) : Search Help를 띄우기전 Search Help를 사용하는 Object로 부터 조건값을 받는 파라미터(필드).

    EXP(Export) : Search Help 화면이 뜬 후 List의 데이터를 더블클릭으로 선택시 값을 리턴해주는 파라미터(필드).

    LPos: Grid에 나타나는 필드의 순서를 설정한다.

    SPos: 데이터 선택을 위한 조건을 입력 받을때 필드 순서를 설정한다.

    SDis: Possible Entry의 활성,비활성을 설정한다.

     

    예를 살펴보자.

    SPos를 1,2,3으로 LPos를 2,1,3 으로 설정을 하면 상단은 BKLAS, BKBEZ, KKREF 순으로 하단은 BKBEZ, BKLAS, KKREF 순임을 알 수 있다.

     

     

    SDis를 두 번째 필드에 찍으면 조건 입력이 비활성화됨을 알 수 있다.

     

     

    Modified 체크박스는 현재 제시된 DataElement를 다른 것으로 변경할 필요가 있을 때 사용 가능합니다. 하지만 그 형식 Type, 소수점 이런 Data Type은 동일한 것을 사용해야 합니다.

     

    DataElement 항목이 Edit 가능하게 되면 변경이 가능합니다. 변경하게 되면 기존 DataElement가 가지고 있던 여러 속성들은 무시됩니다. 같은 Data Type인 Plant(T001W-WERKS)로 변경을 해보면 

     

     

    명칭이 DataElement의 값으로 변경이 되었지만 나오는 값은 동일함을 알 수 있다.

     

     

    Default Value필드의 경우는 해당 파라미터가 IMP가 아닌 경우 사용 가능하며 해당 값으로 필터 되어 데이터가 나오게 된다. BKLAS를 IMP에서 제외하고 '3001'로 값을 세팅해보자. 아래 화면처럼 필터 된 리스트가 나오게 된다.

     

    아래와 같은 유형을 Default Value로 사용 가능합니다.

    i) 상수 : ''(아포스트로피)로 묶은 상수.

    ii) 시스템 필드(SYST 테이블) : sy-필드명 형태로 사용.

    iii) GET Parameter의 ID.

    iv) 날짜, 시간 등은 마스크를 제거하고 ''와 함께 사용 : '99991231'.

     

     

     

     

     

     

    Search Help의 기본적인 생성 방법을 알아보았습니다. 다음 시간에는 Search Help Exit에 대해 알아보고

    이어서는 실제 코딩에서 어떻게 쓰이는지 알아보겠습니다.

     

    긴 글 읽어주셔서 감사합니다.

    728x90
    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기