refrescar pantalla en ALV

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Patri
    Junior Member
    • may
    • 5

    #1

    refrescar pantalla en ALV

    Hola foro,

    He echo un alv y cuando realizo doble clik sobre una linea, me lleva a la pantalla de otra transacción donde me permite modificar los datos de esa linea en concreto..el problema esta, que cuando modifico y le doy a grabar y vuelvo al listado, los campos que he modificado siguen teniendo el valor antiguo,y toman los valores nuevos cuando retrocedo a la pantalla de seleccion del listado y vuelvo a entrar en el mismo.
    Lo que quiero hacer es que se me refresque la pantalla justo cuando salgo de la pantalla de modificación "No del listado por completo"
    Se que hay una estructura la slis_selfield que tiene un campo llamado refresh que si le marcas con una X supuestamente deberia refrescarte la pantalla..pero no me funciona.
    Alguien tiene una idea de algo???
  • Aron
    Member
    • feb
    • 49

    #2
    Hola, una forma como he tratado ese tema es creando un boton que posea la función refresh, y cuando yo realice alguna modificacion a algún regiatro de un ALV, simplemente pulsando este boton se realiza el refresh, ejecutandose en el user-command donde vuelvo a llamar al form que cargo los datos, al form donde se encuentra la llamada a la funcion: REUSE_ALV_GRID_DISPLAY, y terminando con un seteo a los dympros: SET SCREEN 0. LEAVE SCREEN.
    como indico lienas abajo, espero te pueda servir.

    *---------------------------------------------------------------------*
    * FORM USER_COMMAND_01 Process Call Back Events (Begin) *
    *---------------------------------------------------------------------*
    FORM USER_COMMAND_01 USING UCOMM LIKE SY-UCOMM
    SELFIELD TYPE SLIS_SELFIELD.

    READ TABLE GT_OUTTAB INDEX SELFIELD-TABINDEX.
    CHECK SY-SUBRC = 0.
    CASE UCOMM.
    WHEN 'REFRESH'.
    PERFORM CARGA_DATA.
    PERFORM MOSTRAR_ALV_01.
    SET SCREEN 0.
    LEAVE SCREEN.
    ENDCASE.

    Saludos

    Aron

    Saludos

    Comentario

    • carlosalcala
      Member
      • may
      • 46

      #3
      Si quieres cambiarla y hacerla con objetos te copio un ejemplo,de esta forma tienes un método para modificar y refrescar la alv.

      Salu2!
      Salu2

      Carlos!

      Comentario

      • jguzmah
        Junior Member
        • jun
        • 3

        #4
        Respuesta a refrescar tu datos en ALV

        Patri, aqui la solucion a tu problema:

        FORM USER_COMMAND_01 USING UCOMM LIKE SY-UCOMM
        RS_SELFIELD TYPE SLIS_SELFIELD.

        dentro de este parrafo solo debes asignar esta instruccion
        RS_SELFIELD-REFRESH = 'X'. esto hace que se actualice la pantalla automaticamente dentro del ALV.

        endform.

        Saludos cordiales,
        Juan Alberto
        Desarrollador Gpsa Abap/4.

        Comentario

        • Patri
          Junior Member
          • may
          • 5

          #5
          Muchas gracias.....probelma solucionado!!!

          Saludos.

          Comentario

          • gabrielros
            Junior Member
            • jun
            • 1

            #6
            Modificar la linea al momento del ENTER en ALV

            Hola Amigos,

            Tengo un problema con un ALV, tengo un campo editable dentro de mi alv, y necesito que cuando modifique el valor de este campo se calcule un valor en otra columna, el problema radica en que no consigo un evento al momento del enter que me permita actualizar otro valor. Estoy utilizando la función REUSE_AVL_GRID_DISPLAY y tengo activo el parametro i_callback_user_command. Entonces consigo que cuando le doy doble click a la linea se ejecute el User_Command, pero cuando modifico el valor de la columna y le doy enter no se activa el User_Command.

            A alguien le ha pasado este problema? Cualquier ayuda será muy agradecida.

            Saludos.

            Comentario

            • agv1976
              Member
              • jun
              • 66

              #7
              Alv con campos dinamicos

              Hola a todos, tengo un problema, tengo una ALV con columnas dinamicas, que las hize con fields symbols, la columna es de tipo dats, le asigno el calendario mediante un matchcode, me lo muestra pero no me pone el dato , en el fieldcat pongo:

              F4AVAILABL = 'X'.
              REF_FIELD = 'F_CURSO'.
              REF_TABLE = 'ZEP_ALV_DATOS'.
              edit = 'X'.

              Con eso consigo que me muestre el calendario pero no el valor en la celda.

              Yo pienso que el problema es por el REF_FIELD = 'F_CURSO' porque mi tabla interna no tiene el campo F_CURSO, porque el nombre de todos los campos es dinamico tambien, gracias.

              Comentario

              • lasinpar
                Junior Member
                • nov
                • 2

                #8
                alv con columnas dinamicas

                Hola me gustaria saber como hacer un alv con columnas dinamicas. Muchas gracias....

                Comentario

                • robert_milan
                  Senior Member
                  • jun
                  • 315

                  #9
                  siempre se aprende algo nuevo, ya vi que es viejisimo pero UTIL!!!!!!!!!!


                  Saludos a los que vean esto y escribieron la solucion.

                  Saludos!!!
                  Un Huevon No Inútil


                  Solo di lo que piensas, a la mejor tienes la mejor respuesta....

                  Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo.....

                  Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho.....

                  Consultor FI jr/ABAP Sr.

                  Comentario

                  • vickxo
                    Senior Member
                    • nov
                    • 118

                    #10
                    GabrielRos, cuanod tu modificas un valor en tabla interna q viene ligada a tu ALV se carga el valor, el tema esta en que no le indicas a tu ALV q tiene q desplegar los datos de salida, marca la opcion REFRESH = 'X' q comentan aqui, con eso seguro que veras el cambio en tu ALV.
                    Ahora con respocto al user-command, debes de considerar q al momento de dar enter el sy-ucomm me parece..trae espacio.
                    Espero t sirva
                    el tema esta en hacer la pregunta correcta...

                    Comentario

                    • MariLu
                      Junior Member
                      • jul
                      • 5

                      #11
                      Originalmente publicado por lasinpar
                      Hola me gustaria saber como hacer un alv con columnas dinamicas. Muchas gracias....
                      Hola! yo he tenido que hacer uno hace poco si quieres te lo mando por mail
                      Marilu

                      Comentario

                      • larmadovr
                        Member
                        • ene
                        • 77

                        #12
                        Que tal Marilu

                        Podrías enviarme tu ejemplo por favor.

                        larmandovr@hotmail.com

                        Gracias.
                        I.S.C.T. Luis Armando Valdez Rodríguez
                        Consultor ABAP
                        correo: larmandovr@hotmail.com
                        cel: (045) 5537406023

                        "La vida premia la acción"

                        Comentario

                        • tere90210
                          Junior Member
                          • abr
                          • 17

                          #13
                          Originalmente publicado por jguzmah
                          Patri, aqui la solucion a tu problema:

                          FORM USER_COMMAND_01 USING UCOMM LIKE SY-UCOMM
                          RS_SELFIELD TYPE SLIS_SELFIELD.

                          dentro de este parrafo solo debes asignar esta instruccion
                          RS_SELFIELD-REFRESH = 'X'. esto hace que se actualice la pantalla automaticamente dentro del ALV.

                          endform.

                          Saludos cordiales,
                          Juan Alberto
                          Desarrollador Gpsa Abap/4.

                          Este código iría justo después del CALL TRANSACTION, o en qué parte?

                          Agradezco su atención.

                          ¡Saludos!

                          Comentario

                          Trabajando...