Текущее время: Ср, авг 20 2025, 13:31

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: DEC в DATS как преобразовать в формуле переноса
СообщениеДобавлено: Чт, сен 11 2008, 11:04 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 11 2008, 11:02
Сообщения: 3
Добрый день !

Есть входное поле END_DATE типа DEC длиной 15
как мне взять оттуда только дату в формате DATS ?

подскажите что написать в редакторе формул в правилах переноса


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 11 2008, 12:00 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 30 2007, 17:10
Сообщения: 488
Просто присваиваете полю типа DATS значение поля типа DEC. В подпрограмме конечно.

_________________
Карма - это суперпозиция граблей, на которые мы уже успели наступить, но которые еще не долетели...


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

Зарегистрирован:
Пт, июн 24 2005, 15:18
Сообщения: 1216
Откуда: Diagon Alley
Soulsurfer написал(а):
Просто присваиваете полю типа DATS значение поля типа DEC. В подпрограмме конечно.



У меня такое впечатление, что на самом деле DEC15 - это TIMESTAMP.
Для преобразования следует воспользоваться выражением CONVERT.


Code:
Example
For the "BRAZIL" time zone available in database table TTZZ, a shift of -3 hours against the UTC reference time is entered in database table TTZR. The end of the summer time is defined in database table TTZDV as the second Sunday in March at 02:00, which in the year 2003 corresponds to March 9th. With these settings in the rules, the two conversions below both result in the same local time of "01:30:00". The first conversion shows that the time is still in the summer time (from Release 6.20).

DATA: time_stamp TYPE timestamp,
      dat        TYPE d,
      dat        TYPE d,
      tz         TYPE ttzz-tzone,
      dst        TYPE c LENGTH 1.

tz = 'BRAZIL'.
time_stamp = 20030309033000.
CONVERT TIME STAMP time_stamp TIME ZONE tz
        INTO DATE dat TIME tim DAYLIGHT SAVING TIME dst.
WRITE: /(10) dat, (8) tim, dst.

time_stamp = 20030309043000.
CONVERT TIME STAMP time_stamp TIME ZONE tz
        INTO DATE dat TIME tim DAYLIGHT SAVING TIME dst.
WRITE: /(10) dat, (8) tim, dst.


_________________
"Если ты в молодости не испытал трудности, их стоит купить за большие деньги". (с) Даймо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 11 2008, 12:16 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 11 2008, 11:02
Сообщения: 3
спасибо за помощь

да это timestamp

а без подпрограммы на абапе никак не обойтись ?
просто формула не прокатит ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 11 2008, 14:19 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Ср, авг 18 2004, 10:59
Сообщения: 754
Откуда: Moscow
Left( Timestamp, 8 ) не подходит? :lol:

_________________
Фарш невозможно провернуть назад,
И мясо из котлет не восстановишь


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 11 2008, 15:41 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 11 2008, 11:02
Сообщения: 3
выдает ошибку на это
и если сделать так тоже
LEFT( 4, END_DATE ) & SUBSTRING( END_DATE, 6, 2 ) & SUBSTRING( END_DATE, 4, 2 )

написал процедуру

DATA: dat TYPE d.

CONVERT TIME STAMP SOURCE_FIELDS-END_DATE TIME ZONE SY-ZONLO
INTO DATE dat.
RESULT = dat.

но я новичок не очень понимаю еще
как в процедуре называется поле для которого мы и пишем это преобразование
на форме оно называется END_DATE а как внутри обратиться ?

вроде вопрос мелочный, а спросить некого на месте
опух уже ;)

спасите

p.s. SOURCE_FIELDS-END_DATE это я так понял оно называется но не работает при переносе ошибку выдает возвращает нули


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 11 2008, 15:50 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, июн 24 2005, 15:18
Сообщения: 1216
Откуда: Diagon Alley
ASDF321 написал(а):
как в процедуре называется поле для которого мы и пишем это преобразование
на форме оно называется END_DATE а как внутри обратиться ?


COMM_STRUCTURE-END_DATE

_________________
"Если ты в молодости не испытал трудности, их стоит купить за большие деньги". (с) Даймо


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

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


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

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


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

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