Текущее время: Пн, авг 04 2025, 16:40

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: как вытащить из sy-datum следующий месяц
СообщениеДобавлено: Вт, июл 15 2008, 15:31 
Специалист
Специалист

Зарегистрирован:
Ср, май 28 2008, 07:49
Сообщения: 106
Добрый день!

Подскажите, как можно из sy-datum вытащить след.месяц,
причем в формате, напр. сейчас '07', мне нужно получить '08', а не 8

мож есть какая-нб функция?
либо как определить длину '07' или 8, чтобы потом тогда использовать concatenate при длине = 1


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

Зарегистрирован:
Пн, июн 25 2007, 17:37
Сообщения: 350
Пол: Мужской
DATA : NEXT_MONTH LIKE sy-datum.


CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = sy-datum
IMPORTING
LAST_DAY_OF_MONTH = DAY_LAST.


NEXT_MONTH = DAY_LAST + 1. :roll:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: как вытащить из sy-datum следующий месяц
СообщениеДобавлено: Вт, июл 15 2008, 15:39 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
KEU написал(а):
Добрый день!

Подскажите, как можно из sy-datum вытащить след.месяц,
причем в формате, напр. сейчас '07', мне нужно получить '08', а не 8

мож есть какая-нб функция?
либо как определить длину '07' или 8, чтобы потом тогда использовать concatenate при длине = 1
Code:
DATA:
  gv_newdate TYPE sy-datum,
  gv_month TYPE monat.
CALL FUNCTION 'MONTH_PLUS_DETERMINE'
  EXPORTING
    months  = 1
    olddate = sy-datum
  IMPORTING
    newdate = gv_newdate.
gv_month = gv_newdate+4(2).

_________________
"I have a dream"(c)Martin Luther King, Jr.


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

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Code:
DATA: dat TYPE sy-datum.

dat = sy-datum.
CALL FUNCTION 'RELATIVE_DATE_CALCULATE'
EXPORTING
*   DAYS              = '0'
   MONTHS            = '1'
   START_DATE        = dat
*   YEARS             = '0'
IMPORTING
   RESULT_DATE       = dat.

Еще один способ ;)

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 15 2008, 18:20 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
And the winner is... Alex80! :) Он единственный не забыл добавить:

Code:
gv_month = gv_newdate+4(2).


(Вопрос был конкретно про месяц.) К автору - чтобы вы ни делали, главное не просто отнимайте-прибавляйте 1 к месяцу. А то у нас тут один кедр наваял программу (month = month + 1) и в январе нас ждал сюрприз! :x

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


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

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Jelena написала:
And the winner is... Alex80! :) Он единственный не забыл добавить:

Code:
gv_month = gv_newdate+4(2).


(Вопрос был конкретно про месяц.)

Ну уж можно было не придираться :)
Это же само собой разумеется, каким образом у поля DATS определить месяц :wink:

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 17 2008, 09:19 
Специалист
Специалист

Зарегистрирован:
Ср, июл 02 2008, 09:49
Сообщения: 110
Откуда: Старый Оскол
Ребят, я в восторге ))) стока вариантов!
По началу юзал:
Code:
concatenate god per+1(2) '28' into dat.
do.
  add 1 to dat.
  if per+1(2) <> dat+4(2).
    exit.
  endif.
enddo.

Потом узнал про
Code:
'LAST_DAY_OF_MONTHS'
.

_________________
Кенни мне больше не нравится, он совсем перестал общаться (c) Cartman, South Park


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Самое простое и быстрое:
next_month = month mod 12 + 1.

Но вопрос-то был не в том, как через Новый год перешагнуть, а как ведущий ноль добавить:
Цитата:
мне нужно получить '08', а не 8


Ответ: data next_month(2) type n.


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

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


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

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


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

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