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.

  • ๐Ÿช Definiciรณn bรกsica: Una salida de cliente es un gancho colocado por SAP dentro de un programa, pantalla o menรบ estรกndar en el que el cliente inserta lรณgica personalizada.
  • ๐Ÿงฉ Tres tipos de salida: Las salidas de los mรณdulos de funciรณn aรฑaden cรณdigo, las salidas de pantalla aรฑaden campos a travรฉs de una subpantalla y las salidas de menรบ aรฑaden elementos a un menรบ desplegable.
  • ๐Ÿ” Localizaciรณn de salidas: La transacciรณn SMOD muestra las salidas disponibles, y la transacciรณn SE81 las explora por รกrea de aplicaciรณn.
  • ๐Ÿ› ๏ธ Implementaciรณn: En CMOD se crea un proyecto, se le asigna la salida, se escribe el cรณdigo y se activa el proyecto.
  • ๐Ÿ“ฆ Salida de usuario: Una salida de usuario cumple la misma funciรณn, pero solo existe en el mรณdulo SD, siendo MV45AFZZ el ejemplo mรกs conocido.
  • ๐Ÿ‡ง๐Ÿ‡ท Elecciรณn de una tรฉcnica: Las salidas de usuario son subrutinas SD, las salidas de cliente son compatibles con varios mรณdulos y seguras para actualizaciones, y un BAdI es el sucesor orientado a objetos de ambas.

Salida de usuario y salida de cliente en SAP

ยฟ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:

  1. Salidas del mรณdulo de funciรณn
  2. Salidas de pantalla
  3. 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.

Ejemplos de salidas de clientes

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

Ejemplos de salidas de clientes

DESPUร‰S DE

Ejemplos de salidas de clientes

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

Ejemplos de salidas de clientes

DESPUร‰S DE

Ejemplos de salidas de clientes

Localizaciรณn de salidas de clientes

en transacciรณn SMOD y mira los detalles-

Localizaciรณn de salidas de clientes

O en transacciรณn SE81 puede utilizar el รกrea de aplicaciรณn adecuada

Localizaciรณn de salidas de clientes

Crear una salida de cliente

Para crear una salida de cliente, primero debe crear un proyecto en transacciรณn COMODIDAD

Crear una salida de cliente

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.

  1. Encuentra la mejora: Localice el nombre de la mejora en SMOD, por ejemplo el componente EXIT_SAPMF02K_001 para el maestro de proveedores.
  2. Crear el proyecto: En CMOD, introduzca un nombre de proyecto que empiece por Z o Y y seleccione Crear.
  3. Asigne la mejora: En la pantalla de asignaciรณn de mejoras, agregue el nombre de la mejora que contiene la salida.
  4. 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.
  5. 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.
  6. 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.

Preguntas Frecuentes

SMOD muestra el SAP CMOD agrupa una o mรกs mejoras en un proyecto de cliente, asigna el cรณdigo y lo activa. SMOD se utiliza para visualizar, CMOD para implementar.

No. Una salida de cliente es una mejora, no una modificaciรณn, por lo que no se necesita una clave de acceso. Una salida de usuario se edita directamente en un SAP incluye y, por lo tanto, requiere una clave de acceso de modificaciรณn.

Ejecute la transacciรณn, abra Sistema y luego Estado para leer el nombre del programa, luego busque las mejoras de ese programa en SMOD o SE81. Un atajo comรบn es buscar en la tabla MOD.SAP para el grupo de funciones del programa.

Los asistentes de IA en las herramientas de desarrollo ABAP leen el nombre del programa y sugieren la mejora, salida o BAdI correspondiente, explicando quรฉ cambia cada una. El desarrollador confirma la elecciรณn y escribe la lรณgica dentro del include reservado.

Los asesores de IA evalรบan si ya existe un punto de mejora y cuรกntas implementaciones se necesitan, luego suelen recomendar un BAdI o un punto de mejora para nuevos trabajos, mantenerping Salidas clรกsicas para puntos que solo existen como salidas.

Resumir este post con: