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

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


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

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


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

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