한 FUNCTION 안에서
DB LINK 로 가져오는 DATA 를 FETCH 를 써서 담고
ABAP DB 에 SELECT 도 하는 부분을 하고 싶습니다.
FUNCTION 안에 들어가는 부분이라 FETCH 를 쓰려고요.
하단이 FUNCTION 내부인데 했는데 잘안되네요.
조언 부탁드립니다.
증상은 FETCH 가 적힌 라인에서 FUNCTION 을 빠져나가버리네요
CLEAR : T_31, T_ora, T_OUTPUT.
REFRESH : T_31, T_ora, T_OUTPUT.
DATA : DBCUR1 TYPE CURSOR.
EXEC SQL.
OPEN CURSOR DBCUR1 FOR
SELECT NVL(TRIM(D_NO),' ') D_NO,
NVL(TRIM(TO_CHAR(D_SER, '000')),' ') D_SER
FROM oraDB@set_ora_db
WHERE ID = :p_ID
ENDEXEC.
DO.
EXEC SQL.
FETCH NEXT CURSOR DBCUR1 INTO :T_ora-D_NO,
:T_ora-D_SER
ENDEXEC.
APPEND T_ora.
ENDDO.
EXEC SQL.
CLOSE DBCUR1.
ENDEXEC.
SELECT * INTO TABLE T_SAP31
FROM SAPDB31
WHERE CHG_MODE <> 'D'
AND ID <> '0000'
AND ID = I_ID.
~~~
댓글 3
-
SAYA
2009.03.30 21:14
-
정군
2009.03.30 22:28
DATA: F1(3), F2(3), F3(3).
F3 = ' 1 '.
EXEC SQL PERFORMING WRITE_AVERI_CLNT.
SELECT CLIENT, ARG1 INTO :F1, :F2 FROM AVERI_CLNT
WHERE ARG2 = :F3
ENDEXEC.
FORM WRITE_AVERI_CLNT.
WRITE: / F1, F2.
ENDFORM.
위의 것도 참조하세요.
-
Will
2009.06.23 21:08
좋은정보 감사합니다 ^^
OPEN CURSOR DBCUR1 FOR
==> OPEN DBCUR1 FOR ~
FETCH NEXT CURSOR DBCUR1 INTO
==> FETCH NEXT DBCUR1 INTO ~