Anuncio

Colapsar
No hay anuncio todavía.

valores pantalla seleccion 1000

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

  • valores pantalla seleccion 1000

    Buenos dias,
    tengo el siguiente código:

    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

    parameter: p_docu like Mseg-MBLNR,
    p_ano like MSEG-MJAHR.


    SELECTION-SCREEN: END OF BLOCK b1.



    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_docu.

    DATA: FLAG(1).
    FLAG = 'X'.
    EXPORT FLAG TO MEMORY ID 'MB51_FLAG'.
    CALL TRANSACTION 'MB51'.
    GET PARAMETER ID 'MBN' FIELD p_docu.
    GET PARAMETER ID 'MJA' FIELD p_ano.


    Es una ayuda de busqueda a la Mb51 que me devuelve los valores del número de documento y el año a mi pantalla de selección, el problema es que el número de documento me lo inserta correcto pero el año no me lo inserta en la pantalla de seleccion hasta qeu hago un intro.

    Como podría ponerlo para que me salga automatico como el número de documento??

    Muchas gracias!!

    -javi-

  • #2
    La Razón por la que no te muestra el año de forma inmediata es porque estas realizando un F4 ( Value-Request ) sólo para el parámetro p_docu y no para el parámetro p_ano.
    Para hacer que el año se muestre de forma inmediata podrías modificar la dynpro antes de salir del Value-Request de la siguiente forma:

    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_docu.
    DATA: flag(1).
    flag = 'X'.
    EXPORT flag TO MEMORY ID 'MB51_FLAG'.
    CALL TRANSACTION 'MB51'.
    GET PARAMETER ID 'MBN' FIELD p_docu.
    GET PARAMETER ID 'MJA' FIELD p_ano.

    DATA: dynpread LIKE STANDARD TABLE OF dynpread WITH HEADER LINE.
    dynpread-fieldname = 'P_ANO'.
    dynpread-fieldvalue = p_ano.
    APPEND dynpread.

    CALL FUNCTION 'DYNP_VALUES_UPDATE'
    EXPORTING
    dyname = 'ZPROGRAMA'
    dynumb = '1000'
    TABLES
    dynpfields = dynpread
    EXCEPTIONS
    invalid_abapworkarea = 1
    invalid_dynprofield = 2
    invalid_dynproname = 3
    invalid_dynpronummer = 4
    invalid_request = 5
    no_fielddescription = 6
    undefind_error = 7
    OTHERS = 8.

    Con ello ya no necesitas hacer un intro para que muestre el año.

    Saludos,
    Miguel Villanueva.

    Comentario

    Trabajando...
    X