Skip Menu |

This queue is for tickets about the SAP-Rfc CPAN distribution.

Report information
The Basics
Id: 3729
Status: resolved
Priority: 0/
Queue: SAP-Rfc

People
Owner: Nobody in particular
Requestors: lnolte [...] oetker.de
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.18
Fixed in: (no value)



Subject: Problems with sapinfo
Hello, I'm using Perl 5.8 build 806 from Activestate under Windows NT SP6 and your SAP RFC Perl Module version 1.18. For testing I wrote a very simple script that only should print out the SAPINFO as described in the documentation. But I get a very confusing output. I hope you can help me. I don't know, maybe it's my own fault but I don't know what is wrong about my script. Best regards, Lars Nolte My script: use SAP::Rfc; $rfc = new SAP::Rfc( ASHOST => 'XX', USER => 'XX', PASSWD => 'XX', LANG => 'EN', CLIENT => '000', SYSNR => '01', TRACE => '1' ); if ($rfc->is_connected()) { %test = $rfc->sapinfo() or die "I don't know"; map { print "key: $_ = ", $test{$_}, "\n" } sort keys %test; }; $rfc->close(); My output: key: HASH(0x15d7cd8) = The debug information: $/ = ' ' FileHandle(stderr) => fileno(2) %SIG = ( 'ABRT' => undef 'ALRM' => undef 'BREAK' => undef 'BUS' => CODE(0x1c20a08) -> &DB::diesignal in 0 'CHLD' => undef 'CLD' => undef 'CONT' => undef 'FPE' => undef 'HUP' => undef 'ILL' => undef 'INT' => CODE(0x164d3f4) -> &DB::catch in 0 'KILL' => undef 'NUM05' => undef 'NUM06' => undef 'NUM07' => undef 'NUM10' => undef 'NUM12' => undef 'NUM16' => undef 'NUM17' => undef 'NUM18' => undef 'NUM19' => undef 'NUM24' => undef 'PIPE' => undef 'QUIT' => undef 'SEGV' => CODE(0x1c20a08) -> REUSED_ADDRESS 'STOP' => undef 'TERM' => undef '__DIE__' => CODE(0x1c276d4) -> &DB::dbdie in 0 '__WARN__' => CODE(0x1c27530) -> &DB::dbwarn in 0 ) $, = '' $" = ' ' $^F = 2 FileHandle(stdout) => fileno(1) $| = 1 $rfc = SAP::Rfc=HASH(0x1daf778) 'ASHOST' => 'SP2SAP15' 'CLIENT' => 000 'HANDLE' => 1 'LANG' => 'EN' 'LCHECK' => 0 'PASSWD' => 'TESTTIV' 'RETURN' => '' 'SYSINFO' => HASH(0x15d7b40) 'RFCCHARTYP' => 1100 'RFCDATABS' => 'BGT ' 'RFCDAYST' => 'X' 'RFCDBHOST' => 'SP2SAP15 ' 'RFCDBSYS' => 'DB6 ' 'RFCDEST' => 'SP2SAP15_BGT_01 ' 'RFCFLOTYP' => 'IE3' 'RFCHOST' => 'SP2SAP15' 'RFCHOST2' => ' ' 'RFCINTTYP' => 'BIG' 'RFCIPADDR' => '172.16.1.156 ' 'RFCKERNRL' => '45B ' 'RFCMACH' => ' 320' 'RFCOPSYS' => 'AIX ' 'RFCPROTO' => 011 'RFCSAPRL' => '45B ' 'RFCSI_RESV' => ' ' 'RFCSYSID' => 'BGT ' 'RFCTZONE' => ' 3600' 'SYSNR' => 01 'TRACE' => 1 'USER' => 'TIVOLI' $$ = 367 $\ = '' $- = 0 @- = ( 0 empty slot 1 empty slot 2 empty slot ) $! = 'No such file or directory' $^TAINT = 0 $^O = 'MSWin32' $^X = 'D:\\Perl\\bin\\perl.exe' @_ = ( 0 0 1 '_' 2 *main::_ 3 0 4 '-1' ) $+ = '' @+ = ( 0 empty slot 1 empty slot 2 empty slot ) FileHandle(STDIN) => fileno(0) %test = ( 'HASH(0x15d7b40)' => undef ) $^V = "\cE\cH\c@" $2 = '' $1 = 'main' $^WARNING_BITS = "\c@\c@\c@\c@\c@\c@\c@\c@\c@\c@\c@\c@" $< = 0 FileHandle(stdin) => fileno(0) @INC = ( 0 'D:/Perl/lib' 1 'D:/Perl/site/lib' 2 '.' ) %INC = ( 'AutoLoader.pm' => 'D:/Perl/lib/AutoLoader.pm' 'Carp.pm' => 'D:/Perl/lib/Carp.pm' 'Carp/Heavy.pm' => 'D:/Perl/lib/Carp/Heavy.pm' 'Config.pm' => 'D:/Perl/lib/Config.pm' 'Data/Dumper.pm' => 'D:/Perl/lib/Data/Dumper.pm' 'Devel/Peek.pm' => 'D:/Perl/lib/Devel/Peek.pm' 'DynaLoader.pm' => 'D:/Perl/lib/DynaLoader.pm' 'Exporter.pm' => 'D:/Perl/lib/Exporter.pm' 'SAP/Iface.pm' => 'D:/Perl/site/lib/SAP/Iface.pm' 'SAP/Rfc.pm' => 'D:/Perl/site/lib/SAP/Rfc.pm' 'Term/Cap.pm' => 'D:/Perl/lib/Term/Cap.pm' 'Term/ReadLine.pm' => 'D:/Perl/lib/Term/ReadLine.pm' 'XSLoader.pm' => 'D:/Perl/lib/XSLoader.pm' 'bytes.pm' => 'D:/Perl/lib/bytes.pm' 'constant.pm' => 'D:/Perl/lib/constant.pm' 'dumpvar.pl' => 'D:/Perl/lib/dumpvar.pl' 'overload.pm' => 'D:/Perl/lib/overload.pm' 'perl5db.pl' => 'D:/Perl/lib/perl5db.pl' 'strict.pm' => 'D:/Perl/lib/strict.pm' 'utf8.pm' => 'D:/Perl/lib/utf8.pm' 'utf8_heavy.pl' => 'D:/Perl/lib/utf8_heavy.pl' 'vars.pm' => 'D:/Perl/lib/vars.pm' 'warnings.pm' => 'D:/Perl/lib/warnings.pm' 'warnings/register.pm' => 'D:/Perl/lib/warnings/register.pm' ) %ENV = ( 'BISROOT' => 'D:\\BIS' 'COMPUTERNAME' => 'OEDIV0090113002' 'COMSPEC' => 'C:\\WINNT\\system32\\cmd.exe' 'FZ_REQUIREON' => 1 'FZ_ROOT' => 'D:\\Programme\\EMC\\FibreZone' 'HOMEDRIVE' => 'Z:' 'HOMEPATH' => '\\NolteL' 'HOMESHARE' => '\\\\FS_BI3\\OEDIV' 'LOGONSERVER' => '\\\\AS_SEEBURGER' 'NLSPATH' => '"D:\\Tivoli\\Desktop\\msg_cat\\%L\\%N.cat";d:\\PROGRA~1\\tivoli \\desktop\\msg_cat\\%L\\%N.cat;D:\\PROGRA~1\\Tivoli\\Desktop\\msg_cat\\%L\\%N.ca t;D:\\PROGRA~1\\Tivoli\\Desktop\\msg_cat\\%L\\%N.cat' 'NUMBER_OF_PROCESSORS' => 1 'OS' => 'Windows_NT' 'OS2LIBPATH' => 'C:\\WINNT\\system32\\os2\\dll;' 'PATH' => '"D:\\Programme\\EMC\\Volume Logix";D:\\Programme\\EMC\\FibreZone\\ bin;D:\\Perl\\bin\\;c:\\dmi\\win32\\bin;C:\\WINNT\\system32;C:\\WINNT;d:\\Progra mme\\Personal Communications;D:\\MSSQL7\\BINN;D:\\PROGRA~1\\ULTRAEDT;D:\\PROGRA~ 1\\ULTRAE~1;c:\\jre\\bin;C:\\Programme\\Microsoft SQL Server\\80\\Tools\\BINN;D: \\BIS\\Bin;D:\\BIS\\bin\\SeeCom;D:\\Programme\\Hummingbird\\Connectivity\\8.00\\ Accessories\\;C:\\WINNT\\System32\\WBEM;C:\\READIBMW' 'PATHEXT' => '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH' 'PERLDB_PIDS' => 367 'PROCESSOR_ARCHITECTURE' => 'x86' 'PROCESSOR_IDENTIFIER' => 'x86 Family 6 Model 8 Stepping 6, GenuineIntel' 'PROCESSOR_LEVEL' => 6 'PROCESSOR_REVISION' => 0806 'PROMPT' => '$P$G' 'SYSTEMDRIVE' => 'C:' 'SYSTEMROOT' => 'C:\\WINNT' 'TEMP' => 'D:\\TEMP' 'TISDIR' => 'C:\\WINNT\\System32\\drivers\\etc\\Tivoli' 'TMP' => 'd:\\TEMP' 'USERDOMAIN' => 'DOM_OETKER_BI' 'USERNAME' => 'NolteL' 'USERPROFILE' => 'C:\\WINNT\\Profiles\\noltel' 'VLOGIX_DATA' => 'D:\\Programme\\EMC\\Volume Logix' 'WIN32DMIPATH' => 'c:\\dmi\\win32' 'WINDIR' => 'C:\\WINNT' ) $? = 0 $0 = 'sap_info.pl' $^E = '' $^H = 256 $^S = 1 $@ = '' $; = "\c\" FileHandle(STDOUT) => fileno(1) $] = 5.008 $^D = 0 $^W = 0 FileHandle(STDERR) => fileno(2)
Hi, $rfc->sapinfo() actually returns a hash ref, so you need to dereference it so that you can get at the data: $test = $rfc->sapinfo() or die "I don't know"; map { print "key: $_ = ", $test->{$_}, "\n" } sort keys %$test; Cheers.