SELECT TSLVT TSL01 TSL02 TSL03 TSL04 TSL05 TSL06
TSL07 TSL08 TSL09 TSL10 TSL11 TSL12 RACCT
FROM ABC
INTO CORRESPONDING FIELDS OF TABLE ITAB_DATA
WHERE RYEAR = P_DATE(4)
AND RLDNR = '0L'
AND RRCTY = '0'
AND RBUSA = P_PORTG
OR ( ABC~RACCT BETWEEN '11110110' AND '11110990'
OR ABC~RACCT BETWEEN '11210110' AND '11210990'
OR ABC~RACCT BETWEEN '11220110' AND '11220990'
OR ABC~RACCT EQ '11290110'
OR ABC~RACCT BETWEEN '11230100' AND '11230990' ).
이 SQL이 잘못 됬나요? WHERE 조건절을 제외 하면 검색이 되서 인터널 테이블에 값이 들어 오는데
조건절을 한 줄만 삽입하면 데이터가 검색이 되지 않습니다. (ABC테이블에 RACCT는 .INCLUDE에 들
어 있습니다.)
그리고 검색된 값을 APPEND문을 써서 다른 인터널 테이블에 위와 같은 SQL을 여러게를 실행 시킨다
면 (FORM을 이용 하여 WHERE조건절을 많이 만들었습니다. )순차적으로 쌓이는지 혹은 REFRESH되서
처음 부터 쌓이는지 궁금 합니다.
댓글 9
-
용스
2009.11.02 11:07
-
MadMax
2009.11.02 17:36
table 에 structure 가 include 되어 있어도 실상은 해당 Field 선언과 동일 합니다.
그래서 abc~racct 는 걍~ racct 로 사용 하시면 될것 같습니다.
-
숟가락맨
2009.11.02 17:36
appending 하면 기존 데이터에서 추가로 쌓이고요...where 절에서 racct 필드가 혹시 알파컨버젼 인풋 값이 들어가야하는게 아닌지? 10 자리 수면 0011290110 << 이런식으로 앞에 0 이 들어가야 하는게 아닌지... -
MadMax
2009.11.02 17:38
into 절에 into corr~ 을 사용 하시면 기존 값을 무시(Clear) 하고 신규 값을 넣습니다. appending corr~ 을 사용 하면
기존값 뒤에 신규값을 추가 합니다. 참고하세요..
-
헐크호간
2009.11.02 21:36
conversin exit 있는지 확인해보세요...
숫자값만 있는것 보면..
왠지 앞에 0이 채워져 있을것 같은 느낌이 드네요..
계정번호 RACCT라면 10자리이니깐 앞에 0 채우세요..
-
요요
2009.11.02 22:09
숟가락맨님 강추.~~ 테이블의 데이터 조회시 상수조건을 줄 경우에는 input type 에 맞게 조건데이터를 주셔야 합니다.
그럼 위에 경우 왜 검색이 안되냐 하면 racct가 char10 자리 이기 때문에 '0011~' 과 '11~' 은 완전히 다른 조건이 되어
'11~' 로 검색되는 조건의 데이터가 없기 때문에 결과가 검색되지 않는 것 같습니다. 조건값을 input 유형에 맞게 바꾸시고
조회하시면 조회가 잘 될 것 같습니다.
-
엽이
2009.11.03 02:02
멉니까... 복잡합니다. -
마늘맛쿨피스
2009.11.03 03:01
감사 합니다. 덕분에 문제를 해결했습니다.^^
-
오대독자
2010.04.29 08:02
고수님들의 좋은 답글로 많이 배우고 있습니다. 항상 감사합니다.
ABC~RACCT 문장이 이상하군요
ABC테이블에 RACCT는 include 라하면 ~이 아닌 - 으로 테이블-필드명으로 조건절에 넣어야 하는게 아닌지
제 생각이고요 데이터가 없어서 확인 할 방법은 없지만,
ABC~RACCT 문장을 ABC-RACCT로 바꿔서 실행을 하는게 어떨지,...