Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => Тема розпочата: Igor Garanichev від Березень 11, 2010, 05:02:52 ПП

Назва: Использование GOS для прикрепления аттачментов
Відправлено: Igor Garanichev від Березень 11, 2010, 05:02:52 ПП
Уважаемые гуру.

Подскажите, если кто использовал GOS для создания вложений к объектам.
Всё работает хорошо, но как проверить размер файла перед внесением? Там как бы красиво всё срабатывает и вроде подкопаться негде.
Назва: Re: Использование GOS для прикрепления аттачментов
Відправлено: Uukrul від Березень 12, 2010, 09:56:35 ДП
Про GOS обсуждалось тут:
http://sapforum.biz/index.php/topic,216.0/highlight,gos.html
http://sapforum.biz/index.php/topic,36.msg135.html#msg135

Теперь, что касается размеров загружаемых файлов, полазив по коду могу сказать что размер загружаемого файла во время загрузки приложения фигурирует. В этом можно убедиться если просмотреть модуль LSO32F02, строка 1770, там где идет вызов функции SO_OBJECT_UPLOAD, так вот по выходу из функции возвращается параметр filelength = bin_filesize, в байтах. Так что если вас не пугает модификация стандарта, то получаем ключ на модуль LSO32F02 и после вызова функции загрузки данных, проверяем размер загруженных данных, причем можно сделать что-то типа своей таблицы и там прописать для каждого типа файла максимально допустимый размер, а потом уже написать проверку и если типа размер для типа файла превышен, выдать предупреждение что загрузка отменена, так как файл превышает допустимый размер. Причем судя по тексту для этого достаточно, выдать сообщение типа I? задать sy-subrc = 5 (потому что предыдущие уже заняты) и вызвать EXIT. По аналогии с кодом со строки 1831. Проверил в отладке, таки ничего не добавляется. В общем думаю можно тут код и подправить с пользой так сказать.
Назва: Re: Использование GOS для прикрепления аттачментов
Відправлено: №1 від Березень 12, 2010, 11:50:20 ДП
В качестве ИМХО (как базисник) - используем GOS, но прикрепляем ссылки на документы, которые хранятся во внешнем хранилище (может быть Sharepoint, Content server или файловая помойка).
Мое глубокое убеждение - базу не надо загромождать, даже если это допускается в системе. :)
Назва: Re: Использование GOS для прикрепления аттачментов
Відправлено: Uukrul від Березень 12, 2010, 12:15:42 ПП
Цитата: № 1 від Березень 12, 2010, 11:50:20 ДП
В качестве ИМХО (как базисник) - используем GOS, но прикрепляем ссылки на документы, которые хранятся во внешнем хранилище (может быть Sharepoint, Content server или файловая помойка).
Мое глубокое убеждение - базу не надо загромождать, даже если это допускается в системе. :)
Тут вопрос бэкапа данных встает и серьезно, так как ссылка ссылкой а там уже ничего нет или сетевики-затейники решили в очередной раз переконфигруировать сервера. Далее вытаскивать уже сложнее данные будет если тут ссылка а сами данные где-то там, а что база растет, так это BLOB, выносите на отдельные диски, так же файловая помойка и никому не мешает и все в одном месте (не я не про жо...у), так что ничего ей не будет,  работа у нее такая данные хранить.
Назва: Re: Использование GOS для прикрепления аттачментов
Відправлено: №1 від Березень 12, 2010, 12:33:24 ПП
Цитата: Uukrul  link=topic=1078.msg6660#msg6660 date=1268388942
Тут вопрос бэкапа данных встает и серьезно, так как ссылка ссылкой а там уже ничего нет или сетевики-затейники решили в очередной раз переконфигруировать сервера. Далее вытаскивать уже сложнее данные будет если тут ссылка а сами данные где-то там, а что база растет, так это BLOB, выносите на отдельные диски, так же файловая помойка и никому не мешает и все в одном месте (не я не про жо...у), так что ничего ей не будет,  работа у нее такая данные хранить.
Вопрос с бекапом всегда серьезен и если затейники с кривыми руками, то ручки надо выпрямлять хорошим молотком ;)
А вот бекап базы с BLOBами и (не дай бог!) восстановление - это тема.... (не я не про жо...у)