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

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


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

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


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

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