##
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: