ruby sap 接口

require "SAP/Rfc"

print "Host: "
$Host = gets
print "System Number: "
$Sysnr = gets
print "Client: "
$Client = gets
print "User: "
$User = gets
print "Password: "
$Password = gets

rfc = SAP::Rfc.new(:ashost => $Host.chop!,
                     :sysnr  => $Sysnr.chop!.to_i,
                     :lang   => "EN",
                     :client => $Client.chop!.to_i,
                     :user   => $User.chop!,
                     :passwd => $Password.chop!,
                     :trace  => 1)
                    
 itab = rfc.discover("RFC_READ_TABLE")
 
 print "/nEnter table: "
 $Table = gets
 
 print "/n"
 itab.query_table.value = $Table.chop!
 itab.delimiter.value = "|"
 
 rfc.call(itab)
 
 $Fields = Array.new
 $Data = Array.new
 $Data_Fields = Array.new
 $Data_Split = Array.new

  itab.fields.hashRows {|field| $Fields.push(field) }
  $Fields_Len = $Fields.length
  itab.data.hashRows {|field| $Data.push(field.to_s.strip!) }
  $Data_Len = $Data.length
  
  for i in 0...$Data_Len
    $Data_Fields = $Data[i]
    $Data_Split = $Data_Fields.split("|")
    for i in 1...$Fields_Len
      print $Data_Split[i].to_s.strip, "|"
    end
  print "/n/n" 
  end

  print "/nclose connection: ", rfc.close(), "/n"
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值