SAP CAP میں ڈومین ماڈلنگ

تعارف

SAP CAP میں ایک ڈومین ماڈل ایک ماڈل ہے جو ہستی-تعلق کے ماڈلز کے لحاظ سے مسئلہ ڈومین کے جامد، ڈیٹا سے متعلقہ پہلوؤں کو بیان کرتا ہے۔ اس مضمون میں ہم SAP CAP میں ڈومین ماڈلنگ کا تفصیل سے مطالعہ کریں گے۔

ڈومین ماڈلنگ

سادہ الفاظ میں، SAP CAP میں ایک CDS ڈومین ماڈل کو اس طرح تیار کرتا ہے کہ یہ کاروباری مسئلے کو کلیدوں، فیلڈز اور تشریحات کے لحاظ سے بیان کرتا ہے۔ ڈومین ماڈل بنانے کا کوڈ CDS اسکیما (db/schema.cds) میں لکھا جاتا ہے۔ ان ڈومین ماڈلز کو سروس ڈیفینیشنز، پرسسٹینس ماڈلز، ڈیٹا بیس میں استعمال کیا جا سکتا ہے یا کسی اور ڈومین ماڈل میں دوبارہ استعمال کیا جا سکتا ہے۔

نمونہ مثال:

نام کی جگہ empInfo; '@sap/cds/common' سے {Currency, managed} کا استعمال کرتے ہوئے؛ ادارے کے ملازمین: منظم { کلیدی ID: انٹیجر؛ پہلا نام: مقامی سٹرنگ (111)؛ آخری نام: مقامی سٹرنگ (1111)؛ مینیجر: ایسوسی ایشن ٹو مینیجرز؛ شمولیت کی تاریخ: عددی تنخواہ: اعشاریہ (9,2)؛ currency : کرنسی }

 

اس مثال میں ہم نے ایک فائل schema.cds بنائی ہے جہاں ہم نے ایک entity Employees بنایا ہے جس میں ملازم کی بنیادی تفصیلات شامل ہیں۔

اس پورے اسکیما کو ایک نام کی جگہ یعنی empInfo دی گئی ہے۔

یہ اسکیما معیاری ڈیٹا کی قسم یعنی کرنسی کا استعمال کرتا ہے۔ اس طرح کے معیاری ڈیٹا کی قسم کو استعمال کرنے سے ہمیں اس سے متعلق تمام پہلے سے طے شدہ قدر لانے میں مدد ملتی ہے۔

ہم ایک ماڈل بنانے کے لیے CDS کا استعمال کرتے ہیں۔ اس سی ڈی ایس میں، ہم استعمال کرتے ہیں۔

  1. منفرد اشیاء کے سیٹ کی نمائندگی کرنے والی ہستی جیسے:
    1. ملازم کی بنیادی معلومات
    2. ملازم کی مواصلاتی معلومات
    3. ملازمین کی تنخواہ کی معلومات
  2. تعلقات کی وضاحت کے لیے ایسوسی ایشنز
    1. کسی دوسرے ادارے کے مینیجر کے لیے مینیجر ایسوسی ایشن جس میں تمام مینیجرز کی فہرست ہوگی۔

نام دینے کا کنونشن اور سفارشات

  1. ہستی کا نام بڑے حرف سے شروع ہونا چاہیے اور یہ انسانی پڑھنے کے قابل اور خود وضاحتی ہونا چاہیے - مثال کے طور پر، ملازمین
  2. عناصر کو چھوٹے حروف سے شروع کریں - مثال کے طور پر، firstName
  3. اداروں کی جمع شکل استعمال کرنے کی سفارش کی جاتی ہے - مثال کے طور پر، ملازمین
  4. اقسام کی واحد شکل استعمال کرنے کی سفارش کی جاتی ہے - مثال کے طور پر، کرنسی
  5. سیاق و سباق کو نہ دہرائیں - مثال کے طور پر، Employees.EmployeeName کے بجائے Employees.name
  6. ایک لفظی ناموں کو ترجیح دیں - مثال کے طور پر، salaryAmount کے بجائے تنخواہ
  7. تکنیکی بنیادی کلیدوں کے لیے ID استعمال کریں - مثال کے طور پر، ملازم ID کے لیے ID
  8. آپ اپنے اداروں کو منفرد بنانے کے لیے Namespace استعمال کر سکتے ہیں۔ یہ SAP میں کلائنٹ کے تصور کی طرح ہے جہاں آپ کے پاس ڈپلیکیٹ اسکیموں (cds فائلوں) کو منفرد نیم اسپیس کے ساتھ مختلف کرنے کے لیے ہو سکتا ہے۔ نام کی جگہیں اختیاری ہیں، اگر آپ کے ماڈلز کو دوسرے پروجیکٹس میں دوبارہ استعمال کیا جا سکتا ہے تو نام کی جگہیں استعمال کریں۔ دن کے اختتام پر وہ صرف سابقہ ​​ہیں، جو خود بخود فائل میں تمام متعلقہ ناموں پر لاگو ہوتے ہیں۔ - مثال کے طور پر،

نام کی جگہ لیپ ٹاپ؛ ہستی ڈیل {}

..… کے برابر ہے:

entity laptop.Dell {}

  1. آپ نیسٹڈ نیم اسپیس سیکشنز کے لیے سیاق و سباق استعمال کر سکتے ہیں۔ - مثال کے طور پر،

نام کی جگہ لیپ ٹاپ؛ ہستی ڈیل {}           //> laptop.Dellسیاق و سباق Apple { entity MacBookPro {}       //> laptop.Apple.MacBookPro     entity MacBookAir {} }

 

اداروں

ادارے بنیادی چابیاں والی میزوں کی طرح ہوتے ہیں۔ ہم ان اداروں کا استعمال کرتے ہوئے CRUD آپریشن کر سکتے ہیں۔ اسے ہر ممکن حد تک فلیٹ رکھیں۔ اسے زیادہ نارملائز نہ کریں۔ دوبارہ قابل استعمال اقسام کا استعمال نہ کریں۔ یہ سیکشن صرف ماڈلنگ کے لیے ہے، صرف انفرادی شعبوں سے متعلق تشریح شامل کی جائے اور کوئی تکنیکی تفصیلات (منطق) شامل نہ کی جائیں۔

م

اقسام SAP ABAP میں ڈومین کی طرح ہیں، یہ ڈیٹا عناصر کے ٹائپ شدہ کی وضاحت کے لیے استعمال ہوتی ہے۔

پہلو

پہلو ماڈلز کی توسیعات ہیں اور بنیادی طور پر موجودہ تعریفوں اور تشریحات کو بڑھانے کے لیے استعمال ہوتے ہیں۔ ایک بار جب کسی ماڈل کی وضاحت ہو جاتی ہے، تو ہم مخصوص کام کے لیے ان کے اوپر تشریحات شامل کرنے کے لیے مختلف cds فائلز (Aspect) استعمال کر سکتے ہیں۔

مثال کے طور پر-

  • سی ڈی- آپ کا بنیادی ڈومین ماڈل، صاف، سادہ اور قابل فہم رکھا گیا ہے۔
  • audit-model.cds- فائل میں آڈیٹنگ کے لیے درکار اضافی فیلڈز شامل کرتا ہے۔
  • auth-model.cds- اجازت کے لیے تشریحات شامل کرتا ہے۔

بنیادی چابیاں

ایس اے پی اے بی اے پی میں ٹیبلز اور سی ڈی ایس کی طرح، ہم کلیدی لفظ کا استعمال کرتے ہوئے ہستی کے لیے بنیادی کلیدوں کو برقرار رکھتے ہیں۔ کلیدی

عام تعریفوں کے طریقہ کار کو استعمال کرتے ہوئے ایک بنیادی کلید کو پورے ماڈل میں دوبارہ استعمال کیا جا سکتا ہے۔

ہم ایک common.cds ماڈل بنا سکتے ہیں جہاں تمام مشترکہ تعریفیں محفوظ کی جا سکتی ہیں۔

// عام تعریفیں

entity StandardEntity { کلیدی ID : UUID؛ } اب یہ عام تعریفیں ذیل میں دوبارہ استعمال کی جا سکتی ہیں: './common' سے { StandardEntity } کا استعمال کرتے ہوئے؛ ہستی کا ملازم : StandardEntity { name : String; ... } entity Manager : StandardEntity { name : String; ... }

 

عام فائل پہلے سے طے شدہ طور پر پہلے سے طے شدہ ہستی کے ساتھ بنائی گئی ہے۔ cuid.

UUIDs کو OData میں میپ کرنا

CDS UUIDs کو Edm.Guid پر، ڈیفالٹ کے طور پر، تمام OData ماڈلز میں نقش کرتا ہے۔ تاہم، OData کا معیار Edm.Guid اقدار کے لیے پابندی کے اصول رکھتا ہے - مثال کے طور پر، صرف ہائفینیٹڈ تاروں کی اجازت ہے - جو موجودہ ڈیٹا سے متصادم ہو سکتی ہیں۔ لہذا، ہم ڈیفالٹ میپنگ کو مندرجہ ذیل طور پر اوور رائڈ کرنے کی اجازت دیتے ہیں:

ہستی کی کتابیں {

کلیدی ID: UUID @odata.Type:'Edm.String';

...

}

اگر ضروری ہو تو، آپ @odata.MaxLength تشریح بھی شامل کر سکتے ہیں تاکہ متعلقہ پراپرٹی کو بھی اوور رائیڈ کر سکیں۔

ایسوسی ایشن

یہ دو اداروں کے درمیان تعلق کی وضاحت کے لیے استعمال ہوتا ہے۔ ABAP CDS کی طرح، یہاں بھی ہم لفظ استعمال کرتے ہیں۔ انجمن۔ یہاں، مطلوبہ لفظ بہت سے اشارہ کرتا ہے a 0..* کارڈنلٹی کارڈنالٹی کے لیے پابندیوں کو ایک رکاوٹ کے طور پر شامل کیا جا سکتا ہے (جہاں شرط) - مثال کے طور پر، استعمال کرنا کالعدم نہیں.

رچناوں

ایسوسی ایشن کے برعکس جہاں ہم ہستی کے ایک فیلڈ کو پوری ہستی کی اشیاء کے ساتھ جوڑتے ہیں، کمپوزیشن صرف کسی اور ہستی کے مخصوص فیلڈ کا حوالہ دیتے ہیں۔ اس میں سیلف مینیجڈ ڈیپ آپریشنز (انسرٹ/اپ ڈیٹ) اور کیسکیڈ ڈیلیٹیشن (ملٹی ڈیپینڈنٹ ٹیبل ڈیلیٹ) کا اضافی فائدہ ہے۔

// موجود آرڈر آئٹمز کے ساتھ آرڈرز کی وضاحت کریں۔ہستی کے احکامات { کلیدی ID : UUID؛ آئٹمز : Items.parent=$self;}entity Order_Items پر بہت سے آرڈر_آئٹمز کی ترکیب { // تک رسائی صرف آرڈرز کے ذریعے کی جائے گی۔  کلیدی والدین : ایسوسی ایشن ٹو آرڈرز کلیدی کتاب : ایسوسی ایشن ٹو کتب مقدار: انٹیجر؛}

بہترین طرز عمل

  1. ماڈلز میں تکنیکی تفصیلات شامل نہ کریں، ہم استعمال کرتے ہیں۔ پہلواسی لیے
  2. استعمال مختصر نام اور سادہ فلیٹ ماڈل
  3. ماڈلز میں موجود اداروں کو معمول سے زیادہ نہ بنائیں
  4. اگر آپ واقعی زیادہ بوجھ اور حجم سے نمٹتے ہیں تو مقامی عددی ترتیب استعمال کریں۔ بصورت دیگر، UUIDs کو ترجیح دیں۔

اب تک ہم نے کیا سیکھا ہے: ماڈل کی تخلیق اور اس کے اوپر پہلو۔

SAP CAP میں ڈومین ماڈلنگ

ایک تبصرہ چھوڑ دو

سپیم کو کم کرنے کے لئے یہ سائٹ اکزمیت کا استعمال کرتا ہے. جانیں کہ آپ کا تبصرہ کس طرح عملدرآمد ہے.