SAP Procesar según valor y procesar según solicitud de ayuda
⚡ Resumen inteligente
Process On Value-Request y Process On Help-Request son los eventos de pantalla detrás de F4 y F1 en SAP ABAP. Esta página explica ambos eventos, las sentencias FIELD que los desencadenan y los módulos de función que muestran la documentación o las posibles entradas.

¿Qué son POH y POV?
Primero, para empezar, si no sabes nada sobre la lógica de Screen Flow y sus usos en SAP, le recomendamos que consulte nuestro tutorial sobre Programa de diálogo.
POH y POV son los dos eventos de pantalla que responden a una solicitud de ayuda del usuario. POH reacciona a la tecla F1 y explica el significado de un campo, mientras que POV reacciona a la tecla F4 y muestra los valores que acepta dicho campo. Ambos se declaran en la lógica de flujo de la pantalla, junto a PBO y PAI.
| Criterios | POH (Procesamiento en solicitud de ayuda) | POV (Procesamiento bajo solicitud de valor) |
|---|---|---|
| Desencadenado por | La tecla F1 | La tecla F4 o el botón de posibles entradas |
| Propósito | Explica el significado del campo | Ofrece los valores que acepta el campo. |
| Fuente predeterminada | Documentación de elementos de datos en el Diccionario ABAP | Valores fijos, consultar la tabla o buscar ayuda |
| Transporte de datos | Ninguno, el campo solo se muestra | El valor seleccionado se vuelve a escribir en el campo de la pantalla. |
| Módulo de función típico | HELP_OBJECT_SHOW_FOR_FIELD | F4IF_INT_TABLE_VALUE_REQUEST |
Ahora, veamos POH y POV en detalle.
Proceso de solicitud de ayuda (POH): Ayuda F1
- Cada vez que se pulsa F1, se ejecuta el evento POH para el elemento de datos especificado.
- Si el evento PROCESS ON HELP-REQUEST no existe en la lógica de proceso de una pantalla, se toma como base la documentación del campo en el Diccionario ABAP y se muestra la ayuda. Incluso si no existe, no se muestra ninguna ayuda.
- Para mostrar la documentación de ayuda de campo, debe codificar la siguiente lógica de flujo de pantalla en el evento POH:
PROCESS ON HELP-REQUEST FIELD <f> [MODULE <mod>] WITH <num>
- Si hay documentación de elementos de datos específica de la pantalla para el campo , puede mostrarlo especificando su número .
- El número puede ser un literal o una variable. La variable debe ser declarada y completada en el programa ABAP correspondiente.
- Tenga en cuenta que la instrucción FIELD no transfiere el contenido del campo de pantalla al programa ABAP en el evento PROCESS ON HELP-REQUEST. Simplemente muestra documentación de ayuda. Eso es todo.
El módulo Se define en el programa ABAP como un módulo PAI normal. La lógica de procesamiento del módulo debe garantizar que se muestre la ayuda adecuada para el campo en cuestión. En lugar de llamar a una pantalla adicional con campos de texto, debe utilizar uno de los siguientes módulos de función para mostrar una ayuda adecuada. SAPdocumento de guión
HELP_OBJECT_SHOW_FOR_FIELD
- Este módulo de funciones muestra la documentación de elementos de datos para componentes de cualquier estructura o tabla de base de datos del Diccionario ABAP.
- Pasa el nombre del componente y la estructura o tabla a los parámetros de importación CAMPO y TABLA.
AYUDA_OBJECT_SHOW
- Utilice este módulo de funciones para mostrar cualquier SAPdocumento de guión.
- Debe pasar la clase de documento (por ejemplo, TX para textos generales, DE para documentación de elementos de datos) y el nombre del documento a los parámetros de importación DOKCLASS y DOKNAME.
- Por razones técnicas, también debe pasar una tabla interna vacía con el tipo de línea T.LINE al parámetro de tablas del módulo de función.
F1 explica la categoría. El siguiente evento enumera las inscripciones permitidas.
Proceso sobre valor (POV): F4
- Cuando el usuario elige la función Posibles entradas (F4), el sistema muestra los posibles valores de entrada para un campo (valores, tabla de verificación, código de coincidencia), siempre que hayan sido almacenados por el desarrollador.
- El evento PROCESO EN SOLICITUD DE VALOR siempre se procesa si el usuario ha llamado “Entradas posibles”.
- Para definir valores posibles para un campo en la pantalla, debe definir lo siguiente en el evento POV de la lógica de flujo de pantalla:
PROCESS ON VALUE-REQUEST FIELD field name MODULE module name
- Para valores posibles, dentro del módulo definido anteriormente, debe utilizar el módulo de función general HELP_VALUES_GET_WITH_TABLE para obtener posibles valores del Diccionario ABAP.
Hay algunas otras funciones que también se pueden utilizar como ayuda para entradas:
F4IF_FIELD_VALUE_REQUEST
- Llama dinámicamente a la ayuda para entradas del diccionario ABAP.
- Puede pasar los nombres de los componentes de una estructura o tabla de base de datos del Diccionario ABAP al módulo de funciones en los parámetros de importación TABNAME y FIELDNAME.
- El módulo de funciones inicia el Diccionario ABAP ayuda de entrada para este componente. Se leen todos los campos de pantalla relevantes.
- Si especifica los parámetros de importación DYNPPROG, DYNPNR y DYNPROFIELD, la selección del usuario regresa al campo correspondiente en la pantalla.
- Si especifica el parámetro de tabla RETURN_TAB, la selección se devuelve a la tabla.
MODULE VALUE_CARRIER INPUT. CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST' EXPORTING TABNAME = 'DEMOF4HELP' FIELDNAME = 'CARRIER1' DYNPPROG = PROGNAME DYNPNR = DYNNUM DYNPROFIELD= 'CARRIER'. ENDMODULE.
F4IF_INT_TABLE_VALUE_REQUEST
- Este módulo de funciones muestra una lista de valores que creó en un programa ABAP.
- La lista de valores se pasa al módulo de funciones como parámetro de tabla VALUE_TAB.
- Si especifica los parámetros de importación DYNPPROG, DYNPNR y DYNPROFIELD, la selección del usuario regresa al campo correspondiente en la pantalla.
- Si especifica el parámetro de tabla RETURN_TAB, la selección se devuelve a la tabla.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING RETFIELD = 'CONNID' DYNPPROG = PROGNAME DYNPNR = DYNNUM DYNPROFIELD = 'CONNECTION' VALUE_ORG = 'S' TABLES VALUE_TAB = VALUES_TAB.
Eso es todo para POH y POV. Dejen sus comentarios en caso de cualquier duda.
Cómo crear una ayuda F4 a partir de una tabla interna
Dentro del programa se crea una lista de valores que no existe en el Diccionario ABAP y se le pasa a F4IF_INT_TABLE_VALUE_REQUEST. Los pasos que se describen a continuación generan una ayuda F4 funcional para un campo de pantalla.
- Declarar la tabla de valores: Crea una tabla interna cuya primera columna contenga el valor que se muestra en la pantalla. Rellénala en un módulo PBO o en el propio módulo de solicitud de valor.
- Registra el campo en la lógica de flujo: Agregue PROCESS ON VALUE-REQUEST a la pantalla y conecte el campo con FIELD … MODULE … para que el módulo se ejecute cuando se presione F4.
- Llamar al módulo de función: Pase RETFIELD con el nombre de la columna, DYNPROFIELD con el nombre del campo de pantalla y VALUE_ORG = 'S' porque la lista se pasa como una tabla estructurada.
- Devuelve el valor: DYNPPROG y DYNPNR identifican el programa y la pantalla, por lo que la fila seleccionada se escribe directamente en el campo de la pantalla sin necesidad de código adicional.
- Pruébalo: Active la pantalla, pulse F4 en el campo y compruebe que aparece la lista y que la selección llega al campo.
* Flow logic of the screen PROCESS ON VALUE-REQUEST. FIELD spfli-connid MODULE f4_connid. * Module in the ABAP program MODULE f4_connid INPUT. DATA: lt_values TYPE STANDARD TABLE OF spfli. SELECT * FROM spfli INTO TABLE lt_values WHERE carrid = spfli-carrid. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'CONNID' dynpprog = sy-repid dynpnr = sy-dynnr dynprofield = 'SPFLI-CONNID' value_org = 'S' TABLES value_tab = lt_values. ENDMODULE.
💡 Consejo: Lea el valor de otro campo de la pantalla con el módulo de función DYNP_VALUES_READ antes de completar la lista. Así es como se construye una ayuda F4 dependiente, como las conexiones para la aerolínea ya ingresada.
