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

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


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

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


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

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