SAP技術者のサンプルコード置き場

ABAPの動作確認をしたコードと簡単な説明を置いておきます。

【ABAP CDS】BASIC VIEW その1

ABAP CDS初の独自コード

  • 項目名の定義
  • JOIN
  • キー項目設定

気づいた点/教えていただいた点

  • ABAP CDS側には、ORDER BYは指定できない。呼び出し側(ABAP、Fiori Elements等)で設定する

Annotation(アノテーション)について 「AbapCatalog」はABAPで使用する際の設定を記述できる。 よく使うアノテーションは生成時に自動設定される。 CTRL+SPACEを押下すれば、アノテーションの名称の途中で入力補足したり、アノテーションで使用する値を表示させ選ぶことができる。 アノテーションを記述する際は「@」を先頭において記述する。

アノテーション 内容
AbapCatalog.
buffering.status
CDSビューでのテーブルバッファの有効化
AbapCatalog.
buffering.type
CDSビューでのテーブルバッファタイプ
AbapCatalog.
buffering.numberOfKeyFields
ジェネリックエリアのテーブルバッファにおけるキー要素数
AbapCatalog.
compiler.compareFilter
Filterの評価方法(?)
AbapCatalog.
preserveKey
項目の前にkeyとつけることでキー項目を指定
AbapCatalog.
sqlViewName
ABAPディクショナリに登録される名称|名称を指定
AbapCatalog.
viewEnhancementCategory[ ]
CDS VIEW拡張を使ってどのように拡張するか。
[]内に複数の値をカンマ区切りで指定可能
AccessControl.
authorizationCheck
ABAPから呼ばれた場合の権限チェック
VDM.viewType CDS VIEWの種類

help.sap.com

@AbapCatalog.sqlViewName: 'Z0203_V_0017'
@AbapCatalog.compiler.compareFilter: false
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'ORIGINAL BASIC VIEW for 0017'
@VDM.viewType: #BASIC
define view Z0203_C_0017(
// 項目名定義
    test_matnr,                           
    test_werks,
    test_lgort,
    test_matkl,                            
    test_mtart,     
    test_labst )
// 抽出処理                              
    as select from mara
       join marc on 
          mara.matnr = marc.matnr
       join mard on 
                 marc.matnr = mard.matnr
      and    marc.werks = mard.werks
    {  key mara.matnr,
        key marc.werks,
        key mard.lgort,
               mara.matkl,
               mara.mtart,
               mard.labst
}