Leer los campos de una dynpro SIN usar la conexión implícita
Objetivo Opcional: Leer los campos de una dynpro SIN usar la conexión implícita con el código ABAP, es decir, Antes del PAI o después del PBO.
--------------------------------------------------------------------------------------------------------------------------------------------------
Este es un programa que desarrollé justamente para el foro, es sencillo y corto.
REPORT YAVQZ_READDYNP_1.
Declaración de Variables: -------------------------------------------------------------------------------------------------------------------
DATA: dynpro_values TYPE TABLE OF dynpread WITH HEADER LINE,
field_value LIKE LINE OF dynpro_values.
Creación de una Dynpro mediante código: ---------------------------------------------------------------------------------------------------
PARAMETERS: s_SFLI TYPE SFLIGHT-CARRID,
s_SCARR TYPE SCARR-CARRNAME.
* Este es el Process After Input mediante código
AT SELECTION-SCREEN.
s_SCARR = s_SFLI.
* Este es el PROCESS ON VALUE-REQUEST mediante código
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_SCARR.
PERFORM f4_for_portfolios.
--------------------------------------------------------------------------------------------------------------------------------------------------
FORM f4_for_portfolios.
* Se le indica cuales son los campos a leer desde la dynpro, en este caso solamente es S_SFLI.
dynpro_values-fieldname = 'S_SFLI'.
APPEND dynpro_values.
Función: ------------------------------------------------------------------------------------------------------------------------------------
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr " '1000'
translate_to_upper = 'X'
TABLES
dynpfields = dynpro_values.
* Esta linea puede omitirse si se desea.
READ TABLE dynpro_values INDEX 1.
*BREAK-POINT.
ENDFORM. "get_portfolios
Explicación: ---------------------------------------------------------------------------------------------------------------------------------
dynpro_values: es una estructura/tabla que tiene los campos a "Leer". Previamente debe ser "llenada" con tales campos.
Nota: --------------------------------------------------------------------------------------------------------------------------------------
Para visualizar el efecto, se debe habilitar el BREAK-POINT., o en su defecto presionar "Enter" despues de haber usado la ayuda de búsqueda para el campo 'S_SFLI'.
Bueno, espero y estos algoritmos le sirvan a alguien.
Salu2
|