jump to navigation

Leer Campo de una Dynpro cuando es inaccesible. julio 17, 2008

Posted by gstortoni in Funciones.
Tags: , , , , ,
3 comments

Sucede a veces, que uno necesita leer un campo de una Dynpro, pero ese campo es inaccesible por ejemplo, cuando se esta usando un USER EXIT y el campo lo vemos en la pantalla, pero el import del exit, o las tablas, no lo traen, bueno entonces que hacemos??? NO señor llorar no es la solución 😀

existe una Fantástica función que nos permite resolver nuestro dilema, tal vez no sea la forma mas ortodoxa, pero en fin, nos saca del entuerto.
La Dichosa Función es como su nombre lo dice : UA_READ_FIELD_FROM_DYNPRO

manos a la obra.

Ingredientes:
DATA: program TYPE progname,
dynpro  TYPE sydynnr,
field_value TYPE dynfieldvalue.

program = sy-cprog. “Aca ingreso el nombre del programa
dynpro = sy-dynnr. “y aca va el numero de la dynpro donde esta mi campo

En mi caso deseo leer el campo FLD_CENTRO al cual no puedo acceder en tiempo de ejecución

CALL FUNCTION ‘UA_READ_FIELD_FROM_DYNPRO’
EXPORTING
id_program     = program
id_dynpro      = dynpro
id_field_name  = ‘FLD_CENTRO’
IMPORTING
ed_field_value = field_value
EXCEPTIONS
failed         = 1
OTHERS         = 2.

El valor del campo, es retornado en la variable field_value.

Ojo, la verdad no se si sea malo el uso o abuso de esta función, a mi me ha sacado de apuros, pero siempre trato de agotar las instancias para poder sacar de manera “Natural” el valor de los campos.

Saludo2

Anuncios