2009-09-23 11 views
21

क्या पाइथन का उपयोग एसएपी डेटाबेस से पूछने के लिए किया जा सकता है? last (insignificant) commit 2 साल पहले - -एसएपी पाइथन के साथ काम कर सकता है?

+0

एसएपी डेटाबेस इंजन के रूप में !? क्या आप इसे विस्तार से समझा सकते हैं? – middus

+2

मेरा मतलब यह है कि एसएपी एक बहुत ही जटिल प्रणाली है लेकिन इस प्रश्न के प्रयोजन के लिए मुझे केवल एबीएपी कार्यक्रमों के आउटपुट प्राप्त करने में सक्षम होना चाहिए (वे आउटपुट 'सूची' कहते हैं, मुझे लगता है)। –

+0

आप "abap list" नामक किसी चीज़ को संदर्भित करते हैं। बाहरी आउटपुट को बाहरी रूप से प्राप्त करना आसान नहीं है। अधिकांश मानक एक कार्यों के रूप में लागू नहीं किए जाते हैं। तो आप कुछ अपर प्रोग्रामिंग के बिना बाहरी सैप से आउटपुट नहीं प्राप्त कर सकते हैं। –

उत्तर

18

Python SAP RFC module निष्क्रिय लगता है, लेकिन आप की सेवा कर सकते हैं:

Pysaprfc एसएपी librfc के चारों ओर एक आवरण (Windows पर librfc32.dll, librfccm.so या लिनक्स पर librfc.so) है। यह थॉमस हेलर द्वारा librfc तक पहुंचने और एसएपी संगत डेटाटाइप को परिभाषित करने के लिए उत्कृष्ट ctypes एक्सटेंशन पैकेज का उपयोग करता है।

आधुनिक एसएपी संस्करणों Web Service way जाना - आप एक SAP Web Service का निर्माण और यह Python से उपभोग कर सकते हैं।

एसएपी नेटवेवर के साथ, डेवलपर्स वेब सेवाओं का उपयोग कर प्रक्रियाओं को एकीकृत करने के लिए अनुप्रयोगों और डेटा स्रोतों को जोड़ सकते हैं।

विशेष रूप से, डेवलपर एक उद्योग मानकों के आधार पर वेब सेवाओं को परिभाषित करने, कार्यान्वित करने और उपयोग करने के लिए एक आधारभूत संरचना का उपयोग कर सकते हैं। एसएपी नेटवेवर सिंक्रोनस, एसिंक्रोनस, स्टेटफुल और स्टेटलेस वेब सर्विस मॉडल का समर्थन करता है - डेवलपर्स को विभिन्न एकीकरण परिदृश्यों का समर्थन करने में सक्षम बनाता है।

sapnwrfc इस SAP NetWeaver कार्यक्षमता, supersedes बड़े आरएफसी एसडीके का समर्थन करता है, और सक्रिय रूप से बनाए रखा है।

+3

+1: पायथन वेब सेवाएं urllib2 का उपयोग करके लिखना बहुत आसान है। –

+0

ग्रेट, वेब सेवाएं जाने का रास्ता हैं! –

+1

यह स्पष्ट रूप से प्रश्न का तकनीकी उत्तर है - लेकिन यदि आप जो कुछ भी कर रहे हैं वह प्रश्न लिख रहा है, क्यों? SQ01 और SQVI डेटाबेस तक क्वेरी पहुंच प्रदान करते हैं। –

4

सैप डेटाबेस सर्वर नहीं है। लेकिन पायथन एसएपी आरएफसी मॉड्यूल के साथ आप अधिकतर तालिका को आसानी से पूछ सकते हैं। यह कुछ सैप असमर्थित फ़ंक्शन का उपयोग कर रहा है (जो कि पूरी दुनिया उपयोग कर रहा है)। और इस समारोह में क्षेत्र के आकार और डेटाटाइप पर कुछ सीमा है।

+0

खैर, एसएपी में बहुत सारी कार्यक्षमता है ... –

+0

अच्छी तरह से आप इसे डेटाबेस सर्वर के रूप में उपयोग कर सकते हैं - यद्यपि एक बहुत महंगा: पी – Esti

5

आप के बारे में एसएपी डेटाबेस उर्फ ​​SapDb (क्या नाम दिया करते थे), और अब MaxDB है बात कर रहे हैं (के लिए थोड़ी देर के लिए फिर से एसएपी द्वारा MySql इंक, now से भी वितरित केवल - और इतने SAP MaxDB नाम), यह कई पायथन एक्सेस मॉड्यूल के साथ आता है, here दस्तावेज।

यह एकमात्र अर्थ है जिसे मैं "डेटाबेस इंजन के रूप में एसएपी" से जोड़ सकता हूं - कि आप एसएपी मैक्सडीबी तक पहुंचना चाहते हैं। अन्य उत्तरों अलग-अलग मान्यताओं को बनाते हैं और (मुझे विश्वास है) भी उन अलग-अलग धारणाओं के तहत सही हैं।

+0

मूल प्रश्न बहुत स्पष्ट नहीं है और आपकी व्याख्या अत्यधिक उपयुक्त है। क्षेत्र में एसएपी इंस्टॉलेशन एसएपी मैक्सडीबी का उपयोग नहीं करते हैं, इसलिए मैंने कुछ अलग अर्थों पर अनुमान लगाया। – gimel

+0

दरअसल, मेरा मतलब औसत एसएपी स्थापना, मेरी अस्पष्टता को माफ कर दो। –

2

ऊपर बताए अनुसार, जब आप केवल टेबल पढ़ना चाहते हैं या आरएफसी या बीएपीआई कॉल करना चाहते हैं, तो आप अनियंत्रित पायथन एसएपी आरएफसी मॉड्यूल या पियर्स हार्डिंग के SAP RFC के साथ सीपीथॉन का उपयोग कर सकते हैं। आरएफसी ने केवल एक टेबल पढ़ने के लिए कहा है RFC_GET_TABLE_ENTRIES या RFC_READ_TABLE, जहां पूर्व को प्राथमिकता दी जाती है, लेकिन ग्राहकों को भी जारी नहीं की जाती है।

अधिक आधिकारिक तरीके से, आप जेएथॉन या एसएपी के साथ एसएपी के जेसीओ कनेक्टर का उपयोग कर सकते हैं। आयरनपीथॉन के साथ नेट कनेक्टर; दोनों कनेक्टर एसएपी के सेवा बाजार से डाउनलोड किए जा सकते हैं और दोनों ऊपर सूचीबद्ध दो कॉल सहित आरएफसी कार्यक्षमता को कॉल करने की अनुमति देते हैं।

जैसा कि ऊपर बताया गया है, बैकएंड कार्यक्षमता तक पहुंचने के लिए एसएपी द्वारा प्रस्तावित तरीका एसएपी के विशाल एसओए बुनियादी ढांचे के माध्यम से है। यहां आप ज्योथन का उपयोग उदाहरण के साथ कर सकते हैं एक्सिस लाइब्रेरी या आयरनपीथॉन माइक्रोस्कोफ्ट डब्ल्यूसीएफ के साथ। ध्यान दें, एसएपी द्वारा प्रदान की जाने वाली सेवाएं स्पष्ट रूप से आपको सादे टेबल तक पहुंचने की अनुमति नहीं देगी, बल्कि आप केवल कॉल कर सकते हैं, एक सेवा क्या प्रदान करती है। एसएपी पहले से ही लगभग 3.000 सेवाएं प्रदान करता है (एसडीएन पर ईएस विकी देखें), और एक बार जब आप रिमोट-सक्षम फ़ंक्शन मॉड्यूल में अपना व्यवसाय तर्क प्राप्त कर लेते हैं, तो अपनी स्वयं की सेवा बनाना वास्तव में मृत सरल होता है।

2

एसएपी अब एक अजगर आरएफसी कनेक्टर pyrfc जिन्हें कहा जाता है। यह sapnwrfc supersedes।

यह पाया जा सकता है पर: https://github.com/SAP/PyRFC

"pyrfc अजगर पैकेज पायथन बाइंडिंग SAP NetWeaver आरएफसी लाइब्रेरी के लिए, प्रदान करता है, ABAP से अजगर और अजगर मॉड्यूल से ABAP मॉड्यूल बुलाने की एक आरामदायक रास्ता के लिए के माध्यम से एसएपी रिमोट फ़ंक्शन कॉल (आरएफसी) प्रोटोकॉल। "

+0

@bsrdjan क्या पीआरआरएफसी के साथ उन कार्यों को स्वचालित करना संभव है जो उपयोगकर्ता एसएपी जीयूआई पर मानक प्रदर्शन करेंगे? (परीक्षण स्वचालन के उद्देश्य के लिए) –

+0

यह उस फ़ंक्शन पर निर्भर करता है जिसे आप कॉल करना चाहते हैं, सभी कार्यों को आरएफसी के साथ काम करने के लिए लिखा नहीं जाता है। यह थोड़ी देर हो गया है, लेकिन प्रत्येक फंक्शन के दस्तावेज में खुदाई से पता चलता है कि अगर इसे आरसीएफ – hansonap

+0

द्वारा बुलाया जा सकता है तो [सीसीओ] (http://cco.stschnell.de/) या जेसीओ की तुलना में - क्या पीआरआरएफसी समान कार्यक्षमता को कवर करता है ? –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^