Текущее время: Сб, авг 02 2025, 23:39

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Перевод строки в ячейке Excel
СообщениеДобавлено: Пн, авг 13 2007, 08:09 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
Вот возникла проблемка:
значит мне надо в ячейке excel получить текст в несколько строк
т.е. я знаю как это сделать нажатием ALT+Enter.но как это сделать если текст передается из SAP Т.е. есть ли какой то управляющий символ который можно было бы вставитьв строку и excel бы понял что следует выполнить перевод строки???


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод строки в ячейке Excel
СообщениеДобавлено: Пн, авг 13 2007, 08:29 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
bossjohn написал(а):
Вот возникла проблемка:
значит мне надо в ячейке excel получить текст в несколько строк
т.е. я знаю как это сделать нажатием ALT+Enter.но как это сделать если текст передается из SAP Т.е. есть ли какой то управляющий символ который можно было бы вставитьв строку и excel бы понял что следует выполнить перевод строки???
В теории можно - нужно вставить коды <CR><LF> (x0D x0A).
Только вот с передачей их из SAP-s могут быть проблемы (заменяются на ##)

_________________
"После" - не значит "вследствие"


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

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
sy-uname написал(а):
В теории можно - нужно вставить коды <CR><LF> (x0D x0A).
Только вот с передачей их из SAP-s могут быть проблемы (заменяются на ##)

:) Решетками они просто в отладчике отображаются. Естественно, а как их еще показывать?!
Если система поддерживает Unicode, т.е. двухбайтовые символы, то это надо учитывать. Причем код может быть как таким "000D", так и наоборот "0D00" (у меня было такое в разных системах).

Я вывернулся так:
Code:
  Constants:
    X_0D(1)  TYPE X VALUE '0D'.

  Data: L type i,
        CHAR_A value 'A',
        CHAR_B value 'B',
        CHAR_0D.
  Field-symbols:
    <X>, <EI>.

  Assign CHAR_A to <X>  type 'X'.
  Assign CHAR_B to <EI> type 'X'.
  <EI> = <EI> - <X>.

  Assign CHAR_0D to <X> type 'X'.
  Clear <X>.
  <X> = X_0D * <EI>.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 13 2007, 10:27 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
to sy-uname
В том то и дело... что выводится черт знает что. я тут наткнулся что из макроса VBA это можно сделать путем вставки & Chr(10) & но как заставиь САП передать это корректно. ведь когда я пишу это в одной строке с текстом то это рассматривается как простой текст а не управляющий символ...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 13 2007, 10:34 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Тоже использую '0A', правда система не юникодная.

CONSTANTS:
c_cr_lf TYPE x VALUE '0A'.

CONCATENATE text1 ',' c_CR_LF text2 INTO s_text.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 13 2007, 10:52 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
попробовал как Parasit - действительно работает только код 0A.
А напрямую как VGA - ошибочка. нельзя конкатенировать тип X со строкой. но идея то понятна конечно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 13 2007, 10:58 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
bossjohn написал(а):
попробовал как Parasit - действительно работает только код 0A.
По идее надо оба кода 0D 0A.

bossjohn написал(а):
А напрямую как VGA - ошибочка. нельзя конкатенировать тип X со строкой. но идея то понятна конечно.
Да, теперь в юникодных системах стало нельзя конкатенатить с X.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 13 2007, 10:59 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
bossjohn написал(а):
А напрямую как VGA - ошибочка. нельзя конкатенировать тип X со строкой.


У меня 4.6с, все остальные типы - char. Ошибок нет.

Если у вас 4.7, то big или little endian можно анализировать с помощью cl_abap_char_utilities=>endian

И наверно можно обойтись без assign, а просто анализировать смещение (1 или 2 байта) между рядом стоящими char через GET REFERENCE.


Последний раз редактировалось vga Пн, авг 13 2007, 11:07, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод строки в ячейке Excel
СообщениеДобавлено: Пн, авг 13 2007, 11:03 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Parazit написал:
:) Решетками они просто в отладчике отображаются. Естественно, а как их еще показывать?!
...
Если передаются - то отлично, значит я с СмартФормами попутал этот момент.

_________________
"После" - не значит "вследствие"


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

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


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

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


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

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