Текущее время: Пн, сен 21 2026, 18:57

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос по JaCo (Java Connector) как сделать описание свойств датапровайдера подключения?
СообщениеДобавлено: Пн, апр 22 2013, 11:26 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
Привет!
СКорее всего вопрос не сюда, но тема похожа: передача запросов/данных между САП и внешними приложениями.

Как передавать параметры в RFC из Java? Где найти данные о том, какие параметры ждет некая RFC? На сколько я понял есть куча разных вариантов: значение, массив, таблица. Как определить вид и передать? Каюсь, в Документации это есть, но я не могу понять - poor english
:oops: :?:

PS: очень хочется общаться с САП напрямую.


Последний раз редактировалось doleynikov Вт, май 14 2013, 08:32, всего редактировалось 1 раз.

Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по JaCo (Java Connector)  Тема решена
СообщениеДобавлено: Пн, апр 22 2013, 12:15 
Специалист
Специалист

Зарегистрирован:
Пт, май 07 2010, 13:17
Сообщения: 120
Откуда: Сургут
Пол: Мужской
По RFC в САП ты вызываешь только ФМы. Надо смотреть какие параметры надо передавает ему надо смотреть в определении ФМ в разделе Importing и tables
Code:
FUNCTION RFC_READ_TABLE.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(QUERY_TABLE) LIKE  DD02L-TABNAME
*"     VALUE(DELIMITER) LIKE  SONV-FLAG DEFAULT SPACE
*"     VALUE(NO_DATA) LIKE  SONV-FLAG DEFAULT SPACE
*"     VALUE(ROWSKIPS) LIKE  SOID-ACCNT DEFAULT 0
*"     VALUE(ROWCOUNT) LIKE  SOID-ACCNT DEFAULT 0
*"  TABLES
*"      OPTIONS STRUCTURE  RFC_DB_OPT
*"      FIELDS STRUCTURE  RFC_DB_FLD
*"      DATA STRUCTURE  TAB512
*"  EXCEPTIONS
*"      TABLE_NOT_AVAILABLE
*"      TABLE_WITHOUT_DATA
*"      OPTION_NOT_VALID
*"      FIELD_NOT_VALID
*"      NOT_AUTHORIZED
*"      DATA_BUFFER_EXCEEDED
*"----------------------------------------------------------------------
"


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по JaCo (Java Connector)
СообщениеДобавлено: Пн, апр 22 2013, 21:20 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, дек 06 2011, 10:11
Сообщения: 78
doleynikov написал(а):
из Java?


откуда из Java? PI mapping или просто приложение задеплоеное на Java аппликейшн сервер?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по JaCo (Java Connector)
СообщениеДобавлено: Ср, май 08 2013, 09:17 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
Получилось заставить пример работать, получилось передать параметры и разобраться как RFC возвращает результат. Все ОК.
У меня новый вопрос: в примере параметры соединения пишутся в файл. прямо с паролем! Как законнектиться к САП и не оставить пароля кроме как в исходнике? Прошу принять во внимание, что я с Явой даже рядом не стоял ;-(

static String DESTINATION_NAME1 = "ABAP_AS_WITHOUT_POOL";
static String DESTINATION_NAME2 = "ABAP_AS_WITH_POOL";
static
{
Properties connectProperties = new Properties();
connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "SAPSERVERADDRESS");
connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "00");
connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "230");
connectProperties.setProperty(DestinationDataProvider.JCO_USER, "SAPUSER1");
connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "SAPPASSAP;-)");
connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "en");
createDestinationDataFile(DESTINATION_NAME1, connectProperties);
connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3");
connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "10");
createDestinationDataFile(DESTINATION_NAME2, connectProperties);

}

static void createDestinationDataFile(String destinationName, Properties connectProperties)
{
File destCfg = new File(destinationName+".jcoDestination");
try
{
FileOutputStream fos = new FileOutputStream(destCfg, false);
connectProperties.store(fos, "for tests only !");
fos.close();
}
catch (Exception e)
{
throw new RuntimeException("Unable to create the destination files", e);
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws JCoException {
// TODO code application logic here

JCoDestination destination = JCoDestinationManager.getDestination(DESTINATION_NAME1);


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по JaCo (Java Connector)
СообщениеДобавлено: Ср, май 08 2013, 09:21 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
Jey1977 написал(а):
doleynikov написал(а):
из Java?


откуда из Java? PI mapping или просто приложение задеплоеное на Java аппликейшн сервер?


из standalone приложения на Java на некотором компе, с которого можно коннектиться к САП.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по JaCo (Java Connector)
СообщениеДобавлено: Пн, май 13 2013, 14:37 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
doleynikov написал(а):
Хорошо! подскажите, тогда, эти строки:"ABAP_AS_WITHOUT_POOL"; и "ABAP_AS_WITH_POOL"; - это некие предопределенные константы? мне странно, что если просто закомментировать создание файла - все работает. объясните, пожалуйста.


static String DESTINATION_NAME1 = "ABAP_AS_WITHOUT_POOL";
static String DESTINATION_NAME2 = "ABAP_AS_WITH_POOL";
static
{
Properties connectProperties = new Properties();
connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "SAPSERVERADDRESS");
connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "00");
connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "230");
connectProperties.setProperty(DestinationDataProvider.JCO_USER, "SAPUSER1");
connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "SAPPASSAP;-)");
connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "en");
//createDestinationDataFile(DESTINATION_NAME1, connectProperties);
connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3");
connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "10");
//createDestinationDataFile(DESTINATION_NAME2, connectProperties);
}


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по JaCo (Java Connector)
СообщениеДобавлено: Пн, май 13 2013, 16:35 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
doleynikov написал(а):
мне странно, что если просто закомментировать создание файла - все работает.


Я - лошара! ничего не работает! работало потому, что файлы остались с прошлого сеанса.

Вопрос сохраняется: как сделать описание свойств датапровайдера подключения так, чтобы нигде не светились логин с паролем?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по JaCo (Java Connector) как сделать описание свойств датапровайдера подключения?
СообщениеДобавлено: Вт, май 14 2013, 22:47 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, дек 06 2011, 10:11
Сообщения: 78
Приложение совсем локальное? Вы не используете саповский апп сервер? Если используете, почитайте про Java WebDynpro. Там есть понятие моделей. Это то что Вам нужно.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вопрос по JaCo (Java Connector) как сделать описание свойств датапровайдера подключения?
СообщениеДобавлено: Ср, май 15 2013, 07:56 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, ноя 22 2012, 10:25
Сообщения: 322
приложение совсем локальное. Это корпоративная самописная примочка, которой надо взаимодействовать с САП. Самые простые вещи хочется пустить в обход PI.

про WEBDYNPRO - это не мой случай. нам пока такое не нужно.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB