SAP Knowledge Wiki
ABAP/SELECT
をテンプレートにして作成
開始行:
標準・アドオン問わず[[テーブル>SAPのオブジェクト/テーブル...
* 概要 [#j4d77dd6]
この命令を使わないプログラムはない!と言っていいくらい、...
それだけに、しっかりとした正しい使い方を身につけたいもの。
** 用法 [#m1e61e8f]
主に企業活動のOutputとして[[テーブル>SAPのオブジェクト/テ...
基本の文法は、SELECT 項目 FROM [[テーブル>SAPのオブジェク...
抽出できた場合はSUBRCには0、該当データなしの場合は4、UP T...
** サンプル [#p8e30ede]
*** SINGLE [#fcc02cc3]
SELECT SINGLE VKGRP
FROM VBAK
INTO L_VKGRP
WHERE VBELN = L_VBELN.
単一の行あるいはその項目を抜く。
キーの指定が不完全である場合は、最初にヒットしたレコード...
*** INTO TABLE [#o3361ac4]
SELECT VKGRP
FROM VBAK
INTO TABLE L_IT_VKGRP
WHERE VKORG = L_VKORG.
条件に合致する複数のレコードを抜く。
下手に色々項目を指定したSELECT文を書くよりも、抜いた後で...
*** INTO CORRESPONDING FIELD OF [#m8637696]
SELECT *
FROM BSEG
INTO CORRESPONDING FIELD OF TABLE T_BSEG
WHERE BUKRS = P_BUKRS.
SELECT文で指定した項目やその並びと、格納先である構造や内...
抜く側(データテーブル側)はともかくとして、格納先の項目...
また、パフォーマンスにかなりの悪影響を与え、サンプルのよ...
なので、基本的にはSELECTで定義する項目の順番と構造、内部...
また、昔は必要な項目を必要な並びで定義し、このオプション...
*** SELECT~ENDSELECT [#p782c08f]
SELECT VKGRP
FROM VBAK
INTO L_VKGRP
WHERE VKORG = L_VKORG.
...
ENDSELECT.
指定した条件と一致するデータを1件ずつループしながら取得す...
色々理由があり、SAPから使うなとのお達しが。
最悪なのは、SELECT SINGLEを使わずにこの書き方+UP To n RO...
そういう書き方をしているABAPerを見たら、要注意。
*** UP TO n ROWS [#u4b63463]
SELECT VKGRP
FROM VBAK
INTO TABLE L_IT_VKGRP UP TO 100 ROWS
WHERE VKORG = L_VKORG.
該当するデータを、指定したn件抽出する。
[[データブラウザ>SAPの共通用語/データブラウザ]]的な。
逆に言うと、そういう「ざっくりとテーブルのデータを眺める...
*** CLIENT SPECIFIED [#g68c6253]
SELECT *
FROM KNA1
CLIENT SPECIFIED
INTO TABLE T_KNA1
WHERE KUNNR = P_KUNNR.
クライアント別ユーザIDの登録情報やALEを使用している場合な...
むしろ、これくらいしか使わないので普段は意識しなくてもよ...
** FOR ALL ENTRIES [#ba8969c9]
SELECT ~
FROM VBAP
INTO TABLE IT_VBAP
FOR ALL ENTRIES IN IT_VBAK
WHERE VKORG = IT_VBAK-VKORG.
既に存在する内部テーブルの情報に合致するデータのみを抜き...
なお、この命令を使用する場合は、内部テーブルに少なくとも1...
また、抽出項目にすべてのキー項目を指定しないと、distinct...
* その他 [#lb3435f1]
** SELECT文と汎用モジュールの使い分け [#m086a387]
「とりあえずSELECT、なんでもSELECT」というのはあまりに雑...
[[BAPI>SAPのオブジェクト/BAPI]]が最たるものだが、コンフィ...
理由は、「SAPが品質を担保しているものが既に提供されており...
それに、[[テーブル>SAPのオブジェクト/テーブル]]直読みでは...
それに該当しなかったり、SAPにマッピングした項目が抽出条件...
特に、マスタ系はともかく[[伝票>SAPの共通用語/伝票]]系はこ...
** SELECT * がダメな理由 [#o8bc941f]
パフォーマンス上の理由があげられることが多いが、最も大き...
書いた人間は「項目追加となっても、あまり修正が入らない」...
ソースコードは、メモ帳でもなければチラシの裏でもない。
ただ、抽出項目が多いとそれだけでSELECT以降の項目の指定行...
~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)
終了行:
標準・アドオン問わず[[テーブル>SAPのオブジェクト/テーブル...
* 概要 [#j4d77dd6]
この命令を使わないプログラムはない!と言っていいくらい、...
それだけに、しっかりとした正しい使い方を身につけたいもの。
** 用法 [#m1e61e8f]
主に企業活動のOutputとして[[テーブル>SAPのオブジェクト/テ...
基本の文法は、SELECT 項目 FROM [[テーブル>SAPのオブジェク...
抽出できた場合はSUBRCには0、該当データなしの場合は4、UP T...
** サンプル [#p8e30ede]
*** SINGLE [#fcc02cc3]
SELECT SINGLE VKGRP
FROM VBAK
INTO L_VKGRP
WHERE VBELN = L_VBELN.
単一の行あるいはその項目を抜く。
キーの指定が不完全である場合は、最初にヒットしたレコード...
*** INTO TABLE [#o3361ac4]
SELECT VKGRP
FROM VBAK
INTO TABLE L_IT_VKGRP
WHERE VKORG = L_VKORG.
条件に合致する複数のレコードを抜く。
下手に色々項目を指定したSELECT文を書くよりも、抜いた後で...
*** INTO CORRESPONDING FIELD OF [#m8637696]
SELECT *
FROM BSEG
INTO CORRESPONDING FIELD OF TABLE T_BSEG
WHERE BUKRS = P_BUKRS.
SELECT文で指定した項目やその並びと、格納先である構造や内...
抜く側(データテーブル側)はともかくとして、格納先の項目...
また、パフォーマンスにかなりの悪影響を与え、サンプルのよ...
なので、基本的にはSELECTで定義する項目の順番と構造、内部...
また、昔は必要な項目を必要な並びで定義し、このオプション...
*** SELECT~ENDSELECT [#p782c08f]
SELECT VKGRP
FROM VBAK
INTO L_VKGRP
WHERE VKORG = L_VKORG.
...
ENDSELECT.
指定した条件と一致するデータを1件ずつループしながら取得す...
色々理由があり、SAPから使うなとのお達しが。
最悪なのは、SELECT SINGLEを使わずにこの書き方+UP To n RO...
そういう書き方をしているABAPerを見たら、要注意。
*** UP TO n ROWS [#u4b63463]
SELECT VKGRP
FROM VBAK
INTO TABLE L_IT_VKGRP UP TO 100 ROWS
WHERE VKORG = L_VKORG.
該当するデータを、指定したn件抽出する。
[[データブラウザ>SAPの共通用語/データブラウザ]]的な。
逆に言うと、そういう「ざっくりとテーブルのデータを眺める...
*** CLIENT SPECIFIED [#g68c6253]
SELECT *
FROM KNA1
CLIENT SPECIFIED
INTO TABLE T_KNA1
WHERE KUNNR = P_KUNNR.
クライアント別ユーザIDの登録情報やALEを使用している場合な...
むしろ、これくらいしか使わないので普段は意識しなくてもよ...
** FOR ALL ENTRIES [#ba8969c9]
SELECT ~
FROM VBAP
INTO TABLE IT_VBAP
FOR ALL ENTRIES IN IT_VBAK
WHERE VKORG = IT_VBAK-VKORG.
既に存在する内部テーブルの情報に合致するデータのみを抜き...
なお、この命令を使用する場合は、内部テーブルに少なくとも1...
また、抽出項目にすべてのキー項目を指定しないと、distinct...
* その他 [#lb3435f1]
** SELECT文と汎用モジュールの使い分け [#m086a387]
「とりあえずSELECT、なんでもSELECT」というのはあまりに雑...
[[BAPI>SAPのオブジェクト/BAPI]]が最たるものだが、コンフィ...
理由は、「SAPが品質を担保しているものが既に提供されており...
それに、[[テーブル>SAPのオブジェクト/テーブル]]直読みでは...
それに該当しなかったり、SAPにマッピングした項目が抽出条件...
特に、マスタ系はともかく[[伝票>SAPの共通用語/伝票]]系はこ...
** SELECT * がダメな理由 [#o8bc941f]
パフォーマンス上の理由があげられることが多いが、最も大き...
書いた人間は「項目追加となっても、あまり修正が入らない」...
ソースコードは、メモ帳でもなければチラシの裏でもない。
ただ、抽出項目が多いとそれだけでSELECT以降の項目の指定行...
~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)
ページ名:
TrackBack(0)
|
Link
注意
当サイトは、
こちら
に引越しました。
2021/09/30を目途に、当URLのコンテンツは削除する予定です。
お問い合わせはこちら