PDA

Ver la Versión Completa : Feichero con 2 campos en blanco consecutivos


Aleksei
03/07/13, 10:08:07
Hola,

Llevo desde ayer revisando el foro pero no encuentro una solución que me solucione mi problema.

Tengo tres tablas internas cuyo último campo tiene que estar "completo con espacios". En dos de ellas, además, el campo anterior también está en blanco, y necesito que el fichero que genero con ellas mantenga los espacios al final y por tanto todas las líneas tengan la misma longitud (300 caracteres). Dicho fichero se va a descargar al servidor de la propia máquina de SAP.

El SAP que uso es bastante vetusto, una 46B con RM-CA, por lo que muchas soluciones "modernas" no me sirven.

He probado con:
(Esto en concreto es para descargar el fichero a local y poder revisarlo para comprobar si mantiene los espacios)

CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
filename = fsalida
filetype = 'ASC'
trunc_trailing_blanks_eol = ' ' "Deja los espacios en blanco
trunc_trailing_blanks = ' ' "Deja los espacios en blanco

Hacerlo llamando a las funciones:

PERFORM set_trail_blanks(saplgrap) USING ' '.

PERFORM set_fixlen(saplgrap) USING '0' '300'.

También con

TRANSFER v_registro TO p_fondo LENGTH 300.


Y muchas otras opciones de concatenate y ninguna da solución.
¿Algún consejo/guía/solución?

vtsuchida
03/07/13, 17:34:40
Hola, creo que te puede ayudar lo que una vez hice:

Loop a la tabla y por registro, concatenar un caracter de cambio de línea, para tu caso, en la posición 300, y luego concatenarlo a una variable string.

Finalmente, para llamar al ws_dowload, necesitarías una tabla con un solo registro, en el cual se encuentre tu string final concatenado. Esto hará que cuando lo descargues, los saltos de línea se vean reflejados en tu archivo.

PD: el tipo del campo de la tabla y la variable auxiliar a usar deben ser obligatoriamente de tipo string. Pues su tamaño no es fijo.

Aleksei
08/07/13, 09:56:30
Hola,

Gracias por la respuesta pero esa solución no me sirve (creo) ya que yo el fichero lo descargo a la máquina de SAP directamente. Igual mi explicación anterior ha sido un poco liosa. El descargarlo a local es una prueba que hago yo para comprobar que se ajusta al formato.