Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => Тема начата: sergiucz от Октябрь 13, 2012, 11:57:44 am

Название: Интерфейс в фоновом режиме не подключается к ВНешней БД
Отправлено: sergiucz от Октябрь 13, 2012, 11:57:44 am
Добрый день господа Гуру АБАПА!
У меня возникла проблема .
Программа  отлично работает в нормальном режиме. 
Интерфейс должен отправить во внешнюю БД новые контрагенты или измененные контрагенты .
я поставил интерфейс в фоновом режиме на отработку 1 раз в 5 мин.
Интерфейс работает на все 100 %,  вне фоновом режиме как оказалось отрабатывает но не подключается к внешней БД.

Подключение делал через ADODB.Connection


Внешная БД

Внешняя БД Sybase .
Везде установлены драивера .

ПРосто в фоновом режиме не конектицо к БД.


 Вложения и другие параметры
Название: Re: Интерфейс в фоновом режиме не подключается к ВНешней БД
Отправлено: Uukrul от Октябрь 19, 2012, 07:48:31 pm
You are not allowed to view links. Register or Login
Интерфейс работает на все 100 %,  вне фоновом режиме как оказалось отрабатывает но не подключается к внешней БД.
Ну правильно не подключается. Наверное сервер приложений про драйвера ничего не знает, DLL-ка клиента подключения у вас же наверное локально установлена на вашей рабочей станции, а вот для фона это будет проблемой. Это тоже самое почему в фоновом режиме часто нельзя загрузить файл Excel, хотя  в диалоге все работает на ура, а потому что Excel-я нет на сервере приложений, нашел уже похожий кстати вопрос с расписанным ответом: http://sapforum.biz/index.php/topic,809.msg5078.html#msg5078
Название: Re: Интерфейс в фоновом режиме не подключается к ВНешней БД
Отправлено: sergiucz от Октябрь 20, 2012, 01:37:37 pm
А если сделать Batch Input  для  своей программы и сделать его без показа экранов.
И вызвать этот Batch Input в фоновом режиме ? просто системы нету  под рукой и не могу проверить.

Ша гляну на линк. Спасибо большое.
Название: Re: Интерфейс в фоновом режиме не подключается к ВНешней БД
Отправлено: sergiucz от Октябрь 20, 2012, 01:50:27 pm
You are not allowed to view links. Register or Login
Наверное сервер приложений про драйвера ничего не знает, DLL-ка клиента подключения у вас же наверное локально установлена на вашей рабочей станции, а вот для фона это будет проблемой.
На сервер приложений установлены драйвера  для ВНЕШНЕЙ БД. (Спросил у Базиса)
У нас терминальные клиенты. И на сервере установлен драйвер  для подключения. Вот раньше было проблема когда я хотел подключится к внешней БД через DBCON . и ни как не хотел  подключатся. Вот и сделал через ADODB.Connection.
Название: Re: Интерфейс в фоновом режиме не подключается к ВНешней БД
Отправлено: Uukrul от Октябрь 20, 2012, 07:37:04 pm
You are not allowed to view links. Register or Login
А если сделать Batch Input  для  своей программы и сделать его без показа экранов.
Стоять - бояться. Как же это вы пакетник сделаете без показа экранов? Пакетный ввод это эмуляция работы программы в диалоге, поэтому экраны вызываются независимо от вас, ну или вы немного не понимаете что такое пакетный ввод.

You are not allowed to view links. Register or Login
У нас терминальные клиенты. И на сервере установлен драйвер  для подключения. Вот раньше было проблема когда я хотел подключится к внешней БД через DBCON . и ни как не хотел  подключатся. Вот и сделал через ADODB.Connection.
Ну т.е. проблема решена как я понимаю.
Название: Re: Интерфейс в фоновом режиме не подключается к ВНешней БД
Отправлено: sergiucz от Октябрь 21, 2012, 02:49:38 pm
You are not allowed to view links. Register or Login
Стоять - бояться. Как же это вы пакетник сделаете без показа экранов?

Код: You are not allowed to view links. Register or Login
CALL TRANSACTION 'FB02'  USING bdcdata MODE [b]'N'[/b] UPDATE 'S' MESSAGES INTO messtab.
MODE 'N' - без показа экранов
MODE 'А' - С экранами
MODE 'Е' - Показать экран только если есть ошибка.


А почему стоит боятся?
Название: Re: Интерфейс в фоновом режиме не подключается к ВНешней БД
Отправлено: sergiucz от Октябрь 21, 2012, 04:45:40 pm
You are not allowed to view links. Register or Login
Как же это вы пакетник сделаете без показа экранов? Пакетный ввод это эмуляция работы программы в диалоге, поэтому экраны вызываются независимо от вас, ну или вы немного не понимаете что такое пакетный ввод.

Вы наверное меня не поняли.  Я вод создал z программу она в нормальном режиме работает как часы. Конектится к внешней БД, передает ,изменяет и удаляет данные из БД.  Но когда именно эту z программку вставляю в фоновом режиме . Вот тогда конект не срабатывает.
Вот я подумал а если создать пакетник для моей z программы .Ну какбы симулировать запуск в не фоновом режиме. Может сработает.
А сам пакетник поставить в фоновом режиме. В Пятницу протестирую свою идею . Распишусь если получилась
Тока сейчас системы нету под рукой.
Название: Re: Интерфейс в фоновом режиме не подключается к ВНешней БД
Отправлено: Uukrul от Октябрь 21, 2012, 05:22:36 pm
You are not allowed to view links. Register or Login
MODE 'N' - без показа экранов
MODE 'А' - С экранами
MODE 'Е' - Показать экран только если есть ошибка.
Стоять, потому что к экранам транзакции это отношения не имеет, имеет смысл то как работает пакетный ввод. В режиме N - при ошибке пакетный ввод не будет остановлен, ошибки получишь во внутренней таблице для анализа. При режиме E - в случае выполнения пакетного ввода, при ошибке транзакция будет остановлена и можно будет исправить ошибочную позицию пакетного ввода (конечно если работа программы идет в диалоге, в фоне просто во внутреннюю таблицу ошибок вернется результат), ну а при А - каждый экран будет просить подтверждения ввода. В общем экраны транзакции, они вызываются в любом случае.
Название: Re: Интерфейс в фоновом режиме не подключается к ВНешней БД
Отправлено: Uukrul от Октябрь 21, 2012, 05:24:20 pm
You are not allowed to view links. Register or Login
Вы наверное меня не поняли.
Да вас то я понял, это вы просто не очень себе представляете как работает SAP при трех-уровневой архитектуре и как вообще выполняется ABAP-программа, поэтому и вопросы и проблемы такие возникают.
Название: Re: Интерфейс в фоновом режиме не подключается к ВНешней БД
Отправлено: sergiucz от Октябрь 22, 2012, 11:31:05 am
You are not allowed to view links. Register or Login
Да вас то я понял, это вы просто не очень себе представляете как работает SAP при трех-уровневой архитектуре и как вообще выполняется ABAP-программа, поэтому и вопросы и проблемы такие возникают.

Не пинайте меня сильно я тока начинающий абапер.

ТО есть программа когда выполняется  в нормальном режиме отличается от выполнения программы  в фоновом режиме ?
Я имел в виду не визуальные отличия.
Название: Re: Интерфейс в фоновом режиме не подключается к ВНешней БД
Отправлено: Uukrul от Октябрь 22, 2012, 11:38:58 am
You are not allowed to view links. Register or Login
ТО есть программа когда выполняется  в нормальном режиме отличается от выполнения программы  в фоновом режиме ?
Ну флаг в системной структуре будет поднят, что фоновый режим, и соответственно если в программе есть какие-то особенности для режимов фон/диалог, то будут различия. В общем случае для большинства стандартных транзакций различия в выполнении нет, т.е. при вызов по CALL TRANSACTION в фоне, будут происходить все те же процессы, что и в диалоге.