✒️SAP BTPFIORI / Los formularios y el envió de datos al backend Por Jose Baz Suarez

Selector Alummnos / Empresas

CVOSOFT UNITED STATES OF AMERICA | 17 años de ingeniería dedicados a formación profesional de Consultores SAP | +info

SAP BTPFIORI Los formularios y el envió de datos al backend

SAP BTPFIORI Los formularios y el envió de datos al backendLos formularios y el envío de datos al backend
1. Introducción

Los formularios son elementos fundamentales en las aplicaciones SAPUI5, ya que permiten a los usuarios ingresar, modificar y enviar datos hacia el backend SAP mediante servicios OData.
Estos formularios son comunes en aplicaciones Fiori transaccionales, donde se requiere capturar información del usuario (por ejemplo, crear pedidos, clientes o registrar incidencias).

SAPUI5 ofrece una estructura flexible y modular para construir formularios dinámicos que se integran fácilmente con los modelos de datos y con los servicios OData del SAP Gateway.


2. Estructura de un formulario en SAPUI5

El control base para formularios es sap.ui.layout.form.SimpleForm, que permite agrupar etiquetas y campos de entrada de forma ordenada.

Ejemplo básico:

<SimpleForm id="formCliente" editable="true" layout="ResponsiveGridLayout"> <Label text="Nombre" /> <Input value="{/Name}" /> <Label text="Correo electrónico" /> <Input value="{/Email}" /> <Label text="País" /> <Input value="{/Country}" /> </SimpleForm>

📘 Explicación:

  • Label define el texto descriptivo del campo.

  • Input vincula el valor al modelo mediante data binding.

  • layout="ResponsiveGridLayout" adapta la presentación a distintos tamaños de pantalla.


3. Modelos y binding de datos

El formulario utiliza un modelo (OData o JSON) para leer y escribir los datos que se mostrarán o enviarán al backend.

a) Binding bidireccional (TwoWay)

Permite que los cambios realizados por el usuario se reflejen automáticamente en el modelo.

"models": { "": { "dataSource": "mainService", "settings": { "defaultBindingMode": "TwoWay" } } }

💡 Ventaja: no es necesario capturar manualmente los valores antes de enviarlos al backend.


4. Envío de datos al backend (método create)

El método create() del modelo OData permite enviar los datos ingresados en el formulario al servicio OData en el backend.

Ejemplo:

onGuardar: function () { var oModel = this.getView().getModel(); var oNuevoCliente = { Name: this.byId("inputName").getValue(), Email: this.byId("inputEmail").getValue(), Country: this.byId("inputCountry").getValue() }; oModel.create("/CustomerSet", oNuevoCliente, { success: function () { MessageToast.show("Cliente creado exitosamente."); }, error: function (oError) { MessageBox.error("Error al guardar los datos."); } }); }

📘 Explicación:

  • create() realiza una llamada HTTP POST al endpoint del servicio OData.

  • El objeto oNuevoCliente contiene los valores capturados del formulario.

  • En caso de éxito, se muestra un mensaje confirmando la creación.


5. Actualización de datos (método update)

Para modificar registros existentes, se utiliza el método update(), que envía una petición HTTP PUT/PATCH.

var sPath = "/CustomerSet('0001')"; oModel.update(sPath, oClienteActualizado, { success: function () { MessageToast.show("Datos actualizados correctamente."); }, error: function () { MessageBox.error("No se pudo actualizar el registro."); } });

💡 Nota:
El parámetro sPath indica la clave del registro que se actualizará en el servicio OData.


6. Eliminación de datos (método remove)
var sPath = "/CustomerSet('0001')"; oModel.remove(sPath, { success: function () { MessageToast.show("Registro eliminado."); }, error: function () { MessageBox.error("Error al eliminar el registro."); } });

📘 Explicación:
remove() ejecuta una operación DELETE en el backend para eliminar un registro específico.


7. Validaciones antes del envío

Antes de enviar los datos al backend, es importante realizar validaciones locales en el controlador:

if (!this.byId("inputName").getValue()) { MessageBox.warning("Debe ingresar el nombre del cliente."); return; }

💡 Esto evita solicitudes innecesarias y asegura que el usuario complete todos los campos requeridos.


8. Mensajes de confirmación y manejo de errores

Los métodos OData (create, update, remove) incluyen callbacks para manejar el resultado de la operación:

  • success: se ejecuta si el backend responde con código HTTP 2xx.

  • error: se ejecuta si ocurre un problema de validación o comunicación.

SAPUI5 recomienda usar:

  • MessageToast → para mensajes breves.

  • MessageBox → para errores o confirmaciones.


9. Buenas prácticas
  • Validar campos obligatorios en frontend antes de enviar.

  • Utilizar binding TwoWay para sincronizar datos automáticamente.

  • Definir los modelos y endpoints en el manifest.json.

  • Evitar múltiples llamadas consecutivas (usar promesas o async/await si es necesario).

  • Manejar todos los errores de comunicación con MessageBox.error().

  • En formularios grandes, utilizar SimpleForm o SmartForm para mantener la legibilidad.

  • Asegurarse de que el servicio OData tenga los permisos correctos en /IWFND/MAINT_SERVICE.


10. Conclusión

El manejo de formularios y el envío de datos al backend son pilares del desarrollo SAP Fiori.
Gracias a los métodos del modelo OData (create, update, remove), las aplicaciones SAPUI5 pueden interactuar directamente con los datos del sistema SAP de forma segura, controlada y eficiente.
La combinación de formularios bien estructurados, binding bidireccional y validaciones robustas asegura aplicaciones estables y alineadas con los estándares de SAP UX.


Preguntas de repaso

  1. ¿Qué control SAPUI5 se utiliza para crear formularios de entrada de datos?
    → sap.ui.layout.form.SimpleForm

  2. ¿Qué método del modelo OData se usa para enviar nuevos registros al backend?
    → create()

  3. ¿Qué método se utiliza para actualizar datos existentes en el backend?
    → update()

  4. ¿Qué tipo de operación HTTP ejecuta el método remove()?
    → Una operación DELETE

  5. ¿Qué tipo de binding se utiliza para sincronizar automáticamente la vista y el modelo?
    TwoWay binding


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Jose Rodrigo Baz Suarez, en su ámbito de estudios para la Carrera Consultor SAP BTP Fiori.

SAP SemiSenior

Jose Rodrigo Baz Suarez

Profesión: Analista de Inventarios y Auditoria - Uruguay - Legajo: WX92M

✒️Autor de: 47 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Analista con experiencia en sap, contabilidad, inventarios y costos. manejo de cierres, balances, reportes y mejoras de procesos administrativos.

Certificación Académica de Jose Baz

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Los formularios y el envió de datos al backend" de la mano de nuestros alumnos.

SAP SemiSenior

Los formularios y el envío de datos al backend 1. Introducción Los formularios son elementos fundamentales en las aplicaciones SAPUI5, ya que permiten a los usuarios ingresar, modificar y enviar datos hacia el backend SAP mediante servicios OData. Estos formularios son comunes en aplicaciones Fiori transaccionales, donde se requiere capturar información del usuario (por ejemplo, crear pedidos, clientes o registrar incidencias). SAPUI5 ofrece una estructura flexible y modular para construir formularios dinámicos que se integran fácilmente con los modelos de datos y con los servicios OData del SAP Gateway. 2. Estructura de un formulario en SAPUI5 El control base para formularios es sap.ui.layout.form.SimpleForm,...

Acceder a esta publicación

Creado y Compartido por: Jose Rodrigo Baz Suarez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

El formulario y el envio de datos al backend Formulario: es un contenedor de elementos los formularios: sap.ui.layout.from.Form API los formulario simples: sap.ui.layout.from.SimpleForm API Controles ResponsiveGridLayout: se utiliza para renderizar FormContainers: es un bloque o sección dentro de un SimpleForm o un Form que se usa para agrupar campos relacionados en un formulario. FormElement: es un bloque básico dentro de un formulario (Form o FormContainer). Se usa para definir: Una etiqueta (label) Uno o varios campos de entrada (fields) Las validaciones con HTML5 y JavaScript: son técnicas para verificar que los datos ingresados por el usuario...

Acceder a esta publicación

Creado y Compartido por: Claudia Bibiana Monsalve Lopez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

1. LA IMPLEMENTACION DE FORMULARIOS WEB FACILES DE USAR El formulario actua como un contenedor para otros elementos de la ui tales como etiquetas, campos de entrada, etc En SAPui5, lse pueden contruir usando 2 controles diferentes Los formulario: sap.ui.layout.form.Form API los formularios simples: sap.ui.layout.form.SimpleForm API Control ResponsiveGridLayout representa un form mediante una cuadricula responsiva, el control Grid se usa para renderizar. FormContainer se representan en una o diferentes columnas DEPENDIENDO DEL ESPACIO DISPONIBLE, mientrsa que las etiquetas de los campos se muestra junto o encima el textbox. Un FormElement representa una fila en un FormContainter: en una combinacion de una etiqueta y doferentes controels...

Acceder a esta publicación

Creado y Compartido por: Roberto Hernan Santucho

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Si deseamos implementar un formulario WEB donde el usuario puede insertar datos y enviar esos datos a un servidor backend a través de un botón de envió debemos encapsular los elementos del formulario en una etiqueta. Para saber que valores acepta el format options y constraints se debe ir a la API del tipo. El PATH suele servir para hacer referencia a varios campos del modelo, para que los reciba la función que hará el formateo del valor. El estilos de los mensajes: Hasta hace poco casi todos los desarrolladores tenían un estilo diferente en capturar y exponer mensajes, esto producía la pérdida de un nivel de uniformidad que a menudo se requiere para nuestras aplicaciones.

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Servicios Odata y SAPUI5 En el contexto de SAPUI5, los servicios OData son comúnmente utilizados para acceder y consumir datos desde sistemas SAP y otros sistemas empresariales que admiten este protocolo. Puntos claves sobre la relación entre servicios OData y SAPUI5: Consumo de Datos: SAPUI5 puede consumir datos de servicios OData para mostrar información en las aplicaciones web. Los servicios OData proporcionan una interfaz estandarizada para acceder y manipular datos, lo que facilita su consumo en aplicaciones SAPUI5. Modelo de Datos: En SAPUI5, los datos obtenidos de servicios OData se almacenan comúnmente en modelos...

Acceder a esta publicación

Creado y Compartido por: Claudio Marcelo Hermann / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Formulario y envio de datos al backend comportamiento más consistente actua como contenedor sap.ui.layout.form.Form Api sap.ui.layout.form.SimpleForm API FormContainers FormElement validaciones del lado del cliente validaciones de HTML5 validaciones de javascript required pattern regex expresión regular type Date datetime datetimelocale email month number password tel text time url week value placeholder restricciones groupingseparator decimalseparator path getValue() oninit()

Acceder a esta publicación

Creado y Compartido por: Enrique Gomez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Implementacion de Formulaios Web El formulario actúa como un contendor para otros elementos de la UI En SAPUI5 los formularios se pueden construir usando dos controles diferentes · Los Formularios: sap.ui.layout.form.Form API · Los formularios Simples sap.ui.layout.from.simpleForm Validaciones con HTML5 y JavaScript La validaciones en lado del cliente es una verificación inicial una característica importante para garantizar una buena UX Atributos usados para la validación: · Required · Pattern · Type · Value

Acceder a esta publicación

Creado y Compartido por: Detriana Barrios / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!