CftClub.ru
Клуб специалистов ЦФТ-Банк

Вызов внешней программы

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
Emel
Участник со стажем


Вступление в Клуб: 02.07.2007
СообщениеЧт Мар 20, 2008 09:20   Вызов внешней программы Ответить с цитатой
Полезность: Нет оценки
Привет всем

Есть тело программы "Экспорт отмеченных документов SWIFT-RUR на участника"
Я вставил
stdio.put_line_buf( '<% SHELL_COMMAND f:\cft080320.bat %>' );

Но у меня прорамма на вызываеться, а выводит это сообщение в PIPE
Вызов внешней программы так делал много раз, всегда работало
Где грабли???????
СПАСИБО
Код:

AGR     ref [TRC];
doc     ref [DOCUM_RC];
lock_obj    number;
begin
   if this.first is null then
      pragma error( 'Нет выделенных документов' );
   end if;

   P#MANUAL := nvl( P#MANUAL, false);

   -- Отправляем на того участника, кто указан в первом документе из списка выбранных
   doc := this(this.first);
   if nvl(doc.[GOROUTER],1) = 1 then
      AGR := ::[DOCUM_RC].[LIB_NEW].get_dog_rc( doc );
   else
      AGR := ::[DOCUM_RC].[LIB_NEW].get_dog_sd( doc );
   end if;

   if AGR.[AB].[FORMAT] not like 'SWIFT-RUR%' then
      pragma error( 'Платежная система по договору не SWIFT-RUR!');
   end if;

   if not ::[TRC].[LIB_NEW].send(AGR) then
      pragma error( 'Экспорт по договору No '||AGR.[NUM_DOG]||' невозможен' );
   end if;

   -- Проверка логической блокировки
   lock_obj := -AGR%id;
   if ::[SYSTEM].[LOCKINFO_FILIAL].request( lock_obj, '::[TRC].[EXP_IMP]' ) is not NULL then
      stdio.put_line_buf( 'Идет работа по договору No '||AGR.[NUM_DOG]||NL$||
                          'Экспорт документов временно недоступен' );
      return;
   end if;

   begin
      if AGR is not NULL then
         ::[DOCUM_RC].[SWIFT_RUR_EXP].exp_mark_main(AGR, this);
      end if;

   exception when OTHERS then
      -- Чтобы снять блокировку
      if P#MANUAL then
         stdio.put_line_buf( 'EXP_DOC_MARK: '||[PRINTFUN].SQLERRM_inf );
      end if;
   end;
   lock_info.DEL( lock_obj );   -- Удаление логической блокировки

   stdio.put_line_buf( '<% SHELL_COMMAND f:\cft080320.bat  %>' );
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

end;

alexiy
Профи


Вступление в Клуб: 29.06.2007
СообщениеЧт Мар 20, 2008 09:23   Re: Вызов внешней программы Ответить с цитатой
Полезность: 2
Emel пишет:
Но у меня прорамма на вызываеться, а выводит это сообщение в PIPE

а на закладке операции "Дополнительные свойства" галочка "Выводить команды в буфер сессии" стоит ли?...
_________________
two bee or not two bee
Emel
Участник со стажем


Вступление в Клуб: 02.07.2007
СообщениеЧт Мар 20, 2008 09:53    Ответить с цитатой
Полезность: Нет оценки
Спасибо!!!


Галочка не стояло.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru