Set Cursor Field

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • larmadovr
    Member
    • ene
    • 77

    #1

    Set Cursor Field

    Que tal compañeros, buen día.

    Tengo el siguiente problema, a ver si alguno de ustedes me puede explicar por favor.

    Tengo en el PAI una rutina de validación de campos, para saber si la información capturada en los PARAMETERS existe en las tablas.

    Despues de enviar el mensaje de error, intento posicionar el cursos en dicho parametro, que en este caso es la sociedad, pero no surte efecto. Se va al final de mis parametros.

    Tengo la instrucción:
    SET CURSOR FIELD 'P_SOC'.

    Aguien sabe por que ???

    Desde ya muchas gracias a todos.
    I.S.C.T. Luis Armando Valdez Rodríguez
    Consultor ABAP
    correo: larmandovr@hotmail.com
    cel: (045) 5537406023

    "La vida premia la acción"
  • danny
    Member
    • mar
    • 36

    #2
    Holas, cuando yo valido le envio una variable al pbo y hay seteo el cursor en el campo.
    el porque no lo situa en el PAI no lo se.

    Saludos;

    Comentario

    • ecm
      Junior Member
      • abr
      • 20

      #3
      Yo siempre lo he hecho en el PAI y nunca he tenido problemas pero hay que poner la sentencia SET CURSOR FIELD 'P_SOC' antes que el mensaje de error, sino no funciona.

      Comentario

      • larmadovr
        Member
        • ene
        • 77

        #4
        Que tal amigos:

        Lo de mandar una variable al PBO, no puedo hacerlo ya que las validaciones que estoy realizando se hacen desde el PAI, y al momento de un error me manda a la pantalla a capturar nuevo valor, por lo tanto ya no entraría al PBO después de la validación, sino hasta la siguiente vuelta.

        Lo de ejecutar el SET antes de mandar el mensaje, ya lo hice pero ni así me manda el cursor a la posición del parametro. Estoy usando un mensaje tipo s ya que si mando un tipo e ya no me dejaría capturar. Estoy en la versión 4.6C de R/3

        Gracias, si alguien más tiene otra sugerencia, será bienvenida....
        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

        • danny
          Member
          • mar
          • 36

          #5
          Holas,

          se supone que para entrar al PAI se debe disparar un evento en tu caso
          creo que le das enter luego de escoger o escribir el valor de tu parametro;
          hay recien entra al PAI , luego de hacer tus validaciones en el PAI
          vuelve a pasar por el PBO . por eso yo te digo que en el PAI si esta
          errado setes una variable y en el PBO preguntas x esa y en base a ello
          posicionas el cursor.

          Saludos;

          Comentario

          • larmadovr
            Member
            • ene
            • 77

            #6
            Ah ok,

            Voy a intentarlo de esa manera.

            Muchas 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

            • DavidXD_XD
              Moderator
              • ago
              • 1255

              #7
              Hola Armando, puedes colocar el codigo en el cual muestras el error y el SET CURSOR, solo por casualidad y algo sencillo ... para que funcione se coloca primero la sentencia SET CURSOR y despues el mensaje a mostrar
              David Carballido Córdova

              Comentario

              • Marco
                Senior Member
                • abr
                • 141

                #8
                Bueno,

                Para que puedas mostrar un SET cursor, no lo tienes que hacer despues de tu mensaje tipo E, ya que por estandard el tipo de mensaje E te sacara del aplicativo cortando la secuencia de la logica.
                Asi que el SET cursor realizarlo antes, SAP lo realizará, pero si vas a mostrar luego el mensaje tipo E, te bloqueara la pantalla hasta ejecutar alguna accion y te refrescara la accion, dejando sin efecto el SET cursor.

                saludos,

                Comentario

                • larmadovr
                  Member
                  • ene
                  • 77

                  #9
                  Gracias por su aporte.

                  Lo tengo de la siguiente manera.

                  * Valida Sociedad.
                  SELECT SINGLE *
                  FROM ZLIMVERSION
                  WHERE SOCIEDAD EQ P_SOC.

                  IF sy-subrc NE 0.
                  SET CURSOR FIELD 'P_SOC'.
                  MESSAGE s398(00) WITH text-004.
                  CLEAR p_SOC.
                  LEAVE TO SCREEN 9000.
                  ejecuta = 1.
                  ENDIF.


                  No pude poner el cursor en el campo adecuado a la validación.

                  Saludos.
                  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

                  • martin89
                    Member
                    • may
                    • 53

                    #10
                    Buenas, te hago una pregunta:
                    ¿Por casualidad pudiste resolver tu problema? a mi me pasa algo parecido, tengo que posicionar el cursor en un campo específico de un table control luego de validar que tenga datos.
                    Gracias y Saludos!

                    Comentario

                    • goyleo
                      Senior Member
                      • sep
                      • 102

                      #11
                      Hola tuve el mismo inconveniente colocando el set cursor en el PAI y no me funciono ( ni antes ni despues del mensaje).
                      Lo que realice es Colocar la misma validacion que se realizó (solo que sin el mensaje de error) en el PBO y si cumple la misma se coloca el SET CURSOR.

                      Comentario

                      • -toRRezz-
                        Junior Member
                        • ago
                        • 5

                        #12
                        Originalmente publicado por martin89
                        Buenas, te hago una pregunta:
                        ¿Por casualidad pudiste resolver tu problema? a mi me pasa algo parecido, tengo que posicionar el cursor en un campo específico de un table control luego de validar que tenga datos.
                        Gracias y Saludos!
                        Hola!

                        Tal vez es un poco tarde jeje, pero cuando quieres posicionar el cursor en un campo específico de un table control, debes de usar la adición LINE en el SET CURSOR FIELD para indicarle el registro en el cuál se posicionará, de lo contrario ignorará la sentencia.

                        Por ejemplo, en mi caso mi tabla control se llama TC_CLIENTES, y mi tabla interna es IT_CLIENTES con área de trabajo W_CLIENTES, mi código es el siguiente:

                        SET CURSOR FIELD 'W_CLIENTES-FINI'
                        LINE tc_clientes-current_line.

                        Con eso debe funcionar.

                        Saludos!

                        Comentario

                        Trabajando...