ah� va eso.

----- Original Message -----
From: "Carlos Lara" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, December 19, 2003 8:24 AM
Subject: RE: fichero de longitud de registro variable


Alex,

No tengo ninguna experiencia en archivos IFS, puedes darme alguna
orientaci�n, � donde buscar?

Gracias


-----Mensaje original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] En nombre de
[EMAIL PROTECTED]
Enviado el: jueves, 18 de diciembre de 2003 16:59
Para: [EMAIL PROTECTED]
Asunto: RE: fichero de longitud de registro variable


Hola,

Si los creas como archivo IFS, y indicas tu el salto de linias (CR+LF)
con
la constante X'0D25', que es la traducci�n EBCDIC,  en la posici�n que
quieres te funcionar�.  Bueno eso si las especificaciones de edifact
demandan un CR+LF como separador de l�nea.

fins aviat...
�lex Corretg�






                    "Carlos Lara"

                    <[EMAIL PROTECTED]>      Para:
<[EMAIL PROTECTED]>

                    Enviado por:                 cc:

                    [EMAIL PROTECTED]      Asunto:      RE:
fichero de longitud de registro variable
                    COMBIOS.ES





                    18/12/2003 16:19

                    Por favor, responda a

                    forum.help400









Lo que quiero realmente es  enviar un fichero edifact que creo desde el
AS pero cada segmento tiene una longitud variable y al crearlo con
longitud fija, me deja caracteres en blanco al final que no sabe tratar
el programa receptor.=20

-----Mensaje original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] En nombre de
[EMAIL PROTECTED]
Enviado el: jueves, 18 de diciembre de 2003 15:59
Para: [EMAIL PROTECTED]
Asunto: Re: fichero de longitud de registro variable


Hola,

Por longitud de registro variable, te refieres a un archivo con campos
VARCHAR o a un archivo que viene de PC y es de texto plano?

Bueno, de todas maneras desde RPG si que se pueden gestionar los dos. En
el
primer caso no hay que hacer nada especial en el RPG y se ha de crear la
tabla desde SQL con campos de tipo LONG VARCHAR  (no se si desde DDS se
puede hacer, habria que mirar el manual) , y en el segundo caso, pu=E9s
=
en
funci=F3n de como lo quieras subir se har=E1 de una manera o de otra.

fins aviat...
=C0lex Corretg=E9




=20

                    "Carlos Lara"

                    <[EMAIL PROTECTED]>      Para:
<[EMAIL PROTECTED]>

                    Enviado por:                 cc:

                    [EMAIL PROTECTED]      Asunto:      fichero de
longitud de registro variable                           =20
                    COMBIOS.ES

=20

=20

                    18/12/2003 12:42

                    Por favor, responda a

                    forum.help400

=20

=20











Hola,

Como puede crearse un fichero de longitud de registro variable y
tratarlo
desde RPG=A0 =BF?



Gracias









_____________________________________________________
Forum.HELP400 es un servicio m=E1s de NEWS/400.
=A9 Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja, env=EDa el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]


_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]







_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]


_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]
De: <[EMAIL PROTECTED]>
Para: <[EMAIL PROTECTED]>
Asunto: Re: Retorno de Carro
Fecha: martes 20 de marzo de 2001 11:21


Hola Manolo,
si dispones de un compilador ILE/RPG te sugiero que grabes el fichero
directamente al IFS, a traves de una descripcion externa y usando las apis
de ficheros. Un ejemplo:

Primero create una DDS, por ejemplo REGOUT con una longitud total de
registro de 288,  con campos definidos de tipo numerico y alfa (S y A), y
reserva el ultimo campo para el  retorno, por ejemplo RETORNO de 2A.
Compila y crea el fichero

Crea un ILE/RPG parecido a esto:

D REGOUT        E DS                  ExtName(TuFichero)

 * --------- Prototipos IFS
Dopen             PR            10I 0 EXTPROC('open')
D  filename                       *   VALUE
D  openflags                    10I 0 VALUE
D  mode                         10U 0 VALUE OPTIONS(*NOPASS)
D  codepage                     10U 0 VALUE OPTIONS(*NOPASS)

Dwrite            PR            10I 0 EXTPROC('write')
D  filehandle                   10I 0 VALUE
D  datatowrite                    *   VALUE
D  nbytes                       10U 0 VALUE

Dclose            PR            10I 0 EXTPROC('close')
D  filehandle                   10I 0 VALUE

 *------------- IFS CONSTANTS
 *** File Access Modes for open()
D O_RDONLY        S             10I 0 INZ(1)
D O_WRONLY        S             10I 0 INZ(2)
D O_RDWR          S             10I 0 INZ(4)
 *** oflag Values for open()
D O_CREAT         S             10I 0 INZ(8)
D O_EXCL          S             10I 0 INZ(16)
D O_TRUNC         S             10I 0 INZ(64)
 *** File Status Flags for open() and fcntl()
D O_NONBLOCK      S             10I 0 INZ(128)
D O_APPEND        S             10I 0 INZ(256)
 *** oflag Share Mode Values for open()
D O_SHARE_NONE    S             10I 0 INZ(2000000)
D O_SHARE_RDONLY  S             10I 0 INZ(0200000)
D O_SHARE_RDWR    S             10I 0 INZ(1000000)
D O_SHARE_WRONLY  S             10I 0 INZ(0400000)
 *** file permissions
D S_IRUSR         S             10I 0 INZ(256)
D S_IWUSR         S             10I 0 INZ(128)
D S_IXUSR         S             10I 0 INZ(64)
D S_IRWXU         S             10I 0 INZ(448)
D S_IRWXU         S             10I 0 INZ(448)
D S_IRGRP         S             10I 0 INZ(32)
D S_IWGRP         S             10I 0 INZ(16)
D S_IXGRP         S             10I 0 INZ(8)
D S_IRWXG         S             10I 0 INZ(56)
D S_IROTH         S             10I 0 INZ(4)
D S_IWOTH         S             10I 0 INZ(2)
D S_IXOTH         S             10I 0 INZ(1)
D S_IRWXO         S             10I 0 INZ(7)
 *** misc
D O_TEXTDATA      S             10I 0 INZ(16777216)
D O_CODEPAGE      S             10I 0 INZ(8388608)

D*** Miscellaneous data declarations
D FileName        S            255A           INZ('/tmp/ejemplo.txt')
D FileLen         S              9B 0
D AsciiCodePage   S             10U 0 INZ(819)
D FileDesc        S             10I 0
D BytesWrt        S             10I 0
D EOR             S              2A   Inz(X'0D25')
D NullX           S              1A   Inz(X'00')


C                   Eval      FileDesc = open(%ADDR(FileName)
C                               : O_CREAT + O_WRONLY + O_TRUNC +
C                                 O_CODEPAGE
C                               : S_IRWXU + S_IROTH
C                               : AsciiCodePage)
C                   Eval      ReturnInt = close(FileDesc)
C                   Eval      FileDesc = open(%ADDR(FileName)
C                               : O_TEXTDATA + O_RDWR)

.
.
.
 * Mueve los valores al registro REGOUT
C                   Eval      RETORNO = EOR
.
.
C                   Eval      BytesWrt = write(FileDesc :
C                                              %ADDR(REGOUT): 288  )
C                   Eval      ReturnInt = close(FileDesc)


El codigo esta basado en la utilidad SendMail de News/400.
Un saludo


_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]

Responder a