Screen Painter

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • sandrotirado
    Junior Member
    • ago
    • 20

    #1

    Screen Painter

    Saludos, estoy haciendo un programa de mantenimiento a una tabla de empleados, todo lo manejo en una tabla interna y luego lo paso a la tabla de la BD.
    En la primera pantalla de mi programa tengo una tabla q muestra todos los empleados (esta dibujada desde el screen painter), se puede crear uno nuevo como seleccionar uno existente y de alli se pasa a visualizarlo, editarlo, eliminarlo segun que se escoja.
    Mi problema es que cuando creo un nuevo empleado y regreso a la pantalla inicial este no figura en la tabla, pero cuando paso a otras pantallas (como editarlo o eliminarlo) y regreso la tabla si esta actualizada.
    Se debe hacer algun tipo de refrescamiento especial para el caso en que hago insert o que me recomiendan?
    nota: incluso he intentado despues del insert hacer nuevamente un select para llenar nuevamente la tabla, pero el resultado es el mismo, el nuevo empleado solo figura cuando salgo del programa y vuelvo a entrar
    Editado por última vez por sandrotirado; 11/09/2006, 16:47:49.
  • Gregoryg
    Senior Member
    • abr
    • 115

    #2
    hola

    Luego de hacer un insert a la tabla de Bd debes hacer un commit work esto para garantizar que se realizo la escritura del nuevo registro en la base de datos.

    Creo que con esto solucionas tu problema.

    Saludos
    GregoryG

    Comentario

    • sandrotirado
      Junior Member
      • ago
      • 20

      #3
      tambien pense que podria ser eso, pero no soluciono mi problema

      Comentario

      • Carlos J. Ortega González
        Junior Member
        • jun
        • 28

        #4
        Pregunta, cuando haces el commit work, es inmediatamente después de hacer el insert, también te aseguras de que este termine con sy-subrc = 0 (sin error), puedes probar 2 opciones, la primera es limpiar tu tabla interna y realizar de nuevo la selección asegurándote que el nuevo registro sea incluido, la otra es asegúrate que la información es incluida en tu tabla interna (append), te sugiero realices un SORT, para que se acomode en su lugar, es posible que se encuentre en el último registro por el APPEND.

        Comentario

        • sandrotirado
          Junior Member
          • ago
          • 20

          #5
          tambien lo he hecho

          INSERT zstemp.
          IF sy-subrc NE 0.
          MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno WITH text-m01.
          LEAVE TO SCREEN '0'.
          ELSE.
          COMMIT WORK.
          ENDIF.

          el registro se llega a insertar, el problema es que no sale en mi tabla del programa una vez creado el empleado, solo se ve cuando salgo del programa y vuelvo a entrar

          Comentario

          • FranOchoa
            Junior Member
            • sep
            • 4

            #6
            Respuesta

            Puedes probar ha hacer un commit work despues del insert si sigue sin funcionar prueba a poner un retardo antes de hacer la select de nuevo puede ser que la grabacion aun no se haya echo en el servidor y tu select sea mas rapida que el servidor en grabar.

            Espero que te ayude.

            Un saludo.
            franochoa

            Comentario

            • sandrotirado
              Junior Member
              • ago
              • 20

              #7
              como hago para poner un retraso?
              eso si no lo se hacer

              Comentario

              • Mauricio Hidalgo
                Senior Member
                • may
                • 481

                #8
                Yo creo que el problema lo tienes en la pantalla inicial. le deberías poner un modulo en pBO para que relea la tabla y actualices tus campos.

                espero sea seo

                Comentario

                Trabajando...