مواد پر جائیں
← بلاگ پر واپس جائیں

اس مضمون کا ماڈیول: Integration Flow Helper

SAP CPI میں Externalize Parameters، اسٹیپ سیٹنگز کی کاپی اور SAP Business Accelerator Hub سے API امپورٹ

مقررہ addresses کو ایک قدم میں {{parameters}} بنائیں، کسی اسٹیپ کی سیٹنگز دوسرے iFlow میں کاپی کریں، OData queries کو ٹیمپلیٹ کے طور پر محفوظ کریں، Hub سے APIs امپورٹ کریں، sample پر XPath جانچیں اور mapping expressions ترتیب دیں۔

SAP Cloud Integration (SAP CPI) کے کسی iFlow میں سب سے سست کام اکثر logic نہیں ہوتا۔ وہ ہوتا ہے ایک ہی receiver address تین ٹیننٹس میں ٹائپ کرنا، Content Modifier کی دس قطاریں ایک iFlow سے دوسرے میں ہاتھ سے نقل کرنا، پچھلے مہینے لکھی گئی OData query دوبارہ بنانا، یا صرف کسی entity set کے fields جاننے کے لیے API specification ڈاؤن لوڈ کرنا۔

Kitegra کا Helper اب SAP Integration Suite ڈیزائنر کے ساتھ ان سب کے لیے ٹولز رکھتا ہے: Externalize Parameters، OData query ٹیمپلیٹس کے ساتھ اسٹیپ سیٹنگز کاپی اور پیسٹ، SAP Business Accelerator Hub سے امپورٹ، آپ کے sample payload پر XPath کی جانچ، اور Message Mapping expressions کی ترتیب۔ یہ مضمون بتاتا ہے کہ ہر ٹول کیا کرتا ہے، کب آپ کے iFlow کو بدلتا ہے، اور کیا محفوظ رکھتا ہے۔

ایک قدم میں Externalize Parameters

اگر address سیدھا receiver channel میں لکھا ہو تو iFlow کے DEV سے QA اور PROD جانے پر ہر بار خود iFlow میں ترمیم کرنی پڑتی ہے۔ SAP کا حل externalized parameter ہے: field میں {{Receiver_OData_Address}}، اور اس کی قدر ہر ٹیننٹ میں Configure سے set ہوتی ہے۔ Externalize Parameters یہ ٹائپنگ آپ کی جگہ کرتا ہے۔

کوئی iFlow کھولیں، SAP میں Edit دبائیں، اور Kitegra مینو میں Externalize Parameters چنیں۔ پینل وہ مقررہ قدریں دکھاتا ہے جو عموماً ٹیننٹس کے درمیان مختلف ہوتی ہیں:

  • Addresses: URLs، hosts، endpoints، paths، directories اور WSDLs۔ یہ پہلے سے منتخب ہوتے ہیں، سوائے proxy addresses اور ProcessDirect یا JMS addresses کے۔
  • دوسری قدریں: queue اور Data Store کے نام، OData paths اور queries، timeouts، credentials کے نام اور aliases، اور ports۔
  • Content Modifier اور Write Variables کی tables میں Constants۔

ہر قدر کو participant اور field سے بنا ایک تجویز کردہ نام ملتا ہے، جیسے Receiver_OData_Address، جسے آپ بدل سکتے ہیں۔ جو قدریں پہلے سے {{…}} یا ${…} ہیں وہ اسی طرح دکھائی جاتی ہیں۔ پیرامیٹر بنائیں پر کلک کریں، اور منتخب fields کھلے iFlow میں parameters بن جاتے ہیں۔ جب تک آپ SAP میں iFlow محفوظ نہ کریں، کچھ محفوظ نہیں ہوتا۔

چلانے کے بعد واپس کریں پچھلی قدریں لوٹا دیتا ہے، اور موجودہ قدریں کاپی کریں ہر parameter کو اس قدر کے ساتھ کاپی کرتا ہے جس کی جگہ اس نے لی: deploy کے بعد SAP، Configure میں ہر قدر مانگتا ہے، اور آپ انہیں وہاں paste کر دیتے ہیں۔ ہر iFlow کے آخری دس runs واپس کرنے کے لیے رکھے جاتے ہیں۔ جب کسی receiver کا address iFlow میں لکھا ہو تو iFlow Inspector کے ڈیزائن چیکس اسی ٹول کی طرف اشارہ کرتے ہیں۔

کسی اسٹیپ کی سیٹنگز دوسرے اسٹیپ یا iFlow میں کاپی کریں

Kitegra مینو میں اسٹیپ سیٹنگز کاپی اور پیسٹ چنیں، ڈایاگرام پر کوئی اسٹیپ منتخب کریں (یا پینل میں چنیں)، اور سیٹنگز کاپی کریں پر کلک کریں۔ کاپی میں اسٹیپ کے headers، exchange properties اور اڈاپٹر fields ہوتے ہیں۔ پینل آپ کی آخری دس کاپیاں رکھتا ہے، نئی سب سے پہلے، اس براؤزر میں ہر ٹیننٹ اور iFlow کے لیے۔

پیسٹ کرنے کے لیے SAP میں Edit دبائیں، ہدف اسٹیپ منتخب کریں اور … میں پیسٹ کریں پر کلک کریں۔ لکھنے سے پہلے پینل وہ fields دکھاتا ہے جو بدلیں گے۔ ہر table کے لیے آپ رہنے دیں، قطاریں شامل کریں (صرف وہ کاپی شدہ قطاریں جو موجود نہیں) یا قطاریں بدلیں چنتے ہیں۔ کاپی صرف اسی قسم کے اسٹیپ میں جاتی ہے، اور دوسرے iFlow میں بھی جا سکتی ہے، سوائے EDMX path اور script fields کے، جو اسی iFlow کی فائلوں کے نام بتاتے ہیں جہاں سے وہ آئے۔ واپس کریں آخری پیسٹ کی تبدیلیاں لوٹا دیتا ہے۔

OData query ٹیمپلیٹس

یہی پینل OData کوئری ٹیمپلیٹس بھی رکھتا ہے۔ کوئی OData receiver channel منتخب کریں جس کی query آپ بنا چکے ہوں، کوئری کو ٹیمپلیٹ کے طور پر محفوظ کریں پر کلک کریں اور اسے نام دیں۔ ٹیمپلیٹ operation، resource path اور query options جیسے $select، $filter اور $expand محفوظ رکھتا ہے۔ بعد میں edit mode میں کوئی دوسرا OData receiver منتخب کریں اور لاگو کریں پر کلک کریں۔ کسی موجودہ نام سے محفوظ کرنے پر وہ ٹیمپلیٹ بدل جاتا ہے۔ خود options کے لیے دیکھیں OData receiver کے query options۔

کاپیاں اور ٹیمپلیٹس اس براؤزر کی ایکسٹینشن اسٹوریج میں رہتے ہیں۔ یہ آپ کے Kitegra اکاؤنٹ کے ساتھ sync نہیں ہوتے اور کبھی کہیں نہیں بھیجے جاتے۔

SAP Business Accelerator Hub سے API امپورٹ کریں

Helper، EDMX سے OData entity sets اور fields، اور OpenAPI فائل سے HTTP paths تجویز کرتا ہے۔ Hub امپورٹ کے ساتھ اب وہ فائل پہلے ڈاؤن لوڈ کرنے کی ضرورت نہیں۔ ایکسٹینشن کے popup میں کسی iFlow کا صفحہ اس کے Sample payload اور API specification کے ساتھ کھولیں، اور SAP Business Accelerator Hub سے امپورٹ تلاش کریں۔

  1. پہلی بار رسائی کی اجازت دیں پر کلک کریں: براؤزر ایک بار api.sap.com تک رسائی مانگتا ہے۔ جب تک آپ اجازت نہ دیں، Kitegra کے پاس یہ رسائی نہیں ہوتی۔
  2. کوئی API تلاش کریں، مثلاً API_PRODUCT_SRV۔ تلاش کے لیے سائن اِن ضروری نہیں۔
  3. امپورٹ پر کلک کریں۔ specification ڈاؤن لوڈ کرنے کے لیے اس براؤزر میں api.sap.com پر آپ کا سائن اِن ضروری ہے؛ اگر آپ سائن اِن نہیں ہیں تو پینل یہ بتاتا ہے اور Hub کھول دیتا ہے۔

اس کے بعد OData API کے entity sets اور fields اس iFlow کے ان OData receivers میں تجویز ہوتے ہیں جن کا اپنا EDMX نہیں۔ REST API کے paths، HTTP fields میں ایسے تجویز ہوتے ہیں جیسے آپ نے فائل load کی ہو، جیسا کہ OpenAPI اور Postman والے مضمون میں بیان ہے۔ specification ہر iFlow کے لیے، صرف اسی براؤزر میں، 8 MB تک رکھی جاتی ہے، اور ہٹائیں اسے حذف کر دیتا ہے۔

آپ کے sample payload پر XPath کی جانچ

اگر iFlow کے لیے sample payload محفوظ ہو تو Helper پہلے ہی اس سے XPath paths تجویز کرتا ہے۔ اب وہ آپ کا لکھا ہوا XPath بھی جانچتا ہے۔ جب sample کا کوئی node میل نہ کھائے تو field کے نیچے انتباہ آتا ہے: "نمونہ پے لوڈ میں کوئی نوڈ اس XPath سے میل نہیں کھاتا۔" اور جب میل کھائے تو ایک معلوماتی لائن ملی ہوئی قدر دکھاتی ہے۔

یہ جانچ Content Modifier کے headers اور properties اور Write Variables میں XPath قطاروں، XML Router کی conditions اور XPath splitters پر ہوتی ہے۔ یہ صرف وہاں چلتی ہے جہاں محفوظ sample واقعی وہی ہو جو اس اسٹیپ تک پہنچتا ہے: ایسا XML sample جس سے پہلے صرف body کو برقرار رکھنے والے اسٹیپس ہوں، یا ایک JSON to XML Converter کے بعد JSON sample۔ Local Integration Processes، Exception Subprocesses اور ${…} یا {{…}} سے بنے XPaths پر یہ خاموش رہتی ہے، اس لیے انتباہ کا مطلب حقیقی عدم مطابقت ہے۔

Message Mapping expression کو ترتیب دیں

درجن بھر functions والا Message Mapping expression جلد ہی ایک دوسرے کو کاٹتی لکیروں کی گتھی بن جاتا ہے۔ expression canvas پر اب SAP کے اپنے بٹنوں کے ساتھ ایک ترتیب دیں بٹن ہے۔ یہ nodes کو source fields سے target کی طرف ترتیب دیتا ہے۔ edit mode میں Save اس ترتیب کو برقرار رکھتا ہے اور ساتھ والا undo بٹن اسے پہلے جیسا کر دیتا ہے؛ view mode میں یہ صرف پڑھنے میں مدد کرتا ہے، اور جب SAP expression دوبارہ بناتا ہے تو ترتیب ختم ہو جاتی ہے۔ SAP میں کچھ محفوظ یا نہیں بھیجا جاتا۔ iFlow ڈایاگرام کا بھی اپنا ترتیب بٹن ہے، edit mode میں، Undo کے ساتھ۔

آپ کے iFlow میں کیا بدلتا ہے

Externalize Parameters، پیسٹ اور ٹیمپلیٹ لاگو کرنا ڈیزائنر میں کھلے iFlow میں لکھتے ہیں، صرف edit mode میں، اور ڈیزائنر iFlow کو تبدیل شدہ دکھاتا ہے۔ یہ کبھی محفوظ یا deploy نہیں کرتے: آپ SAP میں محفوظ کرتے ہیں، یا تبدیلی ختم کرنے کے لیے Discard دباتے ہیں۔ ان میں سے ہر ٹول کو "اختیارات" کے صفحے پر "ٹولز" کے تحت الگ سے بند کیا جا سکتا ہے؛ وہ فوراً ڈیزائنر سے ہٹ جاتا ہے۔ Externalize، اسٹیپ کاپی اور پیسٹ اور Hub امپورٹ paid پلانز کا حصہ ہیں، Free پر چند بار استعمال کے ساتھ؛ XPath جانچ اور ترتیب مفت ہیں۔ Kitegra کے لانچ کے دوران، سائن اِن کرنے والے ہر شخص کے لیے ہر ٹول کھلا ہے۔ پلانز کا موازنہ کریں۔

اپنے اگلے iFlow میں آزمائیں

پڑھیں کہ Kitegra، SAP Integration Suite ڈیزائنر کے ارد گرد کیا اضافہ کرتا ہے، یا Deploy دبانے کے بعد کیا کرتا ہے۔

اکثر پوچھے جانے والے سوالات

میں SAP CPI میں receiver address کو externalize کیسے کروں؟

SAP میں Edit دبائیں، Kitegra مینو میں Externalize Parameters کھولیں، address کو منتخب رہنے دیں، اس کا نام دیکھیں اور پیرامیٹر بنائیں پر کلک کریں۔ iFlow محفوظ کریں، پھر Configure میں ہر ٹیننٹ کے لیے قدر set کریں؛ موجودہ قدریں کاپی کریں آپ کو paste کرنے کے لیے پرانی قدریں دیتا ہے۔

کیا میں Content Modifier کی قطاریں دوسرے iFlow میں کاپی کر سکتا ہوں؟

جی ہاں۔ اسٹیپ کی سیٹنگز کاپی کریں، دوسرا iFlow edit mode میں کھولیں، کوئی Content Modifier منتخب کریں اور پیسٹ کریں۔ صرف غائب قطاریں شامل کرنے کے لیے قطاریں شامل کریں چنیں، یا قطاریں بدلیں۔

کیا Hub امپورٹ کے لیے api.sap.com اکاؤنٹ ضروری ہے؟

تلاش اس کے بغیر کام کرتی ہے۔ specification ڈاؤن لوڈ کرنے کے لیے اسی براؤزر میں api.sap.com پر آپ کا سائن اِن ضروری ہے۔

کیا میری اسٹیپ کاپیاں اور ٹیمپلیٹس sync ہوتے ہیں؟

نہیں۔ یہ اس براؤزر کی ایکسٹینشن اسٹوریج میں رہتے ہیں اور کبھی کہیں نہیں بھیجے جاتے۔

کیا ان میں سے کوئی ٹول میرا iFlow محفوظ یا deploy کرتا ہے؟

نہیں۔ یہ ٹولز edit mode میں کھلے iFlow میں لکھتے ہیں؛ آپ اسے SAP میں محفوظ کرتے ہیں، یا تبدیلی ختم کر دیتے ہیں۔

ڈیزائنر چھوڑے بغیر iFlows پر کام کریں

Kitegra کو Chrome یا Microsoft Edge میں شامل کریں۔ مفت شروع کریں، کسی اکاؤنٹ کی ضرورت نہیں۔