Текущее время: Ср, апр 24 2024, 11:41

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Копирование файла из ArchiveLink в DMS
СообщениеДобавлено: Вт, фев 15 2022, 20:36 
Специалист
Специалист

Зарегистрирован:
Пн, июл 12 2010, 11:43
Сообщения: 174
Добрый день, коллеги.
Возникла необходимость копировать файлы с Archivelink в DMS.
Рассматривала вариант выгрузки документа (ARCHIVOBJECT_GET_TABLE) в таблицу типа tbl1024. Но как загрузить этот выгруженный файл в DMS не нашла.
Может кто-то с таким сталкивался. Буду благодарна за помощь или за подсказку.
Заранее спасибо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Копирование файла из ArchiveLink в DMS
СообщениеДобавлено: Ср, фев 16 2022, 12:26 
Специалист
Специалист

Зарегистрирован:
Чт, дек 02 2010, 08:37
Сообщения: 156
Именно DMS?
Тогда см. BAPI_DOCUMENT_CREATE2/BAPI_DOCUMENT_CHANGE2, да и в гр.функций есть немало полезного.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Копирование файла из ArchiveLink в DMS
СообщениеДобавлено: Ср, фев 16 2022, 20:37 
Специалист
Специалист

Зарегистрирован:
Пн, июл 12 2010, 11:43
Сообщения: 174
baboon написал(а):
Именно DMS?
Тогда см. BAPI_DOCUMENT_CREATE2/BAPI_DOCUMENT_CHANGE2, да и в гр.функций есть немало полезного.


Зачем писать ответы, если они несут ровно «ноль» информации? На будущее: ну не знаете, не пишите!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Копирование файла из ArchiveLink в DMS
СообщениеДобавлено: Ср, фев 16 2022, 20:42 
Специалист
Специалист

Зарегистрирован:
Пн, июл 12 2010, 11:43
Сообщения: 174
Добрый вечер.
Разобралась. Пишу, может кому-то тоже будет нужно.
Основной принцип - загрузить можно не только из ArchiveLink в DMS.
Если есть URL, из него-то я и формирую документ для того чтобы положить в DMS.

Code:
REPORT zqq_test_copy_dms_url_2.
DATA:
  e_message   TYPE  messages,
  lt_files_x  TYPE STANDARD TABLE OF cvapi_doc_file,
  ls_api_cntl TYPE  cvapi_api_control.

DATA: lt_drao TYPE STANDARD TABLE OF drao.
DATA: ex_message TYPE bapiret2,
      ex_urls    TYPE STANDARD TABLE OF toadurl_s.
TYPES: BEGIN OF ts_data,
         line(2550) TYPE x.
TYPES: END OF ts_data.
DATA: lf_filesize TYPE i.
DATA: lt_data TYPE ts_data OCCURS 0 WITH HEADER LINE.

"получаем url используя ИД из т. toa01
CALL FUNCTION 'ALINK_RFC_DOCUMENT_URLS_GET'
  EXPORTING
    im_docid   = '969F6C1E11021EDCA3DE18F67ABF4B1E' "'969F6C1E11021EDCA3E50F5DE4FCCB19'
    im_crepid  = 'ZU'
  IMPORTING
    ex_message = ex_message
  TABLES
    ex_urls    = ex_urls.

CHECK ex_urls[] IS NOT INITIAL.
"получаем файл из URL
DATA(pf_url) = CONV saeuri( ex_urls[ 1 ]-url ).
CALL FUNCTION 'DP_GET_STREAM_FROM_URL'
  EXPORTING
    url            = pf_url
  IMPORTING
    size           = lf_filesize
  TABLES
    data           = lt_data
  EXCEPTIONS
    dp_fail        = 1
    dp_failed_init = 2
    OTHERS         = 3.
LOOP AT lt_data ASSIGNING FIELD-SYMBOL(<fs>).
  lt_drao = VALUE #( BASE lt_drao ( orblk = <fs>-line orln = lf_filesize orbkl  = '2550' ) ).
ENDLOOP.
"-создаем новый документ
lt_files_x[] = VALUE #(
( updateflag  = 'I'
  dappl       =  'PDF'     "Используем таблицу TDWP "'WRD'
  storage_cat = 'ZDMS'
  created_by  = sy-uname
  filename    = 'MY_file.pdf' "'MY_file.PDF'
  description = 'Мой файл-2'
  checked_in  = 'X' ) ).

ls_api_cntl-no_update_task = 'X'.

CALL FUNCTION 'CVAPI_DOC_CHECKIN'
  EXPORTING
    pf_dokar           = 'ZTK'
    pf_doknr           = '0000000000000510000000002'
    pf_dokvr           = '00'
    pf_doktl           = '000'
*   pf_hostname        = 'DEFAULT'
    ps_api_control     = ls_api_cntl
    pf_replace         = 'X'
    pf_content_provide = 'TBL'
  IMPORTING
    psx_message        = e_message
  TABLES
    pt_files_x         = lt_files_x
    pt_content         = lt_drao.


CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  EXPORTING
    wait = 'X'.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Копирование файла из ArchiveLink в DMS
СообщениеДобавлено: Чт, фев 17 2022, 09:25 
Специалист
Специалист

Зарегистрирован:
Чт, дек 02 2010, 08:37
Сообщения: 156
Да, наверное я был слишком краток дав лишь названия ФМ,
но, в своё оправдание, могу сказать, что меня сбила с толку фраза
Цитата:
Буду благодарна за помощь или за подсказку

Я предложил использовать ФМ BAPI_DOCUMENT_CHANGE2, который работает у меня для моей задачи.
(да, заполение параметра documentfiles я опустил и оно может быть не слишком явное, тем не менее).

Code:
DATA:
    ls_doc TYPE bapi_doc_keys.
.....
CALL FUNCTION 'BAPI_DOCUMENT_CHANGE2'
    EXPORTING
        documenttype    = ls_doc-documenttype
        documentnumber  = ls_doc-documentnumber
        documentpart    = ls_doc-documentpart
        documentversion = ls_doc-documentversion
        documentdada    = ls_docdat
        documentdatax   = ls_docdatx
    IMPORTING
        return          = ls_bret2
    TABLES
        documentfiles   = lt_docs.


Вы нашли своё решение, возможно, даже, лучшее.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Копирование файла из ArchiveLink в DMS
СообщениеДобавлено: Чт, фев 17 2022, 10:22 
Специалист
Специалист

Зарегистрирован:
Пн, июл 12 2010, 11:43
Сообщения: 174
Я давно использую этот ФМ и эту группу функций. Тем более этот ФМ встречается с примерами десятки раз на просторах интернета.
Задача стоит скопировать документы из ArchiveLink, а этот ФМ хорошо отрабатывает если указывать физический путь.
Т.е он, как по мне, совершенно не подойдет в этом случае.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Копирование файла из ArchiveLink в DMS
СообщениеДобавлено: Чт, фев 17 2022, 10:50 
Специалист
Специалист

Зарегистрирован:
Чт, дек 02 2010, 08:37
Сообщения: 156
Не спорю, что ФМ не тайна. И то, что он использует физический путь - тоже.
Однако, где-то внутри него, обязательно будет чтение файла и вот, после того, как система его прочитает
он, наверняка, становится таблицей с бинарными данными.
А дальше, должно быть именно то, что вам требуется. Но утверждать, что оно подойдёт - не берусь.


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

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


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

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


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

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