SAP CAP дахь домэйн загварчлал

Оршил

SAP CAP дахь домэйн загвар нь асуудалтай домэйны статик, өгөгдөлтэй холбоотой талуудыг аж ахуйн нэгж хоорондын харилцааны загвараар дүрсэлсэн загвар юм. Энэ нийтлэлд бид SAP CAP дахь домэйн загварчлалыг нарийвчлан судлах болно.

Домэйн загварчлал

Энгийн үгээр хэлбэл, SAP CAP дахь CDS нь бизнесийн асуудлыг түлхүүр, талбар, тэмдэглэгээгээр тодорхойлох байдлаар домайн загварыг гаргадаг. Домэйн загвар үүсгэх кодыг CDS схемд (db/schema.cds) бичсэн болно. Эдгээр домэйн загваруудыг үйлчилгээний тодорхойлолт, тогтвортой загвар, мэдээллийн санд ашиглах эсвэл өөр домэйн загварт дахин ашиглах боломжтой.

Жишээ жишээ:

Нэрийн орон зай empInfo; '@sap/cds/common'-с {Currency, managed}-г ашиглах; аж ахуйн нэгж Ажилтнууд: удирдаж буй { түлхүүр ID: Бүхэл тоо; firstName: нутагшуулсан мөр (111); овог нэр: нутагшуулсан мөр (1111); менежер: Менежерүүдийн холбоо; Нэгдсэн огноо: Бүхэл тоо; цалин: Аравтын тоо (9,2); валют: Валют; }

 

Энэ жишээнд бид Ажилтны үндсэн мэдээллийг агуулсан schema.cds файлыг үүсгэсэн.

Энэ бүх схемд нэрийн орон зай, өөрөөр хэлбэл empInfo өгөгдсөн

Энэ схем нь стандарт өгөгдлийн төрлийг ашигладаг, өөрөөр хэлбэл Валют. Ийм стандарт өгөгдлийн төрлийг ашиглах нь үүнтэй холбоотой бүх урьдчилан тодорхойлсон утгыг авчрахад тусалдаг.

Бид загвар үүсгэхийн тулд CDS ашигладаг. Тэр CDS-д бид ашигладаг

  1. Өвөрмөц объектуудын багцыг төлөөлөх байгууллагууд, жишээ нь:
    1. Ажилтны үндсэн мэдээлэл
    2. Ажилчдын харилцааны мэдээлэл
    3. Ажилчдын цалингийн мэдээлэл
  2. Харилцаа холбоог тодорхойлох холбоо
    1. Бүх Менежерүүдийн жагсаалттай байх менежерийг өөр аж ахуйн нэгжтэй холбох Менежер

Нэрлэх конвенц ба зөвлөмжүүд

  1. Аж ахуйн нэгжийн нэр том үсгээр эхэлсэн байх ёстой бөгөөд энэ нь хүн уншихад ойлгомжтой, ойлгомжтой байх ёстой - жишээлбэл, Ажилтнууд
  2. Элементүүдийг жижиг үсгээр эхлүүлэх - жишээлбэл, firstName
  3. Аж ахуйн нэгжийн олон тооны хэлбэрийг ашиглахыг зөвлөж байна - жишээлбэл, Ажилчид
  4. Нэг төрлийн төрлийг ашиглахыг зөвлөж байна - жишээлбэл, Валют
  5. контекстийг бүү давт – жишээлбэл, Ажилтны нэрийн оронд Employees.name.
  6. нэг үгтэй нэрийг илүүд үздэг - жишээлбэл, цалингийн оронд цалин
  7. Техникийн үндсэн түлхүүрүүдэд ID-г ашиглана уу – жишээлбэл, ажилтны ID-д зориулсан ID
  8. Та өөрийн аж ахуйн нэгжүүдийг өвөрмөц болгохын тулд Namespace ашиглаж болно. Энэ нь SAP дээрх үйлчлүүлэгчийн үзэл баримтлалтай адил бөгөөд та тэдгээрийг ялгахын тулд өвөрмөц Нэрийн орон зайтай давхардсан схемүүд (cds файлууд) байж болно. Нэрийн орон зай нь сонголттой, хэрэв таны загварыг бусад төслүүдэд дахин ашиглах боломжтой бол нэрийн орон зайг ашиглаарай. Эцсийн эцэст эдгээр нь файл дахь бүх холбогдох нэрэнд автоматаар хэрэглэгдэх угтварууд юм. - Жишээлбэл,

нэрийн зай зөөврийн компьютер; аж ахуйн нэгж Dell {}

..… тэнцүү байна:

аж ахуйн нэгжийн зөөврийн компьютер.Dell {}

  1. Та нэрийн орон зайн хэсгүүдэд контекст ашиглаж болно. - Жишээлбэл,

нэрийн зай зөөврийн компьютер; аж ахуйн нэгж Dell {}           //> зөөврийн компьютер.Dellконтекст Apple { аж ахуйн нэгж MacBookPro {}       //> зөөврийн компьютер.Apple.MacBookPro     аж ахуйн нэгж MacBookAir {} }

 

Аж ахуйн нэгж

Аж ахуйн нэгжүүд нь үндсэн түлхүүрүүдтэй хүснэгтүүдтэй адил юм. Бид эдгээр аж ахуйн нэгжүүдийг ашиглан CRUD үйлдлийг гүйцэтгэх боломжтой. Үүнийг аль болох тэгшхэн байлга. Үүнийг хэвийн болгож болохгүй. Дахин ашиглах боломжгүй төрлийг бүү ашигла. Энэ хэсэг нь зөвхөн загварчлалд зориулагдсан бөгөөд зөвхөн тусдаа талбартай холбоотой тайлбарыг нэмж, техникийн дэлгэрэнгүй мэдээлэл (логик) нэмэх ёсгүй.

төрөл

Төрөл нь SAP ABAP дахь Domain-тэй адил бөгөөд энэ нь өгөгдлийн элементүүдийн төрлийг тодорхойлоход хэрэглэгддэг.

Асуудал

Аспектууд нь Загваруудын өргөтгөлүүд бөгөөд голчлон одоо байгаа тодорхойлолт, тэмдэглэгээг өргөтгөхөд ашиглагддаг. Загварыг тодорхойлсны дараа бид өөр өөр cds файлуудыг (Aspect) ашиглаж, дээр нь тодорхой даалгаварт тэмдэглэгээ нэмж болно.

Жишээлбэл-

  • CD-үүд– Таны үндсэн домэйн загвар, цэвэр, энгийн, ойлгомжтой байх
  • audit-model.cds– файлд аудит хийхэд шаардлагатай нэмэлт талбаруудыг нэмнэ
  • auth-model.cds- зөвшөөрлийн тайлбарыг нэмнэ.

Үндсэн түлхүүрүүд

SAP ABAP дахь хүснэгтүүд болон CDS-ийн нэгэн адил бид аж ахуйн нэгжийн үндсэн түлхүүрүүдийг түлхүүр үг ашиглан хадгалдаг түлхүүр.

Үндсэн түлхүүрийг нийтлэг тодорхойлолтын аргачлалыг ашиглан загвар даяар дахин ашиглаж болно.

Бид бүх нийтлэг тодорхойлолтуудыг хадгалах боломжтой common.cds загварыг үүсгэж болно.

// нийтлэг тодорхойлолтууд

аж ахуйн нэгж StandardEntity { түлхүүр ID : UUID; } Одоо эдгээр нийтлэг тодорхойлолтуудыг дараах байдлаар дахин ашиглаж болно: './common'-аас { StandardEntity }-г ашиглан; аж ахуйн нэгж Ажилтан : StandardEntity {нэр : Мөр; ... } аж ахуйн нэгж менежер : StandardEntity { нэр : Мөр; ... }

 

Нийтлэг файл нь анхдагчаар аль хэдийн нэрлэгдсэн урьдчилан тодорхойлсон нэгжээр үүсгэгдсэн байдаг cuid.

UUID-г OData-д буулгах

CDS нь бүх OData загварт UUID-г Edm.Guid-д буулгадаг. Гэсэн хэдий ч OData стандарт нь Edm.Guid утгуудын хувьд хязгаарлалттай дүрмүүдийг тавьдаг - жишээлбэл, зөвхөн зураасаар тэмдэглэсэн мөрүүдийг зөвшөөрдөг - энэ нь одоо байгаа өгөгдөлтэй зөрчилдөж болзошгүй. Тиймээс бид үндсэн зураглалыг дараах байдлаар хүчингүй болгохыг зөвшөөрч байна:

аж ахуйн нэгжийн ном {

түлхүүр ID: UUID @дата.Төрөл:'Edm.String';

...

}

Шаардлагатай бол та @odata.MaxLength тэмдэглэгээг нэмж харгалзах шинж чанарыг дарж бичиж болно.

Холбоо

Энэ нь хоёр байгууллагын хоорондын харилцааг тодорхойлоход хэрэглэгддэг. ABAP CDS-ийн нэгэн адил бид энд бас энэ үгийг ашигладаг Холбоо. Энд, түлхүүр үг олон заана 0..* кардинал байдал. Кардинал байдлын хязгаарлалтыг хязгаарлалт болгон нэмж болно (нөхцөл байдал) - жишээ нь, ашиглах null биш.

Бүтэц

Бид аж ахуйн нэгжийн талбарыг бүхэл бүтэн аж ахуйн нэгжийн объектуудтай холбодог Ассоциациас ялгаатай нь найрлага нь зөвхөн өөр аж ахуйн нэгжийн тодорхой талбарт хамаарна. Энэ нь өөрөө удирддаг гүн үйлдлүүд (Оруулах/Шинэчлэх) болон шаталсан устгах (Олон хамааралтай хүснэгт устгах) зэрэг нэмэлт давуу талтай.

// Агуулагдсан OrderItems бүхий захиалгыг тодорхойлохаж ахуйн нэгж захиалга { гол ID : UUID; Зүйлс : Items.parent=$self;}байгууллага дээрх захиалгын_зүйлүүдийн олон найрлага { // Зөвхөн захиалгаар дамжуулан хандах боломжтой  гол эцэг эх: Захиалгын холбоо; гол ном: Номын холбоо; тоо хэмжээ: бүхэл тоо;}

Шилдэг туршлага

  1. Загваруудад техникийн дэлгэрэнгүй мэдээллийг бүү нэм, бид ашигладаг Асуудалүүний төлөө
  2. ашиглах богино нэрс болон энгийн хавтгай загварууд
  3. Загвар дээрх аж ахуйн нэгжүүдийг хэвийн болгож болохгүй
  4. Хэрэв та өндөр ачаалал, эзлэхүүнтэй үнэхээр харьцдаг бол орон нутгийн бүхэл тоон дарааллыг ашиглана уу. Үгүй бол UUID-г илүүд үзээрэй

Өнөөдрийг хүртэл бид юу сурсан: Загвар бий болгох, үүний дээр талууд.

SAP CAP дахь домэйн загварчлал

Сэтгэгдэл үлдээх

Энэ сайт нь спамыг багасгахын тулд Akismet-ийг ашигладаг. Таны өгөгдлийг хэрхэн боловсруулдаг талаар суралц.