Текущее время: Пт, июл 25 2025, 05:50

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Преобразовать файл из BINARY в SOLI (CHAR 255)
СообщениеДобавлено: Вт, ноя 15 2011, 22:32 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Пытаюсь заставить работать свою старую программу по аттачиванию файла через GOS. GOS часть работает, но файл не открывается. Проблема похоже при преобразовании файла (PDF или XML) в таблицу типа SOLI (CHAR 255), которая используется в SO_OBJECT_INSERT. B новой системе единственное отличие, что тут Unix, ну и SP/EHP уже уровнем повыше (обе системы - ECC).

В оригинале OPEN DATASET читал файл напрямую в табличку типа SOLI (иногда нужно было SO_CONVERT_CONTENTS_BIN воспользоваться), все работало. А тут почему-то на выходе примерно половина файла теряется (при просмотре XML хорошо видно, как текст "обрублен"). По совету с SDN попробовала READ DATASET в XSTRING - читается все правильно, в дебаггере XML source отлично видно, но как только начинаешь преобразовывать в CHAR формат - та же ерунда.

Программа должна читать PDF и XML файлы, пока с обоими та же проблема. Перепробовала с десяток разных ФМ и методов (пробовала и переводить сначала в RAW/SOLIX) - результат тот же или хуже. :( Как приаттачить этот monkey trucker файл?

Kод (с сокращениями):
Code:
DATA: lv_xstring TYPE xstring,
        it_content LIKE STANDARD TABLE OF soli.

OPEN DATASET lv_pathname FOR INPUT IN BINARY MODE.
READ DATASET lv_pathname INTO lv_xstring.
CLOSE DATASET lv_pathname.

* Тут lv_xstring надо как-то перевести в  it_content[].

    CALL FUNCTION 'SO_FOLDER_ROOT_ID_GET'
      EXPORTING
        region    = 'B'
      IMPORTING
        folder_id = ls_fol_id
      EXCEPTIONS
        OTHERS    = 1.

    CALL FUNCTION 'SO_OBJECT_INSERT'
      EXPORTING
        folder_id             = ls_fol_id
        object_type           = 'EXT'
        object_hd_change      = ls_obj_data
      IMPORTING
        object_id             = ls_obj_id
      TABLES
        objhead               = it_objhead
        objcont               = it_content.

<...>

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Преобразовать файл из BINARY в SOLI (CHAR 255)  Тема решена
СообщениеДобавлено: Ср, ноя 16 2011, 08:58 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, фев 17 2006, 07:38
Сообщения: 99
Попробуйте использовать вызов ФМ SO_DOC_INSERT_WITH_ORIG_API1, там есть таблица CONTENTS_HEX с типом SOLIX, у меня работает.
Возможно ваши файлы портятся из-за преобразования кодировок при загрузке, у меня была подобная проблема, решил её загрузкой данных в таблицу с типом SOLIX.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Преобразовать файл из BINARY в SOLI (CHAR 255)
СообщениеДобавлено: Ср, ноя 16 2011, 22:25 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Ура, заработало! После чтения файла вставила CALL METHOD cl_document_bcs=>xstring_to_solix, а потом SO_DOCUMENT_INSERT_API1 вместо SO_OBJECT_INSERT.

Спасибо большое!

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


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

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


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

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


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

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