Ir al contenido
Programación ABAP

DYNP_VALUES_READ

Lee el valor que hay en pantalla en un campo de dynpro, antes de que llegue al programa.

Módulo de funciónField exit
Transacción
SE37
Grupo
Field exit
Actualizado
21 de octubre de 2026

Para qué sirve

En una ayuda F4 propia (POV) o en una exit de campo, los valores de los demás campos de la pantalla todavía no han pasado al programa. DYNP_VALUES_READ los lee directamente de la pantalla.

Se le pasa el programa y el número de dynpro y una tabla con los nombres de los campos que se quieren leer; devuelve sus valores en la misma tabla.

Parámetros

Esta función tiene muchos parámetros; aquí están los más usados. La lista completa se ve en la transacción SE37.

Importing

Lo que recibe la función. En CALL FUNCTION se pasan tras EXPORTING.

ParámetroTipoDescripción
DYNAMEObligatorio—Programa de la pantalla.
DYNUMBObligatorio—Número de dynpro.
TRANSLATE_TO_UPPER—'X' convierte los valores a mayúsculas.

Tables

Tablas internas que se pasan o se devuelven (TABLES).

ParámetroTipoDescripción
DYNPFIELDSObligatorioDYNPREADCampos que se leen: FIELDNAME y, a la vuelta, FIELDVALUE.

Excepciones

Errores que devuelve en sy-subrc, en el bloque EXCEPTIONS.

ExcepciónCuándo se produce
INVALID_ABAPWORKAREAÁrea de trabajo no válida.
INVALID_DYNPROFIELDEl campo no está en la pantalla.
INVALID_DYNPRONAMEPrograma no válido.
INVALID_DYNPRONUMMERNúmero de dynpro no válido.
INVALID_REQUESTPetición no válida.
NO_FIELDDESCRIPTIONSin descripción del campo.

Ejemplo

ABAP
PARAMETERS: p_bukrs TYPE bukrs,
            p_gjahr TYPE gjahr.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_gjahr.
  " p_bukrs aún no tiene el valor de pantalla: hay que leerlo
  DATA lt_campos TYPE STANDARD TABLE OF dynpread.
  lt_campos = VALUE #( ( fieldname = 'P_BUKRS' ) ).

  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      dyname     = sy-repid
      dynumb     = sy-dynnr
    TABLES
      dynpfields = lt_campos
    EXCEPTIONS
      OTHERS     = 1.
  IF sy-subrc = 0.
    DATA(lv_bukrs) = lt_campos[ 1 ]-fieldvalue.
  ENDIF.

Errores y excepciones habituales

  • INVALID_DYNPROFIELD: el nombre del campo va en mayúsculas y tal como está en la pantalla (por ejemplo 'P_BUKRS' o 'VBAK-VKORG').
  • Valor sin convertir: llega como texto de pantalla, sin rutinas de conversión ni formato interno.

Relacionadas

Funciones relacionadas

DYNP_UPDATE_FIELDSF4_DATE

Transacciones y tablas

SE51SE37

En abap.es

¿Dudas con esta función?

Pregunta en el foro de abap.es: la comunidad lleva años resolviendo dudas de ABAP en español.

Preguntar en el foro

Actualizado: 21 de octubre de 2026