|
#1
|
|||
|
|||
Problemas en descarga de archivo plano
Amigos:
Tengo un programa sencillo que me genera un archivo plano en UNIX. Esto lo hago recorriendo una tabla interna con n registros y a través de la sentencia TRANSFER lo voy escribiendo en el archivo de salida. Hasta aqui todo bien, pero mi problema se presenta porque al final del archivo plano, tengo un campo con 249 caracteres (el registro en total tiene 337), el cual lo debo entregar en blanco, pero al revisar el archivo, no me genera este espacio en blanco, sino que concatena el siguiente registro inmediatamente. Probé agregando al transfer la sentencia LENGTH 337, pero la verdad es que obtuve el mismo resultado, ¿alguien me podría ayudar con ideas para solucionar este problema?. Muchas gracias. |
#2
|
||||
|
||||
Hola ... yo hice algo similar pero con tabuladores, lo hice asi:
DATA: l_espace TYPE x VALUE '20'. Y comienzo a concatenar el espacio en blanco que quieres con l_espace, es en hexadecimal y el 20 es el codigo de espacio simple, aver pruebalo y me comentas como te fue, un saludo
__________________
David Carballido Córdova |
#3
|
|||
|
|||
Me surgio el mismo problema....el punto es que me llena con "CEROS" los espacios en blanco.
Por otro lado, me descargar el fichero plano pero no me considera los espacios en blanco al final del ultimo caracter, al momento de guardar. De antemano muchas gracias. |
#4
|
|||
|
|||
Esto si mal no recuerdo se solucionaba poniendo en el caracter 249, el valor el espacio pero ' ' (ese caracter espacio hacelo con la combinacion de teclas ALT + 255 ).
Yo una vez hice algo parecido. la estructura del archivo era algo asi: archivo: campo1 (3c) campo2 (3c) campo3 (3c) filler (239) - todos blancos espacioBlanco (1) ---- este va a tener el espacio que obtenes con alt+255. |
#5
|
|||
|
|||
Daniel,
Tu sabes si existe algun metodo para que cuando guarde el archivo en txt me conserve los espacios en blanco al final del ultimo caracter? Ejemplo: AAAAAAA AAAAAAAAA AAAAAAAAAAAA x Donde x es la ultima posicion en blanco. |
#6
|
|||
|
|||
Mira, te pongo un ejemplo de algo parecido, podes hacer un write. DATA: NAME(5) VALUE ’Harry’, DEST(18) VALUE ’Robert James Smith’, OFF TYPE I, LEN TYPE I. OFF = 7. LEN = 8. WRITE (NAME) TO DEST+OFF(LEN). La variable DEST ahora contiene el valor "Robert Harry ith". Otro ejemplo: Si tengo una variable v_archivo = '1234567890' y quiero una 'a' en la posicion 12 de esa variable: WRITE 'a' TO v_archivo+12(1). Esto me tendria que hacer : v_archivo = '1234567890 a' Aclaraciones: el 12 es el offset, o sea a partir de que posicion quiero que me escriba y el 1, es que cuantos digitos queremos insertar, en nuestro caso a tiene 1 solo entonces va un "1". Úlima edición por daniel1050 fecha: 01/06/11 a las 19:11:10. |
#7
|
|||
|
|||
La sentencia TRANSFER LENGHT funciona.!
La instrucción TRANSFER funciona tal y como lo necesitas, el caso es de como lo bajas del servidor, yo pase por lo mismo hace un par de días, utilize la transacción CG3Y para bajarlo y los espacios al final de la línea por fín me los mostro.
__________________
Eduardo Rafael Consultant SAP ABAP. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|