Sobre el problema al compilar los programas creo que el archivo BCFDPF no
tiene DDS ¿es un archivo plano, correcto?
Si es así no puedes definir el archivo con un E sino con una F e indicar la
longitud de registro de ¿450?

Realmente ese signo } creo que corresponde a un dato en negativo !!!
Yo creo que el problema está en el programa que genera el archivo en TXT

     FBCFDPF  UP  F     450            DISK
     IBCFDPF  SS  01
     I                                        1 450 REGIST
     C   01      '}':'0'   XLATEREGIST    REGIST
     OBCFDPF  D        01
     O                         REGIST

El 16 de agosto de 2016, 21:46, Juan Gutierrez Ruiz <
[email protected]> escribió:

> hola Foro
>
>
> lo que necesito es sustituir un signo '}' que me genera un rpg en un
> archivo
>
> que después este lo convierten en TXT
>
> lo quiero cambiar mediante la instrucción XLATE que soporta esta versión
>
>
> la maquina de mi cliente es muy vieja es un as400 y tiene cargado un
> sistema de MAPICS
>
>
> la versión es R4 V4
>
>
> he realizado 2 programitas en RPG uno con el ciclo del RPG y el otro
> controlado
>
>
> pero al compilarlos me manda errores del archivo
>
>
>  me puede echar una mano
>
> (adjunto un archivito de texto)
>
>
> saludos
>
>
>
>
>
>
> H1|E|000727|859440|20150729|                      |00000000|PAGO EN UNA
> SOLA EXHIBICION|CONTADO                  |ORIGINAL|FACTURA
> H2|DULCES Y CHOCOLATES LUXUS, S.A. DE C.V.|DCL911021I36||PINO|NO.
> 427-A||SANTA MARIA INSURGENTES|||CUAUHTEMOC|DISTRITO FEDERAL|MEX
> H4|FUNDACION TELMEX A.C.              |FTE951227NS5   ||PARQUE
> VIA                         |||CUAUHTEMOC                         |
> H5|FUNDACION TELMEX A.C.              |FTE951227NS5
> ||                                   |
> ||
> D|31202967       ||C.SUAVE PROT.MIN.HIE.ZINC 12/1||00010|CAJAS||
> 510.00|0||0|||||||||||||0000000051000}||||||||||||0000000051
> S|00000000051000}||||||000000004080}||000000055080}||
> 0001}|||||||||||||||||||||||||00000000051000}||||
>
> H1|E|000728|859440|20150729|                      |00000000|PAGO EN UNA
> SOLA EXHIBICION|CONTADO                  |ORIGINAL|FACTURA
>
>
>
> *************** Principio de datos *************************
>      FBCFDPF  IP  E                    DISK
>      IREGIST      01
>      C           '}':'0'   XLATEREGIST    REGIST
>      OREGIST  D
>      O                         BCFDPF
>
>
>
>                        L i s t a d o   F u e n t
> e
>            H
>                                    *****
>       200  FBCFDPF  IP  E                    DISK
> 16/08/16
> * 2122       200   EL NOMBRE DE REGISTRO BCFDPF SE HA DEFINIDO PREVIAMENTE
> COMO NOMBRE DE ARCHIVO.
>             FORMATO(S) REGISTRO: BIBLIOTECA PASOJGR ARCHIVO
> BCFDPF.
>                      BORRADO FORMATO EXTERNO BCFDPF DEBIDO A ERROR O SE
> IGNORA.
>       400  IREGIST      01
>                                          16/08/16
> * 4005 4005-********.
>
> * 4008         4008-**
>
>      1000  C           '}':'0'   XLATEREGIST
> REGIST                                         16/08/16
>      1600  OREGIST  D
>                                              16/08/16
> * 6001 6001-********
>
>      1700  O                         BCFDPF
> 16/08/16
> * 6048                          6048-******
>
>            * * * * *   F I N   D E   F U E N T E   * * * *
> *
>           M e n s a j e s  D i a g n ó s t i c o  A d i c i o n a l e
> s
> * 7064       200   EL ARCHIVO BCFDPF NO ESTA REFERENCIADO PARA
> INPUT.
>  5769RG1 V4R4M0  990521                IBM RPG/400
> PASOJGR/PRUEBA        16/08/16  14:12:02
>  5769RG1 V4R4M0  990521                IBM RPG/400
> PASOJGR/PRUEBA        16/08/16  14:12:02
>
>                       R e s u m e n   d e   M e n s a j e
> s
>  * QRG2122 Gravedad:  40   Número:    1
>
>            Mensaje . . . . :   Un nombre de formato de registro en
> archivo
>              descrito externamente ya se ha definido como un nombre
> de
>              archivo.
>
>  * QRG4005 Gravedad:  40   Número:    1
>
>            Mensaje . . . . :   La entrada Nombre de Archivo o Nombre
> de
>              Registro no está definida o no es válida. Se ignora
> la
>              especificación.
>
>  * QRG4008 Gravedad:  10   Número:    1
>
>            Mensaje . . . . :   La entrada Secuencia está en blanco o no
> es
>              válida. Toma AA como valor por omisión.
>
>  * QRG6001 Gravedad:  40   Número:    1
>
>            Mensaje . . . . :   Nombre de archivo o de registro no
> definido,
>              ignorado, en blanco o no válido.
>
>  * QRG6048 Gravedad:  30   Número:    1
>
>            Mensaje . . . . :   El nombre especificado con anterioridad se
> ha
>              definido como nombre de archivo o de registro. Se ignora
> la
>              especificación.
>
> * QRG7030 Gravedad:  30   Número:    1
>
>           Mensaje . . . . :   El campo o el indicador no está
> definido.
> * QRG7031 Gravedad:  00   Número:    1
>
>           Mensaje . . . . :   No se hace referencia al nombre o al
> indicador.
> * QRG7064 Gravedad:  40   Número:    1
>
>           Mensaje . . . . :   No hay referencia al archivo del programa.
> Se
>             ignora el archivo.
>
>       * * *  F I N   D E   R E S U M E N   D E   M E N S A J E S  * * *
> *
>  5769RG1 V4R4M0  990521                IBM RPG/400
> PASOJGR/PRUEBA
>                            R e s u m e n   F i n a
> l
>  Cuenta de Mensajes: (Por Número de Gravedad)
>
>             TOTAL    00     10     20     30     40
> 50
>               8       1      1      0      2      4
> 0
>  Totales Programa Fuente:
>
>     Registros . . . . . . . . . :   5
>
>     Especificaciones  . . . . . :   5
>
>     Registros de Tablas . . . . :   0
>
>     Comentarios . . . . . . . . :   0
>
>  Compilación detenida. Se han encontrado errores de gravedad 40 en
> archivo.
>
>
> =====================================================================
>
> *************** Principio de datos **********************************
>      FBCFDPF  UF  E                    DISK
>      F            BCFDPF                            KRENAMEREGIST
>      C                     READ BCFDPF                   90
>      C           *IN90     DOWEQ'0'
>      C           '}':'0'   XLATEREGIST    REGIST
>      C                     UPDATBCFDPF
>      C                     READ BCFDPF                   90
>      C                     ENDDO
>      C                     MOVEL*ON       *INLR
>
>
>
>                           L i s t a d o   F u e n t
> e
>            H
>                                    *****
>       200  FBCFDPF  UF  E                    DISK
> 16/08/16
>       300  F            BCFDPF
> KRENAMEREGIST                        16/08/16
>             FORMATO(S) REGISTRO: BIBLIOTECA PASOJGR ARCHIVO
> BCFDPF.
>                      FORMATO EXTERNO BCFDPF NOMBRE RPG
> REGIST
>   A000000   INPUT  CAMPOS PARA EL REGISTRO REGIST ARCHIVO BCFDPF FORMATO
> BCFDPF.
>   A000001                                           1 450
> BCFDPF
> * 4143
> 4143-******
> * 4037
> 4037-****
>       800  C                     READ BCFDPF
> 90                    3         15/08/16
>       900  C           *IN90     DOWEQ'0'
> B001   15/08/16
>      1000  C           '}':'0'   XLATEREGIST
> REGIST                                   001   16/08/16
> * 5194                           5194-**********.
>
> * 5194                                     5194-******
>
>      1200  C                     UPDATBCFDPF
> 001   16/08/16
> * 5063                           5063-********
>
>      1300  C                     READ BCFDPF
> 90                    3   001   15/08/16
>      1400  C                     ENDDO
> E001   15/08/16
>      1500  C                     MOVEL*ON
> *INLR                                          15/08/16
>
>
>  5769RG1 V4R4M0  990521                IBM RPG/400
> PASOJGR/PRUEBA
>                      R e s u m e n   d e   M e n s a j e
> s
> * QRG4037 Gravedad:  00   Número:    1
>
>           Mensaje . . . . :   La longitud del campo de entrada
> alfanumérico
>             excede de 256. El Nombre de Campo toma por omisión el nombre
> de
>             estructura de datos.
>
> * QRG4143 Gravedad:  30   Número:    1
>
>           Mensaje . . . . :   Nombre definido anteriormente como
> archivo,
>             nombre de registro, o una constante con nombre. Se ignora
> la
>             línea de especificación.
>
> * QRG5063 Gravedad:  30   Número:    1
>
>           Mensaje . . . . :   El nombre de Archivo Descrito Externamente
> no
>             es válido en el Factor 2 (posiciones 33-42) para la
> Operación
>             especificada.
>
> * QRG5194 Gravedad:  30   Número:    2
>
>           Mensaje . . . . :   El nombre especificado con anterioridad
> se
>             define como archivo o nombre de Formato de
> Registro.
> * QRG7030 Gravedad:  30   Número:    1
>
>           Mensaje . . . . :   El campo o el indicador no está
> definido.
>
>
> Totales Programa Fuente:
>
>    Registros . . . . . . . . . :   9
>
>    Especificaciones  . . . . . :   9
>
>    Registros de Tablas . . . . :   0
>
>    Comentarios . . . . . . . . :   0
>
> Compilación detenida. Se han encontrado errores de gravedad 30 en
> archivo.
>          * * * * *   F I N   D E   C O M P I L A C I O N   * * * *
> *
>
>
>
>
>
>
>
>
>
> ------------------------------
> *De:* [email protected] <
> [email protected]> en nombre de Alex Martínez <
> [email protected]>
> *Enviado:* martes, 16 de agosto de 2016 03:18 a. m.
> *Para:* forum.help400
> *Asunto:* Re: REPLACE SQL
>
> Hola
>
> Quizás con el TRANSLATE
> http://ibmsystemsmag.com/Blogs/DB2utor/Archive/using-
> the-translate-function-in-sql/
>
>
> <http://ibmsystemsmag.com/Blogs/DB2utor/Archive/using-the-translate-function-in-sql/>
> IBM Systems Magazine - Using the Translate Function in SQL
> <http://ibmsystemsmag.com/Blogs/DB2utor/Archive/using-the-translate-function-in-sql/>
> ibmsystemsmag.com
> Using the Translate Function in SQL. May 12, 2009 The translate function
> can be a very powerful tool in the SQL coder's tool belt. TRANSLATE
> converts a string ...
>
>
>
>
> El 16 de agosto de 2016, 10:09, CEL - Informatica <[email protected]>
> escribió:
>
>> Hola, Juan.
>>
>> Según este artículo http://www.itjungle.com/fhg/fhg072711-story01.html,
>> no existe una función de reemplazar; pudiendo hacerlo con una combinación
>> de SUBSTR y CONCAT.
>>
>> Se me antoja farragoso.
>>
>> Saludos.
>>
>> Víctor.
>>
>> ----- Original Message -----
>> *From:* Juan Gutierrez Ruiz <[email protected]>
>> *To:* forum.help400 <[email protected]> ;
>> [email protected] ; [email protected]
>> *Sent:* Saturday, August 13, 2016 4:57 AM
>> *Subject:* REPLACE SQL
>>
>> Buenas Noches Foro
>>
>> estoy trabajando para un cliente que tiene un as400 R4 v4
>>
>> y en SQL  estoy usando el REPLACE
>>
>>
>> REPLACE en *LIBL de tipo *N no encontrado.
>> UPDATE     PASOJGR/BCFDPF
>>  SET BCFDPF = REPLACE (BCFDPF , '}' , '0' )
>>                              WHERE BCFDPF LIKE '%}%'
>>
>> pero no me lo soporta
>>
>> cual seria el equivalente
>> saludos
>>
>>
>>
>> ------------------------------
>>
>> ____________________________________________________
>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
>> Forum.Help400 © Publicaciones Help400, S.L.
>>
>>
>> ____________________________________________________
>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
>> Forum.Help400 © Publicaciones Help400, S.L.
>>
>
>
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 © Publicaciones Help400, S.L.
>
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a