viernes, 20 de diciembre de 2013

Modificar el texto de un botón

Objetivo:
  • Modificar el texto de un botón una vez que que se haya introducido el texto en un campo input/output.
Creamos una dynpro con un campo texto, un input/output y un botón.

Las características más importantes son:
  1. Mayúsculas y minúsculas en el campo input/output.
  2. Campo de salida en el botón.
Admitimos minúsculas y mayúsculas en el campo input/output
El botón se indica que es un campo de salida.
Cada vez que se ejecuta el Process Before Output, el botón toma el valor del input/output.

Códigos:
  • Dynpro
PROCESS BEFORE OUTPUT.
  MODULE status_9000.
  MODULE load_text.
*
PROCESS AFTER INPUT.
  MODULE user_command_9000.
  • Report
*&---------------------------------------------------------------------*
*& Report  Z_BOTON
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  z_boton.

DATA: ok_code_9000 TYPE sy-ucomm,
      b_9000(20) TYPE c,
      io_9000(20) TYPE c value 'Default Text'.

CALL SCREEN 9000.

*&---------------------------------------------------------------------*
*&      Module  STATUS_9000  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_9000 OUTPUT.
  SET PF-STATUS 'STATUS_9000'.
  SET TITLEBAR 'TITLE_9000'.

ENDMODULE.                 " STATUS_9000  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  LOAD_TEXT  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE load_text OUTPUT.
  b_9000 = io_9000.
ENDMODULE.                 " LOAD_TEXT  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_9000  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_9000 INPUT.
  CASE ok_code_9000.
    WHEN 'CANCEL'.
      LEAVE PROGRAM.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_9000  INPUT

Resultado:

Texto inicial del botón.

Texto de prueba tras introducir el texto en el campo input/output.

0 comentarios :

Publicar un comentario