Текущее время: Пн, июл 21 2025, 14:31

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: assign глючит?
СообщениеДобавлено: Пн, дек 25 2006, 14:51 
Специалист
Специалист

Зарегистрирован:
Пт, ноя 03 2006, 09:31
Сообщения: 224
Откуда: Россия
Пол: Мужской
Тестовая программа в трех разных системах:

REPORT Z_TEST .
DATA: par_i type I, c(256).

c = '1'.
par_i = c.

FIELD-SYMBOLS <fs_x>.
ASSIGN par_i TO <fs_x> TYPE 'X' .

WRITE:/ c, <fs_x>.

В двух системах выдает правильно:
1 01000000


А в тетьей:
1 00000001 (это же ахтунг!Я ИДИЁТ, УБЕЙТЕ МИНЯ КТО-НИБУДЬ!Я ИДИЁТ, УБЕЙТЕ МИНЯ КТО-НИБУДЬ!)

В чем дело?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: assign глючит?
СообщениеДобавлено: Пн, дек 25 2006, 15:19 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
GNN написал:
Тестовая программа в трех разных системах:

REPORT Z_TEST .
DATA: par_i type I, c(256).

c = '1'.
par_i = c.

FIELD-SYMBOLS <fs_x>.
ASSIGN par_i TO <fs_x> TYPE 'X' .

WRITE:/ c, <fs_x>.

В двух системах выдает правильно:
1 01000000


А в тетьей:
1 00000001 (это же ахтунг!Я ИДИЁТ, УБЕЙТЕ МИНЯ КТО-НИБУДЬ!Я ИДИЁТ, УБЕЙТЕ МИНЯ КТО-НИБУДЬ!)

В чем дело?


Если кратко, то дело в различиях систем, скорее всего версии базиса.

У меня эксперимент повторяется в 4.6 и 2005 соответственно (различие также в ОС и разрядности). Присвоение символьной переменной c не важно, так как можно напрямую число присваивать par_i.

Но у меня встречный вопрос, а почему 1 в шестнадцатиричном виде должен выглядеть как 01000000? (именно так можно назвать предложенное преобразование через field-symbols)

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, дек 25 2006, 15:49 
Специалист
Специалист

Зарегистрирован:
Пт, ноя 03 2006, 09:31
Сообщения: 224
Откуда: Россия
Пол: Мужской
Да, ты прав - системы разные. Мне как раз и важно положение байта.
А в начале он или в конце без разницы. Но тогда надо процедурку анализа в каком представлении пишется.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: re
СообщениеДобавлено: Пн, дек 25 2006, 16:31 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
big endian и little endian ,обычно зависит проца или операционки
macos, unix - big endian
dos, windows - little endian (intel)

стэк tcp/ip - big endian

см атрибут - cl_abap_char_utilities=>endian


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, дек 25 2006, 18:49 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
А лучше всего, я думаю, использовать класс CL_ABAP_CONV_OUT_CE.


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

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


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

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


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

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