Текущее время: Вт, апр 16 2024, 14:23

Часовой пояс: 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 часа


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

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


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

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