메뉴 건너뛰기

SAP 한국 커뮤니티



ABAP [Dictionary] Search Help

문바이 2012.03.29 22:40 조회 수 : 31425 추천:2

ABAP Dictionary를 이해하기 전에...

이 정리표는 사용자 Interface화면을 기준으로 작성되었기 때문에 그냥 읽기보다는 실제 화면을 펼쳐놓고 읽으시면 도움이 됩니다

 

Database Object : ABAP Dictionary의 5개의 큰 분류중 5번째Search Help, SAP의 가장 편리한 기능중 하나입니다.

 

이번 Search Help는 End-User 입장에서 가장 직접적이고 편리하게 사용하는 기능입니다.

따라서, 사용자 입장에서 Search Help가 어떻게 사용되어지고 있는지에 대한 습득이 우선되어 있어져야 합니다.

만약, 사용자 Interface ( Possible Entry/F4)기능에 대한 이해없이 우선 ABAP Dic의 Search Help를 보는 것은

이 기능이 왜 이렇게 만들어졌고, 왜 이렇게 구성해야 되는 이유를 알수 없기 때문에 학습도를 매우 많이 저해하게됩니다

(그냥 단순하게 Possible Entry를 띠운후  이거구나 하지 말고,  올라온 팝업화면에서 버튼 하나하나의 기능과

  탭 하나하나의,  특히 상/하 화면의 분리를 통한 기능을 통한 검색기능을 눈여겨 보도록 합니다.)

 

Search Help(= MatchCode)
 

Possible Entry 띄우는 방법 3가지
가)  Static Input Help

      Type : DATS,TIMS 은 자동으로 올라온다. 

 

나) ABAP Dic을 이용
   (적용 우선순위순 , ABAP Dictionary TABLE 작성에 대한 이해도필요,  ABAP Table을 펼쳐놓고 볼수있돌고함)

   1) Table_Field  (  Search Help직접적용 )
   2) Entry Table  (  + Domain의 제한적값   )
   3) Table Field Element (  Search Help간접적용 )

 

다) Program 코딩 이용.
  1) Screen Field  ( Module(Type-3)로 프로그램 개발시 사용합니다.)
      Attribute설정
 2) Process on ~~ ( 개발시 가장 많이 사용되는 부분 입니다. Event를 이용한 방법)
     사용자가 직접코딩"


Search Help 정리표

종류

Elementary Search Help (기본)
Colledctive Search Help (일괄)

   [Sample T-CODE : MM01]

기본탐색 도움말.[탭 1개로 구성됨]
일괄탐색 도움말.[탭 여러개로 구성됨] ,

  (Elementary Search Help의 조합.)

적용

방법

 

Data Element : [Further Characteristics]탭을 통해 직접지정
Table Field : [Fields]탭에서 [Srch Help]버튼을 통해 지정
Check Table : Table 의 [Check Table]에 [Search Help]가 연계됨
Screen Field : Screen Painter를 이용하여 화면에 연계됨

Data Element에 직접지정, 모든화면에서 자동으로 올라옴

Table Field에 직접지정하면 자동으로 연계되어 올라옴
Check Table에 [Search Help]가 연결되어있으면 바로 올라옴
Screen Painter의 Field속성을 이용하여 [바로올려준다.]

Dialog Module 이용([F4키에 의한 POV Event호출)
  1) ABAP Dic Table을 이용하는 방법.
     F4IF_FIELD_VALUE_REQUEST

    함수를 코딩에서 활용하여 dynpro기술
  2) ABAP Internal Table를 이용하는 방법.

    (실제 코딩에서 가장많이 활용되고있음)
     F4IF_INT_TABLE_VALUE_REQUEST 함수를 활용.

실시간에 itab을 가공하여 보여준다.

 (일반개발자들이 가장 선호하는 방식)
이 방법 보다는 
ABAP Dic Search-help권장

개체

생성

 

화면

설명

Elementary Search Help
 Definition[탭]
   Selection Method(선택방법) : Table, View(Database, Projection,Help)
    F4를 눌렀을때 적중리스트를 줄이는 방법

    (화면표시이름이 여기서 결정된다)
    -> 아무래도 Table보다는 쿼리로 제한을 두고(적중수를 줄이고)/

        선택된 필드에 이름(보여주는명칭)이 새로 정의된

        View를 선택하는 것이 유리하다. (Table보다 View권장)
  Dialog Type(다이얼로그 유형) :
    F4를 눌렀을 때 데이타가 바로올라올지

    Key받아서 입력할지에 대한 유형을 선택한다

        A[값세트에 따른] : 

            (적중리스트 100이상이면 C로 ,  이하이면 D로 조회됨)
        C[값제한] : 사용자로부터 값을 입력받아야만 리스트 조회
        D[값즉시] : 즉시 리스트 조회
    Hot Key : Collective Search Help 에서

                     [바로가기 키]를 정의한다. ""=Z.A*""
  탐색도움말 Exit :Data뿐만 아니라/F4를 눌렀을때

     화면상의 인터페이스 조절등의 Data이외의 코딩적인 부분을

     처리하기 위해서 Function을 만들어 지정한다.
  Parameter : 매개변수를 설정한다.
   (IMP,EXP는 실제 ABAP코딩에서 사용될 파라메터를 설정한다.)
     IMP : Search Help를 코딩에서 호출할때 값을 넘겨준다.

               (적중수를 줄일대상임)
     EXP : 사용자가 더블클릭을 한후 코딩으로 돌아올때 넘겨줄 값임
     (SPOS, LPOS는 F4를 통해 팝업이 올라온후 화면상의 위치)
     SPOS : Possible Entry상단 [Screen POSition]
     LPOS  : Possible Entry 하단[List POSition]
     [기타속성]
     SDIS :  Possible Entry상단 [검색조건의 순서를 결정]

                 활성/비활성선택

용어설명
 와일드카드 : *(전체), + (문자1개)
  Input Help : F4를눌러, 선택 화면을 올리는 행위.
  Search Help: F4를 눌러, 선택화면에서 SearchHelp사용

  Context Field : [사용자 입력] 필드를 말한다.
     -> 좌측 셀에 있는 IMP(Parameter) 에 해당한다.
  Input Template :

      [대화상자]에서 사용자에 의해 선택된 라인을 말함.
     -> 좌측 셀에 있는 EXP(Parameter) 에 해당한다.

 

화면설명

  (아무화면에서 F4를 눌러화면을 보자!)
  화면상단

    1) Possible Entry 자체의 검색기능을 갖는다.
    2) Parameter(SPOS)의해 영향을 받는다. 
    3) Parameter(SDIS)의해 영향을 받는다.
 화면하단

    1) 화면상단에 의해 Select된 데이타를 보여준다. 
    2) Parameter(LPOS)의해 영향을 받는다.
    3) List Column중 [옅은 파랑색]으로 칠해진 것이
        Parameter(EXP)가 체크된 항목이다.

Collective Search Help
   Include Search Helps[탭]
      추가하고자 하는 Element Search Help를 지정해 준다.
      [Param.assignment] 버튼을 눌러 통신할

      [parameter]를 연결해 준다.

 

T-CODE(SE11)를 통해 TABLE (SFLIGHT)를 조회한후 CONNID 필드에 속해있는 Search Help [H_SPFLI]를  더블클릭하여 내용을 보자.

(직접 화면을 보면서 아래의 내용을 읽어보자)

 

화면과  같이 1개의 Field가 1개의 Search Help의 1개의 Parameter와 Match되게 되는데 나머지는 화면상에 필터처럼 동작하게 된다.
여기서 주의해야 할것은 IMP의 설정된 Field값을 주의해야 한다.
이를 통해 역으로 앞에있는 조건을 필터링으로 걸경우 Search Help를 만들때 참고 자료가 된다.
(이 개념은 Search Help를 만들때 가장 중요한 개념이므로 꼭 이해할수 있도록 한다)
SELECT-OPTIONS : s_carrid FOR sflight-carrid.
SELECT-OPTIONS : s_connid FOR sflight-connid.