Текущее время: Пт, май 16 2025, 02:25

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Ф.модуль для получения коэф. курсов валют
СообщениеДобавлено: Ср, сен 07 2005, 10:21 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Собсна, сабж. Можно найтить искомый коэф. в таблице TCURF, но там для поиска актуальных курсовых коэффициентов нужно дополнительно преобразовывать дату, на которую ищется коэф., и искать по минимальному значению этой "преобразованной" даты, большей или равной заданной. Неудобно, потому что это делается в цикле - нужно для своего отчета пересчитывать во внутр. валюту стоимости позиций счетов (исходящих), но курс брать не на дату проводки, а из заголовка (KURRF - курс для бухучета). Получается, надо делать join заголовка и позиций, а затем для каждой позиции еще делать запрос для поиска коэф. пересчета... Может, как-то можно это сделать оптимальней? Ф.модуль я не нашел...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 07 2005, 10:29 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Может быть, поможет гр. функций SCUN.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 07 2005, 10:32 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 22 2005, 09:51
Сообщения: 208
Пол: Мужской
Группа функция SCUR поможет тебе.

Есть еще BAPI функция BAPI_EXCHRATE_GETCURRENTRATES.

_________________
С уважением, В.Ш.
4.6C


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

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Группы ф-ций SCUR не существует в природе... Версия - 4.7. Ближайшие похожие: SCUN и SCUST_SYS_INFO. Между ними - пустота... С бапишкой буду ковыряться, спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 07 2005, 10:53 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 22 2005, 09:51
Сообщения: 208
Пол: Мужской
Цитата:
Группы ф-ций SCUR не существует в природе...


От ведь. В 4.6Ц есть такая группа. Все, значит, течет, все меняется... :wink:

_________________
С уважением, В.Ш.
4.6C


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

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Есть гр. ф. SCUN. Там даже есть ф.модуль READ_EXCHANGE_RATE, но, во-первых, необходимо задавать дату рассчета курса (есесьно), а меня это не устраивает, поск. курс меняется от документа к документу даже на одну дату счета, а во-вторых, при тестировании он мне не вернул курс валют... :(


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

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Есть еще ф.модуль CALCULATE_EXCHANGE_RATE. Он возвращает коэф. правильно, но я не понял, почему :roll:
Заполняю поля, чтобы его протестировать:
=====
CLIENT 020
DATE 30.08.2005
FOREIGN_AMOUNT 1000
FOREIGN_CURRENCY RUB
LOCAL_AMOUNT 1
LOCAL_CURRENCY UAH
TYPE_OF_RATE M
=====
На выходе:
=====
EXCHANGE_RATE
FOREIGN_FACTOR 10
LOCAL_FACTOR 1
DERIVED_RATE_TYPE
FIXED_RATE
=====
Хотя сам курс не вернул, множители правильные. Тогда зачем суммы обязательны для заполнения? Не понимаю...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 07 2005, 11:30 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 22 2005, 09:51
Сообщения: 208
Пол: Мужской
Нормально все возвращает. Попробуй маленькую программку написать с этими ФМ. :lol:

Цитата:
а меня это не устраивает, поск. курс меняется от документа к документу даже на одну дату счета

А вот с этой цифры поподробнее.
Я не понял, в течении дня меняется курс? Или, от документа к документу меняется дата и тип курса?

Если есть тип курса, валюты, на какую дату расчитывать курс, то CONVERT_TO_*.

_________________
С уважением, В.Ш.
4.6C


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

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Имеется в виду вот что. В сбытовом заказе стоит фикс. курс. При формировании счета со ссылкой на исход. поставку к этому заказу ставится курс, прописанный в заказе. А это уже не тот курс, который действует на дату счета.
Теперь, если заказы разные, у них разные курсы. Но при выставлении счетов на эти заказы в один день получится, что нужно рассчитывать стоимости по нескольким курсам. При этом курс на дату счета не будет действительным для счетов с прописанным курсом для бухучета.
Ф-ф-ф-ф-фухххх! Во, загнул! Надеюсь, кое-как понятно?
-----
Во всем виновато мое коснояз-зычие. (с) Новосельцев А.Е. :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 07 2005, 12:44 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 22 2005, 09:51
Сообщения: 208
Пол: Мужской
ФМ CONVERT_TO_LOCAL_CURRENCY или CONVERT_TO_FOREIGN_CURRENCY позволяют расчитать сумму в валюте по указанным Типу курса, сумме, валюте, дате на который считать курс и есть там еще магическое Ха - параметр READ_TCURR. Если парамтер READ_TCURR не оХаивать ( = '') и в параметре RATE - передать курс, то возможно ту получишь отконвертированную сумму.
Думаю - это то, что тебе надо. :D

_________________
С уважением, В.Ш.
4.6C


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

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Да, спасибо. CONVERT_TO_LOCAL_CURRENCY - весьма исчерпывающий ответ. То, что нужно.

З.Ы. Бапишку еще не проверял :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 07 2005, 14:30 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 22 2005, 09:51
Сообщения: 208
Пол: Мужской
А BAPI-шка, в контексте твоей задачи и не нужна.
8)

_________________
С уважением, В.Ш.
4.6C


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 07 2005, 15:51 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
Дык а чего там переводить то

p_dated = auedatu.
p_augdatu = 99999999 - p_dated.
select single ukurs
into acukurs
from tcurr
client specified
where mandt = aumandt
and kurst = kurst " 'M'
and fcurr = aufcurr
and tcurr = autcurr
and gdatu >= p_augdatu.

или нет??

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 07 2005, 16:14 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 22 2005, 09:51
Сообщения: 208
Пол: Мужской
Цитата:
Дык а чего там переводить то


Или так:

Code:
  DATA: inv_date TYPE tcurf-gdatu.
  CONVERT DATE date_convert INTO INVERTED-DATE inv_date.

*** тут пропускаем для ясности...

  SELECT * INTO p_curs FROM tcurr
    WHERE kurst = p_kurst AND
          fcurr = p_fcurr AND
          tcurr = p_tcurr AND
          gdatu >= p_date.
    p_result = 1.
    EXIT.
  ENDSELECT.


Или закачиваем таблицу курсов в память и READ TABLE ... INTO ... WITH KEY ... BINARY SEARCH.

Но лучше использовать стандартный функционал. :D

_________________
С уважением, В.Ш.
4.6C


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

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


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

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


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

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