SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Загрузка фотографий сотрудников из ftp в sap



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
Pavel1986
Участник
Участник



Joined: 11 May 2010
Posts: 3

PostPosted: Tue May 11, 2010 3:47 pm    Post subject: Загрузка фотографий сотрудников из ftp в sap Reply with quote

Здравствуйте.

Мне нужно загружать фотографии сотрудников c ftp сервера, в том числе и в фоновом режиме.
Раньше над этим работали мои коллеги, и они реализовали загрузку фотографий вызовом двух функций:
SCMS_HTTP_CREATE_FILES – фотография размещается в репозитории
ARCHIV_CONNECTION_INSERT – фотография привязывается к табельному номеру

Функция SCMS_HTTP_CREATE_FILES содержит параметр PATH, но если задать в нем строку вида:
ftp://login:[email protected]/12345.bmp
то возникает ошибка.

У меня пока что есть только одна идея: создать где-нибудь папку, через ftp загружать файл с фотографией в эту папку, а потом из нее копировать файл уже через SCMS_HTTP_CREATE_FILES в репозиторий. Но тогда к этой папке придется открывать доступ всем пользователям, которые будут работать с программой, а по требованиям безопасности нужно как раз запретить такой доступ к фотографиям, чтобы их не могли, например, изменить.

Подскажите, пожалуйста, можно ли тут обойтись без вспомогательной папки? Можно ли сразу скопировать фотографию с ftp сервера в репозиторий?

PS: На всякий случай уточню, что фотографии – это файлы с расширением bmp.

Заранее спасибо.
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 120
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Tue May 11, 2010 5:05 pm    Post subject: Reply with quote

Ошибка когда возникает, если в фоне грузите?
Если раньше без ошибок работало, в чем отличие работающей версии и ошибочной?

Какой код ошибки?

_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
Pavel1986
Участник
Участник



Joined: 11 May 2010
Posts: 3

PostPosted: Wed May 12, 2010 9:38 am    Post subject: Reply with quote

Сейчас уже есть функция, загружающая фотографии. Но она работает, только если ее запускает сотрудник (в фоновом режиме она не работала и раньше). В этой функции указывается сетевое имя файла. Но SAP установлен на UNIX, а у клиентов – Windows, и, видимо, поэтому в фоновом режиме возникала ошибка, т.к. при чтении файла путь указывался так: “\\111.111.111.111\Folder\File.bmp”, и UNIX, в отличие от Windows, эту запись не понимает (а в фоновом режиме, наверное, программа выполняется на UNIX, там же, где установлен SAP). Функция SCMS_HTTP_CREATE_FILES возвращает ошибку - SY-SUBR =1 (Bad request).

Но теперь мне нужно загружать фотографии, читая их через FTP (а не напрямую, через сетевое имя, как это делалось раньше). Пока пытаюсь разобраться, как сделать это вручную, а потом, если получится, попробую добавить и фоновый режим.

Вот то, что я пытался сделать:

Сначала я попытался использовать ту же функцию, которая загружает фотографии сейчас, и просто заменил путь с “\\111.111.111.111\Folder\File.bmp” на “ftp://ftp:[email protected]/File.bmp”. Но тогда функция SCMS_HTTP_CREATE_FILES опять возвращает ошибку - SY-SUBR =1 (Bad request).

Можно сначала считать файл из FTP в какую-нибудь папку и уже оттуда записать в хранилище объектов, но мне нужно делать эту операцию напрямую, чтобы файл нельзя было, например, изменить.

На всякий случай я скинул код функции, загружающей фотографии сюда: http://paste.org.ru/?vw883t
На вход поступают табельный номер (PERNR), путь к папке с фотографиями (PATH) и имя файла (FILENAME).
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 120
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Wed May 12, 2010 10:26 am    Post subject: Reply with quote

Программа как в фоновом, так и не в фоновом режиме все равно выполняется на сервере приложений (то есть в UNIX), а проблема тогда скорей всего в том, что для работы используемой вами функции требуется доступ к локальной машине клиента, с которой выполняется чтение из windows папок. При выполнении в фоне нет доступа к локальной машине. Если это так, то в фоне она работать никак не будет, какой бы сетевой путь вы не указали.

Я не смотрел код ФМ SCMS_HTTP_CREATE_FILES, но почему Вы решили, что она будет работать по протоколу FTP? Это же не навороченный Internet Explorer, поддерживающий несколько протоколов. Скорей всего она поддерживает только HTTP, как указано в ее названии.

Поэтому если нужна реализация ftp, используйте специальные функции для работы по ftp, примеров на этом форуме достаточно.
Uploading data using the ftp server
По ftp данные читаются сначал во внутреннюю таблицу, поэтому в промежуточных папках не хранятся.

С юних тоже можно добраться до Windows папок, только нужно настроить соотвествующии сервисы: Samba, NFS или подобное.

_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
Pavel1986
Участник
Участник



Joined: 11 May 2010
Posts: 3

PostPosted: Thu May 13, 2010 8:21 am    Post subject: Reply with quote

vga
Большое спасибо.
Кажется, начал разбираться. Если кому-нибудь пригодиться – из ftp можно считать файл во временную таблицу, используя функцию FTP_SERVER_TO_R3.
Back to top
View user's profile Send private message
menx
Участник
Участник



Joined: 21 Nov 2008
Posts: 25
Location: СПб - Валлдорф

PostPosted: Thu Aug 19, 2010 3:27 pm    Post subject: Reply with quote

расскажите чем все закончилось. У меня есть весьма похожая задача.
Если можно, то приведите конечный код загрузки данных.

Спасибо
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.