오늘은 오랜만에 ABAP 에 관련된 내용을 포스팅한다. 오늘은 DBCO를 이용한 MS-SQL Stored procedure 를 호출하는 방법이다. 이미 F1을 누르면 설명과 샘플이 나오나 F1 보다 검색을 사용하는 분들을 위해서 포스팅 하고자 한다. 그냥 SQL 을 써도 되지만 Stored Procedure 는 이미 SQL server에서 컴파일이 되어 있고 내용이 변경이 되면 ABAP에서 SQL 을 수정하지 않아도 SQL Server 에서만 변경하면되니 참으로 간단하다.
EXEC SQL 의 예제에 나온 예문이다. ( 오라클 )
PARAMETERS incprice TYPE sflight-price. EXEC SQL. CREATE OR REPLACE PROCEDURE increase_price (x IN NUMBER) IS BEGIN UPDATE sflight SET price = price + x WHERE mandt = '000'; END; ENDEXEC. EXEC SQL. EXECUTE PROCEDURE increase_price ( IN :incprice ) ENDEXEC.
EXEC SQL 의 예제에 나온 예문이다. ( infomix )
DATA scarr_carrid TYPE scarr-carrid. SELECT-OPTIONS s_carrid FOR scarr_carrid NO INTERVALS. DATA s_carrid_wa LIKE LINE OF s_carrid. DATA name TYPE c LENGTH 20. TRY. EXEC SQL. CREATE FUNCTION selfunc( input CHAR(3) ) RETURNING char(20); DEFINE output char(20); SELECT carrname INTO output FROM scarr WHERE mandt = '000' AND carrid = input; RETURN output; END FUNCTION; ENDEXEC. LOOP AT s_carrid INTO s_carrid_wa WHERE sign = 'I' AND option = 'EQ'. TRY. EXEC SQL. EXECUTE PROCEDURE selfunc( IN :s_carrid_wa-low, OUT :name ) ENDEXEC. WRITE: / s_carrid_wa-low, name. CATCH cx_sy_native_sql_error. MESSAGE `Error in procedure execution` TYPE 'I'. ENDTRY. ENDLOOP. EXEC SQL. DROP FUNCTION selfunc; ENDEXEC. CATCH cx_sy_native_sql_error. MESSAGE `Error in procedure handling` TYPE 'I'. ENDTRY.
ABAP 의 도움말이 잘 되어 있어서 검색 사이트에 안 물어보는건지 알 수가 없다. 모를 때는 F1을 먼저 눌러서 예제가 없는지 확인하고 검색을 하는 습관을 들여야겠다.
ABAP 도움말 Stored Procedure 위치
반응형
'SAP > ABAP' 카테고리의 다른 글
ABAP 메모리상의 프로그램 로컬 변수 Local Variable 접근하기 (0) | 2015.02.25 |
---|---|
ABAP 간단한 결과 내용을 ALV 팝업으로 출력하기 (0) | 2015.02.06 |
ABAP BDC 동일한 Work Order 수행시 오류 발생(IW32) (0) | 2015.02.05 |
ABAP Call Screen 100 실행 후 Write 구문 출력하기 (0) | 2015.01.26 |
ABAP 텍스트 박스 ( Input Box ) Dropdown List 만들기 (0) | 2015.01.20 |
ABAP 스크린 제목에 & 넣는 방법 (0) | 2014.12.16 |
ABAP Class ALV Checkbox 변경시 Data Changed Event 실행 (0) | 2014.12.15 |
ABAP Class ALV Cell 별 색상 넣기 (0) | 2014.12.10 |
ABAP 파일 업로드, 다운로드시 파일 선택 팝업 생성 (0) | 2014.11.18 |
ABAP Report 프로그램 실행시 Tcode 체크 (0) | 2014.11.17 |