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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: сравнение дат
СообщениеДобавлено: Пн, мар 22 2010, 09:10 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, мар 23 2009, 13:32
Сообщения: 282
Господа помогите разобраться с форматами дат. Пишу на абапе редко, опыта никакого.
Создал табличку
DATA: BEGIN OF gt_mt OCCURS 0,
pernr TYPE persno,
lgart TYPE lgart,
begda TYPE date,
endda TYPE date,
END OF gt_mt.

При проходе другой таблички P0015 записываю в gt_mt данные.

LOOP AT p0015 WHERE lgart IN so_lgart
AND begda BETWEEN pn-begda AND pn-endda
AND endda BETWEEN pn-begda AND pn-endda.
CLEAR gt_mt.

READ TABLE gt_mt WITH KEY zzadpnr = p0015-zzadpnr
pernr = p0015-pernr
lgart = p0015-lgart.
IF sy-subrc <> 0.
IF p0015-zzadpnr IS NOT INITIAL.
gt_mt-pernr = p0015-pernr.
gt_mt-lgart = p0015-lgart.
gt_mt-zzadpnr = p0015-zzadpnr.
IF p0015-begda IS NOT INITIAL.
WRITE p0015-begda TO gt_mt-begda.
ENDIF.
IF p0015-endda IS NOT INITIAL .
WRITE p0015-endda TO gt_mt-endda.
ENDIF.
....
ENDIF.
....
APPEND gt_mt.
....
ENDIF.
....
ENDLOOP.
......

Проблема в том что в P0025 даты в формате YYYYMMDD , а в gt_mt они попадают в формате DDMMYYYY
и у меня не получается использовать сравнение дат по полям таблиц.
Насколько я понимаю если поле задано как дата, то это полюбому должана быть дата, независимо от формата вывода.

Или я не прав.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: сравнение дат
СообщениеДобавлено: Пн, мар 22 2010, 09:29 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Зачем Вы пишите WRITE p0015-begda TO gt_mt-begda? При таком присваивание переменной, система конвертирует значение даты, пишите просто gt_mt-begda = p0015-begda. Еще у Вас тип переменной даты в P0025 отличается от gt_mt-begda.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: сравнение дат
СообщениеДобавлено: Пн, мар 22 2010, 09:30 
Специалист
Специалист

Зарегистрирован:
Чт, окт 26 2006, 16:44
Сообщения: 149
Откуда: Москва
А зачем вы используете
Code:
WRITE p0015-begda TO gt_mt-begda.

Здесь как раз происходит изменение формата даты. Если не хотите этого, используете простое присвоение через "=".


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: сравнение дат
СообщениеДобавлено: Пн, мар 22 2010, 12:57 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, мар 23 2009, 13:32
Сообщения: 282
Спасибо господа. Пофиксил.


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

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


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

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


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

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