इस लेख का मॉड्यूल: iFlow Inspector
SAP CPI naming conventions: एक rule pack जिसे आपकी team लागू कर सके
SAP CPI steps, channels, properties और ProcessDirect addresses के लिए naming conventions, team के साझा rule pack के रूप में, और हर iFlow को उससे कैसे जाँचें।

ज़्यादातर SAP Cloud Integration (SAP CPI) teams के पास naming conventions होती हैं। कम teams के पास ऐसी conventions होती हैं जिनका पालन हर iFlow करे, क्योंकि नियम किसी wiki पेज पर रहते हैं और transport से पहले कोई Content Modifier का नाम नहीं जाँचता।
यह लेख steps, channels, properties और addresses के लिए एक शुरुआती convention सुझाता है, दिखाता है कि उसे ऐसे नियमों के रूप में कैसे लिखें जिन्हें कोई tool जाँच सके, और एक team उसे कैसे साझा और लागू कर सकती है।
SAP CPI में नाम क्यों मायने रखते हैं
कुछ टूटने पर आपको step का नाम ही दिखता है। Monitor fail होने वाले step को नाम से बताता है, "order ID सेट करने वाले step" की खोज उसे तभी ढूँढती है जब नाम यही कहे, और design document या hand-over diagram के labels जैसा ही पढ़ा जाता है। "Content Modifier 3" कुछ नहीं बताता; CM_SetOrderHeaders बताता है कि वह क्या करता है।
एक जैसे नाम दो iFlows को तुलना के लायक भी बनाते हैं: convention जानने वाला reviewer team का कोई भी iFlow एक नज़र में पढ़ सकता है।
एक शुरुआती convention
Step के प्रकार के लिए एक prefix, फिर वह क्या करता है, PascalCase में: ज़्यादातर teams के लिए इतना काफ़ी है। यह वह pack है जो Kitegra के साथ आता है; यह अपनाने के लिए एक शुरुआती बिंदु है, SAP का standard नहीं:
| Element | पैटर्न | उदाहरण |
|---|---|---|
| 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 को कोई tool जाँच सके, वह नियमों की एक सूची है, हर प्रकार के element के लिए एक। Literal text बिल्कुल मेल खाना चाहिए; <Placeholder> किसी भी text की जगह लेता है; <PascalCase>, <camelCase>, <UPPER>, <lower> और <Number> उस आकार के text की जगह लेते हैं। हर प्रकार का पहला नियम लागू होता है, और हर नियम की एक गंभीरता होती है: "त्रुटि", "चेतावनी" या "जानकारी"।
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
}
]
}Team के रूप में इस पर सहमत हों
- एक्सटेंशन का options पेज खोलें और "नामकरण नियम" ढूँढें। यह default pack से शुरू होता है।
- किसी नियम का "पैटर्न", "गंभीरता" या "टिप्पणियाँ" बदलें, "नियम चालू" से किसी नियम को बंद करें, या "नियम जोड़ें" चुनें और तय करें कि वह क्या "जाँचता है"।
- "JSON एक्सपोर्ट" चुनें और फ़ाइल वहाँ रखें जहाँ team अपने standards रखती है, transport guidelines के पास।
- हर सहकर्मी उस फ़ाइल के साथ "JSON इंपोर्ट" चुनता है। जब वे Kitegra से साइन इन होते हैं, तो pack हर कंप्यूटर पर उनके साथ रहता है।
Sync एक व्यक्ति का pack उसके सभी कंप्यूटरों पर एक जैसा रखता है; साझा JSON फ़ाइल ही पूरी team को एक जैसे नियमों पर रखती है।
किसी iFlow को नियमों से जाँचें
iFlow खोलें, "Kitegra टूल" बटन पर क्लिक करें और "इंस्पेक्टर" चुनें (या Alt+Shift+K दबाएँ)। "नामकरण" tab नियमों से बाहर का हर नाम दिखाता है, और बटन पर उनकी गिनती होती है: असली नाम, क्या "अपेक्षित" था, एक "उदाहरण" और, जहाँ step का content इसकी अनुमति दे, step के काम से बना एक "सुझाया गया" नाम। किसी finding पर क्लिक करने से diagram पर वह step चुना जाता है।
Edit mode में "नाम बदलें" सुझाए गए नाम को step के Name field में टाइप कर देता है। यह कभी सेव नहीं करता: panel कहता है "नाम बदल गया। रखने के लिए iFlow सेव करें।", और फ़ैसला आपका होता है।
यही findings iFlow report में design जाँचों के बगल में दिखती हैं, जैसा iFlow review checklist दिखाती है, और अच्छे नाम generate किए गए design document को पढ़ने में आसान बनाते हैं।
Kitegra कैसे मदद करता है
Naming, Kitegra के iFlow Inspector का हिस्सा है। जाँच आपके browser में iFlow का model पढ़ती है; साइन इन करने पर आपका rule pack आपके Kitegra खाते के साथ sync होता है, और iFlow का content कभी नहीं भेजा जाता।
Helper, Message Monitor, iFlow Inspector और iFlow Docs हर एक उन iFlows को गिनते हैं जिन पर आप उन्हें इस्तेमाल करते हैं: Kitegra खाते के बिना हर मॉड्यूल में 5, Free प्लान में 50, Starter में 100 और Pro में 300; Business में कोई सीमा नहीं। Toolbox और workspace की अतिरिक्त सुविधाएँ मुफ़्त हैं। प्लान की तुलना करें।
अपने अगले iFlow में आज़माएँ
पढ़ें कि Kitegra, SAP Integration Suite के डिज़ाइनर में क्या-क्या जोड़ता है, या इसे Kitegra के बाकी Chrome एक्सटेंशन के साथ देखें।
अक्सर पूछे जाने वाले प्रश्न
क्या SAP ने CPI के लिए कोई आधिकारिक naming convention दी है?
SAP guidelines प्रकाशित करता है, लेकिन हर team अपने नियम ख़ुद तय करती है। इस लेख का pack अपनाने के लिए एक शुरुआती बिंदु है।
Step के नाम में क्या होना चाहिए?
Step का प्रकार और वह क्या करता है, जैसे order headers सेट करने वाले Content Modifier के लिए CM_SetOrderHeaders।
मैं naming rules अपनी team के साथ कैसे साझा करूँ?
Options पेज से rule pack को JSON के रूप में export करें, फ़ाइल को team के standards के साथ रखें, और हर सहकर्मी से उसे import करवाएँ।
क्या एक्सटेंशन steps का नाम अपने-आप बदलता है?
नहीं। Edit mode में "नाम बदलें" सुझाए गए नाम को step के Name field में टाइप करता है, और iFlow आप ख़ुद सेव करते हैं।
क्या मैं किसी नियम को warning की जगह error बना सकता हूँ?
हाँ। हर नियम की एक गंभीरता होती है: "त्रुटि", "चेतावनी" या "जानकारी"।
क्या exchange property के नाम भी जाँचे जाते हैं?
हाँ। Default pack exchange properties के लिए camelCase की अपेक्षा करता है, और आप वह नियम बदल सकते हैं।