How to Get Exchange Rates in Excel Automatically Using a Free API (VBA Step-by-Step)

Imagen
How to Get Exchange Rates in Excel Automatically Using a Free API (VBA Step-by-Step) Automate exchange rates in Excel in minutes. In this guide, you’ll learn how to retrieve currency data from multiple countries (including African currencies) using a free API and VBA. This example is perfect if you work with financial reports, currency analysis, or need updated data without manual input. 🚀 What will you learn? How to get real-time exchange rates in Excel How to use a free API (no API key required) How to automate Excel with VBA How to retrieve multiple currencies (USD, MXN, EUR, ZAR, NGN, etc.) 🌍 Free Exchange Rate API For this example, we will use the following free API: 👉 https://open.er-api.com/v6/latest/USD Advantages: No API key required 150+ currencies available Includes African currencies Daily updated data (not historical) 💻 VBA Macro to Get Exchange Rates in Excel Copy and paste this code into a VBA module: Sub GetExchangeRates(...

🔧 Actualización de DFF a nivel Site en Oracle usando SOAP API y Postman

En algunos escenarios es necesario actualizar información para múltiples registros y hacerlo uno por uno desde la interfaz no siempre es viable.
Para estos casos, Oracle pone a disposición herramientas como SOAP Web Services y REST API Services, que permiten automatizar y controlar este tipo de procesos.

En esta publicación veremos un ejemplo real y probado para actualizar el valor de un Descriptive Flex Field (DFF) a nivel detalle de sitio del cliente, lo que a nivel técnico impacta directamente la tabla HZ_PARTY_SITES.

📚 Documentación oficial

Antes de comenzar, es importante revisar la documentación oficial del servicio:

👉 Oracle Trading Community Organization Service vamos a la liga de documentacion https://docs.oracle.com/en/cloud/saas/sales/oesws/tradingcommunityorganization-d41e160191.html


Oracle Trading Community Organization Service DFF


🌐 Servicio SOAP utilizado

Desde la documentación tomamos el servicio:

Service WSDL

https://servername/crmService/FoundationPartiesOrganizationService

⚠️ Recuerda reemplazar servername por el nombre de tu entorno.

🧪 Preparación del request en Postman


Vamos a entrar a Postman y desde ahí vamos armar el xml , primero vamos agregar un request


Luego vamos a poner el tipo Post y vamos a poner la URL que vimos dos pasos atrás, solo tengan cuidado de cambiar el nombre de su servidor URL: https://servername/crmService/FoundationPartiesOrganizationService


Después vamos agregar nuestras credenciales de acceso a Oracle , en la sección de authorization , en la parte de Body vamos a marcar raw y XML.



Y en Body vamos a colocar el siguiente código de XML



<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:typ="http://xmlns.oracle.com/apps/cdm/foundation/parties/organizationService/applicationModule/types/"
  xmlns:org="http://xmlns.oracle.com/apps/cdm/foundation/parties/organizationService/"
  xmlns:pty="http://xmlns.oracle.com/apps/cdm/foundation/parties/partyService/"
  xmlns:psd="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/partySite/">
  <soapenv:Header/>
  <soapenv:Body>
    <typ:mergeOrganization>
      <typ:organizationParty>
        <!-- 1) El Party dueño del Site -->
        <org:PartyId>TEST14235</org:PartyId>

        <!-- 2) El Party Site que quieres actualizar -->
        <org:PartySite>
          <pty:PartySiteId>TEST6789</pty:PartySiteId>

          <!-- 3) BLOQUE DE DFF (PartySiteInformation) -->
          <pty:PartySiteInformation xsi:type="psd:Nombre_contexto_API"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- El contexto de tu DFF -->
            <psd:__FLEX_Context>Contexto_Name</psd:__FLEX_Context>
            <!-- Segmentos de tu DFF -->
            <psd:nombre_API_DFF>VALOR_ACTUALIZAR</psd:nombre_API_DFF>

          </pty:PartySiteInformation>

        </org:PartySite>
      </typ:organizationParty>
    </typ:mergeOrganization>
  </soapenv:Body>
</soapenv:Envelope>

Los campos en negrita son los valores que deben cambiar
  • TEST14235 , este del party id de la tabla hz_parties
  • TEST6789,este del site de la tabla HZ_PARTY_SITES
  • Nombre_contexto_API,este valor es muy importante lo vas a obtener de la pantalla donde defines el DFF
  • Contexto_Name, este valor es muy importante lo vas a obtener de la pantalla de
donde se define el DFF
  • nombre_API_DFF este valor es muy importante lo vas a obtener de la pantalla de
donde se define el DFF
Te comparto un query que te puede servir para obtener los ID, puedes ajustarlo con los filtros como lo requieras

🔍 Query de apoyo para obtener IDs


SELECT hp.party_id , hp.PARTY_NUMBER , hca.account_number , hca.cust_account_id , hps.party_site_id , hps.location_id , hcsu.site_use_code , hps.party_site_name , hps.party_site_number , hps.START_DATE_ACTIVE ,hcsa.set_id ,hp.ORIG_SYSTEM_REFERENCE FROM hz_parties hp , hz_party_sites hps , hz_locations hl , hz_cust_accounts hca , hz_cust_acct_sites_all hcsa , hz_cust_site_uses_all hcsu WHERE hp.party_id = hps.party_id AND hps.location_id = hl.location_id AND hp.party_id = hca.party_id AND hcsa.party_site_id = hps.party_site_id AND hcsu.cust_acct_site_id = hcsa.cust_acct_site_id AND hca.cust_account_id = hcsa.cust_account_id --AND hps.party_site_number = numero de site del cliente --AND hca.account_number =numero de cuenta del cliente --AND hps.location_id = valor que busques


✅ Conclusión

Este ejemplo demuestra que, aunque SOAP sigue siendo percibido como complejo, con una buena estructura

y las herramientas correctas es posible actualizar DFFs de forma segura y controlada.

Si trabajas con Oracle Trading Community, este enfoque puede ahorrarte mucho tiempo operativo y

reducir errores manuales.

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

👉 Cómo obtener el tipo de cambio en Excel con API de Banxico (paso a paso)

Macro en Word para automatizar documentos: genera diplomas en segundos (con código VBA)