Hola buenas me encuentro ejecutando lo siguiente, pero en la select me he quedado en blanco ahora mismo, la condición que quiero para que en base la pantalla de selección me muestre la cantidad de registros máximos que quiero sacar y no sacarlos todos de esa tabla, de mara.:
Tengo que reconocer que estoy bastante tierno con el tema.
Gracias de antemano a todos.
Un saludo.
Código:
&---------------------------------------------------------------------* *& Report ZALV_MARA * *&---------------------------------------------------------------------* REPORT zalv_mara NO STANDARD PAGE HEADING. *&---------------------------------------------------------------------* *& Definición de la tabla Interna en relación con MARA. * *&---------------------------------------------------------------------* TABLES: mara. TYPES: BEGIN OF ty_mara, estado_mat TYPE string. INCLUDE STRUCTURE mara. TYPES: END OF ty_mara. DATA: lt_alv_lista TYPE TABLE OF ty_mara WITH HEADER LINE, ls_alv_lista TYPE ty_mara. *&---------------------------------------------------------------------* *& Definición de la Pantalla de selección correspondiente. * *&---------------------------------------------------------------------* SELECTION-SCREEN BEGIN OF BLOCK b1. SELECT-OPTIONS: s_mantr FOR mara-matnr. PARAMETERS: p_selec TYPE i. SELECTION-SCREEN END OF BLOCK b1. *&---------------------------------------------------------------------* *& Tratamiento de los datos de la tabla mara, el select que me devuel- * *& va los datos de la tabla mara pero volcados sobre la lt_alv_lista * *&---------------------------------------------------------------------* SELECT * FROM mara INTO CORRESPONDING FIELDS OF TABLE lt_alv_lista WHERE . *IF lt_alv_lista IS NOT INITIAL. * *ENDIF. *&---------------------------------------------------------------------* *& Establecer condición para comprobar/validar si liqdt es > fecha hoy-* *& y añadir así un estado 'DESFASADO' o 'COMERCIABLE' en el campo nuevo* *&-------------------------de la tabla---------------------------------* *&---------------------------------------------------------------------* * LOOP AT lt_alv_lista INTO ls_alv_lista. IF ls_alv_lista-liqdt LT sy-datum. *// 'Introducir en el campo nuevo DESFASADO'. ls_alv_lista-estado_mat = 'DESFASADO'. MODIFY lt_alv_lista FROM ls_alv_lista. ELSE. *// 'Introducir en el campo nuevo COMERCIABLE'. ls_alv_lista-estado_mat = 'COMERCIABLE'. MODIFY lt_alv_lista FROM ls_alv_lista. ENDIF. ENDLOOP. * *&---------------------------------------------------------------------* *& Definición posterior de la ALV correspondiente * *&---------------------------------------------------------------------* *
Gracias de antemano a todos.
Un saludo.
Comentario