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:
- Mayúsculas y minúsculas en el campo input/output.
- 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:
PROCESS BEFORE OUTPUT.
MODULE status_9000.
MODULE load_text.
*
PROCESS AFTER INPUT.
MODULE user_command_9000.
*&---------------------------------------------------------------------*
*& 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. |