운영자님의 도움으로 이제 많은 발전이 있었습니다.
처음보는 NATIVE SQL때문에 고생이 이만저만 아니네요. 이기회에 많이 배운것 같아 흐뭇하기도 합니다.
그리고 마지막 에러사항입니다. 이걸 부탁드립니다...
아래의 A.ERDAT 컬럼에 BETWEEN을 사용해서 날짜값을 넣어 검색하는 조건식입니다.
아래의 방식대로 하나씩 다 해보았지만 문자에러가 발생됩니다. ( 3가지 모두 에러가 발생되네요 )
ERDAT는 날짜와 시간까지 존재하는 날짜타입이구요..
SAP에서 넘어가는 STARTDAY, ENDDAY는 SY-DATUM 형식입니다
이걸 적용시켜서 극볼할 방안을 알려주십시오.
그리고 운영자님 저때문에 고생 많으셨습니다...^^
EXEC SQL PERFORMING loop_output.
SELECT
E.VBELN,
E.POSNR,
E.ERDAT
INTO :IT_DISPLAY-VBELN,
:IT_DISPLAY-POSNR,
:IT_DISPLAY-ERDAT
FROM
cx_ord_in_mod@crmuat A,
S_ORDER@CRMUAT B,
S_ORDER_ITEM@CRMUAT C,
S_ORDER_ITEM_X@crmUAT D,
sapr3.vbap E
where
E.mandt = '200'
AND e.vbeln = lpad(b.order_num, 10, 0)
AND e.posnr = lpad(c.ln_num * 10, 6, 0)
AND B.ORDER_NUM = A.X_ORDER_NUM
AND C.ORDER_ID = B.ROW_ID
AND D.ROW_ID = C.ROW_ID
AND A.x_work_flag = 'E'
* AND A.CREATED BETWEEN
* TO_DATE(:STARTDAY '000000','YYYYMMDD HH24MISS')
* AND TO_DATE(:ENDDAY '240000','YYYYMMDD HH24MISS')
* AND A.CREATED BETWEEN :STARTDAY AND :ENDDAY
* AND A.CREATED BETWEEN TO_DATE(:STARTDAY, 'YYYYMMDD') -9/24
* AND TO_DATE(:ENDDAY, 'YYYYMMDD' ) -9/24 + .999999
AND decode(c.status_cd, '44', 'Z1') <> e.abgru
ENDEXEC.
|| 를 사용하여 연결해야 합니다. 이렇게 한번 해보심이...
AND A.CREATED BETWEEN
TO_DATE(:STARTDAY || '000000','YYYYMMDD HH24MISS')
AND TO_DATE(:ENDDAY || '240000','YYYYMMDD HH24MISS')