Difference between revisions of "SAP ABAP TEXT"
From SapWiki
Line 190: | Line 190: | ||
==[[SAP_ABAP_SAPSCRIPT#crear/editar_objetos_de_textos_y_ID|crear/editar objetos de textos y ID]]== | ==[[SAP_ABAP_SAPSCRIPT#crear/editar_objetos_de_textos_y_ID|crear/editar objetos de textos y ID]]== | ||
+ | |||
+ | ==FM. READ_TEXT== | ||
+ | <nowiki>FORM read_text. | ||
+ | DATA: lt_tlinetab TYPE STANDARD TABLE OF tline, | ||
+ | ls_theader TYPE thead, | ||
+ | l_id TYPE thead-tdid, | ||
+ | l_name TYPE thead-tdname, | ||
+ | l_object TYPE thead-tdobject. | ||
+ | |||
+ | |||
+ | l_id = 'Z000'. "obs esp | ||
+ | l_object = 'VBBK'. | ||
+ | l_name = es_dlv_delnote-hd_gen-deliv_numb. | ||
+ | |||
+ | REFRESH lt_tlinetab. | ||
+ | CALL FUNCTION 'READ_TEXT' | ||
+ | EXPORTING | ||
+ | client = sy-mandt | ||
+ | id = l_id | ||
+ | language = sy-langu | ||
+ | name = l_name | ||
+ | object = l_object | ||
+ | IMPORTING | ||
+ | header = ls_theader | ||
+ | TABLES | ||
+ | lines = lt_tlinetab | ||
+ | EXCEPTIONS | ||
+ | id = 01 | ||
+ | language = 02 | ||
+ | name = 03 | ||
+ | not_found = 04 | ||
+ | object = 05 | ||
+ | reference_check = 06 | ||
+ | wrong_access_to_archive = 07. | ||
+ | |||
+ | ENDFORM.</nowiki> |
Revision as of 22:11, 10 April 2020
Contents
Cuadro de texto en dynpro ( Clase cl_gui_textedit )
REPORT ytest_texto. *--------------------------------------------------------------------* * Datos para cuadro de texto *--------------------------------------------------------------------* *Variables extras Control Custom DATA: container TYPE REF TO cl_gui_custom_container, editor TYPE REF TO cl_gui_textedit. DATA: line TYPE tdline, text_tab type STANDARD TABLE OF TDLINE. ********************************************************************** DATA ok_code TYPE sy-ucomm. START-OF-SELECTION. line = 'Hola Mundo'. append line to text_tab. CALL SCREEN 0100. *&---------------------------------------------------------------------* *& Module STATUS_0100 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE status_0100 OUTPUT. SET PF-STATUS 'STATUS'. "Crear con 'BACK' 'EXIT' 'CANC' de tipo comando exit y 'SAVE' SET TITLEBAR 'T01'. "Editar Texto ENDMODULE. " STATUS_0100 OUTPUT *&---------------------------------------------------------------------* *& Module EXIT INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE exit INPUT. DATA l_ok_code TYPE sy-ucomm. l_ok_code = ok_code. CLEAR ok_code. CASE l_ok_code. WHEN 'BACK' OR 'EXIT' OR 'CANC'. * free editor de texto CLEAR: text_tab[]. IF editor IS BOUND. FREE editor. CALL METHOD container->free EXCEPTIONS cntl_error = 1 cntl_system_error = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. FREE container. ENDIF. SET SCREEN 0. LEAVE SCREEN. ENDCASE. ENDMODULE. " EXIT INPUT *&---------------------------------------------------------------------* *& Module TEXTO OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE texto OUTPUT. IF editor IS NOT BOUND. * create control container CREATE OBJECT: container EXPORTING container_name = 'CC_01', "crear custom container CC_01 en dynpro 0100 editor EXPORTING parent = container. * show toolbar and statusbar on this screen CALL METHOD editor->set_toolbar_mode EXPORTING toolbar_mode = editor->true. "true(saca la barra de herramienta). CALL METHOD editor->set_statusbar_mode EXPORTING statusbar_mode = editor->false. "true(saca la barra de status). * if f_mode = c_display. * call method editor->set_readonly_mode * exporting * readonly_mode = editor->true. * * endif. * CALL METHOD editor->set_visible * EXPORTING * visible = ' '. * CALL METHOD editor->set_enable_editing_protected * EXPORTING * MODE = 0. ENDIF. CALL METHOD editor->set_text_as_stream EXPORTING text = text_tab. ENDMODULE. " TEXTO OUTPUT MODULE refresh_txt INPUT. CALL METHOD editor->get_text_as_stream IMPORTING text = text_tab. ENDMODULE. *&---------------------------------------------------------------------* *& Module EXIT_0100 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE exit_0100 INPUT. l_ok_code = ok_code. CLEAR ok_code. CASE l_ok_code. WHEN 'SAVE'. BREAK-POINT. PERFORM save. ENDCASE. ENDMODULE. " EXIT_0100 INPUT FORM save. *text data DATA: lt_tlinetab type STANDARD TABLE OF tline, lt_text type STANDARD TABLE OF TDLINE, ls_theader type thead, ls_tlinetab type tline, l_key TYPE tdobname. IF editor IS NOT INITIAL. * cuadro texto CALL METHOD editor->get_text_as_r3table IMPORTING table = lt_text[] EXCEPTIONS error_dp = 1 error_cntl_call_method = 2 error_dp_create = 3 potential_data_loss = 4. CLEAR lt_tlinetab[]. LOOP AT lt_text into data(ls_text). MOVE ls_text TO ls_tlinetab-tdline. APPEND ls_tlinetab to lt_tlinetab. ENDLOOP. ENDIF. ls_theader-tdid = 'Z001'. ls_theader-tdspras = sy-langu. ls_theader-tdname = l_key. ls_theader-tdobject = 'ZMYOBJ'. * CALL FUNCTION 'SAVE_TEXT' * EXPORTING * header = ls_theader * insert = 'X' * savemode_direct = 'X' * IMPORTING ** FUNCTION = SD_FUNCTION * newheader = ls_theader * TABLES * lines = lt_tlinetab * EXCEPTIONS * id = 01 * language = 02 * name = 03 * object = 04. * IF sy-subrc <> 0. ** MESSAGE A017. * ENDIF. ENDFORM.
dynpro 0100
PROCESS BEFORE OUTPUT. MODULE status_0100. MODULE texto. * PROCESS AFTER INPUT. MODULE exit AT EXIT-COMMAND. MODULE refresh_txt. MODULE exit_0100.
Como leer textos de infotipo
crear/editar objetos de textos y ID
FM. READ_TEXT
FORM read_text. DATA: lt_tlinetab TYPE STANDARD TABLE OF tline, ls_theader TYPE thead, l_id TYPE thead-tdid, l_name TYPE thead-tdname, l_object TYPE thead-tdobject. l_id = 'Z000'. "obs esp l_object = 'VBBK'. l_name = es_dlv_delnote-hd_gen-deliv_numb. REFRESH lt_tlinetab. CALL FUNCTION 'READ_TEXT' EXPORTING client = sy-mandt id = l_id language = sy-langu name = l_name object = l_object IMPORTING header = ls_theader TABLES lines = lt_tlinetab EXCEPTIONS id = 01 language = 02 name = 03 not_found = 04 object = 05 reference_check = 06 wrong_access_to_archive = 07. ENDFORM.