Автор Тема: Как присвоить символ TAB в текстовое поле...  (Прочитано 13073 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 780
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
В общем это, есть поле типа DATA: l_char(1) type c. Надо в него занести символ табуляции с кодом 09h, что-то у меня не вышло, вроде как то ли константа какая есть, то ли еще как это сделать?

Оффлайн DiVo

  • Newbie
  • *
  • Сообщений: 7
  • Репутация: +1/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #1 : Октябрь 13, 2009, 12:10:50 pm »
вот так не подойдет?

Код: You are not allowed to view links. Register or Login
l_char = cl_abap_char_utilities=>horizontal_tab.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 780
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #2 : Октябрь 13, 2009, 02:04:10 pm »
You are not allowed to view links. Register or Login
вот так не подойдет?
Подойдет наверное... просто я этот класс, зараза склероз замучил, никак найти не мог... Спасибо!

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 780
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #3 : Октябрь 13, 2009, 02:36:11 pm »
Мда, а таки нет.. в 4.6 зараза, этих классов нет... вот почему я тут ничего не нашел... тут вроде как что-то другое есть для TAB.

Оффлайн DiVo

  • Newbie
  • *
  • Сообщений: 7
  • Репутация: +1/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #4 : Октябрь 13, 2009, 03:45:55 pm »
тогда может просто тупо присвоить?

Код: You are not allowed to view links. Register or Login
DATA: c_tab  TYPE x VALUE '09',
      l_char TYPE c.

l_char = c_tab.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 780
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #5 : Октябрь 13, 2009, 04:12:29 pm »
You are not allowed to view links. Register or Login
тогда может просто тупо присвоить?

Код: You are not allowed to view links. Register or Login
DATA: c_tab  TYPE x VALUE '09',
      l_char TYPE c.

l_char = c_tab.
Да это я сразу попробовал.. на выходе в l_char = '0'... а должно быть ну скажем так в прочитанной строке табуляции показываются как /h/... однако вот так  ::)

Оффлайн DiVo

  • Newbie
  • *
  • Сообщений: 7
  • Репутация: +1/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #6 : Октябрь 13, 2009, 04:13:45 pm »
сорри, тогда можно попробовать с помощью field symbols:
Код: You are not allowed to view links. Register or Login
CONSTANTS: c_tab TYPE x VALUE '09'.
DATA: l_tab TYPE c.
FIELD-SYMBOLS: <fs>.
ASSIGN l_tab TO <fs> TYPE 'X'.
<fs> = c_tab.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 780
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #7 : Октябрь 13, 2009, 04:25:55 pm »
You are not allowed to view links. Register or Login
сорри, тогда можно попробовать с помощью field symbols:
Код: You are not allowed to view links. Register or Login
CONSTANTS: c_tab TYPE x VALUE '09'.
DATA: l_tab TYPE c.
FIELD-SYMBOLS: <fs>.
ASSIGN l_tab TO <fs> TYPE 'X'.
<fs> = c_tab.
Так выходит <fs> типа X, а мне нужно чтобы оно было типа C, так как я передаю потом его как параметр в функцию... а при таком вызове оно таки дамп так как конфликт типов... что-то меня запарили с этими разделителями вида TAB!

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #8 : Октябрь 13, 2009, 04:33:25 pm »
А в чем сама задача, ну или часть ее (на более высоком уровне)?

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 780
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #9 : Октябрь 13, 2009, 04:58:02 pm »
You are not allowed to view links. Register or Login
А в чем сама задача, ну или часть ее (на более высоком уровне)?
Сроки читаем через READ DATASET ps_files-file INTO l_string, а там разделитель у нас символ табуляции.. вот и надо распарсить эту фигню...

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 780
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #10 : Октябрь 13, 2009, 05:04:10 pm »
В итоге в просмотре строка видится типа как: 295323962461/h/380662374344/h/30, вот вместо вот этих вот /h/ стоит символ #09 сам собой искать в строке /h/ смысле нет, так как работает конвертация строки перед выводом.

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #11 : Октябрь 13, 2009, 08:28:56 pm »
Ну кроме SPLIT что-то на ум пока больше ничего не приходит...

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 780
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #12 : Октябрь 13, 2009, 08:40:36 pm »
You are not allowed to view links. Register or Login
Ну кроме SPLIT что-то на ум пока больше ничего не приходит...
Да похоже что так и есть, но просто изначально есть функциональный модуль со своей логикой, куда передаешь строку и вот этот самый разделитель. Оно там работает и все что надо считает, соответственно если SPLIT, то всю логику надо тащить себе в код, что не хотелось бы. Короче для 4.6C самым быстрым оказалось административно за декларировать, что файл должен быть с разделителем ';' (точка с запятой) да и всех делов.

Оффлайн DiVo

  • Newbie
  • *
  • Сообщений: 7
  • Репутация: +1/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #13 : Октябрь 13, 2009, 09:21:27 pm »
Цитата: Uukrul  link=topic=861.msg5389#msg5389 date=1255440355
Так выходит <fs> типа X, а мне нужно чтобы оно было типа C, так как я передаю потом его как параметр в функцию...

так а если передавать в функцию l_char, а не <fs>??
Код: You are not allowed to view links. Register or Login
CONSTANTS: c_tab TYPE x VALUE '09'.
DATA: l_tab TYPE c.
FIELD-SYMBOLS: <fs>.

ASSIGN l_tab TO <fs> TYPE 'X'.
<fs> = c_tab.
..

*** где-то внутри ФМ
SPLIT l_string AT l_tab INTO ...

по идее такая конструкция должна работать :-\

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 780
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Как присвоить символ TAB в текстовое поле...
« Ответ #14 : Октябрь 13, 2009, 10:26:35 pm »
You are not allowed to view links. Register or Login
так а если передавать в функцию l_char, а не <fs>??
Да оно сразу = 0, принимает значение... пробовал. Короче, таки пока похоже никак не вывернуться, в общем формат файла поменяют...