Текущее время: Пн, июн 30 2025, 01:08

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Загрузка/просмотр/передача бинарного файла
СообщениеДобавлено: Ср, янв 25 2006, 19:13 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, апр 05 2005, 17:02
Сообщения: 70
Здравствуйте, уважаемые!
Возникла такая проблема. Необходимо дать пользователю загрузить в САП бинарный файл (это может быть и документ, и картинка, и вообще всё, что захочет юзер). Потом показать его (видимо, вызовом Виндового приложения) и, самое главное, передать его во внешнюю программу через RFC
Подскажите, куда копать?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 25 2006, 19:48 
Гость
для загрузки в SAP можно использовать транзакцию OAER, потом к загруженному объекту можно обращаться программно, по имени


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 26 2006, 15:41 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, апр 05 2005, 17:02
Сообщения: 70
Прошу прощения, не совсем верно описал задачу. У пользователя есть диалог. Мне нужно вставить в него поле выбора файла. Ну и так далее.
Сейчас такое поле добавил, а вот добиться чтобы выбирался файл, не могу. У меня идёт вызов функции WS_FILENAME_GET. Если параметр MASK заполняю как в примере для Экселевских файлов ('*.XLS,EXCEL FILES (*.XLS),*.XLS.'), то диалог показывается, ФМ отрабатывает. Если оставляю пустым или заполняю '*.*', то ФМ вылетает по исключению SELECTION_CANCEL


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 26 2006, 15:55 
Гость
Попробуйте вот так, ошибка пропадает
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
MASK = ',*.*.'
IMPORTING
FILENAME = p_name
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 26 2006, 16:54 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, апр 05 2005, 17:02
Сообщения: 70
Спасибо, так и сделал. Всё работает.
Что же теперь дальше? Куда сложить выбранный файл?


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

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
А вам случаем, это зачем? Может этот файл к документу какому стандартному подцепить? Если так, то там и так все уже есть, даже программировать не надо.

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 27 2006, 09:09 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
тр oaor - business document system
прям сюда выкладывали ссылки на рабочие примеры

_________________
полный SAPец


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

Зарегистрирован:
Вт, апр 05 2005, 17:02
Сообщения: 70
slash написал(а):
тр oaor - business document system
прям сюда выкладывали ссылки на рабочие примеры

Сергей Королев написал:
А вам случаем, это зачем? Может этот файл к документу какому стандартному подцепить? Если так, то там и так все уже есть, даже программировать не надо.

Так было бы проще всего... К сожалению, это прибабах к ведению z-овской таблицы. Типа есть таблица с набором записей, в одно из полей надо добавить ссылку (или имя) на образ документа. Соответственно, в диалог, в котором юзер формирует данные для этой таблицы, добавлено поле с выбором файла
Соответственно, oaor так же не годится. Меня бы устроил какой-нибудь ФМ, который положил файл, например, в тот же BDS


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 30 2006, 19:45 
Гость
можно поступить совсем просто:
создается табличка вида:

(*)area_id char
(*)file_id char
(*)cluster_id char
( )binary_data rawstring(10240)

т.е. набор ключей для идентификации собственно файла, куска файла (если он больше чем один кусок, например 10к) и собственно данных

восстановление файла для запуска виндового приложения:

types:
x10240(10240) type x,
begin of ty_data,
cluster_id type ze_clusterid,
length type i,
bindat type x10240,
end of ty_data.

data:
l_file type string,
lt_data type standard table of x10240,
ls_data type ty_data.

select cluster_id file_len binary_data
into ls_data
from ztab_filestore
where area_id eq c_areaid
and file_id eq c_fileid
order by cluster_id.
append ls_data-bindat to lt_data.
endselect.
...

call function 'GUI_DOWNLOAD'
exporting
bin_filesize = ls_data-length
filename = c_file
filetype = 'BIN'
append = space
trunc_trailing_blanks = space
write_lf = space
tables
data_tab = lt_data.

считывание файла:

call function 'GUI_UPLOAD'
exporting
filename = path
filetype = 'BIN'
importing
filelength = length
tables
data_tab = it_file

is_filestore-areaid = p_areaid.
is_filestore-fileid = p_fileid.
is_filestore-crdate = sy-datum.
is_filestore-crtime = sy-uzeit.
is_filestore-origfn = p_file.
is_filestore-length = length.
loop at it_file into is_file.
add 1 to counter.
is_filestore-cluster_id = counter.
is_filestore-binary_data = is_file.
insert into ztab_filestore values is_filestore.
endloop.

что-то типа того =)


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

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


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

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


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

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