#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
|
|||
|
|||
Daniel,
Me explico, tengo un fichero plano de largo 610 y por ejemplo la primera linea ocupa hasta 500 caracteres. Ahora el punto es que cuando lo descargo a txt, cuando lo abro me aparece hasta los 500 caracteres....y no me cuenta los 110 faltantes en blanco. No se si es problema de codigo o si es otra cosa al momento de descargar. No es problema de cuando muestro por pantalla, sino que cuando descargo el documento. Úlima edición por J_Delcanto fecha: 01/06/11 a las 19:12:53. |
#8
|
|||
|
|||
fijate si le escribis un espacio a la variable donde esta todo el string del archivo, o sea algo asi: WRITE ' ' TO v_archivo+609(1). Acordate de donde te puse ' ' hacerlo al espacio ese con la combinacion de teclas ALT+255 o no te lo va a tomar. Al grabar ese caracter en esa posicion te va a conservar los lugares, yo tuve un problema parecido. |
#9
|
|||
|
|||
eso de ALT+255 debo ponerlo donde dice ' ' ? No comprendo bien |
#10
|
|||
|
|||
si correcto, fijate si apretas eso te genera un espacio. o sea apreta la tecla ALT y manteniendo apretada los nros 255 del teclado numerico... Es como cuando apretas alt+160 en el word para que te ponga la a acentuada. Aunque no parezca, no es lo mismo poner entre medio de las comillas un espacio creado por la barra esparciadora que por esa combinacion de teclas. Úlima edición por daniel1050 fecha: 01/06/11 a las 19:23:44. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|