CS Student’s SAP&Tech Journey✨

[SAP] Search Help 서치 헬프 본문

SAP/딕셔너리 Dictionary

[SAP] Search Help 서치 헬프

인포마틱 2025. 2. 24. 22:46

SAP 시스템에서 데이터를 입력할 때, 사용자가 특정 값을 쉽게 검색할 수 있도록 돕는 기능이 Search Help입니다. 예를 들어, 학번을 입력할 때 해당 학생의 이름도 함께 확인하고 싶다면 Search Help를 활용하면 됩니다. 이번 포스팅에서는 Search Help의 개념, 생성 방법, 그리고 실전 예제까지 살펴보겠습니다.

 


 

1. Search Help란?

사용자가 데이터를 입력할 때, 관련 데이터를 검색하고 선택할 수 있도록 도와주는 기능입니다. 예를 들어, 학번을 입력하는 필드에서 해당 학번을 가진 학생 목록을 검색하고, 선택하면 자동으로 입력되도록 할 수 있습니다.

Search Help는 독립적인 개체로 생성하여 테이블 필드나 데이터 엘리먼트에 연결할 수 있으며, 사용자가 보다 편리하게 데이터를 입력할 수 있도록 도와줍니다.

 

 

2. Search Help의 주요 구성 요소

1️⃣ IMPORT (입력값 기반 검색)

  • 사용자가 특정 값을 입력했을 때, 그 값과 관련된 데이터만 검색되도록 합니다.
  • 예를 들어, 사용자가 전공(MATH) 을 입력하면 수학과 학생들의 학번만 표시됩니다.

2️⃣ EXPORT (선택한 값 반환)

  • 팝업창에서 사용자가 특정 데이터를 선택하면, 해당 값이 메인 입력 필드에 반영됩니다.
  • 예를 들어, 학생의 이름을 선택하면 학번이 자동 입력되도록 설정할 수 있습니다.

3️⃣ SELECTION METHOD (데이터 조회 원본 지정)

  • 팝업창에서 표시할 데이터를 어디서 가져올지 지정합니다.
  • 보통 테이블이나 View(Database View, Help View 등)를 지정합니다.

4️⃣ DIALOG BEHAVIOR (필터 창 설정)

  • 너무 많은 데이터가 검색되는 것을 방지하기 위해, 검색 필터를 추가할 수 있습니다.
  • 예를 들어, 생일을 입력한 후 해당 생일의 학생만 표시되도록 설정할 수 있습니다.

 

 

3. Search Help 생성 방법

Search Help는 두 가지 방법으로 생성할 수 있습니다.

-  ABAP 코드로 생성하는 방법

ABAP 프로그램 내에서 직접 Search Help를 구현할 수도 있습니다. 하지만 일반적으로 ABAP Dictionary에서 생성하는 방식이 더 많이 사용됩니다.

-  ABAP Dictionary에서 생성하는 방법

SAP에서 제공하는 SE11 (ABAP Dictionary) 를 사용하면 Search Help를 쉽게 생성할 수 있습니다.

 

 

4. Search Help 생성 예제

이번 예제에서는 학생 정보 입력 시 학번을 쉽게 검색할 수 있도록 Search Help ZSH_STUDENT_07 을 생성해보겠습니다.

 

1️⃣ Search Help 생성 (SE11에서 진행)

  1. 트랜잭션 코드 SE11 실행
  2. Search Help 선택 후 ZSH_STUDENT_07 입력 - Elementary search help 선택
  3. Selection Method에서 학생 정보 테이블 ZSTDSTUDENT_07 선택
  4. 원하는 Parameters 설정:
    • STDNR (학번)
    • STDNM (이름)
    • STDBIRTH (생년월일)
  5. IMPORT/EXPORT 설정
    • 사용자가 생년월일을 입력하면(IMPORT), 해당 생년월일의 학생만 검색되도록 설정
    • 선택된 학번이 메인 필드에 자동 입력되도록 EXPORT 설정
  6. LPOS 설정
    • LPOS(팝업창에서 컬럼 순서)를 설정하여 검색 결과를 정렬할 수 있도록 구성
    • 생일 학번 이름 순으로 정렬하고 싶다면 1 2 3 으로 지정
  7. 저장 후 활성화 (Activate)
  8. 테스트 툴로 작동 확인

 

Change Search Help

 

Test (f8)

 

📌 Selection Method

  1. 테이블

  2. - Database, Projection, Help 뷰 가능, Mainternace 뷰는 불가능
    - Database View는 Inner Join만 지원
    - Help View는 오직 서치헬프에서만 사용가능, Outer Join만 지원

 

📌 Dialog Behavior 검색 필터 추가하기

너무 많은 데이터가 검색되는 것을 방지하기 위해, 검색 필터를 추가하는 기능입니다.

  • 필터 추가시, Dialog type을 Dialog with value restriction으로 설정
  • 예를들어 생일 이름 순으로 필터창을 만들고 싶다면 1 2 지정
  • SPOS(필터 창 순서)를 설정하여 검색 결과를 필터링할 수 있도록 구성

검색 필터가 추가된 서치 헬프

 

 

2️⃣ Search Help를 테이블 필드에 연결하기

  1. ZSTDSCORE_07 테이블에서 학번(STDNR) 필드 선택
  2. ZSH_STUDENT_07을 연결 후 저장
  3. 활성화 후 테이블에서 직접 테스트

 

✔️ ZSTDSCORE_07 테이블에서 학번(STDNR) 필드 선택

 

✔️ 서치 헬프 이름 입력

 

✔️ COPY

 

✔️ Input Help / Check 탭을 통해 학번에 서치헬프가 연결된 것을 확인할 수 있습니다.

 

 

 

 

5. Search Help 테스트 및 활용

이제 데이터를 입력할 때 F4 키를 누르면 Search Help 팝업이 나타나고, 선택한 값이 자동으로 입력됩니다.

예제: 사용자가 2000.01.18을 입력하면, 해당 생일을 가진 학생 목록이 나타나고, 원하는 학생을 선택하면 학번이 자동 입력됩니다.

 

 

6. SELECT-OPTIONS

Search Help를 활용하면 데이터를 쉽게 검색할 수 있지만, 범위 검색이 필요한 경우 SELECT-OPTIONS을 사용할 수도 있습니다.

PARAMETERS 변수명(pa_ ) TYPE 데이터 타입.
SELECT-OPTIONS 변수명(so_ ) TYPE FOR 변수.
  • PARAMETERS: Equal 검색을 지원합니다.
  • SELECT-OPTIONS: 범위 검색을 지원합니다.

 

🔷 예제

* 화면에서 과목을 입력받기 위한 변수
PARAMETERS pa_sub TYPE zstdscore_07-subject.

* 화면에서 학번에 대한 범위 검색을 추가
SELECT-OPTIONS so_id FOR gw_score-STDNR.


* 화면에서 입력한 과목의 모든 점수를 취득하고, 범위 검색도 적용하여 취득한다.
SELECT *
  FROM zstdscore_07
  INTO TABLE gt_score
  WHERE subject = pa_sub "PARAMETERS는 = 을 사용하고"
  AND STDNR IN so_id. "SELECT-OPTIONS는 IN을 사용한다."