Pues si programaras en php la cosa ser�a de m�s esc�ndalo: tiene una funci�n
que recibe la cadena y el separador y te devuelve en un array los elementos
resultantes.

En RPG esa funci�n no existe (a�n ;-) ), pero si esta circunstancia se te da
a menudo, no ser�a mala idea implementar una funci�n que hiciera esto y
meterla en un programa de servicio ( V4R4 ya los soporta, � No ?). Para
hacer que sirviera para todos los casos, podr�a devolver un array de
alfanum�ricos. As� el programa solamente tendr�a que encargarse de la
conversi�n de cada elemento del array a su valor real.

Yendo m�s all�, se podr�a incluso hacer que la funci�n devolviera un string
que se pudiera mover a una DS con los campos a recuperar. Esta opci�n ser�a
m�s costosa de implementar, pero si la circunstancia se diera con
frecuencia, valdr�a la pena.

Saludos.
 
Fernando P�rez
 
Cer�mica Saloni. Departamento de Sistemas


-----Mensaje original-----
De: Juan Ram�n Garcia [mailto:[EMAIL PROTECTED] 
Enviado el: viernes, 06 de agosto de 2004 11:49
Para: [EMAIL PROTECTED]
Asunto: Re: Error de compilaci�n


Hola a [EMAIL PROTECTED]:

Ahora si que me siento totalmente un f�sil, yo que sigo programando en
RPG400 de toda la vida (todav�a estoy en v4r4) y mont�ndome rutinillas para
hacer cosas como la del ejemplo y resulta que cada d�a hay m�s funciones
incorporadas para hacernos la vida m�s f�cil y hacer en una s�la l�nea de
c�digo lo que yo estoy haciendo en unas 20 instrucciones, �que deprimente!.

Mi caso es algo m�s complicado, tengo que "traducir" un fichero que me llega
desde una aplicaci�n externa (en un PC) que no s�lo la longitud del registro
es variable sino que, para colmo de males, todos sus campos tambi�n son de
longitud variable y pueden venir rellenos, vacios o simplemente no venir.
Por fortuna un car�cter ASCII separa cada campo de forma que si el mismo
car�cter est� 2 veces seguidas quiere decir que ese campo se ha omitido, y
otro caracter ASCII indica el final del registro. El fichero tiene 23 campos
(alfanum�ricos, num�ricos, con y sin decimales) y el programita traductor
527 instrucciones (incluidos comentarios). Si utilizara las nuevas
funciones, haciendo un c�lculo a "voleo", el programa quedar�a en no m�s de
200 instrucciones.

Yo tambi�n necesito vacaciones, aunque s�lo sea para ponerme al d�a en las
nuevas tecnolog�as ;-)

Un saludo.

Juanra
RpgiF�sil


From: "Fernando P�rez"
>>El move ser�a la soluci�n m�s f�cil si el campo alfanum�rico tuviera 
>>el n�mero con el mismo tama�o, pero si no recuerdo mal el mensaje 
>>inicial, esto no era as�. Por ejemplo, se pod�an recibir valores como: 
>>':123,25' , '123456,78' , ' 12234'.

De: Francisco Gor
>>Cuando no disponiamos todavia de funciones (Aquellos tiempos del RPG 
>>II) esto lo resolviamos con un simple MOVE. Lo mas tedioso era pasar 
>>el string a un array para aislar la parte numerica.

Juan Antonio escribi�:
>i = %scan(':': linea)
>y luego si
>valor = %dec(%subst(linea: i+1): 15: 2)
>o en un solo paso
>valor = %dec(%subst(linea: %scan(':': linea) + 1): 15: 2)


_____________________________________________________
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]

Responder a