He encontrado a muchos, incluyéndome a mí mismo, luchando con la depuración de un formulario de Adobe. He encontrado algunas formas fáciles de hacerlo. También he separado en 2 casos, uno donde el botón de impresión está en el portal y cuando abres el documento, activa el código nuevamente, lo que es más fácil de depurar. Sin embargo, en algunos casos, el documento se genera en segundo plano y hace que sea una tarea difícil poder depurarlo.
Por favor, lee más abajo:
1. Ve a la interfaz del formulario de Adobe en la transacción SFP e ingresa el nombre del formulario de Adobe.
En la sección de la interfaz verás que los detalles del programa estarán mantenidos. Por favor, haz clic en el objeto de la interfaz y te llevará a la interfaz.
2. Coloca el punto de depuración para el usuario en la sección de inicialización y de inicialización de código, esto activará el punto de interrupción cada vez que se imprima el formulario de Adobe con ese ID de usuario específico.
Sin embargo, si el documento se imprime en segundo plano, NO activará esto, ya que el usuario podría ser un usuario por lotes o un usuario de flujo de trabajo, por lo que el punto de interrupción específico del usuario no se activa.
3. Ten en cuenta que la forma anterior solo es útil cuando haces clic en imprimir desde el portal, se abrirá y activará el código usando el mismo ID con el que se colocaron los puntos de interrupción externos o codificados en duro, como se puede ver a continuación para un pedido cuando se hace clic en vista previa de impresión, se detendría ya que el sistema realmente captura al Usuario 1 realizando la tarea.
4. Para la mayoría de los documentos, verás que los documentos se han generado en el backend. Estos documentos también pueden verse como 'Propia solicitud de spool', que también es accesible desde el Tcode SP02. Ahora, si el usuario hace clic en el PDF ya generado desde aquí, no será útil ya que esto no volverá al código, por lo tanto, es solo una copia local del PDF y no fue creado por el usuario específico, sino creado usando un usuario por lotes o de flujo de trabajo en segundo plano y no son un usuario de diálogo, por lo que los puntos de depuración externos o codificados en duro no funcionan en tales casos.
También puede haber un caso en el que el código no esté realmente escrito en el formulario de Adobe, sino que solo llegue como una entrada al formulario de Adobe desde el FM generado en tiempo de ejecución. Por lo tanto, los pasos a continuación te ayudarán a descubrir cómo se puede encontrar y activar el punto de depuración correcto.
5. Para poder regenerar el PDF para que llame al código nuevamente, debes verificar a través del Tcode CORRHIST que se utiliza para ver los documentos impresos en el sistema específicamente para el módulo FI.
Selecciona el ICONO resaltado en amarillo que es una opción de impresión con parámetros cambiados.
Y luego debes seleccionar la opción de Reimprimir. Esto volverá a activar todo el código de tu ID de usuario.
Aquí también se detendrá primero en tu punto de interrupción específico del usuario, como se ve a continuación, que fue codificado en duro en la sección de interfaz de Adobe.
Una vez que esto se active, busca los módulos de funciones relevantes que se activan antes de eso al revisar toda la pila y coloca un punto de interrupción de sesión que ahora activará directamente el código que realmente genera el formulario.
También otra forma de encontrar los detalles técnicos del formulario es;
Usando el Tcode EFRM. Esto te brinda todos los detalles en un solo lugar, los atributos, la interfaz, el módulo de funciones generador, etc. La mayoría de la información proporcionada aquí es la que se proporciona en la Transacción SFP pero todo en un solo lugar y hace que sea mucho más fácil de localizar.
Uno de los aspectos que uso principalmente aquí es de la clase de formulario que puedes ver en la siguiente pantalla. Para poder verificar el código dentro, haz clic en visualización de