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.