Anuncio

Colapsar
No hay anuncio todavía.

Semáforos

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

  • Semáforos

    Hola a todos,

    tengo un listado en el que quiero incluir una columna que sea un semáforo y que estará en verde, amarillo o rojo en función del valor de otra columna.
    ¿Alguien me puede decir cómo se pueden hacer los semáforos, o código de cómo hacerlo o, documentación al respecto?

    Gracias de antemano.

  • #2
    Estimado,

    Puedes probar agregando a tu programa lo siguiente :

    *
    *----------------------------------------------------------------------*
    * TIPOS *
    *----------------------------------------------------------------------*
    TYPE-POOLS : slis, kkblo. " Tipo Global para ALV

    *----------------------------------------------------------------------*
    * CONSTANTES *
    *----------------------------------------------------------------------*
    *
    CONSTANTS : c_verdadero TYPE char1 VALUE 'X'.
    *
    CONSTANTS : c_semaforo_gris TYPE char1 VALUE '0',
    c_semaforo_rojo TYPE char1 VALUE '1',
    c_semaforo_amarillo TYPE char1 VALUE '2',
    c_semaforo_verde TYPE char1 VALUE '3'.
    *----------------------------------------------------------------------*
    * DEFINICION TABLA INTERNA PARA EL ALV *
    *----------------------------------------------------------------------*
    *
    DATA : BEGIN OF tbi_alv OCCURS 0,
    flag(1) TYPE c,
    lights(1) TYPE c,

    ------->>> Aqui tus campos

    END OF tbi_alv.

    ------->>>En la declaracion de Layout del ALV agregar :

    FORM Setup_Layout_ALV CHANGING cs_layo TYPE slis_layout_alv.
    .
    cs_layo-lights_fieldname = 'LIGHTS'.
    .
    ENDFORM.

    ------>>> Luego en form donde leas los datos de las tablas SAP y actualices la
    tabla interna de tu ALV agregar esto..

    FORM leer_actualizar_data_alv.
    *
    DATA : c_luz_semaforo(1) TYPE c.
    *

    **** Aqui tus validaciones y ...

    ------>>> Validacion - 1
    c_luz_semaforo = c_semaforo_rojo.

    ------>>> Validacion - 1
    c_luz_semaforo = c_semaforo_verde.

    ------>>> Validacion - 1
    c_luz_semaforo = c_semaforo_amarillo.

    ....

    MOVE c_luz_semaforo TO tbi_alv-lights.
    MODIFY tbi_alv.

    ....

    ------>>>

    ENDFORM.


    Espero te sirva esta ayuda.

    Saludos.

    Atte.,
    Enrique Borroni
    Atte.,
    Enrique Borroni F.

    Comentario

    Trabajando...
    X