Текущее время: Пн, июл 21 2025, 16:30

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Пример программы с DOI
СообщениеДобавлено: Пт, дек 29 2006, 11:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 18 2006, 10:37
Сообщения: 177
Откуда: Беларусь
Пол: Мужской
Привет всем!

Я пытаюсь изучать работу с MSOffice через DOI (читаю bc-ci, еще статейку SAP Desktop Office Integration Using ABAP Objects) но пока не очень понятно :).
Если бы ктони-будь написал маленький пример - простой, открытие файлика Excel и чтения ячейки, я был бы очень благодарен. ^_^

Спасибо. :)

_________________
Regards


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

Зарегистрирован:
Пт, ноя 12 2004, 11:40
Сообщения: 542
Откуда: Москва
Пол: Мужской
Вот так просто открыть документ

Code:
REPORT zdoi_test.

TYPE-POOLS: sbdst.

* Определяем переменные
DATA: i_control  TYPE REF TO i_oi_container_control.
DATA: i_document TYPE REF TO i_oi_document_proxy.
DATA: container  TYPE REF TO cl_gui_custom_container.

DATA: doc_classname    TYPE sbdst_classname   VALUE 'ZFI',
      doc_classtype    TYPE sbdst_classtype   VALUE 'OT',
      doc_name         TYPE bapibds01-objkey  VALUE 'ZFI05'.

* Таблицы и рабочие области
DATA: doc_uris       TYPE sbdst_uri,
      wa_doc_uris    LIKE LINE OF doc_uris.

* Создаем экземпляр SAP DOI ActiveX Control
CALL METHOD c_oi_container_control_creator=>get_container_control
  IMPORTING
    control = i_control.


* Инициализируем объект i_control содержит ссылку на него
CALL METHOD i_control->init_control
   EXPORTING
     r3_application_name      = 'R/3 application'
     parent                   = container
     register_on_close_event  = 'X'
     register_on_custom_event = 'X'
*    inplace_enabled          = 'X'
*    inplace_scroll_documents = 'X'
     no_flush                 = 'X'.


* Для Ворда - document_type   = 'Word.Document'

CALL METHOD i_control->get_document_proxy
  EXPORTING
    document_type      = ' '
    register_container = 'X'
  IMPORTING
    document_proxy     = i_document.


* Получаем урл
CALL METHOD cl_bds_document_set=>get_with_url
  EXPORTING
    classname       = doc_classname
    classtype       = doc_classtype
  CHANGING
    uris            = doc_uris
  EXCEPTIONS
    nothing_found   = 1
    error_kpro      = 2
    internal_error  = 3
    parameter_error = 4
    not_authorized  = 5
    not_allowed     = 6
    OTHERS          = 7.

IF sy-subrc <> 0.

ENDIF.

LOOP AT doc_uris INTO wa_doc_uris.
  IF wa_doc_uris-uri CS doc_name.
    EXIT.
  ENDIF.
ENDLOOP.


* Открываем документ
CALL METHOD i_document->open_document
  EXPORTING
    document_url = wa_doc_uris-uri
    no_flush     = 'X'
    open_inplace = 'X'.

MESSAGE 'ОК' TYPE 'I'.



Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 29 2006, 13:38 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
SAPRDEMOOFFICEINTEGRATION


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

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


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

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


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

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