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

Сохранение файла из репозитария на жестком диске.



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


Age: 37
Joined: 12 Mar 2010
Posts: 25

PostPosted: Fri Apr 22, 2011 2:21 pm    Post subject: Сохранение файла из репозитария на жестком диске. Reply with quote

Добрый день!
Имеется загруженный файл MsAccess в репозитарий объектов sap.
Мне необходимо открыть этот файл и соранить по указанному пути на жестком диске.
Для этого делаю следующее:
Code:
  CALL METHOD CONTROL->GET_DOCUMENT_PROXY
*             EXPORTING DOCUMENT_TYPE = DOCUMENT_TYPE
             EXPORTING DOCUMENT_TYPE = document_type
*                       REGISTER_CONTAINER = 'X'
             IMPORTING DOCUMENT_PROXY = DOCUMENT
                       ERROR = ERROR.

  CALL METHOD DOCUMENT->OPEN_DOCUMENT
                    EXPORTING OPEN_INPLACE = 'X'
                              DOCUMENT_URL = ITEM_URL.

*data: ERROR Type Ref To I_OI_ERROR.
  CALL METHOD DOCUMENT->SAVE_COPY_AS
              EXPORTING FILE_NAME = 'C:\db.mdb'
              IMPORTING ERROR = ERROR .


Но открыть документ access не получается по всей видимости из-за того, что я неверно указываю тип документа.
Пробовал указывать так
Code:
document_type = 'ACCESS'.

и так
Code:
document_type = 'ACCESS.APPLICATION'.


Подскажите как правильно указать тип документа в случае с аксессом. И можно ли произвести сохранение файла в фоновом режиме?
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Fri Apr 22, 2011 2:32 pm    Post subject: Reply with quote

Так посмотрите в OAOR, с каким типом вы загрузили файл.
С ним же и выгружайте.
В фоновом режиме выгрузить файл на фронтэнд не получится.

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
evggen
Участник
Участник


Age: 37
Joined: 12 Mar 2010
Posts: 25

PostPosted: Fri Apr 22, 2011 2:39 pm    Post subject: Reply with quote

в OAOR так и пишет: тип документа База данных (Mircosoft Access)
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Fri Apr 22, 2011 2:58 pm    Post subject: Reply with quote

Посмотрите в транзакции SOLE, как у вас настроен тип объекта для Access.
_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
evggen
Участник
Участник


Age: 37
Joined: 12 Mar 2010
Posts: 25

PostPosted: Fri Apr 22, 2011 3:08 pm    Post subject: Reply with quote

Удав wrote:
Посмотрите в транзакции SOLE, как у вас настроен тип объекта для Access.


В этой транзакции не вижу настройки для Access. Как-то можно это самому сделать?
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Fri Apr 22, 2011 3:09 pm    Post subject: Reply with quote

В самой транзакции пункт "Справка - Справка по приложению".
Или посмотрите здесь

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
evggen
Участник
Участник


Age: 37
Joined: 12 Mar 2010
Posts: 25

PostPosted: Mon Apr 25, 2011 2:06 pm    Post subject: Reply with quote

В SOLE создал тип для Access:

Приложение OLE ACCESS.APPLICATION
Номер версии
CLSID {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
CLSID TypeLib
ИмяОбъекта OLE APPLICATION
Ключ инфотипа NO_TYPELIB
ПрограммаInclude
Язык
Проверка полномочий
Ткст

CLSID взял из реестра.

Делаю открытие документа:
Code:

  CALL METHOD CONTROL->GET_DOCUMENT_PROXY
*             EXPORTING DOCUMENT_TYPE = DOCUMENT_TYPE
             EXPORTING DOCUMENT_TYPE = 'ACCESS.APPLICATION'
*                       REGISTER_CONTAINER = 'X'
             IMPORTING DOCUMENT_PROXY = DOCUMENT
                       ERROR = ERROR.

  clear ERROR.
  CALL METHOD DOCUMENT->OPEN_DOCUMENT
                    EXPORTING OPEN_INPLACE = ''
                              DOCUMENT_URL = ITEM_URL
                    IMPORTING ERROR = ERROR .


При открытии все равно получаю сообщение о том, что документ не может быть открыт.
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Tue Apr 26, 2011 9:59 am    Post subject: Reply with quote

Хм..У нас в 4.7 в OAOR при создании документа можно выбрать только типы "Приложение"(Word), "Экран"(рисунок), "Образец таблицы"(Excel), "Презентация"(PowerPoint) и "Текст"(Word).
Соответственно, при открытии документа нужно использовать только эти объекты.
Я загружал файл Access как приложение. Из OAOR он нормально запускался в Access, независимо от записей в SALE Rolling Eyes

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
evggen
Участник
Участник


Age: 37
Joined: 12 Mar 2010
Posts: 25

PostPosted: Tue Apr 26, 2011 2:06 pm    Post subject: Reply with quote

У нас тоже самое в системе. Я также его загрузил как приложение и напрямую из OAOR он открывается, а из abap не получается.... Sad
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Tue Apr 26, 2011 3:03 pm    Post subject: Reply with quote

А пробовали открывать его из ABAP с типом 'Word.Document.8'?
_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
evggen
Участник
Участник


Age: 37
Joined: 12 Mar 2010
Posts: 25

PostPosted: Wed Apr 27, 2011 7:18 am    Post subject: Reply with quote

Попробовал. Предлагает открыть с преобразованием в различные типы документов: текствый, xml и др. Того, что нужно нет к сожалению.
Back to top
View user's profile Send private message
Nicks
Участник
Участник



Joined: 02 Aug 2010
Posts: 9

PostPosted: Wed Apr 27, 2011 7:29 am    Post subject: Reply with quote

Ну я вот так баловался с открытием файла
Code:
  lf_service = 'MSACCESS'.
  lf_topic   = 'SYSTEM'. " "D:\TEMP\Метод Гаусса.doc"
*Сообщения: 17
  CALL METHOD cl_gui_frontend_services=>execute
    EXPORTING
      document = 'D:\TEMP\workBase.mdb'.

Это аналог ShellExecute - я так файлы разные открывал - быстрее чем через OPEN в OLE
Back to top
View user's profile Send private message
evggen
Участник
Участник


Age: 37
Joined: 12 Mar 2010
Posts: 25

PostPosted: Wed Apr 27, 2011 8:23 am    Post subject: Reply with quote

Nicks wrote:
Ну я вот так баловался с открытием файла
Code:
  lf_service = 'MSACCESS'.
  lf_topic   = 'SYSTEM'. " "D:\TEMP\Метод Гаусса.doc"
*Сообщения: 17
  CALL METHOD cl_gui_frontend_services=>execute
    EXPORTING
      document = 'D:\TEMP\workBase.mdb'.

Это аналог ShellExecute - я так файлы разные открывал - быстрее чем через OPEN в OLE


Вы, по-моему, перепутали открытие файла с жесткого диска и из репозитария sap Smile
Back to top
View user's profile Send private message
Nicks
Участник
Участник



Joined: 02 Aug 2010
Posts: 9

PostPosted: Wed Apr 27, 2011 8:53 am    Post subject: Reply with quote

Не поверю, что выгрузка файла из репозитария на рабочую станцию в рабочую директорию неосуществима...
Back to top
View user's profile Send private message
evggen
Участник
Участник


Age: 37
Joined: 12 Mar 2010
Posts: 25

PostPosted: Wed Apr 27, 2011 9:12 am    Post subject: Reply with quote

Никто не говорит, что не осуществима. С файлами word, excel все хорошо работает. C access не получается.
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.