Текущее время: Пт, апр 19 2024, 09:23

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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