SQLを直接実行する方法(SQL Editor、SQLコマンドエディタ)

SQL Editorでは、SQL文を直接実行することができる。

テーブル確認の際、複数のテーブルを結合してデータを見たいときに、それぞれのテーブルを絞り込みすることなく、SQL文で結合して出力できる。

スポンサーリンク

SQL Editor

起動経路

以下のトランザクションで実行が可能。恐らく、同じ機能であるが、ECCかS/4によって起動できる/できないが違ったり、SQL Editor以外の機能が使える/使えない、といった細かな違いがある様子。

  • DB02
  • DBACOCKPIT
  • ST04

トランザクション起動後、診断>SQL Editor(ECCだと、SQLコマンドエディタ)で起動する。

使い方

画面中央の「入力クエリ」にSQL文を入力し、「実行」を押下する。すると「結果」タブに実行結果が表示される。

例えば、以下のSQLを使えば、該当伝票の伝票ヘッダ(BKPF)と伝票明細(BSEG)を結合したViewを表示できる。

SELECT *
FROM BSEG
INNER JOIN BKPF ON
    BSEG.MANDT = BKPF.MANDT
AND BSEG.BUKRS = BKPF.BUKRS
AND BSEG.GJAHR = BKPF.GJAHR
AND BSEG.BELNR = BKPF.BELNR
WHERE
    BSEG.MANDT = 'クライアント'
AND BSEG.BELNR = '伝票番号'

※クライアントと伝票番号は、環境に合わせて入力する。

コメントアウト

/* コメントアウトする文字 */
--これ以下をコメントアウトする(「--」の行以降すべてがコメントアウト)

複数選択

WHERE BSEG.BELNR IN ('伝票番号1', '伝票番号2')  /* IN句で指定 */

テーブルAとテーブルBを結合し、Bにあるものの中からAを抽出 ※EXISTS

SELECT *
FROM TABLE-A AS A
WHERE EXISTS(
    SELECT * FROM TABLE-B AS B  /* SELECT 1 の方がいいかも */
    WHERE A.伝票番号 = B.伝票番号  /* 適当な結合条件を記載 */
      AND A.伝票明細 = B.伝票明細  /* 適当な結合条件を記載 */
      AND B.MANDT = 'クライアント'  /* テーブルBの抽出条件 */
      AND B.伝票番号 = '伝票番号'  /* テーブルBの抽出条件 */
)
AND A.適当な項目 = 'XXXXX'  /* テーブルAの抽出条件 */

SQLのテンプレート

特定の品目を構成品に持っている品目を調べる

SELECT
    MAST.MATNR /*品目*/
    ,MAST.WERKS /*プラント*/
    ,MAST.STLAN /*用途*/
    ,MAST.STLAL /*代替BOM*/
    ,STPO.STLNR /*BOM*/
    ,STPO.IDNRK /*構成品目*/
FROM
    STPO
INNER JOIN MAST
    ON  MAST.MANDT = STPO.MANDT
    AND MAST.STLNR = STPO.STLNR
WHERE
    STPO.MANDT = '100' /*ここにクライアントを入れる*/
    AND STPO.IDNRK = 'A123456789' /*ここに構成品目を入れる*/

品目を構成品を調べる

SELECT
    MAST.MATNR /*品目*/
    ,MAST.WERKS /*プラント*/
    ,MAST.STLAN /*用途*/
    ,MAST.STLAL /*代替BOM*/
    ,STPO.STLNR /*BOM*/
    ,STPO.IDNRK /*構成品目*/
FROM
    STPO
INNER JOIN MAST
    ON  MAST.MANDT = STPO.MANDT
    AND MAST.STLNR = STPO.STLNR
    AND MAST.MATNR = 'A123456789' /*ここに品目を入れる*/
WHERE
    STPO.MANDT = '100' /*ここにクライアントを入れる*/

スポンサーリンク

参考

▼How to run SQL Queries Directly on SAP Database

How to run SQL Queries Directly on SAP Database | SAP Blogs
Hi, If you ever wanted to write SQL queries to read/analyze data from SAP tables, then this post will be very useful for you. To run SQL queries directly, you n...

▼SQL editor for SAP: the missing piece from the ABAP development workbench

SQL editor for SAP: the missing piece from the ABAP development workbench

コメント

タイトルとURLをコピーしました