Te envío el fuente de un procedimiento en RPG que te ajusta
a la izquierda la cadena (quita los blancos por la izquierda) y te devuelve la
longitud en 5 posiciones añadidas al final de la
cadena.
De esta manera, llamándolo desde un CL con CALLPRC,
pasándole la cadena y utilizando después una subserie de la cadena, desde la
posición 1, con la longitud que te devuelve, tienes la cadena sin blancos
por ninguno de los dos lados.
h
nomain
//
// @Trim - Devuelve una cadena ajustada a la izquierda y su longitud
//
d @Trim pr 55a
d 50a
// -------------------------------------------------------------------
// Procedimiento de cálculo
// -------------------------------------------------------------------
p @Trim b export
d @Trim pi 55a
d Cadena 50a
d Resultado s 55a inz(*blank)
d Longitud s 5p 0 inz(0)
/free
//
// @Trim - Devuelve una cadena ajustada a la izquierda y su longitud
//
d @Trim pr 55a
d 50a
// -------------------------------------------------------------------
// Procedimiento de cálculo
// -------------------------------------------------------------------
p @Trim b export
d @Trim pi 55a
d Cadena 50a
d Resultado s 55a inz(*blank)
d Longitud s 5p 0 inz(0)
/free
if
Cadena=*blank;
clear Cadena;
clear Longitud;
else;
Longitud=%len(%trim(Cadena));
Cadena=%trim(Cadena);
endif;
Resultado=Cadena+%editc(Longitud:'X');
return Resultado;
/end-free
p @Trim e
clear Cadena;
clear Longitud;
else;
Longitud=%len(%trim(Cadena));
Cadena=%trim(Cadena);
endif;
Resultado=Cadena+%editc(Longitud:'X');
return Resultado;
/end-free
p @Trim e
Saludos.
Juan Carlos.
