data: where_syntax type table of string.
IF s_userc1 IS NOT INITIAL AND s_aufnr IS INITIAL AND s_matnr IS INITIAL.
append 'e~plnnr = iqals-plnnr ' to where_syntax.
append 'AND d~werks EQ '1000' ' to where_syntax.
append 'AND e~plnty EQ 'Q' ' to where_syntax.
append 'AND e~plnkn EQ i_qamv01-plnkn ' to where_syntax.
append 'AND g~hogi IN s_userc1 ' to where_syntax.
SELECT ~
WHERE (where_syntax).
where_syntax 를 쓸 경우 위와 같이 처리하면
"1000' '"is not expected.라는 오류가 뜹니다.
'AND d~werks EQ '1000'와 같이 처리할 수 없는건가요?
댓글 5
-
kkamui
2008.05.09 20:21
-
풍뎅이
2008.05.10 01:09
where_syntax에서 datatype C, N, D, T, or string오류가 뜹니다..
data: where_syntax type table of string,
lv_txt type table of string.
CONCATENATE 'AND d~werks EQ ' '' '1000' '' INTO lv_txt.
append lv_txt to where_syntax.
로 주면 lv_txt.에서 datatype C, N, D, T, or string오류가 뜨구요..
-
풍뎅이
2008.05.10 01:16
그리고 select ~
inner join plpo as e on ( d~plnnr = e~plnnr and e~plnty = 'Q' )
and d~plnty = e~plnty
~
where d~matnr in s_matnr
and e~plnnr = iqals-plnnr
and d~werks = '1000'
and e~plnty = 'Q' => 가)
and e~plnkn = i_qamv01-plnkn
and g~hogi in s_userc1.
에서
가)부분을
append 'AND e~plnty EQ 'Q' ' to where_syntax.
로 처리하였는데 'Q' is not expected라고 뜹니다.. 고수님들의 답변 주시면 감사드리겠습니다.
-
풍뎅이
2008.05.10 01:31
그리구 현재 이쿼리의 모듈은 qm입니다
where d~matnr in s_matnr
and e~plnnr = iqals-plnnr
and d~werks = '1000' =>나)
and e~plnty = 'Q' => 가)
and e~plnkn = i_qamv01-plnkn
and g~hogi in s_userc1.
나)부분의 조건을 주지 않아도 데이터에는 문제는 없는것 같은데 빼도 괜찮을까요.. -
풍뎅이
2008.05.10 20:59
kkamui님 답변 주셔서 감사드립니다.
'1000' 이 '' 안에 들어있어서 그래요.
코드를 읽을때 'AND d~werks EQ ' 와 1000 그리구 ' ' 이렇게 3개로 인식합니다.
CONCATENATE 써주세요.
CONCATENATE 'AND d~werks EQ ''' '1000''' INTO WHERE_SYNTAX
' (어퍼스트로피)는 ' ' 이거 안에서 는 2개가 어퍼스 트로피 하나로 인식을 합니다.