• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
  • Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
Twitter Linkedin Instagram

S4PCADEMY_Logo
  • Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
Twitter Linkedin Instagram
sm30;table  ·  Technical Articles

Cómo validar datos en la vista de mantenimiento (SM30) antes de guardar

By s4pcademy 


Hola,

En esta publicación de blog, me gustaría mostrarle cómo validar datos en la pantalla de vista de mantenimiento antes de guardar.

Las vistas de mantenimiento son interfaces muy útiles para crear un visor y editor de tablas de base de datos. Y con eventos y ayudas de búsqueda, podemos hacerlos aún más útiles.

En esta publicación de blog, crearemos una tabla, donde podemos asignar códigos de empresa a rangos especiales para órdenes de compra. La tabla tendrá solo 3 campos, cliente, código de empresa y rango. Antes de guardar los datos en la vista de mantenimiento, comprobaremos tanto el código de la empresa como el rango y, si no son válidos, advertiremos al usuario y no permitiremos que se guarden los datos.

Mesa

Tabla%20Estructura

Estructura de la tabla

Abrir%20Mantenimiento%20Ver

Abrir vista de mantenimiento

Supongo que ha creado una vista de mantenimiento. Y dispuesto a agregar un evento para validar los datos. Si no sabe cómo crear una vista de mantenimiento, por favor leer en ese enlace.

Añadir%20Evento%20a%20Mantenimiento%20Ver

Agregar evento a la vista de mantenimiento

Agregue el evento antes de guardar y asigne un nombre de formulario para que se llame cuando se active el evento.

Añadir%20Evento%20y%20Formulario%20Nombre

Agregar evento y nombre de formulario

Bloque de código

Haga clic en abrir editor y cree el formulario que proporcionó anteriormente (ANTES DE GUARDAR en ese ejemplo)

FORMULARIO%20Contenido%20de%20ANTES_GUARDAR

FORMULARIO Contenido de BEFORE_SAVE

Arriba, desde la línea 9 a la 15 se utilizan para recopilar nuevos registros o datos de registros modificados en la tabla interna recs. total la tabla contiene todos los registros y cuando hacemos un bucle en los registros totales, campo-símbolo se asigna, marcando símbolo de campo podemos aprender sobre el estado del registro, si es nuevo, actualizado o se está eliminando.

Más tarde, en la línea 19, la tabla recs se pasa a una clase que contiene lógica de validación. Ese método de clase devuelve una estructura de estado. Si el resultado no es el éxito. estamos configurando vim_abort_saving = abap_true en la línea 21. De esa manera, el ahorro no sucederá.

Y estamos mostrando un mensaje para informar al usuario en la línea 22.

Aquí están las líneas, que te serán útiles.

FORM before_save.
  "Collect records to be checked
  DATA : recs TYPE TABLE OF zmm_t_po_nr_cust,
         rec  TYPE zmm_t_po_nr_cust.
  LOOP AT total.
    IF <vim_total_struc> IS ASSIGNED AND ( <action> EQ 'N' OR  <action> EQ 'U' ).
      CLEAR rec.
      MOVE-CORRESPONDING <vim_total_struc> TO rec.
      APPEND rec TO recs.
    ENDIF.
  ENDLOOP.

  "Validate changes
  IF recs IS NOT INITIAL.
    "Place your logic below
    DATA(status) = zmm_cl_po_numbering=>validate_new_entries( recs = recs ).
    IF status-status NE zutils_cl_defs=>c_stat_success.
      vim_abort_saving = abap_true. "To abort saving
      MESSAGE status-status_text TYPE 'S' DISPLAY LIKE 'E'.
    ENDIF.
  ENDIF.

ENDFORM.

Active sus cambios y vaya a sm30 para probar.

Pruebe%20para%20guardar%20datos%20con%20código%20de%20empresa%20inválido

Intente guardar los datos con un código de empresa no válido

Eso es todo. Espero que sea útil para usted.

Gracias por leer.

Link de referencia

https://blogs.sap.com/2015/10/29/validate-data-in-table-maintenance-generator-event/



Source link


antescomodatosguardarmantenimientoSM30validarvista

Artículos relacionados


mdf  ·  multiple record  ·  Technical Articles  ·  training needs
Cree necesidades de capacitación con múltiples registros como un objeto MDF personalizado
Technical Articles
Cree una vista de cálculo de consumo de aplicación XSJS y envíela a Https en HANA XSA
#batch  ·  #hire  ·  #SAPSuccessFactors  ·  generatepersonID  ·  Technical Articles
Cómo usar la operación generarNextPersonID y $batch para contratar a un empleado en SuccessFactor usando CPI

Deja tu comentario Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

Protección de datos de la interfaz de usuario: cómo funciona el método de revelación mejorada en el escenario de enmascaramiento cuando el tipo de revelación está configurado como autoservicio en SAP GUI
Previo
Reversión de Ejecución de Interés | Blogs de SAP
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.
Cookies Para que este sitio funcione adecuadamente, a veces instalamos en los dispositivos de los usuarios pequeños ficheros de datos, conocidos como cookies. La mayoría de los grandes sitios web también lo hacen.
Aceptar
Cambiar ajustes
Configuración de Cookie Box
Configuración de Cookie Box

Ajustes de privacidad

Decida qué cookies quiere permitir. Puede cambiar estos ajustes en cualquier momento. Sin embargo, esto puede hacer que algunas funciones dejen de estar disponibles. Para obtener información sobre eliminar las cookies, por favor consulte la función de ayuda de su navegador. Aprenda más sobre las cookies que usamos.

Con el deslizador, puede habilitar o deshabilitar los diferentes tipos de cookies:

  • Bloquear todas
  • Essentials
  • Funcionalidad
  • Análisis
  • Publicidad

Este sitio web hará:

Este sitio web no:

  • Esencial: recuerde su configuración de permiso de cookie
  • Esencial: Permitir cookies de sesión
  • Esencial: Reúna la información que ingresa en un formulario de contacto, boletín informativo y otros formularios en todas las páginas
  • Esencial: haga un seguimiento de lo que ingresa en un carrito de compras
  • Esencial: autentica que has iniciado sesión en tu cuenta de usuario
  • Esencial: recuerda la versión de idioma que seleccionaste
  • Functionality: Remember social media settings
  • Functionality: Remember selected region and country
  • Analytics: Keep track of your visited pages and interaction taken
  • Analytics: Keep track about your location and region based on your IP number
  • Analytics: Keep track of the time spent on each page
  • Analytics: Increase the data quality of the statistics functions
  • Advertising: Tailor information and advertising to your interests based on e.g. the content you have visited before. (Currently we do not use targeting or targeting cookies.
  • Advertising: Gather personally identifiable information such as name and location
  • Recuerde sus detalles de inicio de sesión
  • Esencial: recuerde su configuración de permiso de cookie
  • Esencial: Permitir cookies de sesión
  • Esencial: Reúna la información que ingresa en un formulario de contacto, boletín informativo y otros formularios en todas las páginas
  • Esencial: haga un seguimiento de lo que ingresa en un carrito de compras
  • Esencial: autentica que has iniciado sesión en tu cuenta de usuario
  • Esencial: recuerda la versión de idioma que seleccionaste
  • Functionality: Remember social media settings
  • Functionality: Remember selected region and country
  • Analytics: Keep track of your visited pages and interaction taken
  • Analytics: Keep track about your location and region based on your IP number
  • Analytics: Keep track of the time spent on each page
  • Analytics: Increase the data quality of the statistics functions
  • Advertising: Tailor information and advertising to your interests based on e.g. the content you have visited before. (Currently we do not use targeting or targeting cookies.
  • Advertising: Gather personally identifiable information such as name and location
Guardar y cerrar