Domeeni modelleerimine SAP CAP-is

sissejuhatus

Domeenimudel SAP CAP-is on mudel, mis kirjeldab probleemse domeeni staatilisi, andmetega seotud aspekte olemi-suhete mudelite kaudu. Selles artiklis uurime üksikasjalikult SAP CAP-i domeenide modelleerimist.

Domeeni modelleerimine

Lihtsamalt öeldes loob SAP CAP-i CDS domeenimudeli nii, et see määratleb äriprobleemi võtmete, väljade ja märkuste kaudu. Domeenimudeli genereerimiseks kasutatav kood on kirjutatud CDS-i skeemis (db/schema.cds). Neid domeenimudeleid saab kasutada teenuse definitsioonides, püsivusmudelites, andmebaasides või isegi mõnes teises domeenimudelis uuesti kasutada.

Näidisnäide:

Nimeruum empInfo; kasutades {Currency, hallatud} kataloogist „@sap/cds/common”; üksus Töötajad: hallatud { võtme ID: täisarv; eesnimi: lokaliseeritud string (111); perekonnanimi: lokaliseeritud string (1111); juht: Ühendus juhtidega; liitumise kuupäev: täisarv; palk: koma (9,2); valuuta: Valuuta; }

 

Selles näites oleme loonud faili schema.cds, kus oleme loonud olemi Töötajad, mis sisaldab töötaja põhiandmeid

Kogu sellele skeemile on antud nimeruum, st empInfo

See skeem kasutab standardset andmetüüpi, st valuutat. Sellise standardse andmetüübi kasutamine aitab meil tuua kõik sellega seotud eelmääratletud väärtusabid.

Mudeli loomiseks kasutame CDS-i. Selles CDS-is kasutame

  1. Olemid, mis esindavad ainulaadsete objektide komplekti, nt:
    1. Töötaja põhiteave
    2. Töötajate suhtlusteave
    3. Töötajate palgateave
  2. Seosed suhete määratlemiseks
    1. Halduri seos teise olemiga Haldur, millel on kogu haldurite loend

Nimede andmise konventsioon ja soovitused

  1. Ettevõtte nimi peaks algama suure algustähega ning olema inimesele loetav ja arusaadav – näiteks Töötajad
  2. Alusta elemente väiketähtedega – näiteks eesnimi
  3. Soovitatav on kasutada olemite mitmuse vormi – näiteks Töötajad
  4. Soovitatav on kasutada tüüpide ainsuse vormi – näiteks Valuuta
  5. ära korda kontekste – näiteks Töötajad.nimi, mitte Töötajad.Töötajanimi
  6. eelista ühesõnalisi nimesid – näiteks palgasumma asemel palk
  7. tehniliste primaarvõtmete jaoks kasutage ID-d – näiteks töötaja ID jaoks ID
  8. Saate kasutada nimeruumi, et muuta oma olemid ainulaadseks. See on nagu SAP-i kliendikontseptsioon, kus teil on kordumatu nimeruumiga dubleeritud skeemid (cd-failid), et neid eristada. Nimeruumid on valikulised. Kasutage nimeruume, kui teie mudeleid võidakse teistes projektides uuesti kasutada. Päeva lõpuks on need lihtsalt eesliited, mida rakendatakse automaatselt faili kõikidele asjakohastele nimedele. - näiteks,

nimeruum sülearvuti;üksus Dell {}

..… on samaväärne:

olemi sülearvuti.Dell {}

  1. Pesastatud nimeruumi sektsioonide jaoks saate kasutada kontekste. - näiteks,

nimeruum sülearvuti;üksus Dell {}           //> sülearvuti.Dellkontekst Apple { entity MacBookPro {}       //> sülearvuti.Apple.MacBookPro     üksus MacBookAir {} }

 

Üksused

Olemid on nagu primaarsete võtmetega tabelid. Nende olemite abil saame teostada CRUD-operatsiooni. Hoidke see võimalikult tasane. Ärge normaliseerige seda üle. Ärge kasutage korduvkasutatavaid tüüpe. See jaotis on mõeldud ainult modelleerimiseks, lisada tuleks ainult üksikute väljadega seotud annotatsioon ja tehnilisi üksikasju (loogikat) lisada ei tohi.

Liigid

Tüübid on nagu domeen SAP ABAP-is, seda kasutatakse andmeelementide tüüpide määratlemiseks.

Aspektid

Aspektid on mudelite laiendused ja neid kasutatakse peamiselt olemasolevate definitsioonide ja annotatsioonide laiendamiseks. Kui mudel on määratletud, saame kasutada erinevaid cd-faile (Aspect), et lisada neile konkreetse ülesande jaoks märkusi.

Näiteks-

  • CD– teie põhidomeeni mudel, mis on puhas, lihtne ja arusaadav
  • audit-mudel.cds– lisab faili auditeerimiseks vajalikud täiendavad väljad
  • auth-model.cds– lisab autoriseerimiseks märkused.

Peamised võtmed

Nagu tabelid ja CDS-id SAP ABAP-is, säilitame märksõna abil olemi jaoks esmaseid võtmeid võti.

Primaarvõtit saab kogu mudelis uuesti kasutada, kasutades tavapäraste määratluste metoodikat.

Saame luua common.cds mudeli, kuhu saab salvestada kõik levinud definitsioonid.

// levinud definitsioonid

olem StandardEntity { võtme ID : UUID; } Nüüd saab neid levinud definitsioone uuesti kasutada järgmiselt: kasutades { StandardEntity } failist './common'; üksus Töötaja : StandardEntity { nimi : String; ... } olemihaldur : StandardEntity { nimi : String; ... }

 

Üldine fail on vaikimisi juba loodud eelmääratletud olemi nimega cuid.

UUID-de kaardistamine OData-ga

CDS vastendab UUID-d kõigis OData mudelites vaikimisi Edm.Guidiga. OData standard seab aga Edm.Guid väärtustele piiravad reeglid – näiteks on lubatud ainult sidekriipsuga stringid –, mis võivad olemasolevate andmetega vastuolus olla. Seetõttu lubame vaikimisi vastenduse alistada järgmiselt.

üksus Raamatud {

võtme ID: UUID @odata.Type:'Edm.String';

...

}

Vajadusel saate lisada ka annotatsiooni @odata.MaxLength, et ka vastav omadus alistada.

Ühing

Seda kasutatakse kahe olemi vahelise suhte määratlemiseks. Nagu ABAP CDS, kasutame ka siin seda sõna Ühing. Siin on märksõna palju tähistab a 0..* kardinaalsus. Kardinaalsuse piiranguid saab lisada piiranguna (kus tingimus) – näiteks kasutades mitte null.

Lood

Erinevalt assotsiatsioonist, kus seostame olemi välja terve olemi objektidega, viitavad kompositsioonid lihtsalt teise olemi konkreetsele väljale. Sellel on täiendavad eelised isehallatavad sügavad toimingud (sisesta/värskenda) ja kaskaadkustutamine (mitme sõltuva tabeli kustutamine).

// Tellimuste määratlemine sisalduvate Tellimusüksustegaüksus Tellimused { võtme ID : UUID; Üksused : paljude üksuste Order_Items koosseis saidil Items.parent=$self;}üksus Order_Items { // pääseb ligi ainult tellimuste kaudu  võtmevanem: tellimustega ühendamine; võtmeraamat : Ühing raamatutega; kogus: täisarv;}

Parimad tavad

  1. Ärge lisage tehnilisi üksikasju mudelitesse, me kasutame Aspektidselle eest
  2. Kasutama lühikesed nimed ja lihtsad lamedad mudelid
  3. Ärge üle normaliseerige olemeid mudelites
  4. Kasutage kohalikke täisarvude jadasid, kui tegelete tõesti suurte koormuste ja mahtudega. Vastasel juhul eelistage UUID-sid

Siiani oleme õppinud: mudeli loomine ja selle peal olevad aspektid.

Domeeni modelleerimine SAP CAP-is

Kommenteeri

Sellel saidil kasutatakse rämpsposti vähendamiseks Akismetit. Vaadake, kuidas teie andmeid töödeldakse.