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

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


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

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


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

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