Текущее время: Ср, апр 24 2024, 19:12

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Пт, июн 10 2011, 17:38 
Специалист
Специалист

Зарегистрирован:
Пт, авг 24 2007, 06:26
Сообщения: 170
Откуда: Югорск
Спасибо ребята. Есесственно все получилось, теперь хоть буду знать как программные вставки делать в Query.
Только по настройке СПРО чего то не поняла я :(


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Ср, ноя 21 2012, 09:50 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 04 2012, 10:27
Сообщения: 10
Пол: Мужской
Ребята, спасибо. Очень нужно было добавить, все помогло


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Пн, янв 25 2021, 13:36 
Специалист
Специалист

Зарегистрирован:
Чт, май 16 2013, 13:37
Сообщения: 214
Откуда: Челябинск
Пол: Мужской
Да, очень полезное обсуждение, благодарю, очень помогли.

_________________
Свобода здесь и сейчас.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Пн, янв 25 2021, 14:52 
Специалист
Специалист

Зарегистрирован:
Чт, май 16 2013, 13:37
Сообщения: 214
Откуда: Челябинск
Пол: Мужской
Код читает не весь длинный текст в SQ отчете, подскажите пожалуйста как правильно прописать в мой код CONCATENATE? уже по всякому пробовал, ошибок нет, но не выводит хоть ты тресни полностью все внесенное.

Code:
data: l_NAME like THEAD-TDNAME,
      l_OBJECT like THEAD-TDOBJECT,
      l_ID like THEAD-TDID,
      l_LANGUAGE like THEAD-TDSPRAS.
data: lt_LINES TYPE STANDARD TABLE OF tline,
      lw_lines TYPE tline.

clear:l_NAME,lt_lines[],lw_lines,LONGTEXT_RU.
        l_OBJECT = 'MATERIAL'.
        l_NAME = mara-matnr.
        l_ID = 'GRUN'.
        l_LANGUAGE = 'RU'.

CALL FUNCTION 'READ_TEXT'
      EXPORTING
         OBJECT = l_OBJECT
         NAME = l_NAME
         ID = l_ID
          LANGUAGE = l_LANGUAGE
      TABLES
        LINES = lt_LINES
      EXCEPTIONS
         OTHERS = 1.
IF sy-subrc EQ 0 AND lt_lines IS NOT INITIAL.
LOOP AT lt_lines INTO lw_lines.
  IF LONGTEXT_RU IS INITIAL.
      LONGTEXT_RU = lw_lines-tdline.
  ELSE.
    CONCATENATE LONGTEXT_RU lw_lines-tdline INTO LONGTEXT_RU SEPARATED BY space.
  ENDIF.
ENDLOOP.
ENDIF.

_________________
Свобода здесь и сейчас.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Пн, янв 25 2021, 17:27 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Код не читает или ALV не выводит? У ALV есть ограничение на длину выводимого текста, ~100 символов
(не поручусь за точность, но ограничение в 128 байт, а так как разные русские буквы разное число байт занимают, но получается порядка 100 символов).

_________________
Удача - результат нашего желания (© А. Нортон)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Вт, янв 26 2021, 07:07 
Специалист
Специалист

Зарегистрирован:
Чт, май 16 2013, 13:37
Сообщения: 214
Откуда: Челябинск
Пол: Мужской
Да, по всей видимости так и происходит ALV не выводит все символы, ограничивает в 100 символов.
А как же тогда быть? Сделать несколько столбцов с продолжением текста с разным кодом? или что еще можно придумать?

_________________
Свобода здесь и сейчас.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Вт, янв 26 2021, 08:05 
Специалист
Специалист

Зарегистрирован:
Чт, май 16 2013, 13:37
Сообщения: 214
Откуда: Челябинск
Пол: Мужской
Исправил

_________________
Свобода здесь и сейчас.


Последний раз редактировалось riki11 Вт, янв 26 2021, 08:10, всего редактировалось 1 раз.

Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Вт, янв 26 2021, 08:08 
Специалист
Специалист

Зарегистрирован:
Чт, май 16 2013, 13:37
Сообщения: 214
Откуда: Челябинск
Пол: Мужской
riki11 написал:
Добавил два поля, в первом считываю первую строку с EQ '*'..

Code:
IF sy-subrc EQ 0 AND lt_lines IS NOT INITIAL.
LOOP AT lt_lines INTO lw_lines WHERE tdformat EQ '*'.
  IF LONGTEXT_RU IS INITIAL.
      LONGTEXT_RU = lw_lines-tdline.
  ELSE.
    CONCATENATE LONGTEXT_RU lw_lines-tdline INTO LONGTEXT_RU SEPARATED BY space.
  ENDIF.
ENDLOOP.
ENDIF.


во втором поле читаю вторую строку c EQ '/'.

Code:
IF sy-subrc EQ 0 AND ld_lines IS NOT INITIAL.
LOOP AT ld_LINES INTO lr_lines WHERE tdformat EQ '/'.
  IF LONGTEXT_RU1 IS INITIAL.
      LONGTEXT_RU1 = lr_lines-tdline.
  ELSE.
    CONCATENATE LONGTEXT_RU1 lr_lines-tdline INTO LONGTEXT_RU1 SEPARATED BY space.
  ENDIF.
ENDLOOP.
ENDIF.


а как остальные считать теперь не понятно, их еще 4 там с линиями EQ '/'., очень длинный текст внесли.

_________________
Свобода здесь и сейчас.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Вт, янв 26 2021, 18:35 
Специалист
Специалист

Зарегистрирован:
Чт, май 16 2013, 13:37
Сообщения: 214
Откуда: Челябинск
Пол: Мужской
Дорогие товарищи абаперы, подскажите, что сделать нужно?

_________________
Свобода здесь и сейчас.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Вт, янв 26 2021, 22:18 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
riki11 написал:
Дорогие товарищи абаперы, подскажите, что сделать нужно?

Если нужно 1 поле, то зачем вы на TDFORMAT внимание обращаете?

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Ср, янв 27 2021, 06:58 
Специалист
Специалист

Зарегистрирован:
Чт, май 16 2013, 13:37
Сообщения: 214
Откуда: Челябинск
Пол: Мужской
Нужно не только первую строку, но и все последующие. если без TDFORMAT, то он вытаскивает в alv только 100 символов, а там на самом деле где-то 500, то есть 5 строк образовалось.

_________________
Свобода здесь и сейчас.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Ср, янв 27 2021, 10:35 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 08:50
Сообщения: 1571
Откуда: Пермь
Пол: Мужской
Заберите таблицу lines, которую вернет read_text. Слейте конкатенацией в стринг.
Через ФМ специальный сепарируйте обратно в куски нужной длины (например, 128 символов, так как Вам уже сказали, что в ALV кверюши выводят максимально именно столько). Конкатенация и обратное разделение помогают а) равномерно распределить значения из lines б) добиться непревышения максимальной возможной длины.

_________________
Алё, это Пакистан? Нам нужен один килограмм


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Вт, мар 02 2021, 17:19 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, мар 29 2007, 11:51
Сообщения: 330
Откуда: Yugorsk.RU
Пол: Мужской
Там же ФМ специальный есть, для правильной конверсии LINES[] в string, учитывая переносы (TDFORMAT = '='), абзацы и проч.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Вт, мар 02 2021, 19:24 
Специалист
Специалист

Зарегистрирован:
Чт, май 16 2013, 13:37
Сообщения: 214
Откуда: Челябинск
Пол: Мужской
Ну, в принципе, сейчас все работает как надо в программе, с тем, что я нарисовал.

_________________
Свобода здесь и сейчас.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как в Query реализовать определение текста аналогично ФМ READ_TEXT
СообщениеДобавлено: Вт, мар 02 2021, 19:26 
Специалист
Специалист

Зарегистрирован:
Чт, май 16 2013, 13:37
Сообщения: 214
Откуда: Челябинск
Пол: Мужской
Вернее, мы решили, что весь текст нам не нужен, вытащил только 100 символов. А так - попробовать можно, но это кому как захочется уже.

_________________
Свобода здесь и сейчас.


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

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


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

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


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

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