Автор Тема: Интерфейс в фоновом режиме не подключается к ВНешней БД  (Прочитано 8819 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sergiucz

  • Newbie
  • *
  • Сообщений: 69
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYears
Добрый день господа Гуру АБАПА!
У меня возникла проблема .
Программа  отлично работает в нормальном режиме. 
Интерфейс должен отправить во внешнюю БД новые контрагенты или измененные контрагенты .
я поставил интерфейс в фоновом режиме на отработку 1 раз в 5 мин.
Интерфейс работает на все 100 %,  вне фоновом режиме как оказалось отрабатывает но не подключается к внешней БД.

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


Внешная БД

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

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


 Вложения и другие параметры
« Последнее редактирование: Октябрь 13, 2012, 12:01:34 pm от sergiucz »
Жизнь - это программа , найти бы debugger к ней :)

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 768
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Интерфейс работает на все 100 %,  вне фоновом режиме как оказалось отрабатывает но не подключается к внешней БД.
Ну правильно не подключается. Наверное сервер приложений про драйвера ничего не знает, DLL-ка клиента подключения у вас же наверное локально установлена на вашей рабочей станции, а вот для фона это будет проблемой. Это тоже самое почему в фоновом режиме часто нельзя загрузить файл Excel, хотя  в диалоге все работает на ура, а потому что Excel-я нет на сервере приложений, нашел уже похожий кстати вопрос с расписанным ответом: You are not allowed to view links. Register or Login
« Последнее редактирование: Октябрь 20, 2012, 01:06:13 pm от Uukrul »

Оффлайн sergiucz

  • Newbie
  • *
  • Сообщений: 69
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYears
А если сделать Batch Input  для  своей программы и сделать его без показа экранов.
И вызвать этот Batch Input в фоновом режиме ? просто системы нету  под рукой и не могу проверить.

Ша гляну на линк. Спасибо большое.
Жизнь - это программа , найти бы debugger к ней :)

Оффлайн sergiucz

  • Newbie
  • *
  • Сообщений: 69
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Наверное сервер приложений про драйвера ничего не знает, DLL-ка клиента подключения у вас же наверное локально установлена на вашей рабочей станции, а вот для фона это будет проблемой.
На сервер приложений установлены драйвера  для ВНЕШНЕЙ БД. (Спросил у Базиса)
У нас терминальные клиенты. И на сервере установлен драйвер  для подключения. Вот раньше было проблема когда я хотел подключится к внешней БД через DBCON . и ни как не хотел  подключатся. Вот и сделал через ADODB.Connection.
« Последнее редактирование: Октябрь 20, 2012, 01:59:48 pm от sergiucz »
Жизнь - это программа , найти бы debugger к ней :)

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 768
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
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.
Ну т.е. проблема решена как я понимаю.

Оффлайн sergiucz

  • Newbie
  • *
  • Сообщений: 69
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYears
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 'Е' - Показать экран только если есть ошибка.


А почему стоит боятся?
Жизнь - это программа , найти бы debugger к ней :)

Оффлайн sergiucz

  • Newbie
  • *
  • Сообщений: 69
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Как же это вы пакетник сделаете без показа экранов? Пакетный ввод это эмуляция работы программы в диалоге, поэтому экраны вызываются независимо от вас, ну или вы немного не понимаете что такое пакетный ввод.

Вы наверное меня не поняли.  Я вод создал z программу она в нормальном режиме работает как часы. Конектится к внешней БД, передает ,изменяет и удаляет данные из БД.  Но когда именно эту z программку вставляю в фоновом режиме . Вот тогда конект не срабатывает.
Вот я подумал а если создать пакетник для моей z программы .Ну какбы симулировать запуск в не фоновом режиме. Может сработает.
А сам пакетник поставить в фоновом режиме. В Пятницу протестирую свою идею . Распишусь если получилась
Тока сейчас системы нету под рукой.
« Последнее редактирование: Октябрь 21, 2012, 04:47:34 pm от sergiucz »
Жизнь - это программа , найти бы debugger к ней :)

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 768
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
MODE 'N' - без показа экранов
MODE 'А' - С экранами
MODE 'Е' - Показать экран только если есть ошибка.
Стоять, потому что к экранам транзакции это отношения не имеет, имеет смысл то как работает пакетный ввод. В режиме N - при ошибке пакетный ввод не будет остановлен, ошибки получишь во внутренней таблице для анализа. При режиме E - в случае выполнения пакетного ввода, при ошибке транзакция будет остановлена и можно будет исправить ошибочную позицию пакетного ввода (конечно если работа программы идет в диалоге, в фоне просто во внутреннюю таблицу ошибок вернется результат), ну а при А - каждый экран будет просить подтверждения ввода. В общем экраны транзакции, они вызываются в любом случае.
« Последнее редактирование: Октябрь 21, 2012, 05:37:09 pm от Uukrul »

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 768
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Вы наверное меня не поняли.
Да вас то я понял, это вы просто не очень себе представляете как работает SAP при трех-уровневой архитектуре и как вообще выполняется ABAP-программа, поэтому и вопросы и проблемы такие возникают.

Оффлайн sergiucz

  • Newbie
  • *
  • Сообщений: 69
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Да вас то я понял, это вы просто не очень себе представляете как работает SAP при трех-уровневой архитектуре и как вообще выполняется ABAP-программа, поэтому и вопросы и проблемы такие возникают.

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

ТО есть программа когда выполняется  в нормальном режиме отличается от выполнения программы  в фоновом режиме ?
Я имел в виду не визуальные отличия.
Жизнь - это программа , найти бы debugger к ней :)

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 768
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
ТО есть программа когда выполняется  в нормальном режиме отличается от выполнения программы  в фоновом режиме ?
Ну флаг в системной структуре будет поднят, что фоновый режим, и соответственно если в программе есть какие-то особенности для режимов фон/диалог, то будут различия. В общем случае для большинства стандартных транзакций различия в выполнении нет, т.е. при вызов по CALL TRANSACTION в фоне, будут происходить все те же процессы, что и в диалоге.