Buenos dias,
Tengo un problema que no consigo solucionar, y es que tengo un rango de fechas el cual quiero que tenga como valor por defecto la semana actual, es decir que en el valor low tenga el lunes anterior y el valor high el domingo siguiente a la fecha de hoy.
Lo he conseguido hacer cuando pulso la ayuda de busqueda, pero necesito que se haga cuando aparece la pantalla al ejecutar el programa.
Este es el codigo que estoy usando, con este codigo me sale bien pero cuando pulso el boton de la ayuda de busqueda, lo he intentado en el AT SELECTION-SCREEN OUTPUT y en el INITIALIZATION pero no me aparece nada.
* PANTALLA DE SELECCIÓN
SELECTION-SCREEN BEGIN OF BLOCK param WITH FRAME TITLE text-100.
SELECT-OPTIONS: s_fecha FOR sy-datum.
SELECTION-SCREEN END OF BLOCK param.
------------------------------------------------------------------------
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_fecha-low.
PERFORM f_lunes_ant. " Subrutina que calcula la fecha del lunes anterior
CLEAR v_setvalue.
CONCATENATE v_fecha_lun+6(2) '.' v_fecha_lun+4(2) '.' v_fecha_lun(4) INTO v_setvalue.
CALL FUNCTION 'SET_DYNP_VALUE' " Función que coloca el valor en el campo de la pantalla
EXPORTING
i_field = 'S_FECHA-LOW'
i_repid = sy-repid
i_dynnr = sy-dynnr
i_value = v_setvalue.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_fecha-high.
PERFORM f_domingo_des. " Subrutina que calcula la fecha del domingo siguiente
CLEAR v_setvalue.
CONCATENATE v_fecha_dom+6(2) '.' v_fecha_dom+4(2) '.' v_fecha_dom(4) INTO v_setvalue.
CALL FUNCTION 'SET_DYNP_VALUE' " Función que coloca el valor en el campo de la pantalla
EXPORTING
i_field = 'S_FECHA-HIGH'
i_repid = sy-repid
i_dynnr = sy-dynnr
i_value = v_setvalue.
Espero haberme explicado bien, cualquier ayuda lo agradeceria.
Tengo un problema que no consigo solucionar, y es que tengo un rango de fechas el cual quiero que tenga como valor por defecto la semana actual, es decir que en el valor low tenga el lunes anterior y el valor high el domingo siguiente a la fecha de hoy.
Lo he conseguido hacer cuando pulso la ayuda de busqueda, pero necesito que se haga cuando aparece la pantalla al ejecutar el programa.
Este es el codigo que estoy usando, con este codigo me sale bien pero cuando pulso el boton de la ayuda de busqueda, lo he intentado en el AT SELECTION-SCREEN OUTPUT y en el INITIALIZATION pero no me aparece nada.
* PANTALLA DE SELECCIÓN
SELECTION-SCREEN BEGIN OF BLOCK param WITH FRAME TITLE text-100.
SELECT-OPTIONS: s_fecha FOR sy-datum.
SELECTION-SCREEN END OF BLOCK param.
------------------------------------------------------------------------
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_fecha-low.
PERFORM f_lunes_ant. " Subrutina que calcula la fecha del lunes anterior
CLEAR v_setvalue.
CONCATENATE v_fecha_lun+6(2) '.' v_fecha_lun+4(2) '.' v_fecha_lun(4) INTO v_setvalue.
CALL FUNCTION 'SET_DYNP_VALUE' " Función que coloca el valor en el campo de la pantalla
EXPORTING
i_field = 'S_FECHA-LOW'
i_repid = sy-repid
i_dynnr = sy-dynnr
i_value = v_setvalue.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_fecha-high.
PERFORM f_domingo_des. " Subrutina que calcula la fecha del domingo siguiente
CLEAR v_setvalue.
CONCATENATE v_fecha_dom+6(2) '.' v_fecha_dom+4(2) '.' v_fecha_dom(4) INTO v_setvalue.
CALL FUNCTION 'SET_DYNP_VALUE' " Función que coloca el valor en el campo de la pantalla
EXPORTING
i_field = 'S_FECHA-HIGH'
i_repid = sy-repid
i_dynnr = sy-dynnr
i_value = v_setvalue.
Espero haberme explicado bien, cualquier ayuda lo agradeceria.