당장은 필요하지 않지만 언젠가는 하지않를까 해서 말해주는 이야기
듣고 너무 어려우면 ...
HANA DB 전환을 위한 첫걸음
Nattive Sql로 만들고 ALV로 띄우기 위한 방법이다.
REPORT zr5a12603.
" go_con ( con = connection)
" 1. DB CONNECTION.
DATA go_con TYPE REF TO cl_sql_connection.
go_con = cl_sql_connection=>get_connection( ).
" 2. SQL
DATA go_sql TYPE REF TO cl_sql_statement.
DATA gv_sql TYPE string.
gv_sql = 'SELECT carrid, carrname from scarr'.
CREATE OBJECT go_sql EXPORTING con_ref = go_con.
" 3. SQL Result.
DATA go_result TYPE REF TO cl_sql_result_set.
go_result = go_sql->execute_query( gv_sql ).
"4. ABAP Data Save.
DATA: BEGIN OF gs_data,
carrid TYPE scarr-carrid,
carrname TYPE scarr-carrname,
END OF gs_data,
gt_data LIKE TABLE OF gs_data.
DATA go_data TYPE REF TO data.
GET REFERENCE OF gt_data INTO go_data.
go_result->set_param_table( go_data ).
go_result->next_package( ).
cl_demo_output=>display_data( gt_data ).
이 코드는 ABAP에서 SQL을 실행하고 그 결과를 ABAP 데이터로 저장하는 프로세스를 보여줍니다.
이를 SQL 커넥션을 통해 DB에 접근하여 데이터를 가져오고, 그 데이터를 출력하는 과정으로 나눌 수 있습니다.
차이점이 뭘까요? 바로 MANDT = 무엇 인지를 적어준 것입니다.
그리고 저기에 없는 필드를 작성하게 되면 덤프가 나요.
이렇게 선언한다면 덤프가 나지 않아요 그래고 에러발생시 잡아낼 수 있답니다.
이렇게 말이죠
이걸 한번 분석해보죠...