Моделирање домена у САП ЦАП-у

увод

Модел домена у САП ЦАП-у је модел који описује статичке аспекте проблематичног домена који се односе на податке у смислу модела односа ентитета. У овом чланку ћемо детаљно проучити моделирање домена у САП ЦАП-у.

Моделирање домена

Једноставним речима, ЦДС у САП ЦАП-у производи модел домена на такав начин да дефинише пословни проблем у смислу кључева, поља и напомена. Код за генерисање модела домена је написан у ЦДС шеми (дб/сцхема.цдс). Ови модели домена се могу користити у дефиницијама услуга, моделима постојаности, базама података или чак поново користити у оквиру другог модела домена.

Пример примера:

Намеспаце емпИнфо; користећи {Цурренци, манагед} са '@сап/цдс/цоммон'; ентитет Запослени: управља { ИД кључа: цео број; име: локализовани низ (111); презиме: локализован стринг (1111); менаџер: Удружење менаџерима; датеофЈоининг: Интегер; плата: Децимала (9,2); валута: Валута; }

 

У овом примеру смо креирали датотеку сцхема.цдс где смо креирали ентитет Запослени који укључује основне детаље о запосленом

Цела ова шема је добила именски простор, тј. емпИнфо

Ова шема користи стандардни тип података, тј. Валута. Коришћење стандардног типа података као што је овај помаже нам да донесемо све унапред дефинисане вредности које се односе на њега.

Користимо ЦДС за креирање модела. У том ЦДС-у користимо

  1. Ентитети који представљају скуп јединствених објеката нпр.:
    1. Основне информације о запосленима
    2. Информације о комуникацији запослених
    3. Информације о платама запослених
  2. Асоцијације за дефинисање односа
    1. Повезивање менаџера са другим ентитетом Менаџер који ће имати сву листу менаџера

Конвенција о именовању и препоруке

  1. Назив субјекта треба да почиње великим словом и треба да буде читљив и разумљив само по себи – на пример, Запослени
  2. Почните елементе малим словом – на пример, име
  3. Препоручује се употреба облика множине ентитета – на пример, Запослени
  4. Препоручује се употреба облика једнине – на пример, Валута
  5. не понављајте контексте – на пример, Емплоиеес.наме уместо Емплоиеес.ЕмплоиееНаме
  6. више воле називе од једне речи – на пример, плата уместо платеАмоунт
  7. користите ИД за техничке примарне кључеве – на пример, ИД за ИД запосленог
  8. Можете да користите Намеспаце да своје ентитете учините јединственим. То је као концепт клијента у САП-у где можете имати дуплиране шеме (цдс датотеке) са јединственим простором имена да бисте их разликовали. Простори имена су опциони, користите просторе имена ако се ваши модели могу поново користити у другим пројектима. На крају крајева, то су само префикси, који се аутоматски примењују на сва релевантна имена у датотеци. - на пример,

именски лаптоп; ентитет Делл {}

..… је еквивалентно са:

ентити лаптоп.Делл {}

  1. Можете користити контексте за угнежђене одељке простора имена. - на пример,

именски лаптоп; ентитет Делл {}           //> лаптоп.Деллконтекст Аппле { ентитет МацБоокПро {}       //> лаптоп.Аппле.МацБоокПро     ентитет МацБоокАир {} }

 

Ентитети

Ентитети су као табеле са примарним кључевима. Можемо извршити ЦРУД операцију користећи ове ентитете. Нека буде што равнија. Не претерујте са нормализацијом. Немојте користити типове који се не могу вишекратно користити. Овај одељак је само за моделирање, треба додати само напомене које се односе на појединачна поља и не треба додавати никакве техничке детаље (логике).

Типови

Типови су као домен у САП АБАП-у, користи се за дефинисање типа елемената података.

Аспекти

Аспекти су проширења модела и углавном се користе за проширење постојећих дефиниција и напомена. Када је модел дефинисан, можемо користити различите цдс датотеке (Аспецт) да бисмо додали напомене на њих за одређени задатак.

На пример-

  • цд– ваш основни модел домена, чист, једноставан и разумљив
  • аудит-модел.цдс– додаје додатна поља потребна за ревизију у датотеци
  • аутх-модел.цдс– додаје напомене за ауторизацију.

Примарни кључеви

Као табеле и ЦДС у САП АБАП-у, одржавамо примарне кључеве за ентитет користећи кључну реч кључ.

Примарни кључ се може поново користити у моделу коришћењем методологије уобичајених дефиниција.

Можемо креирати заједнички.цдс модел где се могу чувати све уобичајене дефиниције.

// уобичајене дефиниције

ентитет СтандардЕнтити { ИД кључа: УУИД; } Сада се ове уобичајене дефиниције могу поново користити на следећи начин: коришћењем { СтандардЕнтити } из './цоммон'; ентитет Запослени : СтандардЕнтити { име : Стринг; ... } Менаџер ентитета : СтандардЕнтити { наме : Стринг; ... }

 

Заједничка датотека је већ креирана подразумевано са унапред дефинисаним ентитетом под називом цуид.

Мапирање УУИД-а у ОДата

ЦДС мапира УУИД-ове у Едм.Гуид, подразумевано, у свим ОДата моделима. Међутим, ОДата стандард поставља рестриктивна правила за вредности Едм.Гуид – на пример, дозвољени су само стрингови са цртицом – која могу бити у сукобу са постојећим подацима. Стога дозвољавамо да се подразумевано мапирање замени на следећи начин:

књиге ентитета {

ИД кључа: УУИД @одата.Типе:'Едм.Стринг';

...

}

Ако је потребно, можете додати и напомену @одата.МакЛенгтх да бисте заменили и одговарајуће својство.

Удружење

Користи се за дефинисање односа између два ентитета. Као и АБАП ЦДС, и овде користимо реч Удружење. Ево, кључна реч многи означава а 0..* кардиналност. Ограничења за кардиналност могу се додати као ограничење (где услов) – на пример, коришћењем није нулто.

Композиције

За разлику од Асоцијације где поље ентитета повезујемо са објектима целог ентитета, композиције се односе само на специфично поље другог ентитета. Има додатну предност дубоких операција којима се самостално управља (уметање/ажурирање) и каскадно брисање (брисање табеле са више зависности).

// Дефинишите поруџбине са садржаним поруџбинамаентитет Налози { ИД кључа: УУИД; Ставке : Састав многих ставки_поруџбина на Итемс.парент=$селф;}ентитет Ордер_Итемс { // приступиће се само путем налога  кључни родитељ: Повезивање са налозима; кључна књига: Асоцијација на књиге; количина: Интегер;}

Најбоље праксе

  1. Немојте додавати техничке детаље у Моделе, ми користимо Аспектиза то
  2. употреба кратка имена  једноставни равни модели
  3. Не претерујте са нормализацијом ентитета у моделима
  4. Користите локалне целобројне секвенце ако се заиста бавите великим оптерећењима и запреминама. У супротном, преферирајте УУИД-ове

До сада смо научили: Креирање модела и аспеката поврх тога.

Моделирање домена у САП ЦАП-у

Ostavite komentar

Ова страница користи Акисмет како би смањила нежељену пошту. Сазнајте како се ваш коментар обрађује.