class Fuey::Inspections::Support::SAP

Public Class Methods

new(config) click to toggle source
# File lib/fuey_client/fuey/inspections/support/sap.rb, line 5
def initialize(config)
  @config = config
end

Public Instance Methods

ping() click to toggle source
# File lib/fuey_client/fuey/inspections/support/sap.rb, line 9
def ping
  require 'sapnwrfc'
  ::SAPNW::Base.config =  @config
  conn = ::SAPNW::Base.rfc_connect
  attrib = conn.connection_attributes
  fld = conn.discover("RFC_PING")
  fl = fld.new_function_call
  response = fl.invoke
  [true, response]
rescue Gem::LoadError
  return [false, %(Could not RFC Ping because the sapnwrfc gem is not available)]
rescue Exception => caught
  return [false, caught.error] if caught.respond_to?(:error) #SAP errors
  [false, caught.inspect]
ensure
  conn.close unless conn.nil?
end