Cómo Usar la API de Oracle para Actualizar DFF - Guía Completa

Si necesitas actualizar un campo de DFF descriptiva Flex field lo puede hacer utilizando Postman y con como SOAP Web Services.

En esta publicación vamos hacer una actualización del valor de un Descriptive Flexfield  - DFF a nivel factura de AR o de Cuentas por Cobrar utilizando un API de Oracle.

Como encontrar un API de Oracle 



Cómo Usar la API de Oracle para Actualizar DFF - Guía Completa


Vamos a utilizar la URL que viene en esa pantalla


Service WSDL URL: https://servername/fscmService/ErpObjectDFFUpdateService?WSDL

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

Guía de como ejecutar API desde POSTMAN


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/fscmService/ErpObjectDFFUpdateService


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/financials/commonModules/shared/model/erpIntegrationService/types/"
xmlns:erp="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/">
   <soapenv:Header/>
   <soapenv:Body>
      <typ:updateDffEntityDetails>
         <typ:operationMode>SINGLE</typ:operationMode>
         <!--Optional:-->
         <typ:object>
            <!--Optional:-->
            <erp:EntityName>Receivables Invoice</erp:EntityName>
            <!--Optional:-->
            <erp:ContextValue>Contexto</erp:ContextValue>
            <!--Optional:-->
            <erp:UserKeyA>{{TransactionNumber}}</erp:UserKeyA>
            <!--Optional:-->
            <erp:UserKeyB>#NULL</erp:UserKeyB>
            <!--Optional:-->
            <erp:UserKeyC>#NULL</erp:UserKeyC>
            <!--Optional:-->
            <erp:UserKeyD>{{TransactionID}}</erp:UserKeyD>
            <!--Optional:-->
            <erp:UserKeyE>#NULL</erp:UserKeyE>
            <!--Optional:-->
            <erp:DFFAttributes>{"ATTRIBUTE1":"valor","ATTRIBUTE2":"valor2"}</erp:DFFAttributes>        
         </typ:object>
      </typ:updateDffEntityDetails>
   </soapenv:Body>
</soapenv:Envelope>


Los campos en negrita son los valores que deben cambiar

  • Contexto , este el valor de tu contexto en donde esta el DFF
  • {{TransactionNumber}} Es el numero de transacción o el numero de factura
  • {{TransactionID}}, es el numero de ID, este se debe obtener de la factura de la tabla RA_CUSTOMER_TRX_AL
  • "ATTRIBUTE1":"valor","ATTRIBUTE2":"valor2" , aquí hay que actualizar de acuerdo al campo que tu requieras es decir el attribut1 por el campo que tu utilices y el valor1 es el valor que tu quieres colocar
Te comparto un query que te puede servir para obtener los ID, puedes ajustarlo con los filtros como lo requieras

select
      rca.CUSTOMER_TRX_ID, 
      rca.TRX_NUMBER 
from RA_CUSTOMER_TRX_ALL rca

Con esto hemos actualizado nuestro DFF con la API de Oracle

Comentarios

Entradas más populares de este blog

Ejemplo Macro en Word

Graficar funciones en Python con dataframes

Macro de Excel para abrir archivo csv