Автор Тема: Курс Доллара - ABAP  (Прочитано 4168 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sed0Y

  • ECC 7.0 (ERP/CRM), EHP
  • Newbie
  • *
  • Сообщений: 121
  • Репутация: +7/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Курс Доллара - ABAP
« : Июнь 02, 2010, 03:46:49 pm »
как с помощью АБАП выдернуть с какого-то ресурса-интернета текущий курс доллара (то есть у меня при каждом обращении к транзакции должны перечитываться цены учитывая курс доллара)?

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 761
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Курс Доллара - ABAP
« Ответ #1 : Июнь 02, 2010, 04:16:25 pm »
Есть такая функция: CALL FUNCTION 'HTTP_GET'. Она позволяет выдернуть страницу с сайта во внутреннюю таблицу SAP. Например курсы валют НБУ (Национальный банк Украины) на дату находятся тут: You are not allowed to view links. Register or Login. Передав эту ссылку в этот ФМ получим во внутреннюю таблицу типа (я взял только кусок текста):
Код: You are not allowed to view links. Register or Login
<tr class="H" align="Center" valign="Middle">
<td>Цифровий код</td><td>Літерний код</td><td>Кількість одиниць</td><td>Назва валюти</td><td>Офіційний курс</td>

</tr><tr class="G1" align="Center" valign="Middle">
<td align="Center" width="15%">036</td><td align="Center" width="15%">AUD</td><td align="Center" width="15%">100</td><td align="Left" width="40%">австралійських доларів</td><td align="Right" width="20%">660.0177</td>
</tr><tr class="w1" align="Center" valign="Middle">
<td align="Center">031</td><td align="Center">AZM</td><td align="Center">100</td><td align="Left">азербайджанських манатів</td><td align="Right">986.1996</td>

</tr><tr class="G1" align="Center" valign="Middle">
<td align="Center">826</td><td align="Center">GBP</td><td align="Center">100</td><td align="Left">англійських фунтів стерлінгів</td><td align="Right">1154.0624</td>
</tr><tr class="w1" align="Center" valign="Middle">
<td align="Center">974</td><td align="Center">BYR</td><td align="Center">10</td><td align="Left">білоруських рублів</td><td align="Right">0.0264</td>

</tr><tr class="G1" align="Center" valign="Middle">
<td align="Center">208</td><td align="Center">DKK</td><td align="Center">100</td><td align="Left">датських крон</td><td align="Right">129.4874</td>
</tr><tr class="w1" align="Center" valign="Middle">
<td align="Center">840</td><td align="Center">USD</td><td align="Center">100</td><td align="Left">доларів США</td><td align="Right">792.5100</td>

</tr><tr class="G1" align="Center" valign="Middle">
<td align="Center">233</td><td align="Center">EEK</td><td align="Center">100</td><td align="Left">естонських крон</td><td align="Right">61.5658</td>
</tr><tr class="w1" align="Center" valign="Middle">
<td align="Center">978</td><td align="Center">EUR</td><td align="Center">100</td><td align="Left">ЄВРО</td><td align="Right">963.2959</td>

</tr><tr class="G1" align="Center" valign="Middle">
<td align="Center">352</td><td align="Center">ISK</td><td align="Center">100</td><td align="Left">ісландських крон</td><td align="Right">3.3217</td>
</tr><tr class="w1" align="Center" valign="Middle">
<td align="Center">398</td><td align="Center">KZT</td><td align="Center">100</td><td align="Left">казахстанських тенге</td><td align="Right">5.3967</td>

</tr><tr class="G1" align="Center" valign="Middle">
<td align="Center">124</td><td align="Center">CAD</td><td align="Center">100</td><td align="Left">канадських доларів</td><td align="Right">754.5793</td>
</tr><tr class="w1" align="Center" valign="Middle">
<td align="Center">428</td><td align="Center">LVL</td><td align="Center">100</td><td align="Left">латвійських латів</td><td align="Right">1358.0938</td>

</tr><tr class="G1" align="Center" valign="Middle">
<td align="Center">440</td><td align="Center">LTL</td><td align="Center">100</td><td align="Left">литовських літів</td><td align="Right">278.9898</td>
</tr><tr class="w1" align="Center" valign="Middle">
<td align="Center">498</td><td align="Center">MDL</td><td align="Center">100</td><td align="Left">молдовських леїв</td><td align="Right">61.5121</td>

</tr><tr class="G1" align="Center" valign="Middle">
<td align="Center">578</td><td align="Center">NOK</td><td align="Center">100</td><td align="Left">норвезьких крон</td><td align="Right">121.2914</td>
</tr><tr class="w1" align="Center" valign="Middle">
<td align="Center">985</td><td align="Center">PLN</td><td align="Center">100</td><td align="Left">польських злотих</td><td align="Right">234.1507</td>

</tr><tr class="G1" align="Center" valign="Middle">
<td align="Center">643</td><td align="Center">RUB</td><td align="Center">10</td><td align="Left">російських рублів</td><td align="Right">2.5507</td>
</tr><tr class="w1" align="Center" valign="Middle">
<td align="Center">702</td><td align="Center">SGD</td><td align="Center">100</td><td align="Left">сінгапурських доларів</td><td align="Right">560.2838</td>

</tr><tr class="G1" align="Center" valign="Middle">
<td align="Center">960</td><td align="Center">XDR</td><td align="Center">100</td><td align="Left">СПЗ</td><td align="Right">1159.4303</td>
</tr><tr class="w1" align="Center" valign="Middle">
<td align="Center">792</td><td align="Center">TRL</td><td align="Center">100</td><td align="Left">турецьких лір</td><td align="Right">499.4276</td>

</tr><tr class="G1" align="Center" valign="Middle">
<td align="Center">795</td><td align="Center">TMM</td><td align="Center">100</td><td align="Left">туркменських манатів</td><td align="Right">278.0737</td>
</tr><tr class="w1" align="Center" valign="Middle">
<td align="Center">348</td><td align="Center">HUF</td><td align="Center">1000</td><td align="Left">угорських форинтів</td><td align="Right">34.8238</td>

</tr><tr class="G1" align="Center" valign="Middle">
<td align="Center">860</td><td align="Center">UZS</td><td align="Center">100</td><td align="Left">узбецьких сумів</td><td align="Right">0.5009</td>
</tr><tr class="w1" align="Center" valign="Middle">
<td align="Center">203</td><td align="Center">CZK</td><td align="Center">100</td><td align="Left">чеських крон</td><td align="Right">37.5876</td>

</tr><tr class="G1" align="Center" valign="Middle">
<td align="Center">752</td><td align="Center">SEK</td><td align="Center">100</td><td align="Left">шведських крон</td><td align="Right">100.1732</td>
</tr><tr class="w1" align="Center" valign="Middle">
Ну а дальше пишите парсинг этой красоты и выуживаете из него курсы. Как показывает практика таки страницы формируются автоматически, так что и ваша обработка будет в целом корректная. Но делать это из транзакции крайне не правильно. Не знаю как в России, а у нас курс вроде как задается на следующий день вечером текущего по итогам типа торгов. Значит ночью получаем текущий правильный курс на текущую дату. Пишем это все в таблицу курсов из которой уже транзакции пусть читают что им надо... а то из транзакций такие лаги будут.. что многих это расстроит  ::)

Оффлайн Sed0Y

  • ECC 7.0 (ERP/CRM), EHP
  • Newbie
  • *
  • Сообщений: 121
  • Репутация: +7/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Курс Доллара - ABAP
« Ответ #2 : Июнь 02, 2010, 04:26:50 pm »
Спасибо!