오라클 PL/SQL로 STORED PROCEDURE(PACKAGE)를 SELECT 결과를 PARAMETER "OUT REF CURSOR" 타입으로 만든것을 ABAP에서 실행하는 방법은 없는지요?
delphi, asp.net, vb.net, c#.net 등에서는 DataSet 타입으로 받았는데( 1개이상이면 배열이됨), Abap에서 구현하는 방법을 도움받고자 합니다.
(Example - Package Procedure)
CREATE OR REPLACE PACKAGE PK_OPENCURSOR
AS
TYPE T_CURSOR IS REF CURSOR;
PROCEDURE SP_OPENCURSOR ( O_CURSOR OUT T_CURSOR );
END PK_OPENCURSOR;
CREATE OR REPLACE PACKAGE BODY PK_OPENCURSOR
AS
PROCEDURE SP_OPENCURSOR ( O_CURSOR OUT T_CURSOR )
AS
BEGIN
OPEN O_CURSOR
FOR SELECT EMPID, EMPNAME FROM EMPLOYEE;
END SP_OPENCURSOR;
END PK_OPENCURSOR;
ABAP에서는 오라클의 PL/SQL의 스토어드 프로시저와 같은 기능을 하는 것이 인터널테이블 입니다.
OPEN SQL에서 select into 구문을 이용하여 인터널테이블에 자료를 넣고(오라클의 temp table을 사용하는것과 같음) 자료를 처리한후
다시 db에 저장하시면 됩니다.
그리고 abap에서는 Native sql은 될수 있으면 사용 안하시는게 좋을 듯합니다. open sql의 사용을 권장 합니다.
즐밥하세요.