Текущее время: Вт, июл 01 2025, 02:16

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


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

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


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

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