[ABAP] Dropdown ListBox

SAPWISE·2024년 1월 29일

스크린의 Input/Output 필드에 List Box를 추가하는 방법은 다음과 같이 세 가지가 있다.

1. ABAP Dictionary를 이용한 List Box 생성
2. POV 이벤트에서 Input help를 이용한 List Box 생성
3. PBO 이벤트에서 함수를 이용한 List Box 생성(추천하지 않음)

1. ABAP Dictionary를 이용한 List Box 생성

Table Field에 할당하고,스크린 필드는 Table Field의 속성을 상속받아 Input Help로 구 
성한다. 그리고 스크린 페인터에서 Dropdown 속성을 설정하면 List Box가 생성
→ _Search Help가 만들어져 있는 필드가 아니라면, Search Help를 따로 만들어줘야 하므로 번거로움_

2. POV 이벤트에서 Input help를 이용한 List Box 생성

POV(PROCESS ON VALUE-REQUEST) 이벤트에서 Dialog 모듈을 호출하여 Input Help로 구성할 수 있다. 
그리고 이와 같이 구성된 input Help는 스크린 필드에 Dropdown 속성이 설정되면,List Box 형태로 조회된다.
Dropdown ListBox는 key, value 최대 2개 필드로 구성되므로, 
Input Help 또한 2개 이하의 필드로 만들어야한다.
PROCESS BEFORE OUTPUT. 
	MODULE status_0100.
    
PROCESS AFTER INPUT.
	MODULE user_command_0100.
    
PROCESS ON VALUE-REQUEST.
	FIELD zemp-emp_no MODULE create_dropdown_box.
MODULE create_dropdown_box INPUT.
	TYPES: BEGIN OF t_zemp,
		emp_no TYPE zemp-emp_no,
		emp_name TYPE zemp-emp_name,
	END OF t_zemp.
	DATA : gt_itab TYPE TABLE OF t_zemp.
    
	SELECT emp_no emp_name
		FROM zemp
		INTO CORRESPONDING FIELDS OF TABLE gt_itab.
        
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
	EXPORTING
		retf eld = 'EMP_NO'
		value_org = ’S'
	TABLES
		value_tab = gt_itab
	EXCEPTIONS
		parameter_error = 1
		no_values_found = 2
		OTHERS = 3.
ENDMODULE. " CREATE_DROPDOWN_BOX INPUT
profile
SAP, ERP, ABAP

0개의 댓글