Anuncio

Colapsar
No hay anuncio todavía.

Meter variable por defecto en un SELECT-OPTIONS

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Meter variable por defecto en un SELECT-OPTIONS

    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.
Trabajando...
X