Drunken Lion

동적 쿼리 본문

SAP/ABAP

동적 쿼리

DrkLion 2008. 2. 1. 16:18
쿼리를 동적으로 처리해야 하는 경우 활용 가능..
쿼리 자체를 여러번 쓸수도 있겠지만..
소스가 지저분해져서 고급스럽지 않으니...

선택해오는 필드도 가능하고, source table 도 가능하고,
where 절도 동적으로 처리 가능하다.

REPORT YTEST_KTH6 .
PARAMETERS: CARR_ID LIKE SPFLI-CARRID,
            CONN_ID LIKE SPFLI-CONNID.
DATA: FTAB(256) OCCURS 0 WITH HEADER LINE,
      WTAB(72)  OCCURS 100 WITH HEADER LINE,
      AND(4),
      WA_SPFLI TYPE SPFLI.
REFRESH :  FTAB, WTAB.

FTAB = 'CARRID CONNID'.
APPEND FTAB.
IF NOT CARR_ID IS INITIAL.
  FTAB = 'CITYFROM CITYTO'.
  APPEND FTAB.
  CONCATENATE 'CARRID = ''' CARR_ID '''' INTO WTAB.
  APPEND WTAB.
  AND = 'AND'.
ENDIF.
IF NOT CONN_ID IS INITIAL.
  FTAB = 'DEPTIME ARRTIME'.
  APPEND FTAB.
  CONCATENATE AND ' CONNID = ''' CONN_ID '''' INTO WTAB.
  APPEND WTAB.
ENDIF.

SELECT (FTAB)
  FROM SPFLI
  INTO CORRESPONDING FIELDS OF WA_SPFLI
 WHERE (WTAB).
  WRITE: / WA_SPFLI-CARRID,
          WA_SPFLI-CONNID,
          WA_SPFLI-CITYFROM,
          WA_SPFLI-CITYTO,
          WA_SPFLI-DEPTIME.
ENDSELECT.

'SAP > ABAP' 카테고리의 다른 글

유용한 SAP Standard Function 3 (날짜관련)  (0) 2008.02.29
SAP 시스템 변수 정리  (0) 2008.02.05
String Statement  (0) 2008.01.25
RECEIVE  (0) 2007.12.27
SAP GUI Download 방법  (3) 2007.12.21