" Opa, tudo bem aii? Hoje vou passar pra vocês como fazer uma caixa
" de texto na sua tela para que o pessoal possa faze comentários sobre
" algo, primeiramente estarei mostrando como faz um, daqui a pouco num
" post futuro eu posto usando na prática gravando e deletando estes
" comentário.
" Ahhh, eu criei uma tela com um Custom Control, vocês vão perceber
" isso quando verem a classe que o objeto Container está sendo referenciado,
" o nome deste Custom Control está sendo informado quando eu crio o
" Container. Outra coisa.... Isso eh um report não eh um module mas se quiser
" fazer em Module Pool fiquem a vontade.
REPORT z_cl_gui_textedit.
" Variáveis Globais
DATA:
ok_code TYPE sy-ucomm.
" Estruturas e tabelas internas
DATA:
st_tdline TYPE tdline,
it_tdline TYPE TABLE OF tdline.
" Objetos
DATA:
container TYPE REF TO cl_gui_custom_container,
editor TYPE REF TO cl_gui_textedit.
" Início do processo
START-OF-SELECTION.
" Chama tela de o Custom Control de caixa de texto.
CALL SCREEN 9001.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Module STATUS_9001 OUTPUT
*&---------------------------------------------------------------------*
MODULE status_9001 OUTPUT.
SET PF-STATUS 'DEFAULT'.
* SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_9001 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_9001 INPUT
*&---------------------------------------------------------------------*
MODULE user_command_9001 INPUT.
CASE ok_code.
WHEN 'EXEC'.
WHEN 'SAVE'.
WHEN 'BACK'.
LEAVE PROGRAM.
WHEN 'CANCEL' OR 'EXIT'.
LEAVE PROGRAM.
WHEN OTHERS.
ENDCASE.
ENDMODULE. " USER_COMMAND_9001 INPUT
*&---------------------------------------------------------------------*
*& Module INITIALIZATION_9001 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE initialization_9001 OUTPUT.
" Verifica se os objetos Container e editor já foram criados
IF container IS INITIAL AND editor IS INITIAL.
" Aqui estamos criando o container exportando para o Objeto o Nome do
" Custom control criado na tela que irá receber o editor.
CREATE OBJECT: container EXPORTING container_name = 'TEXTEDIT',
" E aqui estamos criando o editor de texto, exportando o container como
" local.
editor EXPORTING parent = container.
ENDIF.
" Coloquei texto dentro da tabela pra ver alguma coisa no container.
st_tdline = 'texto breve'.
APPEND st_tdline TO it_tdline.
" Está sendo chamada um metodo da classe referenciada do objeto Editor,
" este método usado faz mostrar os dados da tabela no Container.
CALL METHOD editor->set_text_as_stream
EXPORTING
text = it_tdline.
ENDMODULE. " INITIALIZATION_9001 OUTPUT
Como Faço para recuperar o valor informado na caixa de texto depois de executar a tela. exemplo informo a palavra teste no editor e noPBO recupero este valor.
ResponderExcluireditor->get_text_as_stream.....
ResponderExcluir