• 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
#ABAP  ·  #aif  ·  #ErrorHAndling  ·  Technical Articles

AIF: Cómo manejar técnicamente los mensajes de error en el código fuente.

By s4pcademy 


Recientemente, observé cómo manejar el mensaje de error AIF dentro del código fuente y habilitarlos en el registro.

Porque no todos los usuarios finales se sentían cómodos con /FIA/ERR para comprobar el estado del mensaje AIF. Sin embargo, no pude encontrar un blog donde se explicara en detalle, así que decidí publicar cómo manejé técnicamente los mensajes de error en mi caso.

Antes de profundizar, me gustaría compartir dos datos interesantes y útiles sobre cómo monitorear errores con transacciones AIF dedicadas:

  1. Monitoreo y manejo de errores para interfaces en AIF
  2. Gestión de errores en SAP Application Interface Framework (SAP AIF)

Ahora echemos un vistazo al caso que encontré y cómo lo resolví. Usé el reprocesamiento automático AIF. (Encuentre los pasos en mi blog anterior: El reprocesamiento automático AIF hace la vida más fácil )

he definido FM ZAKB_FM_INSERTITEMOBD para manejar las acciones durante el reprocesamiento automático.

Aquí está la lógica en la que estoy activando el reprocesamiento automático de AIF. Pero el punto es que la llamada no devuelve ningún mensaje de éxito o error:

" Call AIF automatic re-processing
TRY.
    /aif/cl_enabler_xml=>transfer_to_aif( is_any_structure = ls_new_itemobd " Persistence structure type to keep payload
                                          iv_queue_ns="ZIFTST" " AIF Namespace
                                          iv_queue_name="ZRC" ). " Runtime group configuration ID

  CATCH /aif/cx_aif_engine_not_found INTO DATA(lx_engine_not_found).
  CATCH /aif/cx_enabler_base INTO DATA(lx_enabler_base).
  CATCH /aif/cx_aif_engine_base INTO DATA(lx_engine_base).
  CATCH /aif/cx_error_handling_general INTO DATA(lx_error_handling).
  CATCH /aif/cx_inf_det_base INTO DATA(lx_inf_det_base).
ENDTRY.

Entonces, como solución, hagamos los siguientes pasos.

Inicialmente, genere una tabla de persistencia para la carga útil a través de la transacción /AIF/PERS_TBL_GEN. Después de la generación de la tabla, verá que contiene todos los campos de su estructura de persistencia, además de algunos campos clave como los siguientes:

Por lo tanto, cuando active una llamada a AIF, se creará una nueva entrada con respecto a su espacio de nombres, nombre de interfaz y versión de interfaz.

En segundo lugar, necesitamos obtener una entrada que se crea durante la llamada AIF, por lo que debemos hacer un pequeño cambio mientras llamamos /aif/cl_enabler_xml=>transferir_a_aif, de la firma de clase podemos ver que tiene un parámetro de exportación: EV_MSGGUUID.

Devolverá el GUID del mensaje generado, que usaremos para encontrar los mensajes generados.

Como paso final, necesitamos obtener los mensajes generados por AIF y se almacenan en la tabla: /AIF/MMSG_VARS Variables de mensaje AIF. Aquí obtengo los mensajes a través de una declaración de selección con respecto al GUID del mensaje, el espacio de nombres y el nombre de la interfaz.

" Get the log messages from AIF Framework
  SELECT * FROM /aif/mmsg_vars INTO TABLE @lt_aif_messages
    WHERE msgguid = @lv_aif_message_id
      AND ns="ZIFTEST"
      AND ifname="ZIF_OBDINS".

  " Add messages to log
  LOOP AT lt_aif_messages ASSIGNING FIELD-SYMBOL(<fs_aif_messages>).
    " Map the exception error messages
    INSERT VALUE #( id         = <fs_aif_messages>-msgid  number     = <fs_aif_messages>-msgno
                    message_v1 = <fs_aif_messages>-msgv1  message_v2 = <fs_aif_messages>-msgv2
                    message_v3 = <fs_aif_messages>-msgv3  message_v4 = <fs_aif_messages>-msgv4 
                    type       = <fs_aif_messages>-msgty ) INTO TABLE return.
  ENDLOOP.

En resumen, ahora puede asignar los mensajes seleccionados de manera adecuada a su registro y el usuario final también puede verificar los mensajes relacionados con AIF en el registro.



Source link


AIFcódigocomoerrorfuentelosmanejarmensajestécnicamente

Artículos relacionados


Technical Articles
Colas de mensajes en SAP EWM
Technical Articles
Función personalizada para cargar etiquetas alternativas para la ubicación técnica mediante los servicios de datos de SAP
Product Information
¿Me encantan las asignaciones gráficas de mensajes de SAP?

Deja tu comentario Cancelar la respuesta

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

*

*

调整S/4HANA Cloud – 经典应用程序界面 | Blogs de SAP
Previo
Cómo gestionar los requisitos del cliente en todo el ciclo de vida del producto
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