-
[ABAP] 동적으로 쿼리문 할당하기 / 문자열에 ' 와 공백 삽입ABAP 2024. 7. 5. 17:41
사용자의 입력 값에 따라 WHERE절을 바꿔야 할 경우가 있다.
나같은 경우에는 사용의 입력값에 따라
UPDATE문의 SET조건을 바꿔주는 기능을 만들어야 했다.
멋지게 조건 만들어서 돌렸는데 자꾸 오류남.
문제를 파악해보니 뭔가 쿼리 문법이 이상한것 같았다.
디버깅 해보니
SET 조건문이 이렇게 들어간다.
문제는 2가지..
1. ' 부재
2. 공백 사라짐이었다.
그니까
BIRTH = '2000.03.03' EMAIL = 'TEST@naver.com'
이런식으로 들어가야 되는거지 ~~~~
차근차근 ' 부터 넣어보겠다
1. ' 넣기
abap은 문자열 자체를 ' ' 안에 넣기 때문에 문자열 자체에 ' 를 사용하려면 ` (벡딕) 을 사용해야 한다.
벡딕은 주로 키포트 자판 [tab] 위에 있다.
2. 공백 넣기
공백을 넣는 방법에는 여러가지가 있지만 나는 한 칸! 씩만 띄우면 되니까
concatenate에서 separated by space 문을 사용했다.
CONCATENATE LV_CLAUSE 'BIRTH =' LV_TEMP INTO LV_CLAUSE SEPARATED BY SPACE.
그럼 LV_CLAUSE와 'BIRTH = ' 그리고 LV_TEMP 사이에 자동으로 공백이 들어간다.
최종코드는 다음과 같다.
디버깅 해서 보면
쿼리가 잘 들어가는걸 볼 수 있다 ~.~
'ABAP' 카테고리의 다른 글
[ ABAP ] GOS를 활용해서 첨부파일 업로드 및 다운로드 하기 ( PDF, EXCEL... ) (0) 2024.11.21 [ABAP] 오브젝트 연결되지 않음 오류 (0) 2024.10.17 [ABAP] TIMESTAMP란? (2) 2024.07.02 [ABAP] 로그관리 및 이력관리 STRUCTURE 만들어서 사용하기 (0) 2024.07.02 [ABAP] 요일 찾는 날짜 FUNCTION (1) 2024.05.20