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

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


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

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


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

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