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

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


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

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


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

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