как подключиться к sap в ruby ​​на рельсах - PullRequest
1 голос
/ 26 января 2012

Я хочу получить информацию из sap в ruby ​​на рельсах.
Я нашел этот , но я не совсем понимаю, как его установить и использовать, может кто-нибудь объяснить, будет ли это полезно.
Большое спасибо.

Ответы [ 4 ]

2 голосов
/ 10 мая 2015

Я использую библиотеку, написанную Пирсом Хардингом.Вам необходимо скачать библиотеку nwrfcsdk из sap, а затем выполнить процесс установки, как показано в README для ruby-sapnwrfc.

Вы можете вызывать удаленные включенные функциональные модули sap - например, ENQUEUE_READ, как в следующем простом примере:

#!/usr/bin/env ruby

require 'sapnwrfc'
require 'rubygems'

conn = SAPNW::Base.rfc_connect(:client => '100',
                               :sysnr  => '01',
                               :lang   => 'EN',
                               :ashost => 'host',
                               :passwd => 'pw',
                               :trace  => 0,
                               :user   => 'sapuser')

sm12 = Hash.new

# lookup the dictionary definition of an Function Module
fds = conn.discover("ENQUEUE_READ")

# create an instance of a Function call
func = fds.new_function_call
func.GUNAME = ""
func.invoke

cnt = func.NUMBER
if 2000 < cnt
  puts "more than 2000 entries"
end
conn.close
1 голос
/ 26 января 2012

Вы используете JRuby? Если это так, вы можете легко использовать SAP JCo (SAP Java Connector) для подключения к функциональным модулям с поддержкой RFC (и BAPI). В Интернете существует множество примеров использования SAP JCo, например: http://www.vogella.de/articles/SAPJCo/article.html.

По сравнению с вызовом веб-службы с использованием Savon, это должно быть намного проще

1 голос
/ 06 мая 2015

В нашей компании «Wer liefert was» мы соединили платформу SAP с нашим стеком Ruby on Rails через шину AMQP с JSON REST API.

Цель состояла в том, чтобы мы отключили наш ночной импорт базы данных и сделали возможным мгновенное обновление элементов.

Проблема, связанная с тем, что в SAP нет собственного метода добавления сообщений в шину AMQP, была решена с помощью приложения ruby-прокси, предоставляющего API REST, который SAP может вызывать после сохранения элемента. Прокси-приложение добавило сообщение на шину AMQP, использованное сценарием импортера.

Соединение из нашего приложения Rails также было решено с помощью API REST, предоставляемых системой SAP.

1 голос
/ 26 января 2012

Вы можете использовать мыло с соком, попробуйте использовать эту библиотеку Savon

...