Текущее время: Пн, июн 30 2025, 03:21

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: работать со структурой как строкой
СообщениеДобавлено: Ср, ноя 30 2005, 13:00 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
можно ли определить itab как структуру и как массив строк?
(типа union в С). а то преобразовать туда-сюда влом (время опять же)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 30 2005, 14:07 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
насколько я соображаю - просто нужно указывать скажем не itab-line, а просто itab.
Т.е. itab = 'string1234566778899'

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


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

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
ArmAnn написал:
насколько я соображаю - просто нужно указывать скажем не itab-line, а просто itab.
Т.е. itab = 'string1234566778899'

это просто. itab->line[] проходит легко. а вот обратно влом смещения вручную считать. Физически это подмена заголовка, а вот как это красиво сделать - делить по смещению имхо некошерно ((

эх...где ж указатели...мечта поэта ))


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

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
А если сделать что-то вроде
Code:
FIELD-SYMBOLS:
  <char> TYPE c.

ASSIGN you_structure TO <char> CASTING.

После этого <char> можно читать и в него писать.
В HR для инфотипов делается примерно то же самое.

_________________
С уважением, Сергей Королев


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

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
Сергей Королев написал:
А если сделать что-то вроде
Code:
FIELD-SYMBOLS:
  <char> TYPE c.

ASSIGN you_structure TO <char> CASTING.

После этого <char> можно читать и в него писать.
В HR для инфотипов делается примерно то же самое.

ща гляну что це таке casting - в 40 его не было...


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

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
Цитата:
...вот только типы данных 40b и 47 разошлись...ненамного правда...ща глянем где

отбой. при ctrl+c ctrl+v просто некоторые комменты '*' остались "за бортом". перенос идёт нормально. (а то сжимал в строку с разделителями, разжимал...:)
что приятно, то это что данные сап держит уже все в символьном виде. длина же в байтах в навигаторе для всего ж вроде показывается?


Последний раз редактировалось Skif Чт, дек 01 2005, 10:31, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 01 2005, 10:22 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Вопрос: если некоторые поля числового типа, как здесь быть? Сколько символов выделится под них в <char>? И как загнать другое значение для числового поля через "указатель на строку", то бишь, филд-символ типа чар?


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

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Думаю только через обратное преобразование: филд-символ нужно теперь определить как рекорд (с числовым полем) и сделать casting на символьный филд-символ.

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 01 2005, 11:49 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Тогда теряется смысл работы с записью как со строкой: ведь можно и без преобразований и символов полей обратиться к элементам структуры. Ведь так?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 01 2005, 12:18 
Модератор
Модератор

Зарегистрирован:
Пт, ноя 12 2004, 11:40
Сообщения: 542
Откуда: Москва
Пол: Мужской
Массив строк? ....
может так

Code:
DATA: str_array TYPE TABLE OF string.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 01 2005, 12:29 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
RoadRunner написал:
Тогда теряется смысл работы с записью как со строкой: ведь можно и без преобразований и символов полей обратиться к элементам структуры. Ведь так?
Ну я не особо понимаю, зачем это нужно. Когда мы на запись "накладываем" строку описанным выше способом, то никаких преобразований не происходит, данные остаются во внутреннем представлении. Это используется, например, в HR, когда данные для самых разных инфотипов (а значит и для разных таблиц с разной структурой) хранятся в едином буфере. При физической записи в DB динамически вычисляется имя таблицы, а данные берутся из того самого единого буфера (который символьного типа). Для обращения в отдельному полю на буфер "накладывается" тип соответствующей структуры.
Еще можно такой символьный буфер во внешний текстовый файл выгружать без преобразования, а потом грузить обратно.

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 01 2005, 14:26 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Цитата:
Еще можно такой символьный буфер во внешний текстовый файл выгружать без преобразования, а потом грузить обратно
Я о таком использовании и подумал - в хуман ресурсах не силен. Но для этого метода есть довольно жесткое ограничение - поля структуры должны быть простыми и преобразуемыми к символьному типу (как, напр., n, d).


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

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


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

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


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

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