본문 바로가기

ABAP 프로그래밍 개념/ABAP Data Dictioanry

6. Search Help

Search Help은 화면 필드에 대한 입력 도움말(input help)을 제공합니다. Search Help은 화면 필드(screen field), Data Element 또는 Table Field에 할당될 수 있습니다. 입력 도움말(input help)은 SAP 시스템의 기본 기능(standard function)입니다. 애플리케이션을 개발할 때 사용자에게 일관된 UI 경험을 제공하기 위해 화면에 입력 도움말(input help)을 관리해야 합니다.

입력 도움말(input help)을 사용하려면 사용자는 키보드에서 (F4)를 누르거나 화면 필드(screen field)의 "입력 도움말" 버튼을 클릭할 수 있습니다. 입력 도움말(input help)이 호출되면 필드에 대한 가능한 항목이 여러 행으로 표시되며, 사용자는 가장 적합한 행을 더블 클릭하여 값을 입력 필드(Input Field)로 복사할 수 있습니다.

입력 도움말(input help)은 사용자가 적합한 값을 검색할 수 있도록 다양한 검색 경로와 제한을 제공합니다. 예를 들어, 사용자가 플랜트 번호를 입력해야 하지만 플랜트의 이름만 알고 있는 경우, 입력 도움말을 사용하여 플랜트 이름을 기반으로 플랜 번호를 검색할 수 있습니다.

다중 검색 경로(Multiple search paths)는 입력 도움말(input help)에서 탭으로 표시됩니다. 예를 들어, 1번은 단일 검색 경로(single search path, 단일 탭)과 2번은 다중 검색 경로(Multiple search paths, 다중 탭)를 가진 Search Help을 보여줍니다. 

아래 그은 사용자에게 표시되는 검색 도움말 제한(search help restriction)을 보여줍니다. 사용자는 이를 통해 값을 검색할 수 있습니다.

ABAP Data Dictionary을 통해서 두 종류의 Search Help를 만들 수 있습니다.

■ Elementary search help
Elementary search help은 입력 도움말(input help)에 대해 단일 검색 경로(single search path를 제공합니다. 두 개 이상의 Elementary search help을 사용하여 집합적인 검색 도움말을 생성할 수 있습니다.

Collective search help
Collective search help은 입력 도움말에 대해 다중 검색 경로(Multiple search paths)를 제공합니다.


Elementary search help


Elementary search help 은 Single Table 또는 projection view를 사용하여 만들 수 있습니다. 다음과 같은 경우 두 개 이상의 테이블에서 search help 필드가 필요한 경우 database view 또는 help view를 정의하고 이를 search help의 선택 방법으로 사용할 수 있습니다.

다음 단계는 기본 검색 도움말을 만드는 과정을 안내합니다.


1. ABAP Data Dictionary: 초기 화면에서 Search help 라디오 버튼을 선택하고 다음을 입력합니다. 고객 네임스페이스에 Search help 이름(Z 또는 Y로 시작)을 입력한 다음 "만들기" 버튼을 클릭합니다.


2. 대화 창이 나타나면 Elementary search help을 선택하고 녹색 확인 표시를 클릭합니다.

 

후에는 Dicitonay : Change Search Help 화면으로 넘어가고 하기와 같이 뜹니다.

3. 아래와 같은 옵션을 관리할 수 있습니다.

- Short description: 의미 있는 짧은 설명을 입력합니다. 이 설명은 Search Help을 검색하는 데 사용할 수 있습니다.
- Selection method: Data Collection 영역에서 데이터 선택에 사용할 테이블 또는 뷰 이름(maintenance view 제외)을 입력합니다.
- Text table: 선택 테이블(selection table)에 텍스트 테이블이 첨부되어 있으면 자동으로 Data Collection 영역의 텍스트 테이블 필드에 자동으로 채워집니다.
- Dialog type: 이 설정은 search help dialog box가 표시되는 방식에 영향을 줍니다. 드롭다운 메뉴에서드롭다운 메뉴에서 다음 옵션 중 하나를 선택합니다:
 ● Immediate value display: 입력 도움말(input help)이 호출되면 hit list가 즉시 나타납니다. hit list가 작고 일반적으로 몇 개의 몇 개의 레코드만 포함하는 경우 이 옵션을 선택합니다.
● Dialog with value restriction: 입력 도움말(input help)이 호출되면 사용자가 값을 제한할 수 있는 값을 제한한 dialog box가 표시되며, 이를 통해 사용자는 hit list를 제한할 수 있습니다. 일반적으로 possible entries가 매우 큰 경우 이 옵션을 선택합니다. hit list를 제한하면 시스템 성능과 사용자의 명확성이 향상됩니다.
●Dialog depends on value set: 이 설정을 사용하면 hit list를 즉시 표시할지 아니면 제한 대화 상자를 표시할지 여부를 동적으로 결정할 수 있습니다. 허용 목록에 100개 미만의 항목이 포함되어 있으면 즉시 표시되고, 허용 목록에 100개 이상의 항목이 포함되어 있으면 값을 제한하는 대화 상자가 표시됩니다.

- Hot key: elementary search help이 collective search help에서 사용되는 경우 단축키를 사용하여 elementary search help을 선택할 수 있습니다. 2자리의 숫자&문자 값을 입력할 수 있습니다.
- Enhanced Options: 다음은 SAP GUI 7.40 이상에서 작동하는 추가 향상된 옵션입니다.
● Proposal Search for Input Fields: 이 옵션을 선택하면 사용자가 입력을 시작할 때 필드 아래에 search help 값을 사용자가 입력을 시작할 때 필드 아래에 자동으로 표시합니다. 이 옵션은 (F4)를 통해 search help을 수동으로 호출할 필요가 없습니다.
● Full Text Fuzzy Search (Database-Specific) : 이 옵션을 선택하면 시스템에서 여러 열에 걸쳐 검색을 수행하여 사용자가 다른 열의 값을 기반으로 입력 값을 식별할 수 있습니다. 예를 들어 사용자가 고객 번호를 모르는 경우 이름 또는 주소 열의 데이터는 입력할 고객을 식별하는 데 도움이 될 수 있습니다.
● Accuracy Value for Error-Tolerant Full Text Search : 이를 통해 Accuracy Value을 제공할 수 있습니다.
검색을 수행할 때 값이 정확히 일치해야 하는지 또는 맞춤법 오류를 해결하기 위해 Accuracy Value을 제공할 수 있습니다.

-Search help exit: Search help exit를 사용하여 Standard search help 을 향상시킬 수 있습니다. 이에 대해서는 자세히 다루겠습니다.
- Parameter: 이 옵션을 사용하면 search help에 표시되는 필드를 유지 관리할 수 있습니다. 다음 열은 파라미터 테이블에 있습니다.

● Search help parameter: search help에 표시되어야 하는 선택 테이블의 필드를 입력합니다.
●IMP:  Importing Parameter로서 Parameter를 설정하기 위한 플래그입니다. 이 매개변수의 값은 화면 필드에서 Search help을 가져오기 위해 사용됩니다.
●EXP: Exporting Parameter로 설정하기 위한 플래그입니다. 이 매개 변수의 값은 화면 필드로 내보냅니다.
●LPos: Hit List에서 필드의 위치를 설정합니다. 예를 들어 값 3으로 설정하면 필드가 세 번째 열로 표시됩니다. 값이 없거나 0으로 유지되면 이 필드는 숨겨집니다.
●SPos: 제한 대화 상자(restrictions dialog)에서 필드의 위치를 설정합니다. 예를 들어 상기 예시 중 하나에서는 Material 필드의 SPos 값이 3이므로 Material 필드가 3이므로 표시됩니다. 값이 없거나 0으로 유지되면 이 필드는 숨겨집니다.
●SDis: Parameter를 Display-Only 필드로 설정하는 플래그입니다. Parameter의 값은 히트 목록을 제한하며 사용자는 값을 변경할 수 없습니다. 상수 값을 이 매개변수에 할당할 수 있습니다.
●Data element: 선택 테이블의 필드에 사용되는 Data element는 입력한 필드 이름에 따라 자동으로 채워집니다. 이 검색 도움말이 할당되는 화면 필드는 이 데이터에 대해 유지 관리되는 문서를 (F1) 도움말로 사용합니다.
●Modified: 자동 채워진 데이터 요소 이름을 변경하려는 경우,이 플래그를 선택하여 데이터 요소 필드를 입력할 수 있도록 설정합니다.
● Default value : Parameter에 사용해야 하는 기본값을 유지합니다.


필요한 모든 Parameter가 작성되면 search help을 활성화합니다. 도구 모음에서 실행 버튼을 실행 버튼을 사용하여 검색 도움말을 직접 실행하여 테스트할 수 있습니다.


Collective search help


두 개 이상의 search help을 사용하여 Collective search help을 만들 수 있습니다. Collective search help은 각 Elementary search help이 탭으로 표시되어 사용자에게 여러 검색 경로를 제공합니다.

Elementary search help과 마찬가지로 Collective search help에는 화면 필드에서 값을 가져오거나 화면 필드로 값을 내보낼 수 있는 인터페이스가 있습니다. Collective search help을 만들 때 Elementary search help의 모든 필드를 포함하거나 Elementary search help의 선택적 필드만 포함할 수 있습니다.

다음 단계에서는 Collective search help을 생성하는 방법에 대해 설명합니다. 이 예제에서는 두 개의 Elementary search help인 ZSH_ELEMENT와 ZSH_ELEMENT1을 사용합니다. 기본 검색 도움말 ZSH_ELEMENT는 선택 방법으로 테이블 MARA를 사용하며, Parameter로 MATNR과 MAKTX를 사용합니다. 기본 검색 도움말 ZSH_ELEMENT1은 선택 방법으로 테이블 MARC를 사용하며, Parameter로 MATNR과 WERKS를 사용합니다.

Collective search help을 만들려면 다음 단계를 따르세요:


1. ABAP Data Dictionary: 초기 화면에서 Search help 라디오 버튼을 선택하고 Search help 이름을 입력한 다음 생성을 클릭합니다.


2. 대화 창이 나타나면 Collective search help을 선택하고 녹색 확인 표시를 클릭합니다.


3.  Dictionary: Change Search Help에서 Search help Parameter와 해당 data element를 입력합니다. 매개변수에 대한 Imp 및 Exp 플래그를 설정합니다. 원하는 경우 각 매개변수에 대해 기본값을 설정할 수 있습니다.


4. Include search helps을 클릭하고 Collective search help에 포함되어야 하는 Search Help을 포함시킵니다.
Elementary search help과 Collective search help을 모두 포함할 수 있습니다.

5. search help 이름 위에 커서를 두고 Param. assignment(매개변수지정) 버튼을 클릭하세요. 그러면 parameter assignment dialog box가 나타납니다(아래 그림 참조). 시스템이 할당을 제안하도록 하려면 예를 클릭하고, 다음 화면에서 복사를 클릭하세요. 나열된 모든 search help에 대해 이 프로세스를 반복하세요.

6.나열된 각 search help에 대해, 검색 도움말을 숨기려면 Hidden 플래그를 설정할 수 있습니다. 이는 특정 시스템에서 특정 검색 경로를 숨기고자 할 때 유용합니다.

7. search help을 활성화하기 위해 실행 버튼을 클릭하여 테스트하세요.

 


Assigning a Search Help


search help 은 화면 필드에 직접 할당되거나 Data Element에 유지된 후 해당 필드가 해당 Data Element를 참조할 때 사용될 수 있습니다. Search Help을 선택 화면 필드에 할당하려면, MATCHCODE OBJECT를 사용하십시오.

PARAMETERS p_matnr TYPE matnr MATCHCODE OBJECT ZSH_COLLECT.

일반 화면의 화면 필드의 경우, 검색 도움말은 화면 페인터의 Field Attribute에서 할당할 수 있습니다. 

Search Help은 아래 그림에 표시된대로 "추가 특성" 탭 아래의 데이터 요소에 할당할 수 있습니다. 이름 필드에 Search Help 이름을 입력하고, Parameter 필드의 (F4) 도움말을 사용하여 이 필드에 전달되어야 하는 Search Help의 Parameter를 선택하세요. 이 Data Element를 참조하는 화면 필드는 화면 필드 속성 값에 의해 재정의되지 않는 한 자동으로 Data Element을 상속받게 됩니다.


Search Help Exit


Search Help Exit은 Search Help의 기본 기능을 향상시키고 Search Help 기능을 동적으로 조작할 수 있도록합니다. 예를 들어, 열 너비를 조정하거나 두 개의 열 값을 결합할 수 있습니다. Search Help Exit는 미리 정의된 인터페이스를 갖는 함수 모듈로 구현됩니다. F4IF_SHLP_EXIT_EXAMPLE 데모 함수 모듈을 참고하여 Search Help Exit를 위한 own function
module 모듈을 생성할 수 있습니다.

Search Help Exit은 아래 나열된 대로 help processor에 의해 여러 이벤트에 따라 호출됩니다:
● 필요한 검색 경로를 선택하기 위한 대화 상자를 표시하기 전(Collective search help만 해당).
● 기본 검색 도움말(elementary search help)에 대한 (F4) 프로세스를 시작하기 전에.
● 검색 조건을 입력하는 대화 상자를 표시하기 전에.
● 데이터를 선택하기 전
● Hit List을 표시하기 전에
● 사용자가 선택한 값을 입력 템플릿으로 반환하기 전.

이러한 단계는 Function Module의 Parameter인  CALLCONTROL-STEP에 전달됩니다(F4IF_SHLP_EXIT_EXAMPLE 참조). 이 필드는 각 단계에 대해 적합한 논리를 구현할 수 있는 IF 조건을 통해 확인됩니다.

반응형

'ABAP 프로그래밍 개념 > ABAP Data Dictioanry' 카테고리의 다른 글

7. Lock Objects  (0) 2023.06.05
5. Domain  (0) 2023.06.01
4. Type Group  (0) 2023.06.01
3.3 Table Types  (0) 2023.06.01
3.2 Structure  (0) 2023.05.31