DATA: xref TYPE REF TO cx_sy_dynamic_osql_semantics.
DATA: izmmt001 LIKE zmmt001 OCCURS 0 WITH HEADER LINE.
TRY.
SELECT * FROM zmmt001 UP TO 100 ROWS BYPASSING BUFFER
APPENDING CORRESPONDING FIELDS OF TABLE izmmt001.
CATCH cx_sy_dynamic_osql_semantics INTO xref.
IF xref->kernel_errid = 'SAPSQL_ESCAPE_WITH_POOLTABLE'.
MESSAGE i412(mo).
EXIT.
ELSE.
RAISE EXCEPTION xref.
ENDIF.
ENDTRY.
try 구문을 사용하면 exception 발생시 설정된 catch문을 실행합니다. 일반 select문만 코딩한 경우, SQL에러가 나면 덤프가 나겠지요.
DB 변동할때, try문을 사용해주면 덤프가 발생하는 것을 방지해주니깐, 많이 사용합니다.
catch문에 사용되는 exception 데이터 오브젝트들은 cx_root 아래에 모두 있습니다.