Ir al contenido principal

API para actualizar customer profile Oracle Cloud

 En ocasiones necesitamos actualizar datos para muchos registros y para evitar hacer esto uno por uno, Oracle tiene disponibles herramientas como SOAP Web Services y REST API Services.


En esta publicación vamos hacer una actualización del valor de Credit Limit (Limite de Credit) para un cliente en el modulo de AR (Account Receivable o de Cuentas por Cobrar)

Primero vamos a la liga de documentacion https://docs.oracle.com/en/ y ahí buscamos en este caso la sección de finanzas

Luego seleccionamos Integrate

Seleccionamos Review  SOAP Web Services

Dentro buscamos la sección de Customer Profile


Vamos a utilizar la URL que viene en esa pantalla


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

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/fscmService/ReceivablesCustomerProfileService?WSDL


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/receivables/customers/customerProfileService/types/" xmlns:cus="http://xmlns.oracle.com/apps/financials/receivables/customers/customerProfileService/" xmlns:cus1="http://xmlns.oracle.com/apps/financials/receivables/customerSetup/customerProfiles/model/flex/CustomerProfileDff/" xmlns:cus2="http://xmlns.oracle.com/apps/financials/receivables/customerSetup/customerProfiles/model/flex/CustomerProfileGdf/">
   <soapenv:Header/>
   <soapenv:Body>
      <typ:updateCustomerProfile>
         <typ:customerProfile>
            <!--Optional:-->
            <cus:AccountNumber>Micliente</cus:AccountNumber>
            <!--Optional:-->
            <cus:CustomerAccountId>512396440</cus:CustomerAccountId>
            <!--Optional:-->
            <cus:CreditLimit>210</cus:CreditLimit>
            <!--Optional:-->
            <cus:CreditCurrencyCode>MXN</cus:CreditCurrencyCode>
         </typ:customerProfile>
      </typ:updateCustomerProfile>
   </soapenv:Body>
</soapenv:Envelope>

Los campos en negrita son los valores que deben cambiar
  • Micliente , este valor corresponde al código de cuenta del cliente que queremos actualizar
  • 512396440, este valor corresponde al id del código de cuenta de cliente
  • 210,este valor corresponde al nuevo monto de limite de crédito que queremos colocar
  • MXN,este valor corresponde a la moneda que queremos utilizar para el limite de crédito
NOTA: se crea un nuevo profile, el profile anterior lo cierra colocando fecha de fin el dia en que se ejecuta el proceso

Este Request lo podemos modificar para que podamos hacer una actualización masiva, para ver los pasos de como hacerlo, vean la liga de la entrada Como Actualizar DFF de recibos en CXC. De manera rapida lo que hay que hacer es ponerle un nombre de variable a los valores en negrita por ejemplo {{Micliente}} , {{Idcliente}}etcétera y estos valores colocarlos como encabezados en un archivo CSV y colocar los valores
de los registros que queremos actualizar.
EL XML se veria asi

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/financials/receivables/customers/customerProfileService/types/" xmlns:cus="http://xmlns.oracle.com/apps/financials/receivables/customers/customerProfileService/" xmlns:cus1="http://xmlns.oracle.com/apps/financials/receivables/customerSetup/customerProfiles/model/flex/CustomerProfileDff/" xmlns:cus2="http://xmlns.oracle.com/apps/financials/receivables/customerSetup/customerProfiles/model/flex/CustomerProfileGdf/">
   <soapenv:Header/>
   <soapenv:Body>
      <typ:updateCustomerProfile>
         <typ:customerProfile>
            <!--Optional:-->
            <cus:AccountNumber>{{Micliente}}</cus:AccountNumber>
            <!--Optional:-->
            <cus:CustomerAccountId>{{Idcliente}}</cus:CustomerAccountId>
            <!--Optional:-->
            <cus:CreditLimit>{{LimiteCredito}}</cus:CreditLimit>
            <!--Optional:-->
            <cus:CreditCurrencyCode>{{Moneda}}</cus:CreditCurrencyCode>
         </typ:customerProfile>
      </typ:updateCustomerProfile>
   </soapenv:Body>
</soapenv:Envelope>


Esperamos les sea de utilidad esta publicación y nos compartan

Comentarios

Entradas más populares de este blog

Graficar funciones en Python con dataframes

Bienvenidos a un nuevo post, en esta semana, en esta ocasión les quiero platicar acerca de una librería en Python que se llama  matplotlib  que nos sirve para gráfica funciones de  matemáticas. Habitualmente en Python existen muchas librerías, lo que hay que hacer es primero investigar si ya existe alguna que nos ayude y entenderla antes de inventar el hilo negro, en mi caso encontré la librería  Matplotlib Para instalar deben utilizar el comando PIP en 2.7 Instalando en Python 3.7 Si tienen Python 2.7 deben realizar la ejecución de estos 2 comandos desde consola python -m pip install -U pip python -m pip install -U matplotlib Aunque lo más recomendable es utilizar la versión 3.7 o superior de Python. Programa para graficar en Python import matplotlib.pyplot as plt import numpy as np import math as mt def move_spines():     """Esta funcion divide pone al eje y en el valor      0 de x para dividir claramente los valores positivos y     negativos.&quo

Ejemplo Macro en Word

Hola: ¿Sabían que no solo en Excel pueden hacer Macros?  ¡¡¡También en Outlook, Word, Power Point,Access  es posible hacer Macros!!!  ☺️ Ya que Word, Excel, Power Point,Access son de familia Microsoft y Visual Basic también es que podemos programar nuestras macros en esta paquetería. Como hemos visto antes, para poder programar nuestras macros, necesitamos primero configurar la Barra de tareas de Developer o Desarrollador Seleccionan el Menu File>Options>Customize Ribbon o en Español Archivo>Opciones>barra de tareas Despues la parte de seguridad de las macros Menu File>Options>Trus Center o Archivo>Opciones>Centro de Seguridad y marcamos como se ve en la imagen, la cuarta opción y el combo Ejemplo Vamos hacer un ejemplo donde, tengamos que generar varios diplomas de fin de curso, pero con una lista de Nombres , entonces vamos a crear un nuevo archivo en Word y le vamos a guardar como tipo Macro  Tenemos una plantill

Ejemplo Python para leer imagen y transformarla en una matriz

Como hemos visto en otros post, Python nos permite hacer programas de manera más rápida, en esta ocasión quiero compartirles un ejemplo para leer un archivo de imagen y como convertirlo en una matriz o un arreglo. Aplicaciones Poder hacer ingeniería de datos, es decir poder convertir una misma imagen en diferentes todos y utilizarlos para machine learning para reconocimiento de gatos, para ello hay que mostrar muchas imágenes a nuestro modelo es decir entrenarlo, para ello hay que colocarle imágenes claras y imagenes que no sean tan claras por ejemplo, se pone la imagen original y se agrega "ruido" para que se vea en rojos, grises, verdes. Se pudo utilizar para un mapa , para poder ver datos a detalle Se puede aplicar para manipular imágenes, por ejemplo agregar efectos  Seguramente a ustedes se les pueden ocurrir más aplicaciones Les comparto el ejemplo de como hacerlo en Jupiter y para hacer el ejemplo voy a utilizar el logo del blog es una imagen de 500x500 pixeles Los Pas