Ayuda con select options

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Irua
    Member
    • jun
    • 83

    #1

    Ayuda con select options

    Hola tengo unselect options que me trae la sociedad, si el usuario elige filtrar por varias sociedades, debo comparar el tipo de moneda de cada sociedad y si no son iguales ejecutar un msj.


    El asunto que no tengo ni idea de como comparar los valores, en estos casos cual seria la instruccion a utilizar??????????????
  • Mauricio Hidalgo
    Senior Member
    • may
    • 481

    #2
    La tabla de Sociedades es la T001. Ahí tienes el campo WAERS que corresponde a la moneda.

    Espero te sirva

    Comentario

    • Irua
      Member
      • jun
      • 83

      #3
      Originalmente publicado por Mauricio Hidalgo
      La tabla de Sociedades es la T001. Ahí tienes el campo WAERS que corresponde a la moneda.

      Espero te sirva

      ok y como comparo pa_soc con el campo moneda

      es decir como seria el select si tengo por ejemplo 5 valores distintos, la cosa es que no se como funciona muy bien el select options

      gracias

      Comentario

      • smontenegro
        Member
        • jul
        • 84

        #4
        Primero definite una tabla interna igual a t001(que en este ejemplo llamo ti_t001) y luego armas asi el select:

        select * from t001 into ti_t001 where BUKRS IN pa_soc .

        Hasta aca lo que hiciste fue cargar la tabla interna ti_t001 con los datos de t001 para todas las sociedades del select option pa_soc.
        Luego lo recorres con un loop para ver si las monedas son iguales. si no lo son mandas el mensaje.

        Otra opcion es no cargar la tabla interna y hacer un SELECT/ENDSELECT verificando en cada pasada que la moneda sea igual a la anterior y sino mandas el mensaje.

        Saludos!
        Editado por última vez por smontenegro; 04/06/2008, 18:45:21.
        Sergio Martin Montenegro
        Consultor SAP MM/ABAP
        http://www.solosap.blogspot.com
        http://www.generar.biz
        UNITE A MI RED

        Comentario

        • Irua
          Member
          • jun
          • 83

          #5
          Originalmente publicado por smontenegro
          Primero definite una tabla interna igual a t001(que en este ejemplo llamo ti_t001) y luego armas asi el select:

          select * from t001 into ti_t001 where BUKRS IN pa_soc .

          Hasta aca lo que hiciste fue cargar la tabla interna ti_t001 con los datos de t001 para todas las sociedades del select option pa_soc.
          Luego lo recorres con un loop para ver si las monedas son iguales. si no lo son mandas el mensaje.

          Otra opcion es no cargar la tabla interna y hacer un SELECT/ENDSELECT verificando en cada pasada que la moneda sea igual a la anterior y sino mandas el mensaje.

          Saludos!

          ok seria algo asi por favor corrigeme, y como seria la sintaxis para comparar com un registro anterior gracias

          select waers BUKRS into it_moneda from t001 WHERE BUKRS in s_tsoc.

          LOOP at it_moneda.
          if it_moneda-waers = it_moneda-waers .

          write 'dhhd'.

          endif.
          ENDLOOP.
          ENDSELECT.

          Comentario

          • smontenegro
            Member
            • jul
            • 84

            #6
            Exacto, salvo que yo usaria otra variable para guardar la moneda anterior y asi poder comparar con la nueva. Seria asi:

            select waers BUKRS into it_moneda from t001 WHERE BUKRS in s_tsoc.

            LOOP at it_moneda.
            if it_moneda-waers = moneda_old.
            write 'dhhd'.
            endif.
            moneda_old = it_moneda-waers.
            ENDLOOP

            Si lo guardas en un tabla interna no hace falta el ENDSELECT.
            Tambien estoy presuponiendo que ya definiste la tabla it_moneda con los campos waers y bukrs.


            Saludos!
            Sergio Martin Montenegro
            Consultor SAP MM/ABAP
            http://www.solosap.blogspot.com
            http://www.generar.biz
            UNITE A MI RED

            Comentario

            • Irua
              Member
              • jun
              • 83

              #7
              Listo mil gracias

              Comentario

              Trabajando...