Skip to Content

I’m pretty sure that by now you have realized that I love Scripting Languages. That means that once in a while I love to play with a new language or a new web framework. This time I came to play with Sinatra a very amazing framework.

I must say that the documentation is very poor…even when a Sinatra book is in the making.

I have said a lot of times that I’m going to learn Rails but somehow…everytime I start I drop it a couple of days before…why? Surely because of Sinatra and Camping which much easier to learn and even can offer the same things as Rails.

But I’m sure that you don’t want to know about my private programming life…So let’s get into some code…

 

Ruby/Sinatra and SAP – SE16 Emulation

eos end end get ‘/login_view’ do body do <<-eos

eos end end get ‘/show_table’ do $output = “” for i in 0…$Fields_Len $Fields_Fields = $Data_Names[i].to_s $output += “” end $output += “” for i in 0…$Data_Len $output += “” $Data_Fields = $Data[i] $Data_Split = $Data_Fields.split(“|”) for i in 0…$Fields_Len $output += “” end $output += “” end $output += “

#{$Fields_Fields}
#{$Data_Split[i].to_s.strip}

” body $output end post ‘/login’ do $host,$sysnr,$client,$user,$password = params[:host],params[:sysnr], params[:client],params[:user], params[:password] “#{do_login}” redirect ‘/login_view’ end post ‘/table_view’ do $table = params[:table] “#{get_table}” redirect ‘/show_table’ end helpers do def do_login $rfc = SAP::Rfc.new(:ashost => $host, :sysnr => $sysnr.to_i, :lang => “EN”, :client => $client.to_i, :user => $user, :passwd => $password, :trace => 1) end def get_table $itab = $rfc.discover(“RFC_READ_TABLE”) $itab.query_table.value = $table $itab.delimiter.value = “|” $rfc.call($itab) $Fields = Array.new $Data = Array.new $Data_Fields = Array.new $Data_Split = Array.new $Data_Names = Array.new $itab.fields.hashRows {|field| $Fields.push(field) } $Fields_Len = $Fields.length $itab.data.hashRows {|field| $Data.push(field[‘WA’].to_s.strip!) } $Data_Len = $Data.length $itab.fields.hashRows {|field| $Data_Names.push (field[‘FIELDNAME’].to_s.strip)} end end 

Now…Some pictures…

image

image

image

 

Hope you like it -:)

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

Leave a Reply