Текущее время: Пт, июл 18 2025, 16:34

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: RFC и вызов скриптов
СообщениеДобавлено: Вт, авг 01 2006, 11:21 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пт, окт 22 2004, 13:10
Сообщения: 33
Откуда: Сибирь
Здравствуйте.

Пытаюсь из отчета вызвать Perl-скрипт, вывод которого идет в STDOUT,
однако не могу из отчета на ABAP'е получить этот самый вывод...(я уже даже пытался в файл писать, из которого ABAPом забирать содержимое) То что скрипт работает (solaris 9) - это точно :) запущенный из системы и вывод в stdout и в файл он делает..., но вот запущенный из ABAP'а ни получить вывод из stdout не получается, ни файл не создается. права пользователя на каталог на файл правильные, я в растерянности.

Вызов скрипта осуществляю следующим образом:

CALL 'SYSTEM' ID 'COMMAND' FIELD oscmd
ID 'TAB' FIELD TASHELR3-*SYS*.
где

DATA: OSCMD(150) TYPE C,
BEGIN OF TASHELR3 OCCURS 300,
CONSOL(200),
END OF TASHELR3.

подскажите, в чем здесь может быть дело...когда заменяю вызов скрипта на вызов системной команды (любой) - то все ОК.

PS: версия SAP 4.0B


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: RFC и вызов скриптов
СообщениеДобавлено: Вт, авг 01 2006, 11:30 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, ноя 12 2004, 10:44
Сообщения: 370
Откуда: Москва
sourcerer написал(а):
Здравствуйте.

Пытаюсь из отчета вызвать Perl-скрипт, вывод которого идет в STDOUT,
однако не могу из отчета на ABAP'е получить этот самый вывод...(я уже даже пытался в файл писать, из которого ABAPом забирать содержимое) То что скрипт работает (solaris 9) - это точно :) запущенный из системы и вывод в stdout и в файл он делает..., но вот запущенный из ABAP'а ни получить вывод из stdout не получается, ни файл не создается. права пользователя на каталог на файл правильные, я в растерянности.

Вызов скрипта осуществляю следующим образом:

CALL 'SYSTEM' ID 'COMMAND' FIELD oscmd
ID 'TAB' FIELD TASHELR3-*SYS*.
где

DATA: OSCMD(150) TYPE C,
BEGIN OF TASHELR3 OCCURS 300,
CONSOL(200),
END OF TASHELR3.

подскажите, в чем здесь может быть дело...когда заменяю вызов скрипта на вызов системной команды (любой) - то все ОК.

PS: версия SAP 4.0B


можно не в тему? а что если этот скрипт сделать RFC сервером? и вызывать его через call function..? правда для перла я не нашел апи для сервера, только для python.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 01 2006, 11:39 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
А как вызывается скрипт: 'script.pl' или 'perl script.pl'?

Цитата:
права пользователя на каталог на файл правильные

А права на script.pl? Он eXecutable?

Под Windows, например, некоторые оборачивают perl-скрипты в bat-файлы вида
Code:
@perl -w -x %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
@goto end
#!perl

тогда script.bat > out.txt ничего не даст.


Последний раз редактировалось sibrin Вт, авг 01 2006, 11:47, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 01 2006, 11:43 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
holocron написал(а):
а что если этот скрипт сделать RFC сервером?


Вариант попроще:
Code:
OPEN DATASET dummy FOR INPUT FILTER 'script.pl'
                 IN TEXT MODE ENCODING DEFAULT.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 01 2006, 11:49 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, ноя 12 2004, 10:44
Сообщения: 370
Откуда: Москва
sibrin написал:
holocron написал(а):
а что если этот скрипт сделать RFC сервером?


Вариант попроще:
Code:
OPEN DATASET dummy FOR INPUT FILTER 'script.pl'
                 IN TEXT MODE ENCODING DEFAULT.


и? разве он от этого выполнится?

надо же :) не знал! спасибо! но это подходит только для импорта того, что скрипт выводит в консоль?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 01 2006, 16:37 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пт, окт 22 2004, 13:10
Сообщения: 33
Откуда: Сибирь
sibrin написал:

Code:
OPEN DATASET dummy FOR INPUT FILTER 'script.pl'
                 IN TEXT MODE ENCODING DEFAULT.


вот о таком варианте я не думал, спасибо...буду пробовать, о результате сообщу


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 03 2006, 06:01 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пт, окт 22 2004, 13:10
Сообщения: 33
Откуда: Сибирь
sibrin написал:
Code:
OPEN DATASET dummy FOR INPUT FILTER 'script.pl'
                 IN TEXT MODE ENCODING DEFAULT.


в таком виде к сожалению не работает... в виде который упоминал я (через вызов call 'SYSTEM') разработчики SAP делать не рекомендуют...
вот что нашел: http://sap.ittoolbox.com/groups/technic ... am-163822#


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 03 2006, 08:11 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
sourcerer написал(а):
в таком виде к сожалению не работает


Должно работать. Пример для windows:
Code:
REPORT ztest008.

data: fout(100), buf(100).
fout = 'D:\USR\SAP\MAIL\OUT\DUMMY.TXT'.

OPEN DATASET fout FOR INPUT
    FILTER 'D:\USR\SAP\MAIL\OUT\FILTER.BAT'
    IN TEXT MODE.

do.
  read dataset fout into buf.
  if sy-subrc <> 0. exit. endif.
  write buf.
enddo.

CLOSE DATASET fout.

где filter.bat содержит команду 'echo бла бла'.

Конечно нужно, чтобы базисник разрешил запись/чтение соответствующей директории.

Скорее всего проблемы с perl и операционкой, а не с SAP.


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

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


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

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


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

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