اس مضمون کا ماڈیول: iFlow Inspector
SAP CPI naming conventions: ایک rule pack جسے آپ کی ٹیم نافذ کر سکے
SAP CPI کے steps، channels، properties اور ProcessDirect addresses کے لیے naming conventions، ٹیم کے مشترکہ rule pack کی صورت میں، اور ہر iFlow کو اس کے مطابق کیسے جانچیں۔

زیادہ تر SAP Cloud Integration (SAP CPI) ٹیموں کے پاس naming conventions ہوتی ہیں۔ کم ٹیموں کے پاس ایسی conventions ہوتی ہیں جن پر ہر iFlow عمل کرے، کیونکہ قواعد کسی wiki صفحے پر ہوتے ہیں اور transport سے پہلے کوئی Content Modifier کا نام چیک نہیں کرتا۔
یہ مضمون steps، channels، properties اور addresses کے لیے ایک ابتدائی convention تجویز کرتا ہے، دکھاتا ہے کہ اسے ایسے قواعد کی صورت میں کیسے لکھیں جنہیں کوئی ٹول جانچ سکے، اور ٹیم اسے کیسے شیئر اور نافذ کر سکتی ہے۔
SAP CPI میں نام کیوں اہم ہیں
کسی step کا نام وہی ہے جو کچھ خراب ہونے پر آپ کو نظر آتا ہے۔ Monitor ناکام step کو نام سے بتاتا ہے، "order ID سیٹ کرنے والے step" کی تلاش اسے تبھی ڈھونڈتی ہے جب نام یہی کہے، اور ڈیزائن دستاویز یا hand-over ڈایاگرام کے labels کی طرح پڑھا جاتا ہے۔ "Content Modifier 3" کچھ نہیں بتاتا؛ CM_SetOrderHeaders بتاتا ہے کہ یہ کیا کرتا ہے۔
یکساں نام دو iFlows کو قابلِ موازنہ بھی بناتے ہیں: convention جاننے والا reviewer ٹیم کا کوئی بھی iFlow ایک نظر میں پڑھ سکتا ہے۔
ایک ابتدائی convention
Step کی قسم کا prefix، پھر وہ کیا کرتا ہے، PascalCase میں، زیادہ تر ٹیموں کے لیے کافی ہے۔ یہ وہ pack ہے جو Kitegra کے ساتھ آتا ہے؛ یہ اپنانے کے لیے ایک نقطۂ آغاز ہے، کوئی SAP standard نہیں:
| عنصر | پیٹرن | مثال |
|---|---|---|
| Content Modifier | CM_<Action> | CM_SetOrderHeaders |
| Groovy یا JavaScript script | GS_<Action> | GS_BuildPayload |
| Router | RT_<Decision> | RT_ByOrderType |
| Request Reply | RR_<System> | RR_S4HanaOData |
| Content Enricher | CE_<Lookup> | CE_CustomerMaster |
| Process Call | PC_<Process> | PC_CallValidateOrder |
| Local Integration Process | LIP_<Purpose> | LIP_ValidateOrder |
| Exception Subprocess | ESP_<Purpose> | ESP_LogAndAlert |
| Message Mapping | MM_<Source>_to_<Target> | MM_Order_to_SalesOrder |
| Sender اور Receiver | <PascalCase> | S4Hana، Salesforce |
| Exchange property | <camelCase> | orderId |
| ProcessDirect address | /<Path> | /orders/validate |
Convention کو قواعد کی صورت میں لکھیں
جس convention کو کوئی ٹول جانچ سکے وہ قواعد کی ایک فہرست ہے، ہر قسم کے element کے لیے ایک۔ لفظی متن بالکل میل کھانا چاہیے؛ <Placeholder> کسی بھی متن کی جگہ ہے؛ <PascalCase>، <camelCase>، <UPPER>، <lower> اور <Number> اس شکل کے متن کی جگہ ہیں۔ ہر قسم کا پہلا قاعدہ لاگو ہوتا ہے، اور ہر قاعدے کی ایک شدت ہوتی ہے: "خرابی"، "انتباہ" یا "معلومات"۔
Kitegra میں قواعد ایک JSON rule pack ہیں۔ ایک اقتباس:
{
"rules": [
{
"id": "content-modifier",
"target": "content-modifier",
"pattern": "CM_<Action>",
"example": "CM_SetOrderHeaders",
"notes": "Content Modifier: CM_ and what it sets.",
"severity": "warning",
"enabled": true
},
{
"id": "mapping",
"target": "mapping",
"pattern": "MM_<Source>_to_<Target>",
"example": "MM_Order_to_SalesOrder",
"notes": "Message Mapping: source and target message.",
"severity": "info",
"enabled": true
},
{
"id": "property",
"target": "property",
"pattern": "<camelCase>",
"example": "orderId",
"notes": "Exchange property names in camelCase.",
"severity": "info",
"enabled": true
}
]
}ٹیم کے طور پر اس پر متفق ہوں
- ایکسٹینشن کا "اختیارات" صفحہ کھولیں اور "نام رکھنے کے قواعد" تلاش کریں۔ یہ default pack سے شروع ہوتا ہے۔
- کسی قاعدے کا "پیٹرن"، "شدت" یا "نوٹس" بدلیں، "قاعدہ آن" سے کوئی قاعدہ بند کریں، یا "قاعدہ شامل کریں" چنیں اور منتخب کریں کہ یہ کیا "جانچتا ہے"۔
- "JSON ایکسپورٹ" چنیں اور فائل وہاں رکھیں جہاں ٹیم اپنے standards رکھتی ہے، transport guidelines کے ساتھ۔
- ہر ساتھی اس فائل کے ساتھ "JSON امپورٹ" چنے۔ جب وہ Kitegra سے سائن اِن ہوں تو pack پھر ہر کمپیوٹر پر ان کے ساتھ جاتا ہے۔
Sync ایک شخص کا pack اس کے تمام کمپیوٹرز پر یکساں رکھتا ہے؛ مشترکہ JSON فائل ہی پوری ٹیم کو ایک جیسے قواعد پر رکھتی ہے۔
کسی iFlow کو قواعد کے مطابق جانچیں
iFlow کھولیں، "Kitegra ٹولز" بٹن پر کلک کریں اور "انسپکٹر" چنیں (یا Alt+Shift+K دبائیں)۔ "نام رکھنا" ٹیب قواعد سے ہٹ کر ہر نام کی فہرست دیتا ہے، بٹن پر ان کی گنتی کے ساتھ: اصل نام، "متوقع"، "مثال"، اور جہاں step کا مواد اجازت دے، step کے کام سے بنایا گیا "تجویز" کردہ نام۔ کسی finding پر کلک کرنے سے ڈایاگرام پر وہ step منتخب ہو جاتا ہے۔
Edit mode میں "نام بدلیں" تجویز کردہ نام step کے Name field میں لکھ دیتا ہے۔ یہ کبھی محفوظ نہیں کرتا: panel کہتا ہے "نام بدل گیا۔ رکھنے کے لیے iFlow محفوظ کریں۔"، اور فیصلہ آپ کا ہے۔
یہی findings ڈیزائن چیکس کے ساتھ iFlow رپورٹ میں نظر آتی ہیں، جیسا کہ iFlow ریویو چیک لسٹ دکھاتی ہے، اور اچھے نام خودکار بنی ڈیزائن دستاویز کو پڑھنے میں آسان بناتے ہیں۔
Kitegra کیسے مدد کرتا ہے
نام رکھنا، Kitegra کے iFlow Inspector کا حصہ ہے۔ یہ جانچ آپ کے براؤزر میں iFlow کا ماڈل پڑھتی ہے؛ سائن اِن ہونے پر آپ کا rule pack آپ کے Kitegra اکاؤنٹ کے ساتھ sync ہوتا ہے، اور iFlow کا مواد کبھی نہیں بھیجا جاتا۔
Helper، Message Monitor، iFlow Inspector اور iFlow Docs میں سے ہر ایک ان iFlows کو گنتا ہے جن پر آپ اسے استعمال کرتے ہیں: Kitegra اکاؤنٹ کے بغیر ہر ماڈیول میں 5، Free پلان پر 50، Starter پر 100 اور Pro پر 300؛ Business میں کوئی حد نہیں۔ Toolbox اور ورک اسپیس کی اضافی سہولتیں مفت ہیں۔ پلانز کا موازنہ کریں۔
اپنے اگلے iFlow میں آزمائیں
پڑھیں کہ Kitegra، SAP Integration Suite ڈیزائنر کے ارد گرد کیا اضافہ کرتا ہے، یا اسے Kitegra کی دوسری Chrome ایکسٹینشنز کے ساتھ دیکھیں۔
اکثر پوچھے جانے والے سوالات
کیا SAP کے پاس CPI کے لیے کوئی سرکاری naming convention ہے؟
SAP رہنما اصول شائع کرتا ہے، لیکن ہر ٹیم اپنے قواعد خود طے کرتی ہے۔ اس مضمون کا pack اپنانے کے لیے ایک نقطۂ آغاز ہے۔
Step کے نام میں کیا ہونا چاہیے؟
Step کی قسم اور یہ کیا کرتا ہے، مثلاً order headers سیٹ کرنے والے Content Modifier کے لیے CM_SetOrderHeaders۔
میں naming rules اپنی ٹیم کے ساتھ کیسے شیئر کروں؟
"اختیارات" صفحے سے rule pack کو JSON کے طور پر export کریں، فائل اپنی ٹیم کے standards کے ساتھ رکھیں، اور ہر ساتھی کو اسے import کرنے دیں۔
کیا ایکسٹینشن خود steps کے نام بدلتی ہے؟
نہیں۔ "نام بدلیں" edit mode میں تجویز کردہ نام step کے Name field میں لکھتا ہے، اور iFlow آپ خود محفوظ کرتے ہیں۔
کیا میں کسی قاعدے کو انتباہ کے بجائے خرابی بنا سکتا ہوں؟
جی ہاں۔ ہر قاعدے کی ایک شدت ہوتی ہے: "خرابی"، "انتباہ" یا "معلومات"۔
کیا exchange property کے نام بھی جانچے جاتے ہیں؟
جی ہاں۔ Default pack، exchange properties کے لیے camelCase کی توقع رکھتا ہے، اور آپ وہ قاعدہ بدل سکتے ہیں۔