select cityfrom from spfli
into wa
where (itab).
맨아래부분에 있는 WHERE( )에서 인터널 테이블을 줄경우 어떤 효과가 생기나요??
댓글 4
-
지의
2007.11.27 00:32
-
노름마치
2007.11.27 01:26
* 샘플요~
TABLES : makt.
DATA : BEGIN OF itab OCCURS 0,
matnr TYPE matnr,
maktx TYPE maktx,
END OF itab.
DATA g_where_cause(30).
RANGES r_matnr FOR makt-matnr.
PARAMETER p_matnr TYPE matnr.
START-OF-SELECTION.
IF NOT p_matnr IS INITIAL.
r_matnr-sign = 'I'.
r_matnr-option = 'EQ'.
r_matnr-low = p_matnr.
APPEND r_matnr.
ENDIF.
g_where_cause = 'MATNR IN R_MATNR'.
SELECT * FROM makt
INTO CORRESPONDING FIELDS OF TABLE itab
WHERE (g_where_cause)
AND spras = sy-langu. -
hongman
2007.11.27 01:50
아래 예제와 같이 itab의 하나의 라인라인이 where 구문절이 될 수 있습니다.
SELECTION-SCREEN BEGIN OF BLOCK b1.
PARAMETERS : pa_werks TYPE mard-werks OBLIGATORY,
pa_lgort TYPE mard-lgort.
SELECTION-SCREEN END OF BLOCK b1.
DATA : BEGIN OF itab OCCURS 0,
where(72),
END OF itab,
lt_mard TYPE TABLE OF mard.
itab-where = 'werks EQ pa_werks'.
APPEND itab.
IF pa_lgort IS NOT INITIAL.
itab-where = 'AND lgort EQ pa_lgort'.
APPEND itab.
ENDIF.
BREAK-POINT.
SELECT *
FROM mard
INTO CORRESPONDING FIELDS OF TABLE lt_mard
WHERE (itab).
WRITE :/ sy-dbcnt.
-
order001
2007.12.03 20:34
답변감사드립니다.
동적으로 조건절을 생성 할 수 있습니다.
즉 쿼리는 하나인데 조건절을 동적으로 하고 싶을 때 하는 방법입니다.