Текущее время: Ср, июл 23 2025, 02:18

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Загрузка длинного текста из Excel файла
СообщениеДобавлено: Ср, сен 19 2012, 16:25 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
sergeyprotasoff написал(а):
Получается, что грузить 1000 без разбивки вообще не вариант?

У нас не получилось через OLE такое сделать.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинного текста из Excel файла
СообщениеДобавлено: Ср, сен 19 2012, 16:31 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, апр 18 2012, 14:20
Сообщения: 252
Откуда: РБ, г. Гомель
Пол: Мужской
только что проверил, загнал в ячейку Excel 1000+ символов
вычитал
сделал
Code:
    l = strlen( str2 ).
    WRITE str2+1000(2).


длина 1498, write выводит 2 символа из строки
у меня неправильный Excel?

даже так сделал, все выводит
Code:
    WHILE l < strlen( str2 ) - 100.
     WRITE / str2+l(100). 'не выводит WRITE больше чем на экран помещается:(
     l = l + 100.
    ENDWHILE.

Изображение
Изображение


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинного текста из Excel файла
СообщениеДобавлено: Чт, сен 20 2012, 11:15 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 16 2010, 09:57
Сообщения: 106
Откуда: СПб
Пол: Мужской
sergeyprotasoff, а Ваша версия SAP уже со string'ами? А запускать эту передачу данных Excel->SAP планируете на клиенте? Если да-да, то можно попробовать подход отсюда:

Загрузка большого объема данных из XLS
OLE2: CALL METHOD OF и необязательные аргументы

32767 символов (предел одной ячейки Excel) - без проблем! И не только это.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Загрузка длинного текста из Excel файла
СообщениеДобавлено: Чт, сен 20 2012, 13:23 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 18 2012, 12:07
Сообщения: 26
Gustav написал:
sergeyprotasoff, а Ваша версия SAP уже со string'ами? А запускать эту передачу данных Excel->SAP планируете на клиенте? Если да-да, то можно попробовать подход отсюда:

Загрузка большого объема данных из XLS
OLE2: CALL METHOD OF и необязательные аргументы

32767 символов (предел одной ячейки Excel) - без проблем! И не только это.

теперь с другим столкнулся, эту инфу из экселя нужно подгрузить в материалы (Доп. данные, Текст/ОсновнДанные), при записи отсекается только 132 символа, т.к. в TLINE поле в 132 символа, но не в этом суть:
Code:
DATA:lv_header TYPE thead,
                      lv_xerfmg TYPE string,
                      lt_lines TYPE STANDARD TABLE OF tline WITH HEADER LINE,
                      lv_header-tdobject = 'MATERIAL'.
                      lv_header-tdname = wa_datatab-col1. "код материала
                      lv_header-tdid  = 'GRUN'.
                      lv_header-tdspras = 'R'.
                      "склеиваю строки
                      APPEND lt_lines.
                      lt_lines-tdline = wa_datatab-col3.
                      APPEND lt_lines.
                      lt_lines-tdline = wa_datatab-col4.
                      CALL FUNCTION 'CREATE_TEXT'
                        EXPORTING
                          fid       = lv_header-tdid
                          flanguage = lv_header-tdspras
                          fname     = lv_header-tdname
                          fobject   = lv_header-tdobject
                        TABLES
                        flines    = lt_lines[].

суть в том, что между склеиваемыми строками добавляется символ перевода каретки! Как от него избавиться? :?:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинного текста из Excel файла
СообщениеДобавлено: Чт, сен 20 2012, 13:26 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 18 2012, 12:07
Сообщения: 26
точнее так:

lt_lines-tdline = wa_datatab-col2.
APPEND lt_lines.
lt_lines-tdline = wa_datatab-col3.
APPEND lt_lines.
lt_lines-tdline = wa_datatab-col4.
APPEND lt_lines.
CALL FUNCTION 'CREATE_TEXT'
EXPORTING
fid = lv_header-tdid
flanguage = lv_header-tdspras
fname = lv_header-tdname
fobject = lv_header-tdobject
TABLES
flines = lt_lines[].


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинного текста из Excel файла
СообщениеДобавлено: Пт, сен 21 2012, 10:09 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 16 2010, 09:57
Сообщения: 106
Откуда: СПб
Пол: Мужской
sergeyprotasoff написал(а):
суть в том, что между склеиваемыми строками добавляется символ перевода каретки! Как от него избавиться?

Как-то так, наверное?
Code:
REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>cr_lf IN вашаСтрока WITH ``.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Загрузка длинного текста из Excel файла
СообщениеДобавлено: Пт, сен 21 2012, 12:20 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 18 2012, 12:07
Сообщения: 26
Gustav написал:
sergeyprotasoff написал(а):
суть в том, что между склеиваемыми строками добавляется символ перевода каретки! Как от него избавиться?

Как-то так, наверное?
Code:
REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>cr_lf IN вашаСтрока WITH ``.


REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>cr_lf IN lt_lines-tdline WITH ''.
Не помогает, не понятно на каком этапе этот символ появляется, похоже, что после APPEND.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка длинного текста из Excel файла
СообщениеДобавлено: Вс, сен 23 2012, 09:32 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 18 2012, 12:07
Сообщения: 26
MantiCore1977 написал:
только что проверил, загнал в ячейку Excel 1000+ символов
вычитал
сделал
Code:
    l = strlen( str2 ).
    WRITE str2+1000(2).


длина 1498, write выводит 2 символа из строки
у меня неправильный Excel?

даже так сделал, все выводит
Code:
    WHILE l < strlen( str2 ) - 100.
     WRITE / str2+l(100). 'не выводит WRITE больше чем на экран помещается:(
     l = l + 100.
    ENDWHILE.

Изображение
Изображение


спасибо! действительно работает) не было бы печали если бы ещё не загрузка этого длинного текста в подробные тексты материала (см.предыдущий пост).....грузится только по 132 символа, а если склеивать, то перевод каретки на стыке появляется :twisted:


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2

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


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

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


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

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