#!/usr/local/bin/perl use strict; use SAP::Rfc; use Data::Dumper; my $rfc = new SAP::Rfc( ASHOST => 'SD2', USER => 'MYUSER', PASSWD => 'mypassword', LANG => 'EN', CLIENT => '400', SYSNR => '00', TRACE => '1'); if ($rfc->is_connected()) { print "RFC dump\n"; print Dumper ($rfc); $rfc->close(); } else { print "Error connecting to SAP RFC Gateway"; } #### RFC dump $VAR1 = bless( { 'TRFC' => 0, 'TRFC_COMMIT' => sub { "DUMMY" }, 'LCHECK' => '0', 'UNICODE' => 0, 'PASSWD' => 'mypassword', 'USER' => 'MYUSER', 'LANG' => 'EN', 'TRFC_ROLLBACK' => sub { "DUMMY" }, 'TRFC_CONFIRM' => sub { "DUMMY" }, 'TRACE' => '1', 'LINTTYP' => 'BIG', 'TRFC_CHECK' => sub { "DUMMY" }, 'CLIENT' => '400', 'INTERFACES' => {}, 'HANDLE' => 1, 'ASHOST' => 'SD2', 'SYSNR' => '00' }, 'SAP::Rfc' ); #### #!/usr/local/bin/perl use strict; use SAP::Rfc; use Data::Dumper; my $rfc = new SAP::Rfc( ASHOST => 'SD2', USER => 'MYUSER', PASSWD => 'mypassword', LANG => 'EN', CLIENT => '400', SYSNR => '00', TRACE => '1'); if ($rfc->is_connected()) { my $it = $rfc->discover("ZRMA_MATERIAL_ASSIGN") || Out_N_Die("RFC Discover failed for ZRMA_MATERIAL_ASSIGN. " . $rfc->error() . "."); $it->MATERIAL("41000642"); $rfc->callrfc( $it ); print "Interface After Call=\n"; print Dumper($it); my $rtncode = $it->RTNCODE; print "rtncode=$rtncode\n"; my $description = $it->DESCRIPTION; print "description=$description\n"; my $testtable = $it->TESTTABLE; print Dumper($testtable); my $tableMaterial = @$testtable{'MATERIAL'}; print "Material from Table: $tableMaterial\n"; my $tableDescription = @$testtable{'DESCRIPTION'}; print "Description from Table: $tableDescription\n"; $rfc->close(); } else { print "Error connecting to SAP RFC Gateway"; } #### Interface After Call= $VAR1 = bless( { 'NAME' => 'ZRMA_MATERIAL_ASSIGN', 'EXCEPTIONS' => {}, 'TABLES' => {}, 'SYSINFO' => { 'RFCSI_RESV' => ' ', 'RFCPROTO' => '011', 'RFCHOST2' => 'sd2 ', 'RFCKERNRL' => '721 ', 'RFCTZONE' => '-21600', 'RFCDEST' => 'sd2_SD2_00 ', 'RFCDATABS' => 'SD2 ', 'RFCDAYST' => 'X', 'RFCDBSYS' => 'ORACLE ', 'RFCDBHOST' => 'sd2.woodward.com ', 'RFCINTTYP' => 'BIG', 'RFCCHARTYP' => '4102', 'RFCSAPRL' => '701 ', 'RFCMACH' => ' 324', 'RFCIPADDR' => '10.1.105.46 ', 'RFCSYSID' => 'SD2 ', 'RFCOPSYS' => 'AIX ', 'RFCHOST' => 'sd2 ', 'RFCFLOTYP' => 'IE3' }, 'PARAMETERS' => { 'RTNCODE' => bless( { 'DECIMALS' => 0, 'NAME' => 'RTNCODE', 'VALUE' => 0, 'INTYPE' => 8, 'LEN' => 4, 'DEFAULT' => undef, 'TYPE' => 0, 'CHANGED' => 0, 'RFCINTTYP' => 'BIG', 'UNICODE' => 0, 'ENDIAN' => 'BIG', 'STRUCTURE' => '' }, 'SAP::Parms' ), 'DESCRIPTION' => bless( { 'DECIMALS' => 0, 'NAME' => 'DESCRIPTION', 'VALUE' => 'PISTON ', 'INTYPE' => 0, 'LEN' => 40, 'DEFAULT' => undef, 'TYPE' => 0, 'CHANGED' => 0, 'RFCINTTYP' => 'BIG', 'UNICODE' => 0, 'ENDIAN' => 'BIG', 'STRUCTURE' => '' }, 'SAP::Parms' ), 'MATERIAL' => bless( { 'DECIMALS' => 0, 'NAME' => 'MATERIAL', 'VALUE' => '41000642 ', 'INTYPE' => 0, 'LEN' => 18, 'DEFAULT' => ' ', 'TYPE' => 1, 'CHANGED' => 1, 'RFCINTTYP' => 'BIG', 'UNICODE' => 0, 'ENDIAN' => 'BIG', 'STRUCTURE' => '' }, 'SAP::Parms' ), 'TESTTABLE' => bless( { 'DECIMALS' => 0, 'NAME' => 'TESTTABLE', 'VALUE' => '000000000041000642PISTON ', 'INTYPE' => 38, 'LEN' => 116, 'DEFAULT' => undef, 'TYPE' => 0, 'CHANGED' => 0, 'RFCINTTYP' => 'BIG', 'UNICODE' => 0, 'ENDIAN' => 'BIG', 'STRUCTURE' => bless( { 'NAME' => 'ZMATTEST', 'LINTTYP' => 'BIG', 'LEN' => 116, 'TYPE' => 38, 'RFCINTTYP' => 'BIG', 'DATA' => [], 'FIELDS' => { 'DESCRIPTION' => { 'DECIMALS' => 0, 'NAME' => 'DESCRIPTION', 'POSITION' => 2, 'OFFSET' => 36, 'INTYPE' => 0, 'LEN' => 80, 'EXID' => 'C' }, 'MATERIAL' => { 'DECIMALS' => 0, 'NAME' => 'MATERIAL', 'POSITION' => 1, 'OFFSET' => 0, 'INTYPE' => 0, 'LEN' => 36, 'EXID' => 'C' } } }, 'SAP::Struc' ) }, 'SAP::Parms' ) }, 'UNICODE' => 0, 'ENDIAN' => 'BIG' }, 'SAP::Iface' ); rtncode=0 description=PISTON $VAR1 = { 'DESCRIPTION' => ' ', 'MATERIAL' => '000000000041000642PISTON ' }; Material from Table: 000000000041000642PISTON Description from Table: