खोज…


परिचय

मैं विंडोज 7 x 64 के तहत स्ट्रॉबेरी पर्ल पर्यावरण के साथ पर्ल सीपीएन मॉड्यूल sapnwrfc बनाने के लिए आवश्यक शर्तें और चरणों का वर्णन करना चाहूंगा। यह 8, 8.1 और 10 जैसे सभी बाद के विंडोज संस्करणों के लिए भी काम करना चाहिए।

मैं स्ट्रॉबेरी पर्ल 5.24.1.1 64 बिट का उपयोग करता हूं लेकिन यह पुराने संस्करणों के साथ भी काम करना चाहिए।

कई प्रयासों के साथ सफल होने के लिए मुझे कुछ घंटे का समय लगा (32 बनाम 64 बिट पर्ल की स्थापना, SAP NW RFC SDK, MinGW बनाम Microsoft C कंपाइलर)। इसलिए मुझे उम्मीद है कि कुछ मेरे निष्कर्षों से लाभान्वित होंगे।

टिप्पणियों

Http://strawberryperl.com से एक वर्तमान स्ट्राबेरी पर्ल 64 बिट पैकेज स्थापित करें। मेरे मामले में यह 5.24.1.1 था।

SAP NW RFC SDK x64 बिट का वर्तमान संस्करण https://launchpad.support.sap.com/#/software से डाउनलोड करें

आप इसे निम्न ट्रेस के साथ पा सकते हैं: सपोर्ट पैकेज और पैच => श्रेणी के द्वारा => अतिरिक्त घटक => SAP NW RFC SDK => SAP NW RFC SDK 7.20

मेरे मामले में वर्तमान संस्करण 7.20 PL42 x64 था।

डाउनलोड की गई फ़ाइल को sapcar -xvf NWRFC_42-20004568.SAR साथ निकालें

मैंने फ़ोल्डर को C:\nwrfcsdk_x64 नाम दिया

निर्देशिका C: \ nwrfcsdk_x64 में निम्न कमांड के साथ MinGW कंपाइलर / लिंकर के लिए .def और .a फाइलें बनाएं:

gendef *.dll
dlltool --dllname icuin34.dll --def icuin34.def --output-lib icuin34.a
dlltool --dllname icudt34.dll --def icudt34.def --output-lib icudt34.a
dlltool --dllname icuuc34.dll --def icuuc34.def --output-lib icuuc34.a
dlltool --dllname libsapucum.dll --def libsapucum.def --output-lib libsapucum.a
dlltool --dllname libicudecnumber.dll --def libicudecnumber.def --output-lib libicudecnumber.a
dlltool --dllname sapnwrfc.dll --def sapnwrfc.def --output-lib sapnwrfc.a

निम्‍नलिखित फाइलों में मौजूद होना चाहिए: dircectory C: \ nwrfcsdk_x64 \ lib में:

icudt34.a          
icudt34.def        
icudt34.dll        
icuin34.a          
icuin34.def        
icuin34.dll        
icuuc34.a          
icuuc34.def        
icuuc34.dll        
libicudecnumber.a  
libicudecnumber.def
libicudecnumber.dll
libsapucum.a       
libsapucum.def     
libsapucum.dll     
libsapucum.lib     
sapdecfICUlib.lib  
sapnwrfc.a         
sapnwrfc.def       
sapnwrfc.dll       
sapnwrfc.lib       

cmd.exe साथ कमांड प्रॉम्प्ट प्रारंभ cmd.exe और प्रोग्राम cpan प्रारंभ करें।

CPAN से पर्ल मॉड्यूल sapnwrfc डाउनलोड करने के get sapnwrfc कमांड get sapnwrfc करें।

exit आदेश के साथ cpan पर्यावरण को छोड़ दें। निर्देशिका को C:\Strawberry\cpan\build\sapnwrfc-0.37-0

निम्न कमांड के साथ मेकफाइल (ओं) का निर्माण करें। अपने सेटअप के अनुसार फ़ोल्डर नामों को एडॉप्ट करें।

perl Makefile.PL --source=C:\nwrfcsdk_x64 --addlibs "C:\nwrfcsdk_x64\lib\sapnwrfc.a C:\nwrfcsdk_x64\lib\libsapucum.a"

मॉड्यूल बनाने और स्थापित dmake install लिए dmake और dmake install कमांड को चलाएँ।

C:\nwrfcsdk_x64\lib to C:\Strawberry\perl\site\lib\auto\SAPNW\Connection से फ़ाइलें कॉपी करें।

RFC कनेक्शन का परीक्षण करने के लिए सरल उदाहरण

से सरल उदाहरण http://search.cpan.org/dist/sapnwrfc/sapnwrfc-cookbook.pod

use strict;
use warnings;
use utf8;
use sapnwrfc;

SAPNW::Rfc->load_config('sap.yml');
my $conn = SAPNW::Rfc->rfc_connect;

my $rd = $conn->function_lookup("RPY_PROGRAM_READ");
my $rc = $rd->create_function_call;
$rc->PROGRAM_NAME("SAPLGRFC");

eval {
$rc->invoke;
};
if ($@) {
    die "RFC Error: $@\n";
}

print "Program name: ".$rc->PROG_INF->{'PROGNAME'}."\n";
my $cnt_lines_with_text = scalar grep(/LGRFCUXX/, map { $_->{LINE} } @{$rc->SOURCE_EXTENDED});
$conn->disconnect;


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow