본문 바로가기
ABAP

Parameter List box

by clode 2023. 2. 24.
728x90
반응형

이때 공백은 해당 파라미터가 필수값이 아니라서 생기는 것이다. 필수값으로 설정하면 공백은 사라진다.

데이터가 공백, 대소문자 구분없이 중구난방이라 리스트박스로 Y,N 값만 만들어준 후에 선택한 값을 포함하는 모든 값을 불러왔다.

AT SELECTION-SCREEN

TYPE-POOLS: VRM. 
RANGES: GR_ZZREG FOR ZTMM0340-ZZREGR. 

AT SELECTION-SCREEN OUTPUT.                
 PERFORM LISTBOX_ZZREG.                

 AT SELECTION-SCREEN.                
  PERFORM F4_ZZREG USING P_ZZREG.

리스트 박스 생성하기

FORM LISTBOX_ZZREG .
  DATA: NAME  TYPE VRM_ID,
        LIST  TYPE VRM_VALUES,
        VALUE LIKE LINE OF LIST.

  CLEAR: VALUE, LIST.

  NAME = 'P_ZZREG'.

  VALUE-KEY = 'Y'.
  VALUE-TEXT = 'Y'.
  APPEND VALUE TO LIST.

  VALUE-KEY = 'N'.
  VALUE-TEXT = 'N'.
  APPEND VALUE TO LIST.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = NAME
      VALUES = LIST.

ENDFORM.

레인지 변수에 값 담아주기

FORM F4_ZZREG  USING    PV_ZZREG.

  REFRESH : GR_ZZREG.
  IF PV_ZZREG IS NOT INITIAL.
    GR_ZZREG = VALUE #( SIGN = 'I' OPTION = 'CP'  LOW = |*{ PV_ZZREG }*| ).
    APPEND GR_ZZREG. CLEAR GR_ZZREG.
  ENDIF.

ENDFORM.

SIGN = 'I' OPTION = 'CP' LOW = |*{ PV_ZZREG }*|
해당 파라미터 값을 포함하는 모든 데이터를 불러온다.

데이터 셀렉트

  SELECT ~~~                
    FROM ~~~                
     WHERE UPPER( ZZREGR )   IN @GR_ZZREG  "재입고대상                            
   INTO CORRESPONDING FIELDS OF TABLE @GT_DATA.                

이후 셀렉트할때 데이터를 대문자로 변환해서 가져오면 된다.

WHERE UPPER( ZZREGR ) IN @GR_ZZREG
이렇게 SELECT 조건절에서 바로 대소문자 변환후 데이터를 가져올 수 있다.

728x90
반응형

'ABAP' 카테고리의 다른 글

ALV Standard Add/Delete row Button  (0) 2023.02.24
View Event  (0) 2023.02.24
SELECTION SCREEN Search Help F4  (0) 2023.02.24
SELECTION SCREEN 라디오 버튼으로 파라미터 제어하기  (0) 2023.02.24
Dynamic table test  (2) 2023.02.24

댓글