Pemodelan Domain dalam SAP CAP

Pengenalan

Model Domain dalam SAP CAP ialah model yang menerangkan aspek statik berkaitan data domain masalah dari segi model hubungan entiti. Dalam artikel ini kita akan mengkaji Permodelan Domain dalam SAP CAP secara terperinci.

Pemodelan Domain

Dengan kata mudah, CDS dalam SAP CAP menghasilkan model domain sedemikian rupa sehingga ia mentakrifkan masalah perniagaan dari segi kunci, medan dan anotasi. Kod untuk menjana model domain ditulis dalam skema CDS (db/schema.cds). Model domain ini boleh digunakan dalam Definisi Perkhidmatan, Model Kegigihan, Pangkalan Data atau bahkan digunakan semula dalam model domain lain.

Contoh Contoh:

Ruang nama empInfo; menggunakan {Currency, managed} daripada '@sap/cds/common'; entiti Pekerja: diuruskan { ID kunci: Integer; Nama pertama: String setempat (111); Nama akhir: String setempat (1111); pengurus: Persatuan kepada Pengurus; dateofJoining: Integer; gaji: Perpuluhan (9,2); mata wang: Mata wang; }

 

Dalam contoh ini kami telah mencipta fail schema.cds di mana kami telah mencipta entiti Pekerja yang merangkumi butiran asas Pekerja

Keseluruhan skema ini telah diberi ruang nama iaitu empInfo

Skema ini menggunakan jenis data standard iaitu Mata Wang. Menggunakan jenis data standard seperti ini membantu kami membawa semua bantuan nilai pratakrif yang berkaitan dengannya.

Kami menggunakan CDS untuk mencipta Model. Dalam CDS itu, kita gunakan

  1. Entiti untuk mewakili set objek unik cth:
    1. Maklumat Asas Pekerja
    2. Maklumat Komunikasi Pekerja
    3. Maklumat Gaji Pekerja
  2. Persatuan untuk menentukan hubungan
    1. Persatuan pengurus kepada Pengurus entiti lain yang akan mempunyai semua senarai Pengurus

Penamaan Konvensyen & Syor

  1. Nama entiti hendaklah bermula dengan huruf besar dan boleh dibaca oleh manusia dan boleh dijelaskan sendiri – contohnya, Pekerja
  2. Mulakan elemen dengan huruf kecil – contohnya, firstName
  3. Adalah disyorkan untuk menggunakan bentuk majmuk entiti – contohnya, Pekerja
  4. Adalah disyorkan untuk menggunakan jenis bentuk tunggal – contohnya, Mata Wang
  5. jangan ulang konteks – contohnya, Employees.name dan bukannya Employees.EmployeeName
  6. lebih suka nama satu perkataan – contohnya, gaji dan bukannya gajiJumlah
  7. gunakan ID untuk kunci utama teknikal – contohnya, ID untuk ID Pekerja
  8. Anda boleh menggunakan Ruang Nama untuk menjadikan entiti anda unik. Ia seperti konsep klien dalam SAP di mana anda boleh mempunyai skema pendua (fail cd) dengan Ruang Nama yang unik untuk membezakannya. Ruang nama adalah pilihan, gunakan ruang nama jika model anda mungkin digunakan semula dalam projek lain. Pada penghujung hari ia hanyalah awalan, yang digunakan secara automatik pada semua nama yang berkaitan dalam fail. - sebagai contoh,

komputer riba ruang nama; entiti Dell {}

..… bersamaan dengan:

komputer riba entiti.Dell {}

  1. Anda boleh menggunakan konteks untuk bahagian ruang nama bersarang. - sebagai contoh,

komputer riba ruang nama; entiti Dell {}           //> komputer riba.Dellkonteks Apple { entiti MacBookPro {}       //> komputer riba.Apple.MacBookPro     entiti MacBookAir {} }

 

Entiti

Entiti adalah seperti jadual dengan kunci utama. Kami boleh melakukan operasi CRUD menggunakan Entiti ini. Pastikan ia rata yang mungkin. Jangan terlalu Normalisasikannya. Jangan gunakan jenis yang tidak boleh diguna semula. Bahagian ini hanya untuk pemodelan, hanya anotasi yang berkaitan dengan medan individu perlu ditambah dan tiada butiran teknikal (logik) perlu ditambah.

jenis

Jenis adalah seperti Domain dalam SAP ABAP, ia digunakan untuk menentukan jenis elemen Data.

Aspek

Aspek ialah lanjutan Model dan digunakan terutamanya untuk melanjutkan definisi dan anotasi sedia ada. Setelah model ditakrifkan, kami boleh menggunakan fail cd yang berbeza (Aspek) untuk menambah anotasi di atasnya untuk tugas tertentu.

Sebagai contoh-

  • cds– model domain teras anda, disimpan bersih, ringkas dan mudah difahami
  • audit-model.cds– menambah medan tambahan yang diperlukan untuk pengauditan dalam fail
  • auth-model.cds– menambah anotasi untuk kebenaran.

Kunci Utama

Seperti jadual & CDS dalam SAP ABAP, kami mengekalkan kunci Utama untuk Entiti menggunakan kata kunci utama.

Kunci utama boleh digunakan semula merentas model dengan menggunakan metodologi takrifan biasa.

Kita boleh mencipta Model common.cds di mana semua definisi biasa boleh disimpan.

// takrifan biasa

entiti StandardEntity { ID kunci : UUID; } Kini takrifan biasa ini boleh digunakan semula seperti di bawah: menggunakan { StandardEntity } daripada './common'; entiti Pekerja : StandardEntity { name : String; ... } Pengurus entiti : StandardEntity { name : String; ... }

 

Fail biasa telah dibuat secara lalai dengan entiti pratakrif bernama cuid.

Memetakan UUID ke OData

CDS memetakan UUID ke Edm.Guid, secara lalai, dalam semua model OData. Walau bagaimanapun, piawaian OData menetapkan peraturan terhad untuk nilai Edm.Guid – contohnya, hanya rentetan tanda sempang dibenarkan – yang mungkin bercanggah dengan data sedia ada. Oleh itu, kami membenarkan pemetaan lalai untuk ditindih seperti berikut:

Buku entiti {

ID kunci : UUID @odata.Jenis:'Edm.String';

...

}

Jika perlu, anda juga boleh menambah anotasi @odata.MaxLength untuk mengatasi sifat yang sepadan juga.

Persatuan

Ia digunakan untuk menentukan hubungan antara dua entiti. Seperti ABAP CDS, di sini juga kita menggunakan perkataan itu Persatuan. Di sini, kata kunci banyak menunjukkan a 0..* kardinaliti. Sekatan untuk kardinaliti boleh ditambah sebagai kekangan (di mana keadaan) - contohnya, menggunakan tidak batal.

Komposisi

Tidak seperti Persatuan yang kami mengaitkan medan entiti dengan objek keseluruhan entiti, gubahan hanya merujuk kepada medan khusus entiti lain. Ia mempunyai kelebihan tambahan bagi operasi dalam yang diurus sendiri (Sisipkan/Kemas kini) dan pemadaman bertingkat (Pemadaman jadual Berbilang Bergantung).

// Tentukan Pesanan dengan Item Pesanan yang terkandungPesanan entiti { ID kunci : UUID; Item : Komposisi banyak Order_Items on Items.parent=$self;}entity Order_Items { // hendaklah diakses melalui Pesanan sahaja  induk utama : Persatuan kepada Pesanan; buku kunci : Persatuan kepada Buku; kuantiti : Integer;}

Amalan Terbaik

  1. Jangan tambah butiran teknikal dalam Model, kami gunakan Aspekuntuk itu
  2. Penggunaan nama pendek and model rata yang ringkas
  3. Jangan terlalu Normalkan entiti dalam Model
  4. Gunakan jujukan integer tempatan jika anda benar-benar menangani beban dan volum yang tinggi. Jika tidak, pilih UUID

Sehingga kini apa yang telah kami pelajari: Penciptaan Model dan Aspek di atasnya .

Pemodelan Domain dalam SAP CAP

Tinggalkan komen

Laman web ini menggunakan Akismet untuk mengurangkan spam. Ketahui bagaimana data komen anda diproses.