PDA

Ver la Versión Completa : Concatenate separado por Tabs


Drako
15/05/07, 22:08:33
Hola a todos, necesito saber como se realiza un CONCATENATE separado por Tabs(Tabuladores) ya que esto me servira para llenar una variable la cual se destinara para llenar un archivo a exportar, lo unico que he encontrado es el 'SEPARATED BY SPACE', espero que alguien sepa como hacerle :confused:
Saludos a todos y gracias de antemano...

Vero2007
16/05/07, 12:15:31
al visualizar te escribe una almohadilla pero en un fichero significa un tabulador.
Es un ejemplo simple para que veas como sale. Espero que te valga.

data: vble type string.
CONCATENATE 'hoola' 'adios'
INTO vble
SEPARATED BY CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.

WRITE :/ vble.

davidsap
16/05/07, 14:35:37
Yo lo he probado y me dice que no existe CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB, igual es porque estoy en la versión 4.6b, pero he probado esto y me funciona (aunque como dice Vero el tabulador se visualiza como #):

REPORT ZSEPARA_TABU.

DATA: BEGIN OF tabulador,
cr TYPE x VALUE 9,
END OF tabulador.

DATA: vble TYPE string.

DATA: BEGIN OF it_tabla OCCURS 0,
texto(40),
END OF it_tabla.


CONCATENATE 'hola' 'adios' INTO vble SEPARATED BY tabulador.
APPEND vble TO it_tabla.


CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
* BIN_FILESIZE = ' '
* CODEPAGE = ' '
FILENAME = 'C:\prueba.txt'
FILETYPE = 'ASC'
* MODE = ' '
* WK1_N_FORMAT = ' '
* WK1_N_SIZE = ' '
* WK1_T_FORMAT = ' '
* WK1_T_SIZE = ' '
* COL_SELECT = ' '
* COL_SELECTMASK = ' '
* NO_AUTH_CHECK = ' '
* IMPORTING
* FILELENGTH =
TABLES
data_tab = it_tabla
* FIELDNAMES =
EXCEPTIONS
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.

vrpascual
04/06/10, 16:55:35
Hola alguien sabe como puedo hacer para concatenar en una tabal interna en un campo, 6 valores en un campo pero quiero que queden 3 valores enter y los otros 3 valores. Luego muestro la tabla en un alv tree OO.
Tengo:

CONCATENATE <cabe>-werks ' - '
<cabe>-erdat+6(2) '/' <cabe>-erdat+4(2)'/'<cabe>-erdat(4) ' - '
<cabe>-vkbur1 ' - '
<cabe>-kdgrp1 ' - '
<cabe>-kdgrp2 ' - '
<cabe>-bzirk INTO vl_nombre_nodo.
Este seria el nombre del primer nodo del arbol.

Actualmente me queda:
AG03-01/02/2010-C100-1A-1A
Pero quiero que salga:
AG03-01/02/2010-
C100-1A-1A

Probe con:
1) DATA: x_lf(2) TYPE x VALUE '0A', "Salto de Linea
x_cr TYPE x VALUE '0D'. "Retorno de Carro
2) DATA: c_newline(1) TYPE c VALUE cl_abap_char_utilities=>newline.
y me muestra #.

Ariel-StaFe
27/04/12, 20:09:19
DavidSAP:
Me pasa lo contrario.
Necesito leer un archivo de texto, separado por tabuladores.
Me puedes decir, una vez loopeado registro a registro, como separar en los campos correspondientes ?
con el SPLIT se puede ?.
Muchas Gracias !

DCErick
27/04/12, 21:30:53
DavidSAP:
Me pasa lo contrario.
Necesito leer un archivo de texto, separado por tabuladores.
Me puedes decir, una vez loopeado registro a registro, como separar en los campos correspondientes ?
con el SPLIT se puede ?.
Muchas Gracias !


Eso lo hace el GUI_UPLOAD sin problemas


CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lv_file
filetype = 'ASC'
has_field_separator = 'X'
.....etc

Ariel-StaFe
28/04/12, 11:38:04
Correcto !.. desp que escribí lo encontré y es como dices.
Muchas gracias !!!
Para lo que es archivo en Disco... resuelto..

Ahora.
Y cómo sería si el archivo está en el servidor ?, eso no lo encuentro.
Si lo levanto directamente del servidor..
Siempre manejé OPEN y READ DATASET.

Para archivos separados por tabulador hay algun modo de hacerlo con estas sentencias ?
con el OPEN o READ DATASET ?.. (no lo encuentro x ahi).. o
Estoy probando bajarlo a string y separarlo luego pero no puedo

Si alguien sabe la respuesta se agradece.

Muchisimas gracias por su tiempo !