Querido hermando abapero te os sugiero lo siguiente
1.- Declara 2 variables globales en tu programa ok
DATA: VAR_MATNR LIKE MARA-MATNR,
VAR_CHARG LIKE AFPO-CHARG.
2.- En el dynpro 9000 en el screen-painter crea dos cajas de E/S y asi komo hiciste para traer los campos al table-control haces lo mismo para cada caja, ves que el menu pulsaste un boton que decia traer campos desde programa a bueno pues lo mismo para las cajas te situas en la primer caja clickeas el botoncito y buscas las variables que creaste paso 1.
3.-Puedes crear un boton para poder ejecutar la funcion de estraccion de datos osea tu select esto en tu modulo user_command
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_09000 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_09000 INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
CASE SAVE_OK.
WHEN 'SORT'.
DATA: FLDNAME(9000),HELP(9000).
READ TABLE TABLE_CONTROL-COLS INTO COL WITH KEY SELECTED = 'X'.
SPLIT COL-SCREEN-NAME AT '-' INTO HELP FLDNAME.
SORT AFPO_ITAB BY (FLDNAME).
****************
WHEN 'PROCESAR'
PERFORM extraccion.
****************
ENDCASE.
4.- Finalmente en tu form extraccion haces el select usando los valores que hayas ingresado en el dynpro como si fuera un select-option.
FORM extraccion.
SELECT MATNR CHARG
INTO CORRESPONDING FIELDS OF TABLE AFPO_ITAB
FROM AFPO
WHERE MATNR EQ VAR_MATNR
AND CHARG EQ VAR_CHARG.
ENDFORM.
Y listo seria todo ojo con el paso 2 debes traer esas variables desde el dynpro jalandolas como te digo en el cuadrito que dice traer campos desde programa que esta en la barra de menu del screen painter y ponerles el mismo nombre var_mantr y var_charg.
Suerte!!!
__________________
01010000
01001010
10011000
10100001
De Byte a Beat.
|