Domain modellezés az SAP CAP-ban

Bevezetés

Az SAP CAP tartománymodellje egy olyan modell, amely egy problématartomány statikus, adatokkal kapcsolatos szempontjait írja le entitás-kapcsolati modellek formájában. Ebben a cikkben részletesen tanulmányozzuk az SAP CAP tartománymodellezését.

Domain modellezés

Egyszerűen fogalmazva, az SAP CAP CDS-je olyan tartománymodellt állít elő, amely kulcsok, mezők és megjegyzések formájában határozza meg az üzleti problémát. A tartománymodell létrehozásához szükséges kód CDS-sémába (db/schema.cds) van írva. Ezek a tartománymodellek felhasználhatók szolgáltatásdefiníciókban, perzisztencia modellekben, adatbázisokban, vagy akár újrafelhasználhatók egy másik tartománymodellben.

Minta példa:

Névtér empInfo; a „@sap/cds/common” {Currency, managelve} használatával; entitás Alkalmazottak: felügyelt { kulcs ID: Integer; keresztnév: lokalizált karakterlánc (111); vezetéknév: lokalizált karakterlánc (1111); menedzser: Társulás a menedzserekhez; csatlakozás dátuma: Integer; fizetés: tizedes (9,2); pénznem: Valuta; }

 

Ebben a példában létrehoztunk egy schema.cds fájlt, amelyben létrehoztunk egy Alkalmazottak entitást, amely tartalmazza az alkalmazott alapvető adatait.

Ez az egész séma kapott egy névteret, azaz az empInfo-t

Ez a séma szabványos adattípust, azaz valutát használ. A szabványos adattípus ilyen jellegű használata segít abban, hogy az összes, előre definiált értékkel kapcsolatos segítséget elhozzuk.

A modell létrehozásához CDS-t használunk. Abban a CDS-ben használjuk

  1. Egyedi objektumok halmazát reprezentáló entitások, pl.
    1. Alkalmazotti alapinformációk
    2. Alkalmazotti kommunikációs információk
    3. Alkalmazotti fizetési információk
  2. Asszociációk a kapcsolatok meghatározására
    1. Kezelő társítása egy másik entitáshoz A menedzser, amelynél az összes menedzser lista megtalálható

Elnevezési egyezmény és ajánlások

  1. Az entitás nevének nagybetűvel kell kezdődnie, és ember számára olvashatónak és magától értetődőnek kell lennie – például Alkalmazottak
  2. Kezdje az elemeket kisbetűvel – például a keresztnévvel
  3. Javasoljuk, hogy az entitások többes számú alakját használja – például Alkalmazottak
  4. Javasoljuk, hogy a típusok egyes alakját használjuk – például Valuta
  5. ne ismételje meg a kontextusokat – például Alkalmazottak.név helyett Alkalmazottak.Alkalmazottnév
  6. előnyben részesítsék az egyszavas neveket – például a fizetés a fizetés összege helyett
  7. használjon azonosítót a technikai elsődleges kulcsokhoz – például az azonosítót az alkalmazotti azonosítóhoz
  8. A Névtér segítségével egyedivé teheti entitásait. Ez olyan, mint az SAP kliens koncepciója, ahol duplikált sémákat (cds fájlokat) használhat egyedi névtérrel, hogy megkülönböztesse őket. A névterek nem kötelezőek, használjon névtereket, ha modelljeit más projektekben újra felhasználhatják. A nap végén ezek csak előtagok, amelyeket a rendszer automatikusan alkalmaz egy fájlban lévő összes releváns névre. - például,

névtér laptop;entitás Dell {}

..… egyenértékű a következővel:

entitás laptop.Dell {}

  1. Használhat kontextust a beágyazott névtér-szakaszokhoz. - például,

névtér laptop;entitás Dell {}           //> laptop.Dellkontextus Apple { entity MacBookPro {}       //> laptop.Apple.MacBookPro     entitás MacBookAir {} }

 

szervezetek

Az entitások olyanok, mint az elsődleges kulcsokkal rendelkező táblák. Ezekkel az entitásokkal CRUD műveletet hajthatunk végre. Lehetőleg lapos legyen. Ne normalizálja túl. Ne használjon nem újrafelhasználható típusokat. Ez a rész csak modellezésre szolgál, csak az egyes mezőkre vonatkozó megjegyzéseket kell hozzáadni, technikai részleteket (logikát) nem szabad hozzáadni.

Típusai

A típusok olyanok, mint a Domain az SAP ABAP-ban, ez az adatelemek típusának meghatározására szolgál.

Szempontok

A szempontok a modellek kiterjesztései, és főként a meglévő definíciók és megjegyzések kiterjesztésére szolgálnak. A modell meghatározása után különböző cd-fájlokat (Aspect) használhatunk, hogy megjegyzéseket adjunk hozzájuk egy adott feladathoz.

Például-

  • CD-k– az Ön alapvető domain-modellje, tisztán, egyszerűen és érthetően
  • audit-model.cds– további, az auditáláshoz szükséges mezőket ad hozzá egy fájlhoz
  • auth-model.cds– megjegyzéseket ad hozzá az engedélyezéshez.

Elsődleges kulcsok

Az SAP ABAP tábláihoz és CDS-eihez hasonlóan kulcsszó használatával karbantartjuk az entitás elsődleges kulcsait kulcs.

Az elsődleges kulcs a közös definíciók módszertanának használatával a modellben újra felhasználható.

Létrehozhatunk egy common.cds modellt, ahol az összes általános definíció tárolható.

// általános definíciók

entity StandardEntity { kulcsazonosító : UUID; } Most ezek az általános definíciók újra felhasználhatók az alábbiak szerint: a { StandardEntity } használatával a './common' könyvtárból; entitás Alkalmazott : StandardEntity { name : String; ... } entitáskezelő : StandardEntity { name : String; ... }

 

A közös fájl alapértelmezés szerint már létrejött egy előre meghatározott nevű entitással cuid.

UUID-ek leképezése OData-hoz

A CDS alapértelmezés szerint az összes OData modellben leképezi az UUID-ket az Edm.Guid-ra. Az OData szabvány azonban korlátozó szabályokat állít fel az Edm.Guid értékekre – például csak kötőjeles karakterláncok megengedettek –, amelyek ütközhetnek a meglévő adatokkal. Ezért engedélyezzük az alapértelmezett leképezés felülbírálását az alábbiak szerint:

entitás Könyvek {

kulcsazonosító: UUID @odata.Type:'Edm.String';

...

}

Ha szükséges, hozzáadhatja az @odata.MaxLength megjegyzést is, hogy felülbírálja a megfelelő tulajdonságot.

Egyesület

Két entitás közötti kapcsolat meghatározására szolgál. Az ABAP CDS-hez hasonlóan itt is ezt a szót használjuk Egyesület. Itt a kulcsszó sok jelzi a 0..* kardinalitás. A kardinalitásra vonatkozó korlátozásokat megkötésként (ahol feltételként) adhatjuk hozzá – például a használatával nem nulla.

Kompozíciók

Ellentétben az asszociációval, ahol az entitás mezőjét egy teljes entitás objektumaihoz társítjuk, a kompozíciók csak egy másik entitás meghatározott mezőjére vonatkoznak. Extra előnye az önállóan kezelt mélyműveletek (Beszúrás/Frissítés) és a lépcsőzetes törlés (Több függő tábla törlése).

// Rendelések definiálása tartalmazott OrderItems-ekkelentitás Rendelések { kulcsazonosító : UUID; Items : Számos Order_Items összetétele a következőn: Items.parent=$self;}entity Order_Items { // csak a Megrendeléseken keresztül érhető el  kulcsfontosságú szülő: Megrendelésekhez való társulás; kulcskönyv : Társulás a könyvekhez; mennyiség : Integer;}

Legjobb gyakorlatok

  1. Ne adjon hozzá technikai részleteket a Modellekhez, mi használjuk Szempontoke
  2. használat rövid nevek és a egyszerű lapos modellek
  3. Ne normalizálja túl az entitásokat a Modellekben
  4. Használjon helyi egész sorozatokat, ha valóban nagy terhelésekkel és mennyiségekkel foglalkozik. Ellenkező esetben előnyben részesítse az UUID-ket

Eddig amit tanultunk: Modell és szempontok létrehozása a tetején.

Domain modellezés az SAP CAP-ban

Véleménye fontos számunkra!

Ez az oldal Akismet-et használ a levélszemét csökkentése érdekében. Ismerje meg, hogyan dolgozik a megjegyzésed.