Modeling Domain ing SAP CAP

Pambuka

Model Domain ing SAP CAP minangka model sing nggambarake aspek statis sing gegandhengan karo data saka domain masalah ing babagan model hubungan entitas. Ing artikel iki, kita bakal sinau babagan Pemodelan Domain ing SAP CAP kanthi rinci.

Pemodelan Domain

Ing tembung sing prasaja, CDS ing SAP CAP ngasilake model domain kanthi cara sing nemtokake masalah bisnis ing babagan kunci, kolom lan anotasi. Kode kanggo ngasilake model domain ditulis ing skema CDS (db/schema.cds). Model domain iki bisa digunakake ing Definisi Layanan, Model Ketekunan, Database utawa malah digunakake maneh ing model domain liyane.

Tuladha Tuladha:

Namespace empInfo; nggunakake {Currency, managed} saka '@sap/cds/common'; entitas Karyawan: ngatur { key ID: Integer; firstName: String lokal (111); LastName: localized String (1111); manager: Association kanggo Managers; dateofJoining: Integer; gaji: Decimal (9,2); mata uang: mata uang; }

 

Ing conto iki, kita wis nggawe file schema.cds ing ngendi kita nggawe entitas Karyawan sing kalebu rincian dhasar saka Karyawan

Skema kabeh iki wis diwenehi ruang jeneng yaiku empInfo

Skema iki nggunakake jinis data standar yaiku Mata uang. Nggunakake jinis data standar kaya iki mbantu kita nggawa kabeh bantuan nilai sing wis ditemtokake sing ana gandhengane.

Kita nggunakake CDS kanggo nggawe Model. Ing CDS kasebut, kita nggunakake

  1. Entitas kanggo makili kumpulan obyek unik, contone:
    1. Informasi dhasar karyawan
    2. Informasi Komunikasi Karyawan
    3. Informasi Gaji Karyawan
  2. Asosiasi kanggo nemtokake hubungan
    1. Asosiasi Manager menyang Manager entitas liyane sing bakal duwe kabeh dhaptar Managers

Konvensi Penamaan & Rekomendasi

  1. Jeneng entitas kudu diwiwiti kanthi huruf kapital lan kudu bisa diwaca manungsa lan jelas - contone, Karyawan
  2. Miwiti unsur kanthi huruf cilik - contone, firstName
  3. Disaranake nggunakake wangun jamak saka entitas - contone, Karyawan
  4. Disaranake nggunakake wangun tunggal saka jinis - contone, Currency
  5. aja mbaleni konteks – contone, Employees.name tinimbang Employees.EmployeeName
  6. seneng jeneng siji-tembung - contone, gaji tinimbang salaryAmount
  7. nggunakake ID kanggo kunci utama technical - contone, ID kanggo Employee ID
  8. Sampeyan bisa nggunakake Namespace kanggo nggawe entitas sampeyan unik. Kaya konsep klien ing SAP, sampeyan bisa duwe skema duplikat (file cd) kanthi Namespace unik kanggo mbedakake. Namespaces opsional, gunakake namespaces yen model sampeyan bisa digunakake maneh ing proyek liyane. Ing pungkasan dina iku mung ater-ater, sing kanthi otomatis ditrapake kanggo kabeh jeneng sing relevan ing file. - Tuladhane,

namespace laptop;entitas Dell {}

..… padha karo:

entitas laptop.Dell {}

  1. Sampeyan bisa nggunakake konteks kanggo bagean namespace nested. - Tuladhane,

namespace laptop;entitas Dell {}           //> laptop.Dellkonteks Apple { entitas MacBookPro {}       //> laptop.Apple.MacBookPro     entitas MacBookAir {} }

 

Entitas

Entitas kaya tabel kanthi kunci utama. Kita bisa nindakake operasi CRUD nggunakake Entitas kasebut. Tansah dadi warata sabisa. Aja over Normalize iku. Aja nggunakake jinis sing ora bisa digunakake maneh. Bagean iki mung kanggo modeling, mung anotasi sing ana gandhengane karo kolom individu sing kudu ditambahake lan ora ana rincian teknis (logika) sing kudu ditambahake.

jinis

Jinis kaya Domain ing SAP ABAP, digunakake kanggo nemtokake jinis unsur Data.

Aspek

Aspek minangka ekstensi saka Model lan utamane digunakake kanggo ngluwihi definisi lan anotasi sing ana. Sawise model ditetepake, kita bisa nggunakake file cd beda (Aspek) kanggo nambah anotasi ing ndhuwur kanggo tugas tartamtu.

Tuladhane-

  • CD– model domain inti sampeyan, tetep resik, prasaja lan bisa dingerteni
  • audit-model.cds- nambah kolom tambahan sing dibutuhake kanggo audit ing file
  • auth-model.cds- nambah anotasi kanggo wewenang.

Kunci Utama

Kaya tabel & CDS ing SAP ABAP, kita njaga kunci Utama kanggo Entitas nggunakake tembung kunci tombol.

Kunci utama bisa digunakake maneh ing model kanthi nggunakake metodologi definisi umum.

Kita bisa nggawe Model common.cds ngendi kabeh definisi umum bisa disimpen.

// definisi umum

entitas StandardEntity { ID kunci : UUID; } Saiki definisi umum iki bisa digunakake maneh kaya ing ngisor iki: nggunakake { StandardEntity } saka './common'; entitas Karyawan: StandardEntity { jeneng: String; ... } entitas Manager : StandardEntity { name : String; ...}

 

Berkas umum wis digawe kanthi standar kanthi entitas sing wis ditemtokake cuid.

Pemetaan UUID menyang OData

CDS map UUIDs kanggo Edm.Guid, minangka standar, ing kabeh model OData. Nanging, standar OData nyetel aturan mbatesi kanggo nilai Edm.Guid - contone, mung strings hyphenated diijini - sing bisa konflik karo data sing wis ana. Mula, kita ngidini pemetaan standar diganti kaya ing ngisor iki:

entitas Buku {

ID kunci: UUID @odha.Tipe:'Edm.String';

...

}

Yen perlu, sampeyan uga bisa nambah anotasi @odata.MaxLength kanggo ngganti properti sing cocog.

asosiasi

Iki digunakake kanggo nemtokake hubungan antarane rong entitas. Kaya ABAP CDS, ing kene uga kita nggunakake tembung kasebut Asosiasi. Kene, tembung kunci akeh nuduhake a 0..* kardinalitas. Watesan kanggo cardinality bisa ditambahake minangka alangan (ngendi kondisi) - contone, nggunakake ora null.

anggota

Ora kaya Asosiasi ing ngendi kita nggandhengake bidang entitas karo obyek kabeh entitas, komposisi kasebut mung nuduhake lapangan tartamtu saka entitas liyane. Nduwe keuntungan ekstra kanggo operasi jero sing dikelola dhewe (Sisipake / Nganyari) lan penghapusan runtun (Multi Dependent pambusakan tabel).

// Netepake Pesenan karo OrderItemsentitas Pesenan { ID kunci : UUID; Item : Komposisi saka akeh Order_Items ing Items.parent=$self;}entity Order_Items { // kudu diakses liwat Pesenan mung  induk kunci : Asosiasi kanggo Pesenan; buku kunci: Asosiasi kanggo Buku; jumlah: integer;}

Laku paling apik

  1. Aja nambah rincian teknis ing Models, kita nggunakake Aspekkanggo sing
  2. Gunakake jeneng singkat lan model flat prasaja
  3. Aja over Normalize entitas ing Models
  4. Gunakake urutan integer lokal yen sampeyan pancene ngatasi beban lan volume sing dhuwur. Yen ora, luwih seneng UUID

Nganti saiki apa sing wis kita sinau: Nggawe Model lan Aspek ing ndhuwur.

Modeling Domain ing SAP CAP

Ninggalake komentar

Situs iki nggunakake Akismet kanggo ngurangi spam. Sinau babagan proses data sampeyan.