MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 10/05/11, 10:08:41
malaga01 malaga01 is offline
Member
 
Fecha de Ingreso: feb 2007
Mensajes: 93
Exportar a TXT con espacios a la derecha

Buenos días foreros:

Tengo un problema al que no le encuentro solución. A ver si me podéis echar una mano.

Estoy bajandome información de sap en formato TXT, pero necesito que se cada línea tenga una longitud fija. Si la información no llega a esa longitud se comleta con blancos. Pero al bajar el ficheo no hay manera de conservar estos espacios. No sirve la opción de modificar manualmente puesto que el fichero se exporta directamente a otro sistema.
Tengo la version 4.6.c

¿Sabéis como se podría arreglar?

Muchas gracias de antemano.
Responder Con Cita
  #2  
Viejo 10/05/11, 14:49:53
Avatar de seimeinomi
seimeinomi seimeinomi is offline
Member
 
Fecha de Ingreso: oct 2006
Localización: Buenos Aires - Argentina
Mensajes: 74
Con que funcion estas bajandolo a txt?

Por que por ahi vi que con la funcion GUI_DOWNLOAD en el parametro TRUNC_TRAILING_BLANKS puede conservar los espacios en blanco.

Saludos.
__________________
Edward Manrique A.
Responder Con Cita
  #3  
Viejo 10/05/11, 16:10:31
Avatar de javi_garcia18
javi_garcia18 javi_garcia18 is offline
Junior Member
 
Fecha de Ingreso: jun 2008
Localización: Perú - Lima
Mensajes: 23
Hola malaga01, lo que puedes hacer es darle tu una longitud con el write y asi respetaria los espacios en blanco, te pongo un ejemplo:

DATA: v_record(500) TYPE c.
DATA: BEGIN OF t_download OCCURS 0,
linea(500) TYPE c,
END OF t_download.
-------------------------------------------------------------
LOOP AT t_data_comp WHERE lifnr EQ t_reg_pago-lifnr.
WRITE t_data_comp-espacio_blank TO v_record+0(1).
WRITE t_data_comp-tipo_reg TO v_record+1(1).
WRITE t_data_comp-tipo_prod TO v_record+2(1).
WRITE t_data_comp-nro_cuen_abo TO v_record+3(20).
WRITE t_data_comp-razsoc TO v_record+23(40).
WRITE t_data_comp-moneda TO v_record+63(2).
WRITE t_data_comp-impte TO v_record+65(15).
WRITE t_data_comp-tip_doc_id TO v_record+80(3).
WRITE t_data_comp-nro_doc_id TO v_record+83(12).
WRITE t_data_comp-tip_doc TO v_record+95(1).
WRITE t_data_comp-nro_doc TO v_record+96(10).
WRITE t_data_comp-tip_abo TO v_record+106(1).
WRITE t_data_comp-ref_adi TO v_record+107(40).
WRITE t_data_comp-flag_not_abo TO v_record+147(1).
WRITE t_data_comp-flag_del TO v_record+148(1).
WRITE t_data_comp-flag_val_ruc TO v_record+149(1).
WRITE t_data_comp-direccion TO v_record+150(40).
WRITE t_data_comp-distrito TO v_record+190(20).
WRITE t_data_comp-provincia TO v_record+210(20).
WRITE t_data_comp-departamento TO v_record+230(20).
WRITE t_data_comp-contacto TO v_record+250(40).
t_download-linea = v_record.
APPEND t_download.
CLEAR t_download.
ENDLOOP.

IF t_download[] IS NOT INITIAL.
PERFORM zf_donwload_tabla.
ENDIF.

*&---------------------------------------------------------------------*
*& Form zf_donwload_tabla
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM zf_donwload_tabla .

*Activamos la opción de permitir espacios en blanco.
PERFORM set_trail_blanks(saplgrap) USING 'X'.

CONCATENATE p_file '.txt'
INTO v_file_name.

CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
filename = v_file_name
filetype = 'ASC'
TABLES
data_tab = t_download
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.

ENDFORM. " zf_donwload_tabla

espero que te sirva.. saludos!!!
__________________
Si necesitas ayuda solo pidemela!!
Responder Con Cita
  #4  
Viejo 12/05/11, 09:40:12
malaga01 malaga01 is offline
Member
 
Fecha de Ingreso: feb 2007
Mensajes: 93
Muchas gracias javi_garcia18 y seimeinomi.

He probado ambas cosas y no funciona. Conserva los espacios entre los los caracteres del fichero, pero suiempre me los bnorra al final de la línea.

Si cada línea del fichero debe tener obligatoriamente una longitud de 100, y la información sólo llega a 80 caractéres, los 20 espacios en blanco que deberían estar en fichero de texto desaparecen.

Seguré mirando.

Un saludo.
Responder Con Cita
  #5  
Viejo 12/05/11, 12:12:59
Avatar de kiboqac
kiboqac kiboqac is offline
Member
 
Fecha de Ingreso: mar 2007
Localización: Argentina
Mensajes: 55
En la funcion GUI_DOWNLOAD debes setear el campo TRUNC_TRAILING_BLANKS_EOL = ' '.

Prueba eso y luego me dices
__________________
Kibo
Responder Con Cita
  #6  
Viejo 12/05/11, 14:17:21
Avatar de DCErick
DCErick DCErick is offline
Moderator
 
Fecha de Ingreso: mar 2006
Localización: Monterrey
Mensajes: 1,090
Intenta poniendo lo siguiente antes del GUI_DOWNLOAD

__________________
-------------------
¿Dudas para descargar manuales? Ver este tema ->
Responder Con Cita
  #7  
Viejo 11/08/15, 13:28:18
rafa_fonseca rafa_fonseca is offline
Junior Member
 
Fecha de Ingreso: abr 2012
Mensajes: 12
Funciona en SAP 3.1i


Buenos días, a pesar que esta solución fue posteada hace 4 años, me ha servido de mucho, muchas gracias.

La versión de SAP que utilizamos es la 3.1i (si demasiado vieja jeje).
y el form de descarga es call function 'WS_DOWNLOAD'
no podemos usar el nuevo GUI_DOWLOAD por que en esta versión no existe el tipo STRING, y este post me ha dado una gran ayuda.



Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 10:34:41.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web