Текущее время: Вт, июл 01 2025, 04:57

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Хранение файлов (больших объектов) в базе данных.
СообщениеДобавлено: Вт, окт 30 2007, 11:57 
Гость
В задаче нужно реализовать таблицу комментариев пользователей и
файлов, прикрепленных к комментариям.

Есть ли во SAP возможности хранения больших объектов в базе данных,
аналогичные оракловым BLOB?

Как я понял, можно только таблицы БД выгружать в файл и загружать из файла, а как реализовать хранение файлов в БД?


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 30 2007, 12:12 
Гость
1-й Способ транзакция SMW0 - двоичные данные
2-й Способ транзакция OAOR


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 30 2007, 12:14 
Специалист
Специалист

Зарегистрирован:
Вс, мар 13 2005, 13:59
Сообщения: 201
Откуда: Moscau
А сколько документов в день/месяц. Какой объем файла?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 30 2007, 12:31 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
Кроме каментов, речь идет о файлах. А Content Server для этих целей не подойдет?

_________________
/nex


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 30 2007, 12:35 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Можно объявить свой бизнес-объект по записи БД действий пользователя и через GOS организовать и ведение комментария (note), и хранение файла (attachment).
Можно поискать ФМ по маске GOS_*, либо классы посмотреть CL_GOS_*


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 30 2007, 12:41 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, окт 29 2007, 18:22
Сообщения: 254
Пол: Мужской
А Solution Manager не подходит? :roll:


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 30 2007, 13:27 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
paho написал:
А Solution Manager не подходит? :roll:

:shock: Поясните плз, а как? Реально интересно.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 30 2007, 14:03 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, окт 29 2007, 18:22
Сообщения: 254
Пол: Мужской
John Doe написал:
paho написал:
А Solution Manager не подходит? :roll:

:shock: Поясните плз, а как? Реально интересно.

Стандартными тикетами Solution Manager сохраняются все комментарии и каждый пользователь может делать етачмент к коменту причем любой файл, любого размера, ну это так как вариант


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 30 2007, 16:52 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
если файлики логически связаны с какими нибудь бизнес-обьектами то bds - тр oaor

_________________
полный SAPец


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 01 2007, 12:24 
Гость
John Doe написал:
Можно объявить свой бизнес-объект по записи БД действий пользователя и через GOS организовать и ведение комментария (note), и хранение файла (attachment).
Можно поискать ФМ по маске GOS_*, либо классы посмотреть CL_GOS_*


Можно ли где-нибудь почитать про эту технологию хороший Guide
или курс BC?
На help.sap.com смог отыскать только блоги индусов как они это все курто делают, из них понятно только как диалоговое окно для выбора файла в системе открывать.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 01 2007, 12:43 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Изя Шниперсон написал(а):
Можно ли где-нибудь почитать про эту технологию хороший Guide
или курс BC?
На help.sap.com смог отыскать только блоги индусов как они это все курто делают, из них понятно только как диалоговое окно для выбора файла в системе открывать.

Собственно начинал я свое понимание объектных сервисов как раз с блога какого-то смешного индуса + его же easy reference . Потом вот этот хелп тоже подойдет, там раздел посвященный GOS есть.
Ну и в конце, как я уже писал, смотри методы классов в SE24 или результаты работы GOS* фмников.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 01 2007, 13:01 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Вот примерчик, который проверяет наличие в закупочном заказе заметки с опредённым описанием и непустым текстом:
Code:
DATA: l_found TYPE c. " Флаг: найдена ли искомая заметка

DATA: ip_role TYPE oblroltype
    , is_object TYPE sibflporb
    , ip_relation TYPE oblreltype
    , et_links TYPE obl_t_link
    .
FIELD-SYMBOLS: <links> TYPE LINE OF obl_t_link.

ip_relation = 'NOTE'.
ip_role = 'GOSAPPLOBJ'.
is_object-instid = '3300000008'. " Номер закупочного заказа
is_object-typeid = 'BUS2012'.    " Бизнес-объект, соответствующий закупочному заказу
is_object-catid = 'BO'.

cl_binary_relation=>read_links_of_binrel(
  EXPORTING
    is_object    = is_object
    ip_relation  = ip_relation
    ip_role      = ip_role
*      ip_propnam   = ip_propnam
*      ip_no_buffer = SPACE
   IMPORTING
     et_links     = et_links
*      et_roles     = et_roles
       ).


DATA:
      folder_id LIKE soodk
    , object_id LIKE soodk
    , object_hd_display LIKE sood2
    , objcont TYPE TABLE OF soli
.
FIELD-SYMBOLS: <cont> TYPE soli.

LOOP AT et_links ASSIGNING <links> WHERE roletype_b = 'ANNOTATION'
           AND typeid_b = 'MESSAGE' AND catid_b = 'BO'.

  folder_id = <links>-instid_b(17).
  object_id = <links>-instid_b+17(17).

  CALL FUNCTION 'SO_OBJECT_READ'
    EXPORTING
      folder_id                  = folder_id
      object_id                  = object_id
    IMPORTING
      object_hd_display          = object_hd_display
    TABLES
      objcont                    = objcont
    EXCEPTIONS
      active_user_not_exist      = 1
      communication_failure      = 2
      component_not_available    = 3
      folder_not_exist           = 4
      folder_no_authorization    = 5
      object_not_exist           = 6
      object_no_authorization    = 7
      operation_no_authorization = 8
      owner_not_exist            = 9
      parameter_error            = 10
      substitute_not_active      = 11
      substitute_not_defined     = 12
      system_failure             = 13
      x_error                    = 14
      OTHERS                     = 15.

  IF sy-subrc <> 0.
    MESSAGE 'Ошибка чтения заметки' TYPE 'E'.
  ENDIF.

  IF object_hd_display-objdes = 'Предопределённое описание'.
    LOOP AT objcont ASSIGNING <cont>.
      IF <cont>-line <> ''.
        l_found = 'X'. EXIT.
      ENDIF.
    ENDLOOP.
  ENDIF.
  IF l_found = 'X'. EXIT. ENDIF.
ENDLOOP.

IF l_found = ''.
  MESSAGE 'Сделайте заметку' TYPE 'E'.
ENDIF.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 22 2008, 22:43 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Поднимаю старую тему. Возникла необходимость программно создавать attachment к Travel expense (командировочные расходы) - BUS2089. По блогу индуса нашла его же пример именно для attachment. Упомянутая выше quick reference, к сожалению, не работает - там какой-то PDF файл, который не открывается.

Пока удалось создать attachment (.DOC) и в Attachment List все отлично видно, но открыть файл невозможно. Word либо ругается, что файл не в том формате, либо пытается открыть его как текстовый файл, состоящий из каких-то закорючек. Tакое ощущение, что перед вызовом BINARY_RELATION_CREATE нужен еще какой-то шаг...

В блоге народ тоже жалуется, что не могут файлы открыть, но решения никто что-то не запостил. :( Попробовала вариант как тут у латиноса какого-то. С ним файл открывается, но в нем все равно закорючки. Кто виноват и что делать? :?

Code:
* Include for BO macros
INCLUDE : <cntn01>.
* Load class.
CLASS cl_binary_relation DEFINITION LOAD.
CLASS cl_obl_object      DEFINITION LOAD.

PARAMETERS:
*  Object_a
   p_botype LIKE obl_s_pbor-typeid, " e.g. 'BUS2012'
   p_bo_id  LIKE obl_s_pbor-instid,     " Key e.g. PO No.

*  Object_b
   p_docty  LIKE obl_s_pbor-typeid DEFAULT 'MESSAGE' NO-DISPLAY,
   p_msgtyp LIKE sofm-doctp,            " File extension

*  Relationship
    p_reltyp  LIKE breltyp-reltype DEFAULT 'ATTA',
   p_file TYPE string.

TYPES: BEGIN OF ty_message_key,
        foltp   TYPE so_fol_tp,
        folyr   TYPE so_fol_yr,
        folno   TYPE so_fol_no,
        doctp   TYPE so_doc_tp,
        docyr   TYPE so_doc_yr,
        docno   TYPE so_doc_no,
        fortp   TYPE so_for_tp,
        foryr   TYPE so_for_yr,
        forno   TYPE so_for_no,
       END OF ty_message_key.

DATA : lv_message_key TYPE ty_message_key.
DATA : lo_message TYPE swc_object.
DATA : lt_doc_content TYPE STANDARD TABLE OF soli-line
                             WITH HEADER LINE.

* Create an initial instance of BO 'MESSAGE' - to call the
* instance-independent method 'Create'.

p_docty = 'MESSAGE'.
swc_create_object lo_message 'MESSAGE' lv_message_key.

swc_container   lt_message_container.
swc_set_element lt_message_container 'DOCUMENTTITLE' 'Test Title'.
swc_set_element lt_message_container 'DOCUMENTLANGU' 'E'.
swc_set_element lt_message_container 'NO_DIALOG' 'X'.
swc_set_element lt_message_container 'DOCUMENTNAME' p_docty.
swc_set_element lt_message_container 'DOCUMENTTYPE' p_msgtyp.

OPEN DATASET p_file FOR INPUT IN BINARY MODE.
WHILE sy-subrc = 0.
   READ DATASET p_file INTO lt_doc_content.
   APPEND lt_doc_content.
ENDWHILE.
CLOSE DATASET p_file.

swc_set_table lt_message_container 'DocumentContent' lt_doc_content.

* Size is required in case of File attachments
DATA : lv_doc_size TYPE i.
DATA : l_file_lines TYPE i.

DESCRIBE TABLE lt_doc_content LINES l_file_lines.
READ TABLE lt_doc_content INDEX l_file_lines.
lv_doc_size = ( 255 * ( l_file_lines - 1 ) ) +
            STRLEN( lt_doc_content ).

swc_set_element lt_message_container 'DOCUMENTSIZE'   lv_doc_size .

* Refresh to get the reference of create 'MESSAGE' object for attachment
swc_refresh_object lo_message.
swc_call_method lo_message 'CREATE' lt_message_container.

* Get Key of new object
swc_get_object_key lo_message lv_message_key.

* Create main BO object_a
DATA: lo_is_object_a TYPE borident.

lo_is_object_a-objkey = p_bo_id.
lo_is_object_a-objtype = p_botype.

* Create attachment BO object_b
DATA: lo_is_object_b TYPE borident.

lo_is_object_b-objkey = lv_message_key.
lo_is_object_b-objtype = p_docty.

CALL FUNCTION 'BINARY_RELATION_CREATE'
  EXPORTING
    obj_rolea    = lo_is_object_a
    obj_roleb    = lo_is_object_b
    relationtype = p_reltyp
  EXCEPTIONS
    OTHERS       = 1.

COMMIT WORK.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 23 2008, 08:05 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Привет Jelena!
Закорючки в файле - это скорее всего проблема с OPEN DATASET и кодировкой, я так думаю.
И еще попробуй p_msgtyp присвоить 'EXT' ПК-приложение до выполнения макросов.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 23 2008, 17:02 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
John Doe написал:
Привет Jelena!
Закорючки в файле - это скорее всего проблема с OPEN DATASET и кодировкой, я так думаю.
И еще попробуй p_msgtyp присвоить 'EXT' ПК-приложение до выполнения макросов.


Спасибо за ответ. В том-то и дело, что тот же OPEN DATASET в другой программе отлично читает тот же файл для email аттачмента (SO_NEW_DOCUMENT_ATT_SEND_API1). Да и у нас тут все на английском, какие там кодировки. :)

Попробовала 'EXT', но тогда в Attachment List файл виден не как Word doc, а как plain text (иконка другая). Открыть напрямую его невозможно и через Export он тоже не открывается. :( Dammit...

Коллега тут упомянул ФМ SO_DOCUMENT_INSERT_API1, но это, как я понимаю, совершенно не то - нам ведь не в SAP Office аттачмент нужно создать. Или я не права?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.

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


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

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


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

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