#1
|
|||
|
|||
Espacios final cadena
Hola,
estoy generando un fichero y necesito, que el final de la línea tenga en cuenta los espacios. Es decir, si el último campo que le paso es 'prueba ' que no meta el control de retorno en prueba, sino en prueba . Muchas gracias. Un saludo. |
#2
|
|||
|
|||
Por fin encontré la solución.
CONSTANTS: c_space TYPE syhex02 VALUE '00a0'. " Value for space DATA: g_space TYPE string, l_pos type i. TYPES: BEGIN OF ty_data, field1(8) TYPE c, END OF ty_data. DATA: wa_data TYPE ty_data. DATA: i_data TYPE STANDARD TABLE OF ty_data. * Get the actual value for a space g_space = cl_abap_conv_in_ce=>uccp( c_space ). wa_data-field1 = 'Joy'. L_pos = strlen( wa_data-field1 ). Do 5 times. wa_data-field1+l_pos(1) = g_space. L_pos = l_pos + 1. Enddo. APPEND wa_data TO i_data. CALL METHOD cl_gui_frontend_services=>gui_download EXPORTING filename = 'C:\trailing_space_demo.txt' CHANGING data_tab = i_data EXCEPTIONS FILE_WRITE_ERROR = 1 NO_BATCH = 2 GUI_REFUSE_FILETRANSFER = 3 INVALID_TYPE = 4 NO_AUTHORITY = 5 UNKNOWN_ERROR = 6 HEADER_NOT_ALLOWED = 7 SEPARATOR_NOT_ALLOWED = 8 FILESIZE_NOT_ALLOWED = 9 HEADER_TOO_LONG = 10 DP_ERROR_CREATE = 11 DP_ERROR_SEND = 12 DP_ERROR_WRITE = 13 UNKNOWN_DP_ERROR = 14 ACCESS_DENIED = 15 DP_OUT_OF_MEMORY = 16 DISK_FULL = 17 DP_TIMEOUT = 18 FILE_NOT_FOUND = 19 DATAPROVIDER_EXCEPTION = 20 CONTROL_FLUSH_ERROR = 21 NOT_SUPPORTED_BY_GUI = 22 ERROR_NO_GUI = 23 others = 24 . IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. Un saludo. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|