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

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


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

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


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

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