Duda con bloqueo de registro en una dynpro

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Rodolfo Montiel Rivera
    Member
    • oct
    • 92

    #1

    Duda con bloqueo de registro en una dynpro

    Saludos!!!

    Tengo un reporte dentro de un table control en una dynpro, bueno y lo tengo un campo abierto donde el usuario puede teclear una cantidad ok pero bajo ciertas condiciones de proceso algunos registro deberian de traer este campo bloqueado por que ya no es necesario que el usuario teclea.

    Eso seria basicamente mi pregunta es como bloqueo estos campos abiertos para ciertos registros.

    Gracias de antemano.
    01010000
    01001010
    10011000
    10100001

    De Byte a Beat.
  • Jonathan Barrio Rodriguez
    Senior Member
    • oct
    • 199

    #2
    Hola, Rodolfo,

    La verdad que nunca he usado un Table Control en el curro, solo en el curso,
    pero me acuerdo, que al crear la pantalla y dibujar los campos con el editor de pantalla, con el painter, clicando sobre ellos dos veces se abría una pantalla, en la parte de abajo, dentro de un cuadro llamado atributos, ver´´as la segunda pestaña llamada "programa", ahí le das como quieres que sea el campo...

    Campo de entrada y/o
    Campo de salida,
    o solo campo de salida.

    Espero que sea eso a lo que te refirieses y te sirva.
    saludos.
    Barrio Rodriguez, Jonathan.
    _____________________________________
    "No sigas a quien haya encontrado la verdad sino a quien la busque"

    Comentario

    • Rodolfo Montiel Rivera
      Member
      • oct
      • 92

      #3
      Jajajaja bueno pues creo me pase de babas jajaja amigos nunca dejen de programar consejo..

      Bueno puesto que ya recorde les comunico la solucion a lo mejor y muchos saben pero en fin.

      Solucion

      tenemos nuestro PBO y PAI en la dynpro

      Pues lo unico que tenemos que hacer es dentro del loop para cargar nuestro table control recorrer nuestra pantalla con un loop y bloquear el campo ya sea en la PBO o PAI como queramos

      ASI SERIA EN CODIGO

      ****Tenemos nuestro PBO

      Process Before Output

      module status_2000.

      loop at itab_ops with control tc_ops cursor i_lineas.

      module bloqueo_celdas. <---- aqui es el module importante dentro de
      nuestro loop para cargar el table controlok.

      endloop.

      *****

      *Este codigo es en el porgrama de control y es el module que se ejecuta

      module bloqueo_celdas output.

      data: aux_field(17).

      if itab_ops-labstd is not initial.

      move: 'ITAB_OPS-CANT_NEC' to aux_field.

      r_stkvalida = itab_ops-labstd + itab_ops-cant_nec.

      if r_stkvalida eq itab_ops-psmng or
      itab_ops-labstd ge itab_ops-psmng.

      loop at screen. <---Aqui recorrems y buscamos ese campito a bloquear

      if screen-name = aux_field.

      screen-input = 0.
      modify screen.

      endif.

      endloop.

      endif.

      endif.

      endmodule.
      01010000
      01001010
      10011000
      10100001

      De Byte a Beat.

      Comentario

      Trabajando...