Contar caracteres de una variable alfanumérica en COBOL

En el COBOL de z/OS, la función intrínseca LENGTH OF devuelve el número de bytes que ocupa una variable. Por lo tanto, utilizada con una variable alfanumérica, devolverá el total de bytes que ocupa la variable, aunque todos ellos contengan espacios.

Sin embargo, en muchos casos nos interesa conocer el número de carácteres que contiene una variable alfanumérica sin contar los espacios del final. Para ello podemos usar la instrucción INSPECT, que permite contar el número de espacios al inicio, combinada con la función REVERSE, que invierte el contenido de una variable alfanumérica.

Siendo W-LONG y W-CONT variables numéricas y W-CADENA la variable alfanumérica que queremos examinar, el siguiente código dejará en W-LONG el número de caracteres contenido en la variable:

MOVE ZERO TO W-CONT

INSPECT FUNCTION REVERSE(W-CADENA)
TALLYING W-CONT FOR LEADING SPACES

COMPUTE W-LONG = LENGTH OF W-CADENA - W-CONT

1 respuesta a «Contar caracteres de una variable alfanumérica en COBOL»

Deja un comentario