Diferencia entre salida de usuario y salida de cliente en SAP
โก Resumen inteligente
Salidas de usuario y salidas de cliente en SAP ABAP son ganchos de mejora que agregan funcionalidad personalizada a los programas estรกndar sin modificarlos. SAP Cรณdigo. Esta pรกgina explica los tipos de salidas de cliente, ejemplos prรกcticos, las transacciones SMOD y CMOD, las salidas de usuario y las diferencias entre ambas tรฉcnicas.

ยฟQuรฉ son las salidas de cliente?
Las salidas de clientes son "manos" proporcionada por SAP dentro de muchos programas, pantallas y menรบs estรกndar en los que los clientes pueden "colgar" Funcionalidades personalizadas para satisfacer las necesidades del negocio. Hablaremos de esto en breveโฆ
La principal ventaja es que el estรกndar SAP El objeto nunca se modifica. El cรณdigo personalizado se encuentra en una inclusiรณn reservada o subpantalla que SAP llamadas en el momento adecuado, por lo que la mejora sobrevive a una actualizaciรณn del sistema en lugar de ser sobrescrita. Debido a esto, las salidas pertenecen a la familia de SAP tรฉcnicas de mejora junto con el nuevo complemento empresarial.
Tipos de salidas de clientes
Hay tres tipos principales de salidas de clientes:
- Salidas del mรณdulo de funciรณn
- Salidas de pantalla
- Salidas del menรบ
Salida del mรณdulo de funciones: Permite al cliente agregar cรณdigo a travรฉs de un mรณdulo de funciรณn en una ubicaciรณn especรญfica en un SAP programa de aplicaciรณn
Syntax: CALL CUSTOMER-FUNCTION '004'
Salida de pantalla: Permite al cliente agregar campos a una pantalla en un SAP programa a travรฉs de una subpantalla. La subpantalla se llama dentro de la lรณgica de flujo de la pantalla estรกndar.
Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2
Salir del menรบ: Permite al cliente agregar artรญculos a un menรบ desplegable de forma estรกndar. SAP programa. Estos elementos se pueden utilizar para llamar a programas complementarios o pantallas personalizadas.
Format: +CUS ( additional item in GUI status )
Ejemplos de salidas de clientes
Ejemplo de salida de pantalla:
En la transacciรณn CAT2 โ Entrada de hoja de horas, RR.HH. desea incluir un reconocimiento interactivo de que enviar deliberadamente datos incorrectos es motivo de despido.
Ejemplo de salida de menรบ:
En la transacciรณn SE38 โ Editor ABAP, el equipo de desarrollo desea incluir un enlace de menรบ a la transacciรณn SE80 โ Navegador de objetos para facilitar su uso.
ANTES
DESPUรS DE
Ejemplo de salida de mรณdulo de funciones:
La empresa desea que los datos bancarios de los proveedores en el evento de creaciรณn de proveedores sean obligatorios, por lo que debe aparecer un mensaje de error que diga "Ingrese los datos bancarios".
ANTES
DESPUรS DE
Localizaciรณn de salidas de clientes
en transacciรณn SMOD y mira los detalles-
O en transacciรณn SE81 puede utilizar el รกrea de aplicaciรณn adecuada
Crear una salida de cliente
Para crear una salida de cliente, primero debe crear un proyecto en transacciรณn COMODIDAD
Later usted asigna la Salida de Cliente a su proyecto.
La secuencia completa, desde encontrar la salida hasta activar el cรณdigo, es corta y siempre consta de los mismos seis pasos.
- Encuentra la mejora: Localice el nombre de la mejora en SMOD, por ejemplo el componente EXIT_SAPMF02K_001 para el maestro de proveedores.
- Crear el proyecto: En CMOD, introduzca un nombre de proyecto que empiece por Z o Y y seleccione Crear.
- Asigne la mejora: En la pantalla de asignaciรณn de mejoras, agregue el nombre de la mejora que contiene la salida.
- Escribe el cรณdigo: Abra la salida del mรณdulo de funciรณn y coloque el cรณdigo dentro de su include reservado, que comienza con ZX.
- Maneje las partes de la pantalla y del menรบ: Para salir de la pantalla, cree la subpantalla CUSTSCR, y para salir del menรบ, complete el cรณdigo de la funciรณn +CUS en el estado de la GUI.
- Activar el proyecto: Active el proyecto en CMOD para que se llame a la funciรณn de salida en tiempo de ejecuciรณn. Sin la activaciรณn, el cรณdigo se ignora.
๐ก Consejo: La inclusiรณn de una salida de mรณdulo de funciรณn comienza con ZX, por lo que se transporta con el proyecto. Nunca coloque la lรณgica personalizada directamente en el SAP mรณdulo de funciรณn, porque eso serรญa una modificaciรณn, no una mejora.
ยฟQuรฉ es una salida de usuario?
Las salidas de usuario tienen el mismo propรณsito que las salidas de cliente, pero estรกn disponibles solo para el SD mรณdulo. La salida se implementa como una llamada a un mรณdulo de funciones. El cรณdigo estรก escrito por el desarrollador.
Bien sabemos que la salida de usuario en SD es MV45AFZZ
- USEREXIT_FIELD_MODIFICATION โ Para modificar los atributos de la pantalla
- USEREXIT_SAVE_DOCUMENT: para realizar operaciones cuando el usuario presiona Guardar
- USEREXIT_SAVE_DOCUMENT_PREPARE
- USEREXIT_MOVE_FIELD_TO_VBAK: cuando los cambios del encabezado del usuario se mueven al รกrea de trabajo del encabezado.
- USEREXIT_MOVE_FIELD_TO_VBAP: cuando los cambios de elementos del usuario se mueven a SAP รกrea de trabajo del artรญculo
Una salida de usuario es tรฉcnicamente una subrutina (un FORMULARIO) dentro de un SAP Se incluye, por lo que se edita directamente y requiere una clave de acceso. Esta es la principal diferencia prรกctica con respecto a una salida de cliente, que se resume en la siguiente secciรณn.
Salida de usuario vs. Salida de cliente
Ambas tรฉcnicas aรฑaden un comportamiento personalizado al estรกndar. SAPSin embargo, difieren en alcance, tecnologรญa y seguridad de actualizaciรณn. La siguiente tabla las compara.
| Criterios | Salida de usuario | Salida del cliente |
|---|---|---|
| Disponibilidad | Solo mรณdulo SD | A travรฉs de todos SAP mรณdulos |
| Tecnologia | Subrutina (FORM) en un SAP incluyen, por ejemplo, MV45AFZZ | Salida de mรณdulo de funciรณn, pantalla o menรบ gestionada en SMOD y CMOD. |
| Tecla de acceso | Requiere una clave de acceso de modificaciรณn. | No se necesita clave de acceso |
| Upgrade comportamiento | Debe verificarse en la actualizaciรณn con SPAU | Upgrade seguro, llamado desde un reservado incluir |
| Gestionado por | Editado directamente en el include | Activado a travรฉs de un proyecto CMOD |
Las salidas de clientes son las mรกs seguras y generales de las dos. Para mejoras a las que ninguna de las salidas puede llegar, SAP Posteriormente se introdujo el complemento empresarial.
Salidas de cliente frente a BAdI
A Business Add-In (BAdI) es el sucesor orientado a objetos de la salida de cliente. En lugar de una inclusiรณn reservada, un BAdI define una interfaz, y la lรณgica personalizada reside en una clase que la implementa. Esto ofrece dos ventajas que una salida de cliente no proporciona.
- Mรบltiples implementaciones: Un BAdI de uso mรบltiple permite varias implementaciones independientes de la misma mejora, mientras que una salida de cliente solo permite una.
- Orientaciรณn del objeto: Un BAdI trabaja con mรฉtodos y clases, por lo que se adapta al desarrollo moderno de ABAP Objects y facilita el filtrado por paรญs o escenario empresarial.
La regla prรกctica es sencilla: utilice una salida de cliente o de usuario existente cuando el punto de mejora ya exista, y utilice un BAdI cuando se requiera un punto de mejora nuevo y reutilizable.








