0
Amigos, hay una maravilla en Cobol que muchos desconocen. Así que he pensado en compartirla.
En Fujitsu hay una función, que es la la que nos dice la longitud del valor de un campo. Pero en otros Cobol esta función no existe.
Pero lo que muchos no saben, es que el verbo de Cobol puede decirnoslo si lo usamos con el añadido !
Ejemplo:
COBOL Código:
IDENTIFICATION DIVISION. PROGRAM-ID. PROGRAM1. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-A PIC X(15) VALUE "ABCDE 12". 01 WS-C PIC X(15). 01 IDX-1 PIC 99 VALUE 1. PROCEDURE DIVISION. STRING WS-A DELIMITED BY " " INTO WS-C WITH POINTER IDX-1 DISPLAY IDX-1 GOBACK .
En vamos a tener el número correspondiente al primer caracter "libre" después de haber realizado el , o sea en el caso del ejemplo, vamos a tener un 9.
Con lo cual, la longitud del contenido siempre será .
Evidentemente este ejemplo es para una cadena con espacios en medio (por eso en hay 2 espacios) pero se puede adaptar según necesitad.
Espero que sirva a alguien.
Marcadores