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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Изменения типа данных в Select
СообщениеДобавлено: Ср, авг 25 2004, 07:00 
Начинающий
Начинающий

Зарегистрирован:
Ср, авг 25 2004, 06:25
Сообщения: 24
Бывает необходимость извлекать данные из таблиц преобразовывая при этом тип некоторых данных, например из строки в числовой тип. Например, так это делается в Delphi:
SELECT SaleDate, CAST(SaleTxt AS Integer) FROM Orders.

В ABAP-e для OpenSQL я не отыскал такой возможности, но чувствую что должно быть. Развейте мои сомнения: нет так нет, если есть то по возможности помогите примером.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 25 2004, 09:09 
Гость
Нужно читать хэлп, из которого видно
совместимость полей:

Dict. data type / ABAP data type

ACCP C or N
CHAR C, STRING
CLNT C, STRING
CUKY C, STRING
CURR I, P or F
DEC I, P or F
DATS D
FLTP F
INT1 I, P or F
INT2 I, P or F
INT4 I, P or F
LCHR C
LRAW X
LANG C, STRING
NUMC C or N
PREC I, P or F
QUAN I, P or F
RAW X, XSTRING
RAWSTRING X, XSTRING
SSTRING C, STRING
STRING C, STRING
TIMS T
UNIT C, STRING
VARC C, STRING

конвертация происходит через INTO,
других вариантов непосредственно в SELECT - насколько я знаю - нет.


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Необходимо прочитать определяемый динамически столбец таблицы:

select single (the_field) from (the_table) into target.

Наверняка это типичная задача в системе.
Подскажите, пожалуйста, как правильно реализуется преобразование типа данных.

Безуспешно попробовал реализовать следующие идеи:
- определить target типа (the_table)-(the_field),
- filed-symbol <target> type any,
- describe field (the_table)-(the_field) type the_type.

Неужели только GENERATE SUBROUTINE POOL ?


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

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Думаю, можно попробовать использовать CREATE DATA и нетипизированный FIELD-SYMBOL:

Code:
DATA:
  type_name(30),
  dref TYPE REF TO DATA.

FIELD-SYMBOLS:
  <fs> TYPE ANY.

type_name = 'THE_TABLE-THE_FIELD'. "Имя поля в вашей таблице

CREATE DATA dref TYPE (type_name).
ASSIGN dref->* TO <fs>.


Потом
Code:
select single (the_field) from (the_table) into <fs>.

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


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

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Вот работающий пример (4.6с):
Code:
DATA:
  type_name(30),
  field_names TYPE TABLE OF text72,
  field_name TYPE text72 VALUE 'EBELN',
  table_name(30) VALUE 'EKKO',
  dref TYPE REF TO data.

FIELD-SYMBOLS:
  <fs> TYPE ANY.

type_name = 'EKKO-EBELN'. "Имя поля в вашей таблице
APPEND field_name TO field_names.

CREATE DATA dref TYPE (type_name).
ASSIGN dref->* TO <fs>.

SELECT SINGLE (field_names) FROM (table_name)
  INTO <fs>.

WRITE <fs>.

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


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

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


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

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


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

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