Текущее время: Вт, июл 29 2025, 13:43

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


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

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


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

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