본문 바로가기

ABAP

[ABAP] SELECT WHERE 조건 CASE문 사용

  SELECT SINGLE VKORG,
                VBELN_VR,
                ERNAM,
                ERDAT,
                ERZET
    FROM ZTEST
   WHERE VKORG    EQ @LS_TMP-VKORG
     AND CASE WHEN @GS_DATA-TYPE EQ @GC_C THEN @LS_TMP-VGBEL
                                          ELSE @LS_TMP-VBELN
                                          END EQ ZTLEZ0100~VBELN_VR
     AND POSNR EQ '000000'               
     AND TYPE EQ @GS_DATA-TYPE
    INTO @DATA(LS_DATA).
    

GS_DATA-TYPE이 'C'이면 LS_TMP-VGBEL 가져오고 아니면 LS_TMP-VBELN 가져와서 조건 걸어주기
END EQ ZTEST~VBELN_VR 여기 부분에서 조인 없이 테이블 하나만 있더라도 ~ 안해주면 VBELN_VR 모른다고 에러남
CASE 문 안에 변수 사용하는거면 꼭 @ 붙여줘야함
반응형