SAP에서 SQL Command Editor를 사용하여 T-SQL 명령을 실행하는 방법


SAP에서 테이블의 데이터를 조회하는 방법은 SE11(ABAP Dictionary)에서 테이블을 조회한 후 [내용] 버튼을 실행해서 결과를 조회하거나 SE16(데이터브라우저)에서 [테이블내용] 버튼을 실행해서 결과를 조회해 볼 수 있습니다.

하지만 SE11이나 SE16은 하나의 테이블만 조회할 수 있다는 제약이 있습니다.

2개 이상의 테이블을 조인(Join)해야 하거나 다소 복잡한 쿼리로 테이블의 데이터를 가져와야 한다면 부득이 ABAP 프로그램으로 개발해서 조회해 보아야 합니다.

아니면 SAP Query의 질의(SQ01)를 만들어 실행해 볼 수 있는데, 인포세트(SQ02)를 만들고 질의(SQ01)를 만드는 과정이 오히려 ABAP 프로그램 개발보다 더 번거로울 수 있습니다. (※ SAP Query와 관련한 글은 아래 도움이 될 만한 포스팅 글 링크를 참고하세요)

일회성으로 필요에 의해 한 두번 쿼리문을 실행해 보아야 할 경우 개발 서버에서 ABAP 프로그램을 개발해서 운영 서버로 넘겨 실행하는 다소 번거로운 방법 대신 SAP에서 제공하는 [SQL Command Editor]를 사용하면 간단하게 운영 서버에서 바로 쿼리문을 실행해서 결과를 ALV 형식으로 확인해 볼 수 있습니다.

이번 글에서는 SAP에서 SQL Command Editor를 사용하여 T-SQL 명령을 실행하는 방법에 대해 알아보겠습니다.

SAP에서 SQL Command Editor를 사용하여 Transact SQL 명령을 실행하는 방법

SAP에서 SQL Command Editor(SQL 명령 편집기)를 호출할 수 있는 트랜잭션코드는 몇 가지가 있습니다.

– 트랜잭션코드 : ST04(Performance Overview, ORA_PERF), DBACOCKPIT(DBA Cockpit: System Configuration Maintenance), ORA_SPACE(Space Overview)

1. 4가지 트랜잭션코드 중 하나를 실행해서 [SQL Command Editor]를 찾아 더블 클릭합니다.

[SQL Command Editor]가 있는 위치는 SAP 버전에 따라 달라질 수 있습니다. 아래 화면에서는 [Performance]의 [Additional Functions] 항목에 있지만 어떤 버전에서는 [Diagnostics]에 있는 경우도 있습니다.

2. 우측 화면의 [Input Query] 탭의 편집창에 실행할 쿼리문을 작성 합니다.

3. 쿼리문 작성이 끝나면 상단의 [Execute] 버튼을 클릭해서 쿼리문을 실행합니다.

 쿼리문에 오류가 없다면 [Result] 탭에 쿼리 실행 결과가 ALV 형식으로 표시됩니다.

 쿼리 실행 결과는 일반적인 리스트 형식으로 변환하거나 로컬 파일로 Export도 가능합니다.

SAP에서 SQL Command Editor를 사용하여 T-SQL 명령을 실행하는 방법

SQL Command Editor와 ABAP 편집기에서 쿼리문 차이점

▼ SQL Command Editor에서 사용한 쿼리문

select a.matnr, b.maktx
from mara a, makt b
where a.matnr = ‘000002320060000230’ and a.matnr = b.matnr


▼ ABAP 편집기에서 사용한 쿼리문

SELECT SINGLE A~MATNR B~MAKTX
FROM MARA AS A INNER JOIN MAKT AS B
  ON A~MATNR = B~MATNR
WHERE A~MATNR = ‘000002320060000230’ .


– 동일한 결과를 가져오는 쿼리문이지만 두가지 쿼리문에 차이가 있는것을 볼 수 있습니다. 

SQL Command Editor에서 사용하는 쿼리는 Native SQL이고, ABAP 편집기에서 사용하는 쿼리는 일반적으로 Open SQL을 사용합니다.

※ 당연한 이야기지만 [SQL Command Editor]를 사용하기 위해서는 해당 트랜잭션을 실행할 수 있는 권한이 있어야 하고 시스템의 데이터베이스 연결(DBCON)에 엑세스할 수 있는 권한을 가지고 있어야 합니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기